14-07-2010, 11:26 PM
Tu peux aussi t'arranger pour que le calcul ne soit fait que lorsque la personne se reconnecte. Exemple :
Il était 10h30, le joueur est en combat avec une araignée. Le joueur commence l'attaque de l'araignée qui perd 10 PV. Le joueur se déconnecte.
Il est 11h17 et le joueur se reconnecte. Le système calcule qu'il y a eu 3 tours de 15 minutes passés. Le système rejoue les tours en vitesse accélérée. Le problème de cette approche, c'est quand il y a beaucoup d'interactions entre les joueurs, ou si les joueurs ne se déconnectent pas vraiment.
Tu as la possibilité d'utiliser un système d'agenda comme cron, comme tu le dis, mais à ta place je ferais un truc perso (tu aurais plus de flexibilité).
Tu peux aussi tenter de regrouper tes requêtes pour ne pas faire 800 requêtes différentes pour 800 actions. Cela dit, 800 requêtes toutes les 15 minutes, ça me paraît pas énorme non plus (même si elles doivent être faites toutes en même temps).
Il était 10h30, le joueur est en combat avec une araignée. Le joueur commence l'attaque de l'araignée qui perd 10 PV. Le joueur se déconnecte.
Il est 11h17 et le joueur se reconnecte. Le système calcule qu'il y a eu 3 tours de 15 minutes passés. Le système rejoue les tours en vitesse accélérée. Le problème de cette approche, c'est quand il y a beaucoup d'interactions entre les joueurs, ou si les joueurs ne se déconnectent pas vraiment.
Tu as la possibilité d'utiliser un système d'agenda comme cron, comme tu le dis, mais à ta place je ferais un truc perso (tu aurais plus de flexibilité).
Tu peux aussi tenter de regrouper tes requêtes pour ne pas faire 800 requêtes différentes pour 800 actions. Cela dit, 800 requêtes toutes les 15 minutes, ça me paraît pas énorme non plus (même si elles doivent être faites toutes en même temps).