CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Lua / Löve] : Questions

RoccatSub
RoccatSub
Niveau 5
29 mai 2014 à 16:14:21

Bonjour à tous, je me suis interessé il y a peu au Lua en me rendant compte qu'il était grandement utilisé dans l'industrie du jeuxvideo pour pas mal de choses, comme l'IA et divers scripts, j'ai également appris que les add ons de World of Warcraft étaient codés en Lua, bref j'ai vu que c'était un langage assez intéressant et qui plus est, la syntaxe, le code en lui même et tout le reste n'ont pas l'air de me déplaire du peu que j'en ai testé.

Cependant, j'ai cru comprendre (ou alors j'ai mal compris) que le Lua seul ne pouvait pas trop gérer autre chose que du script, donc pas d'interfaces graphiques ou de jeux possible à faire directement et intégralement en Lua (si je me trompe corrigez moi, ça éclaircira un point) par contre, je sais qu'il y a possibilité de joindre du Lua et du C / C++, après comment j'en ai encore aucune idée.

N'étant pas spécialement friand du C / C++, j'ai essayé de voir au niveau des frameworks proposés par la communauté Lua et j'en ai repéré quelques uns ; Corona, Moaï, Löve, j'ai vu que d'autres comme Polycode (il me semble) allaient bientôt être compatible Lua également etc, j'ai décidé de choisir Löve après avoir regardé des exemples de codes du côté de Corona et Moaï, Löve m'a parut plus "simple", plus cohérent et tout simplement plus sympa, pouvoir faire un proto d'un cube qui se déplace de gauche à droite et qui saute en une soixantaine de lignes de code je trouve ça assez génial.

Viennent maintenant les questions (après cet énorme et indigeste pavé, désolé) :

- Est ce que Lua est un langage intéressant à apprendre d'un point de vue professionnel ? Je doute me diriger vers l'industrie du jeuxvideo plus tard, plutôt le développement web, mais j'imagine que ça peut servir dans le dev web.

- Est ce que Löve est un bon framework ? (oui, je sais que c'est une question stupide et que tout est relatif et dépend de chacun, néanmoins j'aimerais connaître les possibilités et les limites de Löve)

- (question à dix points) Est il nécéssaire de connaître le Lua sur le bout des doigts pour s'attaquer a un framework ? Prenant un exemple sur le php, je n'irais sans doutes pas m'attaquer à CakePHP avant d'avoir de solides connaissances dans le langage en soi et en plus en POO etc

- Avez vous des sources intéressantes, des recommandations, des "tips and tricks" à communiquer à propos de ce langage ? De mon côté j'ai commencé à collecter pas mal de PDF et je me suis acheté quelques livres, mais j'ai comme l'impression que la documentation est une denrée "rare", surtout plus si on se limite exclusivement au français (pour tout dire j'ai du trouver deux ou trois liens maximum en français sur Lua / löve, et je me suis acheté "Programming in Lua" qui est en anglais, j'ai un peu de mal mais je m'y ferais)

Voilà, désolé pour cette énorme tartine, et merci d'avance à ceux qui prendront la peine de me répondre, si certains sont également intéressés, je peux communiquer les pdf, les liens que j'ai pu colleceter ces dernières semaines etc.

D'avance merci ! :D

Mjonir
Mjonir
Niveau 26
29 mai 2014 à 17:07:03

"je sais qu'il y a possibilité de joindre du Lua et du C / C++, après comment j'en ai encore aucune idée."

Ca n'a pas l'air d'être ta question, mais si ça t'intéresse vraiment je peux te donner quelque pointeurs dans ce domaine, c'est quelque chose que je fais beaucoup.

"Est ce que Lua est un langage intéressant à apprendre d'un point de vue professionnel ?"

De façon générale c'est assez peu utilisé. Je ne vois pas d'application directe dans le développement web.

Cependant, le langage et ses concepts sont très intéressants, et rien que pour ta culture de programmation ça peut être utile. C'est un langage qui te permet d'allier de l'impératif, de l'OO et du fonctionnel de façon naturelle.

Rien ne t'empêche également de l'introduire, son utilisation comme langage de scripting (cf. ci-dessus) est très puissante.

"Est il nécéssaire de connaître le Lua sur le bout des doigts"

Lua est un langage ridiculement simple au niveau des concepts de base. Il y a très très peu de concepts (assignation, tableaux, metatableaux et fonctions lambda/closures en gros) mais qui sont bien choisis et puissants. C'est leur utilisation inventive que fait du Lua un langage puissant.

Si tu as des bases de programmation tu peux te lancer dedans très facilement. À part jouer avec les tableaux Lua et les fonctions lambda, je ne vois pas ce que le framework pourrait vouloir de plus.

"Avez vous des sources intéressantes"

Tu as déjà trouvé "Programming In Lua" qui est à mes yeux d'une qualité rare et qui suffit amplement. Si tu veux aller encore plus loin, le wiki Lua (http://lua-users.org/wiki/LuaDirectory) répondra à toutes tes questions et contient lui-même beaucoup de "trucs et astuces".

RoccatSub
RoccatSub
Niveau 5
29 mai 2014 à 17:45:27

Mjonir -> Merci de ta réponse !

"Ca n'a pas l'air d'être ta question, mais si ça t'intéresse vraiment je peux te donner quelque pointeurs dans ce domaine, c'est quelque chose que je fais beaucoup. "

Disons que, oui et non, oui car c'est sûr que ça m'interesse de savoir comment faire intéragir deux langages l'un avec l'autre, ca pourrait me mettre sur des pistes intéressantes pour des projets plus tard, après non car je ne voudrais pas non plus te faire perdre ton temps à m'expliquer quelque chose qui me passerait peut être au dessus de la tête car je n'assimilerais pas encore assez bien le choses, après si ça te pose pas de soucis, je suis toujours preneur d'informations !

Ah merci pour le wiki, j'avais déjà un tas de liens dans mes sources mais je n'avais pas encore celui la, ça me sera sûrement utile. En terme de référence j'ai aussi "Le guide de Lua et ses applications - Manuel d'apprentissage" en livre, j'ai vu que c'était un des seuls ouvrage en français sur ce langage, la plupart des sources sont en anglais, heureusement j'arrive à me débrouiller.

Aussi, en termes de performances, j'ai lu que Lua était beaucoup plus performant que d'autres langages de script comme Python, et que LuaJit permettait d'égaler du C sur certains codes, est-il donc intéressant de me tourner directement vers LuaJit que le Lua pur et dur ? Enfin, encore une fois j'imagine que c'est juste un énième framework, et que donc les bases du Lua me seront utiles pour l'appréhender plus facilement.

Merci de ton temps !

Mjonir
Mjonir
Niveau 26
29 mai 2014 à 18:02:35

Ben en version courte alors:

Pour le binding C/Lua "Programming in Lua" couvre bien les choses. Cependant c'est assez rébarbatif, et ne couvre pas les spécificités du C++ (classes, etc.). Pour réaliser un binding C++/Lua, la meilleure solution reste luabind, bibliothèque très fortement inspirée de boost::python: http://www.rasterbar.com/products/luabind.html

L'idée est de pouvoir réaliser le binding avec une syntaxe très simple, proche de la déclaration de la classe. Le tuto luabind est pas terriblement pédagogique et pas très bien présenté. En fait avant de s'y lancer, je conseille la lecture du tuto boost::python. L'utilisation de luabind est presque tout pareil: http://www.boost.org/doc/libs/1_55_0/libs/python/doc/tutorial/doc/html/index.html

La version proposée sur le site officiel devrait très bien convenir en tant que débutant. Malheureusement le développement officiel sur luabind est arrêté alors que des fonctionnalités avancées manquaient et que Lua continue d'évoluer. Afin d'avoir quelque chose de plus récent, le fork de rpavlik est pas mal: https://github.com/rpavlik/luabind

LuaJIT n'est pas du tout un framework. Comme son nom l'indique, c'est un "Just-In-Time Compiler". Je te conseille de ne pas t'en soucier pour le moment, les performances ne devraient pas être une préoccupation dans un premier temps.

La seule contre-indication ce serait que, la dernière fois que j'ai regardé, LuaJIT ne supportait pas (entièrement) Lua 5.2. Si tu veux quand même préparer le terrain, évite d'utiliser des fonctionnalités introduites après la version 5.1.

RoccatSub
RoccatSub
Niveau 5
29 mai 2014 à 18:11:37

D'accord je vois, j'avais eu l'occasion de voir quelques trucs en python peut être que ça aidera à la compréhension, bien qu'à priori les deux n'ont pas l'air tant différent que ça (enfin d'un coup d'oeil rapide sur les deux, je vais seulement plonger les mains dans le cambouis, là je me suis simplement amusé a faire un "mini jeu" avec Löve pour voir ce que ça donnait.)

Je garde tes liens et je les ajoute en favoris, merci :D !

D'accord, je m'occupe pas de LuaJit, et je pensais que c'était un framework, ou alors j'ai confondu, mais a terme j'imagine qu'il a une réelle utilité non ? J'en ai entendu parler deux ou trois fois sur les forums löve pour des questions de performances de jeu etc, il serait donc possible de faire du LuaJit - Löve comme du Lua-Löve ou C++ - Löve ? (oui j'y tiens pour l'instant a ce framework :p)

Bah pour l'instant je suis avec une version 5.1, j'avais pas trouvé tout de suite la 5.2, donc j'ai vu qu'il y avait des changements mais pour l'instant ça a pas l'air de gêner vu que les bouquins que j'ai ont l'air conforme à ma version (bon peut être quelques petites différences, mais au pire message d'erreur -> google et voilà.)

Encore merci pour tes réponses !

skynintendo
skynintendo
Niveau 10
29 mai 2014 à 19:37:04

Voilà ce qu'on peut faire avec Löve : https://love2d.org/forums/viewtopic.php?f=3&t=2198&start=850 :noel:

RoccatSub
RoccatSub
Niveau 5
29 mai 2014 à 19:55:16

Salut ! Merci du lien, c'est justement ce à quoi je me réferais pour dire que j'avais constaté que Löve proposait pas mal de possibilités malgré tout, surtout pour moi qui ne compte sûrement jamais faire de 3D et juste de la 2D.

Par contre j'ai difficilement trouvé des sources de tower defense, rts, simulation etc..Peut être pas assez adapté, peut être trop neuf, tu travailles avec ce framework toi ?

Mjonir
Mjonir
Niveau 26
29 mai 2014 à 20:05:38

"D'accord, je m'occupe pas de LuaJit, et je pensais que c'était un framework"

Non. En d'autres mots, c'est une implémentation alternative de l'interpréteur Lua (grosso-modo).

"mais a terme j'imagine qu'il a une réelle utilité non"

Bien sûr, faire tourner un programme Lua plus rapidement.

"il serait donc possible de faire du LuaJit - Löve"

Il faut voir ce qu'en disent les développeurs de Löve. Je suppose que ça a été considéré, peut-être avec quelques restrictions, à voir chez eux, je n'ai jamais utilisé Löve.

RoccatSub
RoccatSub
Niveau 5
30 mai 2014 à 12:53:09

Ca roule, je vais essayer de fouiner les forums Löve et voir ce qu'il en ressort, j'ai réussi a chopper un pdf sur le Löve avec des exemples a la clé, et j'ai même vu qu'il était possible de bidouiller le CryEngine avec du Lua (bon j'imagine que c'est principalement au niveau script de l'ia mais bon, ça rest eintéressant)

Je repasserais sûrement sous peu ! :D

RoccatSub
RoccatSub
Niveau 5
30 mai 2014 à 16:37:41

Voilà, je te l'ai envoyé par MP, je sais pas trop comment ça se passe au niveau partage des PDF, y'a pas mal de ces PDF que j'ai acquis en les téléchargeant que je suis venu à acheter par la suite IRL (bon pas tous mais beaucoup), du coup est ce que j'ai le droit de partager ceux là, j'en sais rien.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment