JeuWeb - Crée ton jeu par navigateur
Exécuter la production sur une durée - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Exécuter la production sur une durée (/showthread.php?tid=6293)

Pages : 1 2 3


RE: Exécuter la production sur une durée - niahoo - 22-02-2016

Ouaip c'était ma seconde solution : je stocke la date de fin d'une prod, la plus proche dans le temps et arrivé à cette date, j'ajoute à l'inventaire ce qui a été produit, je regarde quelles prods peuvent se lancer et ensuite je calcule la nouvelle date la plus proche.

Mais ça a pas mal d'inconvénients quand même.


RE: Exécuter la production sur une durée - Ter Rowan - 22-02-2016

le problème risque d'être le nombre de calculs a faire effectivement

à l'inverse ça a un avantage certain, tu peux gérer facilement les ruptures de stock :

si pour produit un robot il faut du minerai....
si j'ai bcp d'usines et peu de drones, je vais consommer plus de minerais que les drones n'en produisent, je vais avoir donc des ruptures de stock et des arrêts de production de robot,...

du coup me semble plus pertinent quand même de simuler des programmations événementielles :

a T0 + x j'ai y machins en plus et z trucs en moins, etc...


RE: Exécuter la production sur une durée - Sephi-Chan - 22-02-2016

Je pense que le plus simple est de se baser sur des background jobs lancés en prévision : et eux font leurs calculs nécessaires à l'instant où ils sont exécutés. Ainsi le code reste très simple.


RE: Exécuter la production sur une durée - niahoo - 22-02-2016

Bah c'est ma seconde solution : un job qui fait ce que j'ai dit, regarder la date la plus proche et exécuter ça en boucle.

Mais bon, ça donne pas envie d'avoir des trucs qui produisent des machins chaque seconde. Et j'ai pas trop envie de gérer par lots, genre la scierie produit 5 bûches toutes les minutes … parce que si tu te gèles les fesses et que t'as besoin d'une seule bûche, y a pas de raison d'en couper 5. Vu que tu vois, en termes de gameplay, si tu en coupes 5 tu es mort de froid.


RE: Exécuter la production sur une durée - Xenos - 22-02-2016

La quantité de calculs te poseras surement moins de problèmes que la quantité de formules.

Après, la question de choisir entre un nombre entier de fagots et un nombre décimal est du ressort du gameplay d'abord. Pour le nombre entier, j'irai sur un pas-à-pas ou une liste d'évènements datés. Pour du décimal, j'irai sur des formules simples , sans boucle de retour ni intégrale: quand le joueur vient jouer, les calculs sont faits, quand il ne vient pas, les calculs sont exécutés à intervalles réguliers (mais espacés dans le temps, genre chaque jour ou chaque heure).

L'important à mon avis est surtout d'être prévenu en tant que joueur: il faut clairement savoir si on est dans le cas "pendant que les robots font des drones, les drones extraient du minerai" ou si on est dans le cas "les robots produisent des drones. A la prochaine heure, les drones extrairont du minerai".