Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

Le moteur de jeux vidéo WebGL open source PlayCanvas atteint la version 1.0

Avec tous les outils nécessaires pour créer une application graphique 3D

Le 2018-04-27 07:38:23, par LittleWhite, Responsable 2D/3D/Jeux
Ce projet de moteur de jeux vidéo reposant sur WebGL a démarré seulement quelques mois après la disponibilité de la spécification de la bibliothèque graphique pour le Web, en 2011. En 2014, PlayCanvas passe open source et adopte la licence MIT.

Aujourd'hui, l'équipe décide d'estampiller le moteur avec la version 1.0.0. De par leur grande cadence de publication, la version 1.0.0 n'est jamais réellement arrivée, car :
  • une version 1.0.0 est synonyme d'une version énorme ;
  • la compatibilité n'a jamais été cassée, et ce, même avec des projets datant de 2011, soit le début du projet.

Toutefois, maintenant, PlayCanvas est très stable et mature. Le moteur est déjà utilisé dans plusieurs projets en production et il est donc normal de voir une 1.0.0. Le site semver.org détaille quand passer à la version 1.0.0 :
Comment savoir quand publier la version 1.0.0 ?

Si votre logiciel est utilisé en environnement de production ou que vous avez une API stable de laquelle des utilisateurs ont commencé à dépendre, vous devriez probablement déjà être en version 1.0.0. Et si vous vous faites déjà du souci pour la rétrocompatibilité, vous devriez également avoir dépassé la 1.0.0.

Bref, le moteur de jeux vidéo PlayCanvas fournit tous les outils nécessaires pour faire une application graphique 3D dans le navigateur :
  • graphismes : PBR, réalité virtuelle, chargement de modèle, illumination par pixel, ombrage (shadow mapping), effets ;
  • physique : simulation des corps rigides, lancer de rayon, joints, volumes déclencheurs, véhicules ;
  • animation : images clés, fondu de squelette, skinning ;
  • moteur audio : sources audio 2D et 3D ;
  • périphériques d'entrées : support du clavier, souris, touché et manette de jeux ;
  • système entité composant : gestion haut niveau des éléments du jeu.

En plus du moteur open source, vous pouvez avoir accès à un éditeur complet permettant la collaboration en équipe. Le modèle économique autour de PlayCanvas s'établit comme suit :


Pour finir, voici une démonstration technique réalisée avec PlayCanvas :


Votre opinion

Avez-vous eu l'occasion d'utiliser ou de tester PlayCanvas ? Quelles en sont vos impressions ?

Source

Annonce de la version 1.0.0
  Discussion forum
7 commentaires
  • hotcryx
    Membre extrêmement actif
    "On a mieux comme moteur (libre et open source)"
    Pas en Web!
  • Dabou Master
    Membre expert
    Je ne connais pas Panda3D mais vu le rendu d'Armory3D m'est avis que si on fout ça sur un web browser, il va falloir sacrément sacrifier le visuel pour avoir un truc qui tourne.
    Ce ne sont pas les moteurs qui sont particulièrement limités, c'est le support final qui ne peut actuellement pas atteindre les standards d'un rendu classique (et puis armory3D il est peut-être joli mais il est absolument pas prêt pour passer en prod hein donc bon ...).
  • tlt
    Membre averti
    Mais comment se passer de l’éditeur en ligne?
  • Dabou Master
    Membre expert
    Hum, t'es peut-être sympa de filer le code mais comme je ne suis pas franchement doué pour ça voire franchement pas doué (oui je suis graphiste, pas dev) et comme je n'ai trouvé aucune ligne dans le lien initial qui ressemblait à ce que tu m'as passé j'ai juste galéré pour obtenir des réponses d'un moteur pas content qui comprend pas ce que je lui demande. Jusque-là c'est ma faute, je ne le nierai pas.

    Par contre, le rendu du lien initial ET le rendu de l'exemple soit-disant plus complet c'est clairement un retard graphique absolument aberrant.
    Du coup fluide, probablement, mais quand c'est aussi beau que Quake 2 je suppose qu'on pourrait difficilement justifier que ça lag non ?
    Ni normal map ni rien du tout qui puisse un tant soit peu améliorer le visuel et une géométrie aussi minimale que possible, comparé aux vidéos de PlayCanvas on est extrêmement loin d'obtenir le même résultat.
    Si tu ne vois pas la différence je pourrais commencer à me poser des questions ... Je sais bien que tout le monde n'est pas forcément très sensible à tout ce qui est visuel mais tout de même ...
  • datalandia
    Bot Troll en alpha-test
    ben passe a panda3D, j'ai déja testé, panda3d tourne tres tres bien sur un webbrowser
    http://rdb.name/panda3d-webgl/editor.html

    evidement, plus tu voudra faire du photo realisme, plus faudra charger des textures lourde donc plus cela prendra du temps a charger le jeu (je ne t'apprend rien en disans cela)

    maios on peut faire des scenes tres charge de maniere, fluide.

    dans le lien que je t'ai donné, essaye de charger 500 personnage dans une boucle for, tu verra sa tourne bien

    comme je suis sympa, je te donne le code :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    dancer = Actor.Actor("chorus-line-dancer.egg", {"kick":"kick.egg"})
    dancer.loop("kick")
    dancer.setPos(0,0,0)
    chorusline = NodePath('chorusline')
    for i in range(50):
      placeholder = chorusline.attachNewNode("Dancer-Placeholder")
      placeholder.setPos(i*5,0,0)
      dancer.instanceTo(placeholder)
    for i in range(3):
      placeholder = render.attachNewNode("Line-Placeholder")
      placeholder.setPos(0,i*10,0)
      chorusline.instanceTo(placeholder)

    un autre exemple un peu plus complet :
    http://rdb.name/panda3d-webgl/simple_fps.html
  • datalandia
    Bot Troll en alpha-test
    Envoyé par hotcryx
    Pas en Web!
    si, tu peut regarder du coté de Panda3D ou de Armory3D, les 2 permette de convertir le programme en webgl et donc de le faire tourner dans un web browser.
  • datalandia
    Bot Troll en alpha-test
    bof, les vidéos de démo n’excite pas la rétine, on faisait aussi bien il y'a 10ans
    On a mieux comme moteur (libre et open source)