Estoy interesado en hacer un juego que actualmente tenga una experiencia cooperativa, sin embargo, tengo curiosidad sobre el mejor método para implementar esto en HTML5.
He hecho juegos antes de usar sockets C rectos, y también con la biblioteca Net para SDL.
¿Cuáles son algunas de mis mejores opciones para hacer esto en un entorno basado en lienzo?
En la actualidad, todo lo que se me ocurre son soluciones AJAX / base de datos (con una alta frecuencia de actualización) o implementar de alguna manera un servidor PHP que canalice los datos a través de sockets.
La jugabilidad general sería un tipo de juego de plataformas 2.5D, por lo que ambos clientes tendrían que actualizarse continuamente con posiciones de jugadores, posiciones enemigas, proyectiles, datos ambientales, etc.
fuente
Respuestas:
Socket.IO ofrece un sistema construido sobre varias otras capas (incluyendo websockets, flash, técnicas de cometas) con una selección elegante.
Node.js es una opción para ejecutarlo en el lado del servidor.
fuente
Ver esta respuesta :
fuente
" Cometa " es probablemente un término general que podría utilizar aquí. Sin embargo, WebSockets será una opción más deseable (cuando estén felices de que sea seguro).
fuente
Node.js es la respuesta. Lo he usado para desarrollar un juego de disparos multijugador en tiempo real, y me llevó aproximadamente 1 mes de principio a fin. Presentaba algunos desafíos únicos, por lo que necesitaba tener una latencia mínima, y todos los jugadores deben estar sincronizados dentro de otro para que el concepto funcione.
El lado del cliente y el lado del servidor están escritos en javascript y comparten clases / lógica entre sí. Eso comienza a contar cuando intentas corregir errores, ya que no tienes que implementar todo dos veces.
El juego ha estado activo durante aproximadamente 2 meses, sin reiniciarlo y se han jugado miles de partidos.
Socket.io es una implicación de sockets y usa node.js, sin embargo, está demasiado hinchado en este punto para un juego. Hay otras implementaciones de websocket en github para node.js y también ejemplos de juegos que lo usan.
fuente
Siempre puedes usar AJAX y algún tipo de cola de mensajes. ActiveMQ es un buen ejemplo. Ejecutas ActiveMQ en el servidor, luego tu JavaScript puede enviar y recibir mensajes. Simplemente haga que cada jugador tenga un nombre único y envíe mensajes al otro jugador.
fuente
Podría intentar utilizar http://easywebsocket.org/ , es fácil de implementar y es una solución menos servidor basada en websocket :)
fuente
Actualmente estoy usando esto: http://code.google.com/p/phpwebsocket/ como mi servidor de socket para probar. Hace llamadas a los enchufes C a los que está acostumbrado. Puede ser de alguna utilidad.
fuente
Hemos estado trabajando en una plataforma multijugador que puede resultarle interesante. Puede ver nuestro proyecto en www.16cubes.com : estamos proporcionando una capa simple de JavaScript para hacer una comunicación entre pares. Está algo basado en el principio Comet, y tenemos planes de pasar a usar websockets a medida que se vuelva un poco más estandarizado. Por otro lado, proporcionamos algunas características de la plataforma ... como la coincidencia automática de oponentes, el chat del juego, la invitación de un clic de amigos de Facebook, etc.
Tenemos un demo tic-tac-toe, probablemente pueda tener una mejor idea si lo ve. Y sí, también puedes jugar de forma anónima. No es necesario registrarse, si no lo desea. Hay menos de 10 API de JavaScript que necesita codificar, y está disponible en www.16cubes.com/documentation
Estamos buscando comentarios activamente, así que háganos saber lo bueno y lo malo
fuente
Echa un vistazo a este marco que creé específicamente para crear juegos html5 multijugador en tiempo real usando node.js en un enfoque Cliente / Servidor. Donde el servidor ejecuta la simulación del juego, y los jugadores solo envían entradas.
demo: http://vimeo.com/24149718
repo: https://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
fuente