Quels sont les inconvénients possibles de l'utilisation de JavaScript (côté client) lors de la création d'un jeu multijoueur?
Description du jeu: C'est un MMORPG / RTS. Cela signifie que les joueurs contribuent activement aux structures du monde et créent eux-mêmes une grande partie du contenu.
2d
multiplayer
javascript
jcora
la source
la source
Réponses:
C'est bien si:
la source
Que votre jeu soit ou non adapté au développement JavaScript dépend du jeu. Vous n'avez pas décrit votre jeu, donc nous n'avons aucun moyen de répondre à la question dans le titre.
Cependant, je peux dire que votre problème de piratage n'est pas un problème ici. Non pas parce que JavaScript ne peut pas être piraté (il le peut et facilement), mais il en va de même pour toutes les autres technologies côté client. L'un des principes de base du développement de jeux multijoueurs est de "ne jamais faire confiance au client". Concevez votre jeu de manière à ce que tout ce dont vous avez besoin pour vous protéger du piratage soit exécuté sur le serveur, car le client sera piraté. Cela signifie uniquement envoyer des commandes d'interface utilisateur à partir du client (par exemple, "le joueur a cliqué sur le bouton Bomb") et calculer les résultats des actions du joueur sur le serveur. Ensuite, le serveur renvoie au client les résultats de ces actions.
Étant donné que quelle que soit la technologie sur laquelle vous vous êtes appuyé, vous devez concevoir votre jeu en supposant que le composant côté client sera piraté, la piratabilité de JavaScript n'est pas une considération lors de la décision d'utiliser ou non JavaScript.
la source
Les gens peuvent changer le code client pour tricher, c'est un problème pour tout jeu multijoueur. Si la vitesse de réaction ou la résolution rapide des tâches mathématiques fait partie du jeu, vous ne pouvez pas empêcher complètement la triche.
Pour tout autre élément de jeu, vous devez vous assurer que le client n'obtiendra pas et ne pourra pas obtenir des informations censées être cachées au joueur. Et bien sûr, le serveur doit valider que chaque action entreprise par un joueur est légale.
Le plus gros problème que je vois dans les jeux JavaScript est que beaucoup de navigateurs ont tendance à bégayer, en particulier Firefox était assez mauvais la dernière fois que j'ai vérifié. Pour cette raison, JavaScript n'est pas un bon choix pour un gameplay sensible au timing. Mais pour les jeux au tour par tour ou au moins au rythme lent, JavaScript peut très bien fonctionner.
la source
Changer les variables Javascript est assez facile à faire avec des outils comme Firebug (pour Firefox) ou les outils de développement de Safari / Chrome. Vous pouvez simplement taper javascript dans la console et il sera exécuté. En règle générale, ne comptez pas sur le côté client pour la sécurité. En dehors de cela, avec l'introduction de l'élément HTML5 canvas, javascript vous offre de réelles possibilités pour des jeux simples (Il existe une version javascript / html5 complète d'Angry Birds par exemple).
la source