2010-07-23 6 views
14

Je vais probablement utiliser javascript pour développer un jeu de cartes/cartes en ligne. Mon approche sera d'avoir un client qui sera capable de travailler en mode autonome, donc il doit appliquer des règles. Cela signifie par exemple que si un joueur ne peut pas jouer une carte, il ne devrait même pas être capable de jouer. Ceci pour améliorer l'expérience utilisateur.Existe-t-il un cadre pour le jeu de société multijoueur en JavaScript?

L'idée ici est d'ajouter des hooks pour envoyer et recevoir des événements vers et depuis le serveur, et de partager le code qui implémente les règles du jeu entre le serveur et le client. Je ne vois pas l'intérêt de les écrire deux fois. Donc, si je joue en mode "serveur", le client mettra à jour le serveur avec mes actions (en les vérifiant aussi), et le serveur m'enverra des mises à jour sur le reste des joueurs.

Existe-t-il un cadre pour tirer parti de ce travail? Pour le côté serveur, mes options semblent être Node.js (instable, mais tout serait JS et c'est bien), Erlang + erlang_js, et peut-être certains de ces cadres bizarres qui "compilent en javascript", que je Je n'aime pas vraiment.

+1

Je suis dans une situation similaire moi-même. Comment gardez-vous un système comme celui-ci DRY? Le client devrait être capable de mener le jeu seul, mais le serveur doit tout valider par la suite. Si les règles changent, il serait préférable de ne pas avoir à changer à la fois le code client et le code serveur. – brainjam

+1

Avez-vous déjà regardé le GWT? Code Java qui compile en Javascript et peut être utilisé pour écrire les côtés Client et Serveur. –

+0

@ g.d, GWT m'avait traversé l'esprit (et pourrait convenir à OP), mais j'ai déjà choisi Python/jQuery comme back/front. – brainjam

Répondre

3

Semble comme Ape répond plutôt à vos besoins. Il prend en charge les modules javascript afin que vous puissiez exécuter le même code sur le serveur que vous utilisez pour les clients et l'envoi de messages entre différents utilisateurs est bien pris en charge (consultez les démos mmorpg et chat).

+0

Très bien! Je ne savais pas à propos de Ape. Je ne sais pas si je vais l'utiliser mais je pense que cela me mène dans la bonne direction, merci beaucoup! – Papipo

+0

Malheureusement APE (qui est propre) est seulement pour pousser des choses pour les clients. – Papipo

1

J'ai utilisé RingoJs http://ringojs.org pour exactement ce - client & partage de code de serveur - pendant un certain temps.

Pour écrire des jeux de navigateur en réseau plus facile que je développe une couche mince sur le dessus de cette: http://gamejs.org

Questions connexes