Je bricolage avec un simple jeu de flyer de grotte basé sur Canvas et je voudrais le rendre multijoueur à terme. Le plan consiste à utiliser Node.js côté serveur.
Les données envoyées consisteraient en la position de chaque joueur, la direction, la vitesse et autres. Les mouvements des joueurs sont une simple physique des forces, donc je devrais pouvoir extrapoler les mouvements avant la prochaine mise à jour du serveur.
Des conseils ou des bonnes pratiques en matière de communication? Je suppose que les sockets Web sont la voie à suivre. Dois-je envoyer des informations à chaque passage de la boucle de jeu ou à des intervalles spécifiés? En outre, cela ne me dérange pas si cela ne fonctionne pas avec les anciens navigateurs.
la source
Je suggère de garder les choses à part.
Dans Stendhal qui est un MORPG 2D écrit en Java, nous avons fait les choses suivantes et cela fonctionne très bien:
La communication entre le client et le serveur se fait à l'aide d'actions et de perceptions:
Nous avons fait quelques "trucs" pour gagner des performances supplémentaires:
la source
Utilisez socket.io , c'est une bibliothèque d'abstraction WebSockets pratique qui fournit des solutions de rechange pour les navigateurs qui ne la prennent pas en charge.
De plus, si vous optez pour un modèle en ligne comme celui-ci, je recommanderais de déplacer le traitement du jeu sur le serveur. De cette façon, il vous suffit de communiquer les modifications graphiques et les entrées souris / clavier. Cela aide également à prévenir la tricherie.
la source