25-06-2013, 07:32 PM
sujet maintes fois débattu ... mais pour en rajouter une couche je pense que la solution de Xenos est une solution naïve : le premier joueur du matin va se manger un temps de chargement de page de deux heures (j'exagère) pour peu que les calculs à faire soient complexes et/ou nombreux.
De plus, par principe, le monde de ton jeu est toujours dans un état indéfini, et tu dois déclencher explicitement tous les calculs quand tu veux faire une action uniquement côté serveur (sans action de la part d'un joueur). Cela laisse également la place aux race conditions et t'oblige à mettre en place des sémaphores ou des transactions complexes bien relou, pour rien.
Enfin, cela oblige certains chargement de page à être longs (deux heures, donc ) alors que pendant les minutes précédentes le serveur se tournait les pouces. Mais ils seront parfois courts quand il n'y à rien de plus à faire, ce qui amène à une inconsistance du comportement de l'appli d'un point de vue utilisateur. Et oublie les jeux en quasi-temps-réel du coup.
Mais ça a l'avantage, pour un jeu de gestion tranquille, de ne pas nécessiter d'installation supplémentaire de logiciels.
Ensuite en plus consistant tu as les CRON ou WebCRON ou mieux, un serveur de tâches tel que PHPResque.
De plus, par principe, le monde de ton jeu est toujours dans un état indéfini, et tu dois déclencher explicitement tous les calculs quand tu veux faire une action uniquement côté serveur (sans action de la part d'un joueur). Cela laisse également la place aux race conditions et t'oblige à mettre en place des sémaphores ou des transactions complexes bien relou, pour rien.
Enfin, cela oblige certains chargement de page à être longs (deux heures, donc ) alors que pendant les minutes précédentes le serveur se tournait les pouces. Mais ils seront parfois courts quand il n'y à rien de plus à faire, ce qui amène à une inconsistance du comportement de l'appli d'un point de vue utilisateur. Et oublie les jeux en quasi-temps-réel du coup.
Mais ça a l'avantage, pour un jeu de gestion tranquille, de ne pas nécessiter d'installation supplémentaire de logiciels.
Ensuite en plus consistant tu as les CRON ou WebCRON ou mieux, un serveur de tâches tel que PHPResque.