Bonjour,
Je soumets une idée de projet à la communauté pour avoir vos avis.
L'idée d'un wow-like en js-webgl peut sembler folle mais je suis sûr que par le monde il y'a déjà des équipes de développeurs qui planchent dessus.
Je ne lance pas un énorme cdc de projet mais juste une éspèce de comparatif osé entre deux langages difficilement comparables, le javascript étant à des années lumière du c++, mais ça ne coute rien d'y réfléchir 5 minutes:
- Le gros inconvénient du javascript: c'est un des langages les plus lents du monde (si je me rappelle bien les benchmarks c'est environ 20 fois plus lent que le c++) donc un tel projet implique de partir sur des algorithmes pensés pour consommer le minimum de calculs cpu et déléguer un maximum au gpu (par exemple ne pas faire de culling au polygone près mais plutôt sur des gros batch statiques de terrain, utiliser la heightmap pour se ramener au maximum à des calculs 2d, etc). Second inconvénient: aucun contrôle de la déallocation qui est en théorie gérée automatiquement par un garbage collector, ce qui a pour fâcheuse conséquence de provoquer des ralentissements, or un tel type de jeu fait sans cesse du stream de maps... donc peut-être faudrait-il une approche non pas avec un world géant mais plutôt des petites maps chargées une après l'autre. Troisième inconvénient: javascript est un langage batârd qui n'est pas vraiment procédural car il gère des objets, mais pas vraiment p.o.o. non plus car il ne raisonne pas exactement avec des classes, d'où une tendance à produire du code bordélique, ça implique donc une grosse rigueur dans le travail d'équipe pour avoir un code intelligemment structuré.
- Les avantages du javascript maintenant. Ben déjà c'est un des langages les plus facile du monde, ce qui facilite le recrutement de développeurs, et qui permet d'investir moins de travail en temps et en nombre de codeurs. Autre avantage c'est multi-plateforme donc pas besoin de développer une version pour chaque type de machine. Troisième avantage ça s'exécute directement dans le navigateur, donc facile d'accès pour les joueurs, pas de téléchargement requis. Quatrième avantage il existe une grosse communauté d'entraide avec plein de librairies gratuites qui mâchent le travail bas niveau notemment pour la 3d et le son.
Voilà donc bref je pense qu'un tel projet peut valoir la peine d'être entrepris.
Comme je l'ai dit je suspecte que ce type de projet existe déjà (et is tel est le cas je préfèrerais me greffer dessus plutôt que d'en réinventer un autre), si vous avez des liens vers des exemples je suis preneur.
Partager