25-09-2009, 01:02 PM
je crois que travian et ogame utilisent ce qu'un joueur voit.
Si les données sont à jour -> on ne fait rien (par exemple batiment en construction qui reste en construction -> on ne change pas d'état)
Si les données ne sont plus a jour, on recalcule uniquement ce qu'on voit (pour le joueur lui même et pour les autres joueurs)
ex : batiment contruit il y a deux jours, si personne ne l'a vu depuis qu'il a a fini de se construire
Ajout des ressources en fonction de ce batiment depuis la derniere fois qu'il a été vu (au niveau actuel -1 parce qu'il n'a pas encore été amélioré a ce moment là) de l'heure de la derniere visite jusqu'a l'heure de fin de construction
Ajout des ressources en fonction de ce batiment depuis son heure de fin de construction (au niveau actuel parce qu'il a été amélioré) de l'heure de sa fin d'amélioration jusqu'a heure actuelle.
ça permet de faire en une visite, les mises a jour des deux derniers jours en quelques petites requetes, sans lancer de requete toutes les secondes, ou toutes les heures. (a mon sens beaucoup plus économique en ressource serveur)
Rendre ces calculs asynchrone, je pense que ça a du bon
Si les données sont à jour -> on ne fait rien (par exemple batiment en construction qui reste en construction -> on ne change pas d'état)
Si les données ne sont plus a jour, on recalcule uniquement ce qu'on voit (pour le joueur lui même et pour les autres joueurs)
ex : batiment contruit il y a deux jours, si personne ne l'a vu depuis qu'il a a fini de se construire
Ajout des ressources en fonction de ce batiment depuis la derniere fois qu'il a été vu (au niveau actuel -1 parce qu'il n'a pas encore été amélioré a ce moment là) de l'heure de la derniere visite jusqu'a l'heure de fin de construction
Ajout des ressources en fonction de ce batiment depuis son heure de fin de construction (au niveau actuel parce qu'il a été amélioré) de l'heure de sa fin d'amélioration jusqu'a heure actuelle.
ça permet de faire en une visite, les mises a jour des deux derniers jours en quelques petites requetes, sans lancer de requete toutes les secondes, ou toutes les heures. (a mon sens beaucoup plus économique en ressource serveur)
Rendre ces calculs asynchrone, je pense que ça a du bon
Je signale que je ne détiens pas la vérité unique et absolue, je peux me tromper. La critique peut aussi être constructive. Critiquez moi!
La quête d'Ewilan
http://easy2hack.ma-soiree.be
La quête d'Ewilan
http://easy2hack.ma-soiree.be