Bonjour à tous,

Je commence à m'intéresser au développement de jeux webs en 3D avec la bibliothèque threejs et la technologie WebGL, et je poste ici afin de recueillir vos conseils (voir en fin de message).
Je me présente rapidement : je m'appelle Jérémy, 28 ans, développeur web avec environ 5 ans d'expérience, actuellement en CDI dans une entreprise. Mes domaines de compétences sont :
  • HTML5
  • CSS3
  • JavaScript (+ quelques librairies comme jQuery, Bootstrap, Raphael.js, three.js, un peu Node.js,...)
  • PHP
  • et SQL.

Bref historique de mes réalisations de quelques jeux 2D :

Il faut reconnaître que ces jeux sont assez "basiques", et font un peu "old scool". Néanmoins il m'ont été très utiles pour tout simplement apprendre à développer !
Actuellement, avec la croissance constante de l'évolution des navigateurs webs et des performances moyennes des ordinateurs en général, je pense qu'il est temps d'évoluer vers la réalisation de jeux webs 3D (juste une url dans un navigateur et c'est parti !). Et pour cela la piste de la technologie WebGL me semble intéressante à prendre en compte.
Je me suis donc intéressé au sujet et j'en suis arrivé à tester la bibliothèque https://threejs.org/ (certaines de ses démos d'exemples sont juste énormes, en voici une au hasard : https://threejs.org/examples/#webgl_...etry_drawcalls ).
J'ai commencé une base de jeu, avec quelques modèles animés (objets glTF) : http://www.jeremyduez.fr/freecraft/ .
Je connais également Unity3D, mais j'avoue que le côté usine à gaz m'a très peu encouragé à utiliser cette appli afin de faire des exports WebGL.

J'aimerais vos conseils sur plusieurs points :
  • Connaissez-vous d'autres technologies que threejs et/ou WebGL, qui permettent un rendu similaire ou mieux ?
  • Avec la technologie actuellement utilisée, comment optimiser les performances au maximum ?
  • Dans l'éventualité de travailler plus tard sur jeu Multi-joueurs en temps réel avec la même technologie de rendu, l'utilisation de Node.js + socket.io me semble la plus appropriée. Avez-vous des conseils/recommandations sur ce point ?

BsK.