2 puntos por dodammomo 1 일 전 | Aún no hay comentarios. | Compartir por WhatsApp

Hice un sitio donde se pueden disfrutar juegos clásicos de MAME en la web.
Parece que ya hay muchos sitios para jugar simplemente desde la web, pero no encontré ninguno que diera un buen soporte para juego en red dentro del navegador, así que lo desarrollé con ese enfoque.

Primero, cuando un usuario sube una ROM de MAME, en la administración se revisa si tiene algún problema y, tras aprobarla, se publica para los usuarios.
Si el juego soporta 1P y 2P, intenté hacer posible el juego en red sin importar el tipo de juego.

Backend : FastAPI, Radis, postgresql, wss, likvekit
Frontend : react + vite, tailwindCss

Al principio, para el juego en red, trabajé con la idea de ejecutar un emulador por separado en la web de cada participante y transmitir únicamente las pulsaciones de teclas de los usuarios, pero surgieron problemas graves de sincronización. Solo se transmitían las entradas de teclas entre ambos, pero cosas como la configuración del personaje o las diferencias en el tiempo de carga del emulador hacían imposible sincronizar la partida. Entonces pensé en otra opción: al iniciar una partida en red, transmitir la pantalla completa al navegador de los participantes. Pensé en LiveKit y, en ese estado, hacer que solo las entradas de teclas se intercambiaran entre sí mediante WebSocket.

Recién así se resolvió por completo la sincronización, y fue posible jugar partidas en red sin ningún problema, ya fueran juegos de disparos o de pelea.
El problema, claro, es el tráfico de red.

Lo hice sin otras funciones aparte de la partida, para que se pueda disfrutar de forma simple.
Échenle un vistazo y les agradecería mucho cualquier sugerencia de mejora.

Aún no hay comentarios.

Aún no hay comentarios.