13-05-2012, 09:40 AM
Dès qu'un joueur effectue l'action de déplacement côté client, tu envoies une requête Ajax vers ton serveur. Celui-ci n'a plus qu'à pusher la nouvelle position aux joueurs à proximité.
Le problème si tu n'écris rien en base, c'est que tu n'as aucune persistence : si le joueur recharge la page, tu ne sais pas où le placer (ni même sur la carte des autres joueurs).
Tu dois de toute façon faire une série de requête quand un joueur tente de se déplacer : ne serait-ce que pour tester la validité du déplacement.
Tu l'auras compris, te passer de persistence n'est pas pertinent. De plus, je ne comprends pas pourquoi tu cherches à l'éviter. Ça fait beaucoup de requêtes. Et alors ? On ne t'arrache pas un ongle par requête effectuée. Tu cherches à traiter un non-problème.
Le jour où ta base ne tient plus le rythme des écritures, tu pourras penser à utiliser un système de stockage plus efficace en écriture (MongoDB et Redis sont de bons prétendants).
Eviter les requêtes n'est pas un besoin dans ton cas, c'est seulement une envie.
L'optimisation prématurée n'est pas une bonne chose.
Le problème si tu n'écris rien en base, c'est que tu n'as aucune persistence : si le joueur recharge la page, tu ne sais pas où le placer (ni même sur la carte des autres joueurs).
Tu dois de toute façon faire une série de requête quand un joueur tente de se déplacer : ne serait-ce que pour tester la validité du déplacement.
Tu l'auras compris, te passer de persistence n'est pas pertinent. De plus, je ne comprends pas pourquoi tu cherches à l'éviter. Ça fait beaucoup de requêtes. Et alors ? On ne t'arrache pas un ongle par requête effectuée. Tu cherches à traiter un non-problème.
Le jour où ta base ne tient plus le rythme des écritures, tu pourras penser à utiliser un système de stockage plus efficace en écriture (MongoDB et Redis sont de bons prétendants).
Eviter les requêtes n'est pas un besoin dans ton cas, c'est seulement une envie.
L'optimisation prématurée n'est pas une bonne chose.