Pensez-vous qu'il est techniquement possible d'écrire un client MMO 3D à part entière avec Browser JavaScript - WebGL pour les graphiques et WebSocket pour la mise en réseau?
- Pensez-vous que les futurs MMO (et les jeux en général) seront écrits avec WebGL?
- Les performances JavaScript actuelles le permettent-elles?
- Disons que votre équipe de développement était vous en tant que développeur et un autre créateur de modèle (artiste). Souhaitez-vous utiliser une bibliothèque comme SceneJS pour le jeu, ou écrire directement WebGL? Si vous souhaitez utiliser une bibliothèque, mais pas SceneJS, veuillez préciser laquelle.
MISE À JOUR (septembre 2012): RuneScape, qui est un MMORPG 3D très populaire basé sur un navigateur qui utilisait jusqu'à présent des applets Java, a annoncé qu'il utiliserait HTML5 pour son client ( source ).
Java (gauche) et HTML5 (droite)
MISE À JOUR (juin 2013): J'ai écrit un prototype d'un MMO basé sur WebGL / WebSocket: https://github.com/alongubkin/xylose
Réponses:
Oui absolument. Il n'y a aucune raison que la technologie WebGL ou WebSocket vous empêche de créer un client MMOG 3D ou tout autre client de jeu d'ailleurs.
Oui. Je pense qu'au cours des cinq prochaines années, la plupart des jeux par navigateur 3D seront écrits à l'aide de WebGL. La raison est simple - WebGL est la seule technologie 3D standardisée qui aura des implémentations disponibles dans tous les principaux navigateurs Web (Chrome 9, Firefox 4, Safari 6 et Internet Explorer via Chrome Frame).
Oui. Les performances JavaScript dans les navigateurs modernes ont augmenté au point où le développement de jeux 3D est possible. Par exemple, consultez le projet Three.js .
Utilisez une bibliothèque pour gagner du temps. Il n'y a aucune raison d'écrire votre propre code graphique WebGL à moins qu'une bibliothèque existante ne manque les fonctionnalités dont vous avez besoin. Même dans ce cas, il serait probablement plus efficace de prolonger la bibliothèque existante.
Pour mon projet, j'utilise GLGE car il prend en charge de nombreux effets graphiques différents et est constamment mis à jour avec de nouveaux.
la source
Il existe déjà plusieurs MMO basés sur un navigateur. Cependant, ils n'utilisent généralement pas de graphiques 3D.
Je suis un peu sceptique en ce qui concerne WebGL. La culture actuelle des navigateurs ne prend pas en charge WebGL dans leurs versions normales. Vous devrez obtenir des versions spéciales ou jouer avec des fichiers de configuration, ce qui est plus compliqué pour l'utilisateur moyen que de télécharger un plugin.
En parlant de plugins: plusieurs personnes ont mentionné Unity, mais n'oubliez pas Flash. Une prochaine version du lecteur Flash (nom de code molehill ) aura une accélération GPU 3D. Je suppose que ce flash fournira des graphiques 3D accélérés par le matériel dans le navigateur avant que WebGL ne décolle.
la source
Techniquement possible? Oui. Mais pourquoi s'embêter quand des solutions web comme Unity sont disponibles?
Les futurs MMO écrits en WebGL? Non. Peut-être, mais il existe des plugins basés sur le Web comme Unity qui fonctionnent bien en ce moment.
Les performances JavaScript d'aujourd'hui le permettent? Non. Ok oui si vous gardez votre jeu simple.
Souhaitez-vous utiliser une bibliothèque comme SceneJS [...] ou écrire directement WebGL? Ni. J'utiliserais une application tierce telle que Unity.
la source
Ce n'est pas possible pour le moment (début 2011). Vous ne pouvez pas créer un MMO 3D en temps réel dans des technologies de navigateur natives (ce qui signifie pas de plugins).
Je ne spéculerai pas sur l'avenir. Voilà à quoi cela ressemble en ce moment. En supposant que vous ne ciblez que les navigateurs modernes (IE9, FF4, etc.). Si vous prévoyez de prendre en charge IE7, vous êtes fou. Cela ne marchera jamais.
Choses manquantes:
Domaines / solutions présentant de graves problèmes:
la source
Oui, mais avec des mises en garde importantes.
Vous n'aurez pas le contrôle total du clavier, et pour de nombreux monstres de contrôle, cela pourrait être une rupture. Les touches F par exemple resteront probablement hors de portée pendant un certain temps.
Vous ne pourrez pas non plus toucher la plupart des navigateurs. WebGL n'est pas encore vraiment bien pris en charge, et la prise en charge de websocket est aléatoire à l'heure actuelle, certains fournisseurs de navigateurs l'activant pour une version, puis la désactivant pour la suivante.
Mais vous pouvez assembler quelque chose de simple, bien sûr. Ajoutez un gameplay convaincant et peu importe que les graphismes soient un peu discrets. Runescape a commencé assez simple et est devenu un MMO complexe, amusant et incroyablement populaire, à l'époque où tout le monde disait qu'un MMO créé dans un plug-in de navigateur était un rêve de pipe.
Un MMO construit en tenant compte des limites actuelles des navigateurs qui s'adapte au fur et à mesure que les choses changent aurait certainement une longueur d'avance au moment où les navigateurs sont suffisamment loin pour prendre en charge un MMO "AAA".
la source
Absolument oui.
WebGL est inclus dans les versions nocturnes de WebKit (Chrome / Safari) et Gecko (Firefox). WebSockets est actuellement désactivé en raison de problèmes de sécurité, mais il n'y a aucune raison pour qu'il ne soit pas réactivé une fois les problèmes résolus. En attendant, il y a toujours HTTP.
Est-ce que tous les jeux seront écrits de cette façon? Non, mais un nombre important le sera. Une fois WebGL dans les versions finales de Chrome et Firefox, la pénétration sera déjà supérieure à celle des plug-ins natifs comme Unity.
Les performances JavaScript dépendent entièrement de l'écriture de jeux. Vous ne verrez probablement pas un niveau de graphisme Crysis pendant un certain temps, mais rappelez-vous qu'avec WebGL, le calcul des nombres est déchargé sur le GPU.
Pour une petite équipe de 2 personnes, vous devrez être prêt à faire beaucoup de codage quel que soit le moteur que vous utilisez. Il n'existe actuellement aucun moteur WebGL / JavaScript qui couvre en fait une grande partie du code du jeu. SceneJS, three.js et similaires sont des wrappers sur la couche graphique, mais ne fournissent rien pour les collisions, la physique, l'audio, le chargement des ressources, le réseau ou les outils qui constituent l'essentiel d'un produit comme Unreal Engine ou Unity.
C'est les premiers jours du moment, je m'attends à voir plus de middleware émerger au cours de la prochaine année.
la source
Je ne pense pas que de nombreux futurs MMO seront écrits avec une technologie de navigateur côté client, car la plupart des développeurs de MMO voudront utiliser le même langage sur le client et le serveur, et la plupart des développeurs de jeux parlent couramment des langages non Web comme C ++. Il y a beaucoup trop de code client impliqué pour le rendre très pratique en Javascript de toute façon, à l'exception des simulations assez banales. Il existe également d'autres limitations imposées par l'exécution dans le navigateur qui ne sont pas recommandables pour un développeur de jeu typique.
Je suis sûr qu'il y aura cependant des jeux comme celui-ci. Ils ne vont tout simplement pas prendre le relais de WoW ou de jeux similaires pendant un bon bout de temps. Ils seront probablement créés davantage par les développeurs Web qui se lancent dans les jeux que par les développeurs de jeux qui se lancent sur le Web.
la source
La question que vous devez vous poser est pourquoi les développeurs de jeux voudront-ils dépendre d'une technologie Web qu'ils ne maîtrisent pas et n'ont aucun contrôle, les langages actuels vous permettent même dans un navigateur Web de créer des jeux géniaux?
la source
Oui, mais la technologie doit encore se stabiliser et il restera probablement des compromis entre les performances et les applications natives.
la source
L'unité est bonne. Voir aussi Shiva et le Prime Engine.
la source