Resumen rápida:flash Sugerencias servidor de juego (Node.js, Red5, etc)
Tenemos un juego flash completado similar al Tetris que está listo para ser "vinculado" para el modo multijugador. Después de investigar y preguntar aquí: Flash Sockets, Peer-to-Peer Capabilities, hemos llegado a la conclusión de que la red P2P hecha en la forma en que los juegos xbox/ps3 manejan juegos en línea no es posible sin costosos/dudosos servicios/software de adobe (FMS/Cirrus) en la plataforma flash en este punto en el tiempo. Básicamente, un cliente flash no puede convertirse en un "host" que escucha en sockets sin el protocolo RTMFP.
La pregunta que necesita Sugerencias:
Con dicho resumen, la pregunta es ... ¿cuál es la mejor manera de implementar la infraestructura de red para un juego como Tetris, que tiene un poco de pequeña E/S pasando de usuario a usuario (por ejemplo, un máximo de 4 jugadores a la vez). Dado que no podemos asignar un solo jugador como el estilo p2p anfitrión, nuestras opciones son:
1.) La grasa Server con Juego de Lógica, Light Clients actualización de pantalla/interpolar basado en las actualizaciones del servidor (ALA) Quake
2.) Light Server maneja la comunicación entre Fat Clients (simulación de Ala Concurrent como juegos RTS)
El problema es que no tenemos experiencia en juegos de redes y por lo tanto, nos encantaría dar consejos sobre los pros/contras de aquellos soluciones (o incluso otras soluciones). Nuestro juego de Tetris no es tan trivial como enviar "líneas de ataque" cuando un cliente borra las líneas para agregarlas a los otros jugadores que luchan actualmente. Necesitamos un poco más de sincronización en tiempo real que eso. Por ejemplo, la lista de los siguientes tetriminos es una única fuente compartida donde todos "pelean" por las piezas deseables.
Finalmente, dependiendo de la implementación elegida, me pregunto si alguien tiene alguna experiencia con Node.js en servidores de juegos. Asumiría que si el servidor fuera un servidor liviano solo manejando las transferencias de datos entre los clientes, ese Nodo sería un buen complemento perfecto. Sin embargo, si la lógica del juego se coloca en el servidor node.js, supongo que la naturaleza de bloqueo de los cálculos haría redundante el enfoque de E/S sin bloqueo de Nodo.js de un solo enlace. De todos modos, cualquier consejo sobre el tema es muy apreciado.
Nos hemos decidido por crear una nueva arquitectura de servidor de Node.js para flash. Para aquellos de ustedes que buscan aventurarse en esta ruta, la clave para conseguir que los sockets funcionen entre Flash y Node.js es: sockets binarios en bruto de la clase de sockets flash y manejados con el buffer global en Node.js O sockets XML de flash , manejado como codificación UTF8 en Node.js con terminación/0 manejando cada mensaje O sockets binarios en bruto desde flash codificados a base64, luego recibidos como base64 en el lado Node.js. ¡Buena suerte a todos! – DnisT
[Electro server] (http://www.electrotank.com/es5.html) es uno de los mejores servidores para flash. – Enkuushka