06-03-2007, 12:18 PM
C'est parce que tu gères tout en temps réel.
Je suppose que si le joueur se trouve sur une autre page de ton site, là où le compte à rebour n'est pas affiché, au moment de l'arrivée, la flotte prends aussi du retard!
Pour gérer ce genre de système, c'est assez complexe en fait... Et c'est très bien fait sur le modèle OGame (Mort aux Officiers ).
Il faut en fait que le système s'autogère au moment où tu faits tes demandes d'information.
Explication simple:
Tu envoies ta flotte à 8:00 elle arrive à 9:00 sur sa cible et revient à 10:00
A 8:10, tu te déconnectes... et tu reviens à 10:13.
Entretemps, à 9:25 tu t'es fait attaqué (pas de bol).
Et bien à 10:13, il faut passer en revue tout ce qui s'est passé avant d'attaquer la partie affichage au joueur :
8:10 ... lastupdate joueur
9:00 ... gestion de l'attaque sur la cible
=> Calculer les ressources de la cible
=> Gérer l'attaque
=> Si attaquant gagne, piquer 50% des ressources ou le volume total transportable par la flotte
=> Actualiser le lastupdate du joueur cible
=> Démarrer le retour de flotte
9:25 ... gestion de l'attaque subie
=> Calculer les ressources du joueur depuis 8:10 (=> augmentée de 1:15 donc)
=> Gérer l'attaque
=> Si attaquant gagne, retirer 50% des ressources ou le volume total transportable par la flotte
=> Actualiser le lastupdate du joueur
10:00 ... retour de flotte
=> Ajouter les ressources piquées aux ressources de la planète
=> Ajouter les vaisseaux de la flotte aux vaisseaux de la planète
Voilà pour tout ce qui est a fait AVANT d'afficher la page du joueur
Maintenant pour afficher la page, il faut...
=> Calculer les gains de ressource depuis le dernier lastupdate => 10:13 - 9:25 = gains pour 48 minutes
=> Fixer le lastupdate à 10:13
=> Afficher la page demandée au joueur.
Je suppose que si le joueur se trouve sur une autre page de ton site, là où le compte à rebour n'est pas affiché, au moment de l'arrivée, la flotte prends aussi du retard!
Pour gérer ce genre de système, c'est assez complexe en fait... Et c'est très bien fait sur le modèle OGame (Mort aux Officiers ).
Il faut en fait que le système s'autogère au moment où tu faits tes demandes d'information.
Explication simple:
Tu envoies ta flotte à 8:00 elle arrive à 9:00 sur sa cible et revient à 10:00
A 8:10, tu te déconnectes... et tu reviens à 10:13.
Entretemps, à 9:25 tu t'es fait attaqué (pas de bol).
Et bien à 10:13, il faut passer en revue tout ce qui s'est passé avant d'attaquer la partie affichage au joueur :
8:10 ... lastupdate joueur
9:00 ... gestion de l'attaque sur la cible
=> Calculer les ressources de la cible
=> Gérer l'attaque
=> Si attaquant gagne, piquer 50% des ressources ou le volume total transportable par la flotte
=> Actualiser le lastupdate du joueur cible
=> Démarrer le retour de flotte
9:25 ... gestion de l'attaque subie
=> Calculer les ressources du joueur depuis 8:10 (=> augmentée de 1:15 donc)
=> Gérer l'attaque
=> Si attaquant gagne, retirer 50% des ressources ou le volume total transportable par la flotte
=> Actualiser le lastupdate du joueur
10:00 ... retour de flotte
=> Ajouter les ressources piquées aux ressources de la planète
=> Ajouter les vaisseaux de la flotte aux vaisseaux de la planète
Voilà pour tout ce qui est a fait AVANT d'afficher la page du joueur
Maintenant pour afficher la page, il faut...
=> Calculer les gains de ressource depuis le dernier lastupdate => 10:13 - 9:25 = gains pour 48 minutes
=> Fixer le lastupdate à 10:13
=> Afficher la page demandée au joueur.