2 points par dodammomo 1 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

J’ai essayé de créer un site pour profiter de jeux MAME classiques sur le web.
Il semble exister beaucoup de sites qui permettent simplement d’y jouer dans le navigateur, mais je n’en ai pas trouvé qui prennent correctement en charge le jeu en réseau sur le web,
alors j’ai conçu celui-ci en mettant l’accent sur le jeu en réseau.

D’abord, lorsqu’un utilisateur envoie une ROM MAME, elle est vérifiée dans l’interface d’administration pour voir si elle pose problème, puis, une fois approuvée, elle devient visible pour les utilisateurs.
S’il s’agit d’un jeu compatible 1P et 2P, j’ai fait en sorte que le jeu en réseau soit possible quel que soit son genre.

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

Au début, pour le jeu en réseau, j’avais avancé en lançant un émulateur web séparé pour chaque joueur et en ne transmettant que les entrées clavier des utilisateurs, mais de sérieux problèmes sont apparus au niveau de la synchronisation. Les touches étaient bien transmises entre les participants, mais entre les réglages des personnages, les différences de temps de chargement des émulateurs et d’autres facteurs, il était impossible de synchroniser correctement la partie. J’ai donc pensé à une autre approche : lors d’une partie en réseau, transmettre l’écran complet directement au navigateur des participants. J’ai pensé à LiveKit, et dans cette configuration, seules les entrées clavier sont échangées via WebSocket.

C’est à ce moment-là que la synchronisation a enfin été parfaitement résolue, et il est devenu possible de jouer en réseau sans aucun problème, qu’il s’agisse de jeux de tir ou de combat.
Le problème, c’est le trafic réseau.

Je l’ai conçu sans autres fonctionnalités que le jeu lui-même, afin qu’on puisse en profiter simplement.
N’hésitez pas à y jeter un œil et à me dire ce qui pourrait être amélioré.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.