Sortie de Löve 0.4.0, moteur libre de jeu en 2D

Posté par  . Modéré par Florent Zara.
Étiquettes :
18
1
sept.
2008
Technologie
LÖVE est un moteur de jeu et d'affichage 2D qui utilise Lua comme langage de programmation. Son but premier est la création de jeux d'arcades, mais il est possible de l'employer dans toute application graphique.

La grosse nouveauté de la version 0.4.0, sortie le 29 août 2008, est l'inclusion d'un module de physique basé sur Box2d, ce qui permet de créer, détecter et gérer des collisions entre les objets, et de simuler des effets physiques réalistes (inertie, gravité, etc.).

NdM : Löve est publié sous la licence zlib, qui est libre et compatible GPL d'après la FSF, et approuvée par l'OSI. Bien que plus jeune (développé depuis environ un an) et moins complet que Pygame, Löve (avec un tréma) est similaire dans ses aspirations à ce dernier, en utilisant un langage de script (ici Lua à la place de Python), et la bibliothèque SDL pour l'affichage.

Pour sa part Lua est un langage libre, simple et abordable par les débutants en programmation. Il est souvent utilisé en tant qu'extension pour d'autres applications, et permet à des non-programmeurs d'étendre les fonctionnalités d'un programme existant grâce à sa syntaxe simplifiée. Il est utilisé notamment dans des jeux propriétaires commerciaux comme Crysis, Far Cry, Grim Fandango, S.T.A.L.K.E.R., World of Warcraft, etc.

Les programmes créés avec Löve sont de simples archives zip, renommées en .love, contenant le code source Lua, le fichier de configuration, et les ressources multimédia, à exécuter avec l'interpréteur Löve pour votre plateforme (Linux, Mac OS X ou Windows). Les démonstrations présentes sur le site permettent de voir qu'il est possible d'avoir des effets intéressants sans utiliser beaucoup de lignes de code. Si vous recherchez un moteur multi-plate-forme simple à utiliser, bien documenté et libre (licence zlib), vous aimerez Löve.

Aller plus loin

  • # Idée du lundi matin...

    Posté par  . Évalué à 10.

    Ce type de moteur ne pourrait-il pas être une bonne concurrence au flash?

    Tout comme flash, il dispose d'un format de fichier spécifique facilement téléchargeable, dispose d'un ensemble de bibliothéque peuvent être étendu pour supporter la lecture de vidéo ou la 3D et dispose des bases pour pouvoir être utilisé sur tout système.

    Il dispose aussi de quelques avantages par rapport à flash:
    - langage simple.
    - format de fichier simple.
    - api simple.
    • [^] # Re: Idée du lundi matin...

      Posté par  . Évalué à 10.

      Il manque un éditeur graphique au niveau de celui d'Adobe.
      • [^] # Re: Idée du lundi matin...

        Posté par  (site web personnel) . Évalué à 6.

        Regardez du côté de Phun... (un truc de matheux et de physeux et attention... ça faisait déjà (très) mal aux yeux il y a qq mois... :))

        http://www.phunland.com/wiki/Home

        Bon le rapport avec Lua, faut chercher :p
      • [^] # Re: Idée du lundi matin...

        Posté par  . Évalué à 7.

        il manque surtout le support complet du vectoriel !

        Bien entendu, on peut utiliser des formes de base en vectoriel (cercles, rectangles), mais c'est avant tout prévu pour afficher des images bitmap. De plus réaliser des formes vraiment complexes en vectoriel risque de trop surcharger le moteur s'il n'est pas optimisé pour cela.
        Peut-être un jour il supportera le svg ? Je pose la question sur leur forum. Avec le svg, cela serait peut-être plus simple d'utiliser un éditeur comme inkscape.

        et pour concurrencer flash, il faudrait aussi que cela puisse s'utiliser dans un navigateur...

        Mais l'idée mérite d'être creusée !

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # alternative en java

    Posté par  (site web personnel) . Évalué à 3.

    quelqu'un connait une alternative à ce moteur mais en java?

    www.solutions-norenda.com

    • [^] # Re: alternative en java

      Posté par  . Évalué à 3.

      j'ai vu qu'il existait ça mais cela ne semble plus trop activement développé :
      http://sdljava.sourceforge.net/

      d'ailleurs des ponts entre divers langages et sdl, il y en a pas mal. Y compris en lua. L'avantage de Löve, c'est qu'il est particulièrement élégant et esthétique (cf. la doc, le site, les exemples), donc c'est assez attractif.

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

    • [^] # Re: alternative en java

      Posté par  . Évalué à 3.

      encore mieux que le lien plus haut, un journal en parle justement :

      http://linuxfr.org/~jad/27134.html

      http://processing.org/


      C'est plutôt impressionnant, et cela fonctionne dans un navigateur.

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # La question que je me pose

    Posté par  . Évalué à 2.

    C'est comment on prononce Löve. J'aurrai tendance à dire un truc comme [Leuve], mais je suis pas sur et ça m'intrigue.
  • # "Moteur" ?

    Posté par  . Évalué à 3.

    Je trouve que le terme "moteur" est un peu fort pour ce qu'est Löve pour l'instant.
    Pour tout ce qui est 2D (censé être le fer de lance de Löve) notamment, on ne trouve que des fonctions basiques "bas-niveau" de dessins ou d'image (tracer des rectangles, cercles ou images, qui sont du même ressort que l'API OpenGL mais pour la 2D) (... à part le moteur de particules, voir plus loin). Pour moi, ça ne fait pas un moteur, les bibliothèques implémentant l'API OpenGL ne sont pas des moteurs.
    Certaines parties ("physics", le moteur de particules) semblent de bien plus haut-niveau (et intéressantes), où l'on configure des objets préfabriqués (où tout le calcul ou dessin bas-niveau sont déjà gérés), mais ces parties semblent indépendantes et pas faites pour aller ensemble (je n'ai pas dit que c'était impossible ou volontaire), c'est dommage.
    Quand on voit Soya et son intégration... (oui, Soya n'a rien à voir et n'est pas comparable, je parle juste de l'"intégration" (un peu comme pour un environnement de bureau) des éléments du "moteur")

    Disclaimer : j'ai passé 5 minutes sur la doc, je n'ai jamais utilisé Löve, c'est la version 0.4 seulement, je ne suis pas un cador de la programmation de jeux, cet avis est très subjectif.
    • [^] # Re: "Moteur" ?

      Posté par  . Évalué à 2.

      Ce n'est pas vraiment un moteur dans le sens où il n'y a pas de modules tout prêts pour gérer les missiles, un autre pour le scrolling etc en livrant des solutions clés en main axées jeu, mais malgré tout, il est possible de réaliser de petits jeux rapidement et facilement : Selon un des créateurs du système (Rude), cela lui a pris 15 minutes et 90 lignes de code pour faire une implémentation très simple du jeu du serpent :

      http://love2d.org/forum/viewtopic.php?f=4&t=91&st=0&(...)

      La première version date de janvier 2008, la dernière propose déjà de gérer les collisions, c'est pas mal et prometteur, et cela ne demande qu'a s'étoffer.

      Pour le svg, les auteurs disent qu'ils n'ont pas connaissance d'un moteur svg pratique à réutiliser, sans trop de dépendances.

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

      • [^] # Re: "Moteur" ?

        Posté par  . Évalué à 2.

        > Ce n'est pas vraiment un moteur dans le sens où il n'y a pas de modules tout prêts pour gérer les missiles, un autre pour le scrolling etc
        Il y a un monde entre le moteur déjà tout fait où il n'y plus aucun code à écrire, où tu ne peux plus choisir que la couleur de la peinture de la maison, et Löve, où on se demande bien ce que ça contient à part de maigres wrappers, où tout ce qu'on te donne, c'est une pauvre hache pour fabriquer ta maison.

        > Selon un des créateurs du système (Rude), cela lui a pris 15 minutes et 90 lignes de code pour faire une implémentation très simple du jeu du serpent
        En regardant (très vite) le code, je ne vois rien qui montre que Löve a quelque chose d'unique ou de pratique, le même code aurait pu être écrit en C pour SDL à peu de choses près. (en fait le code en question n'est même pas vraiment beau (mais ça c'est pas la faute de Löve) : il utilise un tableau 1D pour représenter la carte en 2D)

        > La première version date de janvier 2008, la dernière propose déjà de gérer les collisions, c'est pas mal et prometteur, et cela ne demande qu'a s'étoffer.
        Je n'ai pas dit que c'était facile, et j'ai reconnu que ce n'était que le début.
        • [^] # Re: "Moteur" ?

          Posté par  . Évalué à 0.

          déjà le fait que cela soit en lua à la place du C, c'est plutôt pratique pour qui ne connait pas le C.

          Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

          • [^] # Re: "Moteur" ?

            Posté par  (site web personnel) . Évalué à 1.

            et moins pratique pour qui ne connait pas le Lua
            • [^] # Re: "Moteur" ?

              Posté par  . Évalué à 2.

              et un utilisateur de brainfuck ou assembleur qui ne connait ni lua ni C trouvera sans doute aussi plus pratique de coder dans ces langages...

              L'interêt d'un langage simple comme Lua c'est qu'il s'apprend quand même beaucoup plus rapidement que le C. Si c'est utilisé comme langage de script un peu partout, c'est parce que des non programmeurs peuvent l'appréhender facilement, et se faire plaisir avec.

              Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.