14-01-2019, 06:24 PM
Salutations,
un nouveau petit "jeu" en ligne ce week end: https://xenos.reinom.com/the-board/
C'est un "bac à sable": vous êtes sur une carte de jeu aléatoire, et vous pouvez placer des objets et des personnages dessus, puis les bouger. Vous pouvez sauvegarder votre partie, et vous pouvez également inviter un ami (ou plusieurs) à vous rejoindre. Les joueurs partagent alors le même plateau de jeu, et voient les modifications des autres (ajouts de personnages, déplacement d'objets, changement de tiles de décor, etc).
C'est basé sur les personnages de deux de mes amies, qui m'avaient suggéré l'idée. Le but principal de ce jeu, pour moi, était de tester comment synchroniser les changements entre plusieurs joueurs. J'ai tenté WebRTC d'abord, mais fail (car on est souvent derrière un NAT et il est très compliqué de connecter les joueurs entre eux). J'ai alors changé pour du ajax long polling et du HTTP chunck: 1 connexion entre le navigateur et le serveur, qui reste ouverte une petite trentaine de secondes (arbitraire), et le serveur push (flush) des infos quand il en a de nouvelles, via un chunck HTTP. C'est plutôt efficace, même si c'est pas le top (PHP d'un mutu OVH, ça ne tient pas le websocket).
Je pense en sortir un petit article pour présenter la solution, desfois que cela serve à d'autres (et desfois que ça me serve sur Variispace pour avoir les infos du jeu en "temps réel").
un nouveau petit "jeu" en ligne ce week end: https://xenos.reinom.com/the-board/
C'est un "bac à sable": vous êtes sur une carte de jeu aléatoire, et vous pouvez placer des objets et des personnages dessus, puis les bouger. Vous pouvez sauvegarder votre partie, et vous pouvez également inviter un ami (ou plusieurs) à vous rejoindre. Les joueurs partagent alors le même plateau de jeu, et voient les modifications des autres (ajouts de personnages, déplacement d'objets, changement de tiles de décor, etc).
C'est basé sur les personnages de deux de mes amies, qui m'avaient suggéré l'idée. Le but principal de ce jeu, pour moi, était de tester comment synchroniser les changements entre plusieurs joueurs. J'ai tenté WebRTC d'abord, mais fail (car on est souvent derrière un NAT et il est très compliqué de connecter les joueurs entre eux). J'ai alors changé pour du ajax long polling et du HTTP chunck: 1 connexion entre le navigateur et le serveur, qui reste ouverte une petite trentaine de secondes (arbitraire), et le serveur push (flush) des infos quand il en a de nouvelles, via un chunck HTTP. C'est plutôt efficace, même si c'est pas le top (PHP d'un mutu OVH, ça ne tient pas le websocket).
Je pense en sortir un petit article pour présenter la solution, desfois que cela serve à d'autres (et desfois que ça me serve sur Variispace pour avoir les infos du jeu en "temps réel").