Ja het heeft even geduurd, sorry. Maar ik ben er weer, denk ik. Ik beloof nog even niks.
Maargoed, ik ben nu bezig met de taakverdeling onder de serves, en man is dat me toch even lastig. Het is natuurlijk mogenlijk om het makkelijk op te lossen, maar ik weet niet hoe het met jullie zit: ik vind het best vervelend als ik de serves iets doms zie doen. Maar wat is precies het doel?
Eerste idee: de mogenlijke taken (dingen die afgehaald of gebracht moeten worden) die er op dit moment zijn goed verdelen (als in: dat de totale tijd voordat ze allemaal gedaan zijn minimaal is)
Klein probleem: de sitatie verandert, dus een serve kan eigenlijk alleen de eerste taak doen die hij op die manier krijgt en daarna moet het weer herverdeeld met nieuwe kennis.
Tweede idee: idee 1, maar voorspel de toekomst ook. Dat kan heel redelijk, dus de taken worden een stuk beter verdeeld op die manier (bvb een serve die meel brengt naar een bakker die 2 broden af heeft vlak voordat die serve er is krijgt meteen de taak om een brood mee te nemen).
Probleem: je kan niet alles voorspellen.
Groter probleem: is "totale looptijd" uberhaupt relevant? Ik zou zeggen van niet - waar het écht om gaat (denk ik), is dat een gebouw zo min mogenlijk moet wachten (door gebrek aan grondstoffen of door de veel producten) - met een paar speciale gevallen (kazerne, stadhuis, torens, misschien herberg) die het liefst zo vol mogenlijk gestopt moeten worden.
Minor detail: als er geen ijzer erts is, heeft het ook geen zin om toch kolen naar de ijzersmederij te brengen. Daar ga ik denk ik geen rekening mee houden, het is al lastig zat.
Opmerking: als een side-effect hiervan, zou het vanzelf veel minder vaak voor komen dat spullen "even langs het pakhuis gaan" (er in er meteen er uit), dus gepruts met meerde pakhuizen op strategische locaties met speciaal geselecteerde "rode driehoekjes" zou niet meer nodig zijn.
Derde idee: minimalizeer de som van [wachttijd * waarde] over alle gebouwen, om precies te zijn:
"Waarde" is om iets bereiken zoals "wachten om een zwaard te produceren is erger dan wachten om een plank te produceren", wat de waardes daarvan zijn ben ik nog niet over uit, maar het lijkt me duidelijk dat niet alles even belangrijk is (idee: laat de waarde naar beneden gaan als er veel van in de pakhuizen ligt; idee: laat de speler de waarden instellen ipv (of erbij?) de gebruikelijke "distributie van waren"). De wachttijd is de verwachtte tijd dat een gebouw staat te wachten voordat hij kan beginnen met poduceren.
Ik ben er nog niet helemaal uit hoe ik dat uberhaupt kan programmeeren, maar ik kom er wel uit, uiteindelijk, denk ik.
Mijn verwachting is dat het mijn "probleem" oplost (dus de serves doen niet meer zo veel domme dingen), en tegelijkertijd niet genoeg uitmaakt om de economie van het spel te verstoren. Het zou vooral beter werken in het geval dat je te weinig serves hebt, als je er genoeg hebt maakt het waarschijnlijk amper uit, tenminste als je uitgaat van een slim gebouwd dorp met goed gebruik van "rode driehoekjes" om files voor de pakhuizen te voorkomen. Als je uitgaat van een "standaard dorp" met files, zou het veel files schelen (want de pakhuizen worden minder gebruikt en dat is waar de grootste file normaal staat) - dan heb je veel minder serves nodig omdat ze hun taken sneller doen, en daardoor komen er nóg minder files.
Wat denken jullie er van? Juiste richting? Is het "te slim" zodat het het spel verstoord? Maakt het je uberhaupt wat uit of die serves domme dingen doen? Is het slechter dan het was in het geval dat je dorp aangevallen wordt?