¿Cuáles son las posibles desventajas de usar JavaScript (del lado del cliente) al crear un juego multijugador?
Descripción del juego: Es un MMORPG / RTS. Eso significa que los jugadores contribuyen activamente a las estructuras del mundo y crean gran parte del contenido ellos mismos.
2d
multiplayer
javascript
jcora
fuente
fuente
Respuestas:
Está bien si:
fuente
Que tu juego sea o no adecuado para el desarrollo de JavaScript depende del juego. No describiste tu juego, así que no hay forma de que podamos responder la pregunta en el título.
Sin embargo, puedo decir que su problema de piratería no es un problema aquí. No porque JavaScript no pueda ser pirateado (sí, y fácilmente), sino que también lo puede ser cualquier otra tecnología del lado del cliente. Uno de los principios básicos del desarrollo de juegos multijugador es "nunca confiar en el cliente". Diseña tu juego de tal manera que todo lo que necesites proteger contra piratería se ejecute en el servidor, porque el cliente será pirateado. Esto significa que solo debe enviar comandos de IU desde el cliente (por ejemplo, "el jugador hizo clic en el botón Bomba") y calcular los resultados de las acciones del jugador en el servidor. Luego, el servidor devuelve al cliente los resultados de esas acciones.
Dado que no importa en qué tecnología confíes, debes diseñar tu juego con la suposición de que el componente del lado del cliente será pirateado, la piratería de JavaScript no es una consideración al decidir si usar JavaScript o no.
fuente
Las personas pueden cambiar el código del cliente para hacer trampa, eso es un problema para cualquier juego multijugador. Si la velocidad de reacción o la resolución rápida de tareas matemáticas es parte del juego, no puedes evitar por completo la trampa.
Para cualquier otro elemento del juego, debes asegurarte de que el cliente no pueda y no pueda obtener información que se supone que está oculta para el jugador. Y, por supuesto, el servidor debe validar que cada acción tomada por un jugador es legal.
El mayor problema que veo en los juegos de JavaScript es que muchos navegadores tienden a tartamudear, especialmente Firefox fue bastante malo la última vez que lo revisé. Por esta razón, JavaScript no es una buena opción para un juego sensible al tiempo. Pero para los juegos por turnos o al menos de ritmo lento, JavaScript puede funcionar bastante bien.
fuente
Cambiar las variables de Javascript es bastante fácil de hacer con herramientas como Firebug (para firefox) o las herramientas de desarrollo de Safari / Chrome. Simplemente puede escribir javascript en la consola y se ejecutará. Como regla simple, no confíe en la seguridad del lado del cliente. Además de eso, con la introducción del elemento de lienzo HTML5, javascript le ofrece algunas posibilidades reales para juegos simples (por ejemplo, hay una versión javascript / html5 completa de Angry Birds).
fuente