15-10-2015, 02:03 PM
(Modification du message : 15-10-2015, 02:11 PM par Thêta Tau Tau.)
Je pense qu'il est indispensable pour tout jeu web un minimum complexe, d'avoir un moyen de gérer les événements indépendamment des requêtes.
Perso j'y ai pas mal réfléchi pour mon jeu. Je compte implémenter ce "gestionnaire d'événements" très prochainement, je posterait peut être quelque chose à l'occasion.
Niveau technologies j'utilise node. Je compte faire un truc basé sur setTimeout, avec un cache dans la bdd pour pas tout perdre en cas de crash du serveur.
En gros :
-Lors de l'ajout d'un évènement on ajoute une entrée dans la bdd et on lance un setTimeout.
-le setTimeout appelle une fonction qui fait l'action et supprime l'entrée dans la bdd.
-au démarrage du serveur on récupère tous les événements dans la bdd, on résout les événements passés (dans l'ordre) et on lance les setTimeout des événements futurs.
Après il y a deux trois soucis d'optimisation à prendre en compte mais en gros c'est l'idée.
Du coup appliqué à ton cas, on appellerait une fonction à chaque fois qu'il faudrait déplacer une flotte d'une case. Ce script se chargeant du déplacement, des collision, et des combats.
Perso j'y ai pas mal réfléchi pour mon jeu. Je compte implémenter ce "gestionnaire d'événements" très prochainement, je posterait peut être quelque chose à l'occasion.
Niveau technologies j'utilise node. Je compte faire un truc basé sur setTimeout, avec un cache dans la bdd pour pas tout perdre en cas de crash du serveur.
En gros :
-Lors de l'ajout d'un évènement on ajoute une entrée dans la bdd et on lance un setTimeout.
-le setTimeout appelle une fonction qui fait l'action et supprime l'entrée dans la bdd.
-au démarrage du serveur on récupère tous les événements dans la bdd, on résout les événements passés (dans l'ordre) et on lance les setTimeout des événements futurs.
Après il y a deux trois soucis d'optimisation à prendre en compte mais en gros c'est l'idée.
Du coup appliqué à ton cas, on appellerait une fonction à chaque fois qu'il faudrait déplacer une flotte d'une case. Ce script se chargeant du déplacement, des collision, et des combats.