Am trecut și eu prin problema asta când am încercat cu un prieten să
facem un joc „water pipe” întru hackaton. Până la urmă am ajuns la o
soluție destul de faină cu SocketIO. Scopul era ca mai mulți jucători
să se conecteze, și într-o matrice să unească o căsuță din stânga cu
una din dreapta, utilizând diferite piese pe care le controlează cu
tastatura.

* un obiect „game” se creează pe server atunci când se conectează primul client
* atunci când clientul „mută” piesa, verific că mutarea e „legală”
local, apoi fac un apel către server care execută același lucru în
obiectul „game” pe care îl deține și face un broadcast cu mutarea
către restul clienților care execută și ei aceiași mișcare
* când un alt client se conectează, pur și simplu primește obiectul „game”
* ca să evit desincronizările, făceam ca la fiecare 10 secunde
jucătorii să își schimbe random poziția

https://github.com/vladvelici/tzava

---
Alex Palcuie
palcu.blogspot.com


2013/2/14 cosmin Didii <[email protected]>:
> Salut,
> Am facut cu un coleg un fel de multiplayer game in javascript cu node.js,
> dar nu pot sincroniza harta.
> Imi poate da cineva niste sugestii?
> Ce ar trebui sa folosesc?(node.js e asincron)
> Sau cum se face asta in mod normal la jocurile mmorpg?
> Daca poate cineva sa se uite un pic peste cod si sa ne dea niste sugestii.
> Important: Jocul este pentru windows8. Dintr-un motiv necunoscut, jocul
> merge foarte bine pe ultima versiune de internet explorer, dar are buguri pe
> chrome, mozilla si restul.
>
> Server side:
> https://github.com/cosmin1123/ImagineCupGame/blob/master/lib/synchronize.js
>
> Client side:
> https://github.com/cosmin1123/ImagineCupGame/blob/master/TheImpossibleGame/js/utils/clientSide.js
>
> _______________________________________________
> http://lists.rosedu.org/listinfo/rosedu-general
> http://lists.rosedu.org/guidelines - Mailing List Guidelines
_______________________________________________
http://lists.rosedu.org/listinfo/rosedu-general
http://lists.rosedu.org/guidelines - Mailing List Guidelines

Raspunde prin e-mail lui