Je suis intéressé à créer un jeu dont j'ai actuellement une expérience coopérative, mais je suis curieux de savoir quelle est la meilleure méthode pour l'implémenter en HTML5.
J'ai fait des jeux avant d'utiliser des sockets C droits, et aussi avec la bibliothèque Net pour SDL.
Quelles sont mes meilleures options pour le faire dans un environnement basé sur un canevas?
À l'heure actuelle, tout ce que je peux trouver est soit des solutions AJAX / base de données (avec un taux de rafraîchissement élevé), soit en quelque sorte la mise en œuvre d'un serveur PHP qui acheminerait les données via des sockets.
Le gameplay global serait un type de jeu de plateforme 2.5D, donc les deux clients devraient être continuellement mis à jour avec les positions des joueurs, les positions ennemies, les projectiles, les données environnementales, etc.
Réponses:
Socket.IO propose un système construit au-dessus de plusieurs autres couches (y compris les websockets, flash, techniques de comètes) avec une sélection gracieuse.
Node.js est une option pour l'exécuter côté serveur.
la source
Voir cette réponse :
la source
« Comète » est probablement un terme générique que vous pourriez utiliser ici. Les WebSockets seront une option plus souhaitable (quand ils seront satisfaits de la sécurité).
la source
Node.js est la réponse. Je l'ai utilisé pour développer un jeu de tir multijoueur en temps réel, et cela a pris environ 1 mois du début à la fin. Il présentait des défis uniques, tels qu'il devait avoir une latence minimale, et tous les joueurs doivent rester synchronisés les uns avec les autres pour que le concept fonctionne.
Le côté client et le côté serveur sont tous deux écrits en javascript et partagent des classes / logiques entre eux. Cela commence à compter lorsque vous essayez de corriger des bogues, car vous n'avez pas à tout mettre en œuvre deux fois.
Le jeu est en place depuis environ 2 mois, sans redémarrage et des milliers de matchs ont été joués.
Socket.io est une implémentation de sockets et utilise node.js, mais il est trop gonflé à ce stade pour un jeu. Il existe d'autres implémentations websocket sur github pour node.js et également des exemples de jeux l'utilisant.
la source
Vous pouvez toujours simplement utiliser AJAX et une sorte de file d'attente de messages. ActiveMQ est un bon exemple. Vous exécutez ActiveMQ sur le serveur, puis votre JavaScript peut envoyer et recevoir des messages. Faites en sorte que chaque joueur ait un nom unique et envoyez des messages à l'autre joueur.
la source
Vous pouvez essayer d'utiliser http://easywebsocket.org/ , c'est facile à implémenter et c'est une solution sans serveur basée sur websocket :)
la source
Actuellement, j'utilise ceci: http://code.google.com/p/phpwebsocket/ comme serveur de socket pour tester. Il appelle les sockets C que vous utilisez. Peut être utile.
la source
Nous travaillons sur une plateforme multi-joueurs qui pourrait vous intéresser. Vous pouvez voir notre projet sur www.16cubes.com - nous fournissons une simple couche javascript pour effectuer des communications poste à poste. Il est quelque peu basé sur le principe Comet, et nous prévoyons de passer à l'utilisation de websockets car il deviendra un peu plus standardisé. D'un autre côté, nous fournissons certaines fonctionnalités prêtes à l'emploi .. comme la correspondance automatique des adversaires, le chat de jeu, l'invitation en un clic d'amis Facebook etc.
Nous avons une démo tic-tac-toe, vous pouvez probablement avoir une meilleure idée si vous la voyez. Et oui, vous pouvez également jouer de manière anonyme. Aucune inscription requise, si vous ne le souhaitez pas. Il y a moins de 10 API javascript contre lesquelles vous devez coder, et elles sont disponibles sur www.16cubes.com/documentation
Nous recherchons activement des commentaires, alors faites-nous savoir à la fois les bons et les mauvais
la source
Jetez un œil à ce framework que j'ai créé spécifiquement pour créer des jeux multijoueurs html5 en temps réel en utilisant node.js dans une approche Client / Serveur. Où le serveur exécute la simulation de jeu et où les joueurs n'envoient que des entrées.
démo: http://vimeo.com/24149718
repo: https://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
la source