Salut,
ouep, la solution de niahoo est usuelle et suffisante pour des jeux.
Je ne sais pas si ce sera ton cas, mais sur Eclerd, il y a des "boucles" de production: un puits de pétrole consomme de l'électricité et produit du pétrole pendant qu'une centrale thermique consomme du pétrole et produit de l'électricité.
Soit il faut faire un calcul d'ensemble (PétroleProduit = DT * (productionPuit - consommationCentrale) avec DT le temps écoulé depuis le dernier calcul), soit il faut avoir des intervalles de temps assez courts (CRON journalier, voire horaire suivant les jeux).
Sur Eclerd, j'ai tenté la 1ere solution, mais elle m'a explosé dans les mains: les boucles étaient trop complexes (là, j'ai hyper-simplifié, mais avec 15 ressource et 6 corps de métiers... BOUM!). J'ai donc viré ces calculs, mais je n'ai pas tenu compte de la 2e condition (des intervalles courts), ce qui fait que re-BOUM, c'est la misère de ressources...
Pour faire simple, un joueur possède un puits (100kWatts/j = 200barils/j) et une centrale (100barils/j = 200kW/j). Il a 1000 barils et 1000kWatts en stock (on stocke l'énergie, c'est plus simple).
Le joueur ne vient pas pendant 2 semaines (15 jours) et ne se fait pas attaquer, et ne revient qu'après ces 2 semaines. La simulation fait produire le puits en 1er. Pendant ces 15 jours, le puits a consommé beaucoup d'électricité: 1500Watts, plus que les stocks du joueur. Donc, le puits va consommer les 1000Watts en stock, produire 2000 barils, et s'arrêter (stocks intermédiaires: 0Watt, 3000barils). La centrale produit. Elle a besoin de 1500 Barils (15 jours * 100barils/j) et elle produit donc 3000Watts.
Stocks finaux: 3000Watts, 1500 barils. Et un message d'erreur "Votre puits de pétrole n'a pas assez d'énergie pour fonctionner"...!
Stocks théoriques: 2500 Watts, 2500 barils
Et là encore, le cas est simple (avec une vingtaine de types de bâtiment, cela a fini en rupture de stock sur toutes les ressources).
Donc, attention à la durée entre deux simulations (suivant le jeu, cette limite varie car elle dépend du modèle mathématique du jeu).
ouep, la solution de niahoo est usuelle et suffisante pour des jeux.
Je ne sais pas si ce sera ton cas, mais sur Eclerd, il y a des "boucles" de production: un puits de pétrole consomme de l'électricité et produit du pétrole pendant qu'une centrale thermique consomme du pétrole et produit de l'électricité.
Soit il faut faire un calcul d'ensemble (PétroleProduit = DT * (productionPuit - consommationCentrale) avec DT le temps écoulé depuis le dernier calcul), soit il faut avoir des intervalles de temps assez courts (CRON journalier, voire horaire suivant les jeux).
Sur Eclerd, j'ai tenté la 1ere solution, mais elle m'a explosé dans les mains: les boucles étaient trop complexes (là, j'ai hyper-simplifié, mais avec 15 ressource et 6 corps de métiers... BOUM!). J'ai donc viré ces calculs, mais je n'ai pas tenu compte de la 2e condition (des intervalles courts), ce qui fait que re-BOUM, c'est la misère de ressources...
Pour faire simple, un joueur possède un puits (100kWatts/j = 200barils/j) et une centrale (100barils/j = 200kW/j). Il a 1000 barils et 1000kWatts en stock (on stocke l'énergie, c'est plus simple).
Le joueur ne vient pas pendant 2 semaines (15 jours) et ne se fait pas attaquer, et ne revient qu'après ces 2 semaines. La simulation fait produire le puits en 1er. Pendant ces 15 jours, le puits a consommé beaucoup d'électricité: 1500Watts, plus que les stocks du joueur. Donc, le puits va consommer les 1000Watts en stock, produire 2000 barils, et s'arrêter (stocks intermédiaires: 0Watt, 3000barils). La centrale produit. Elle a besoin de 1500 Barils (15 jours * 100barils/j) et elle produit donc 3000Watts.
Stocks finaux: 3000Watts, 1500 barils. Et un message d'erreur "Votre puits de pétrole n'a pas assez d'énergie pour fonctionner"...!
Stocks théoriques: 2500 Watts, 2500 barils
Et là encore, le cas est simple (avec une vingtaine de types de bâtiment, cela a fini en rupture de stock sur toutes les ressources).
Donc, attention à la durée entre deux simulations (suivant le jeu, cette limite varie car elle dépend du modèle mathématique du jeu).