Do I like the army builder functionality? Yes, very much so. Thanks for implementing it.
Do I think it could use some improvements? Yes. Sometimes what it does makes me cringe.
Example, playing as Muscovy, I had already taken all Novgorod, plus some finnish and livonian provinces, then I:
- Create a template with ten ships and click on Neva. Much to my surprise, it allocates eight in the Baltic and two around the White Sea, even though I still have a couple provinces in the Baltic shore not building anything.
- Worst still, I then create a 20-regiment army template, click on Novgorod and become quite puzzled as it decides to be a good idea to queue some of the regiments after the aforementioned ships, thus delaying the overall completion of the template by at least six months, quite needlessly since I still have some provinces nearby not doing anything.
It seems to me that the current algorithm works like this:
- it first selects the set of provinces, based on connectivity and proximity (up to the amount allowed in the template),
- then it distributes among these provinces the required building items, in the exact order that they appear in the template.
I'd like to propose a few improvements on this algorithm:
- First, do not start by choosing the provinces, It won't be possible to avoid sub-optimal choices if the set of provinces is chosen firsthand.
- Second, start by allocating longest building items before shorter ones. The current order works fine for ships, but for armies it needs to be reversed: first the cannons, then cavalry, then infantry.
- Third, when choosing the best province to build each required item, please consider two values: the expected finish date and the travel time to the target province. Both are easy to be calculated by the game.
A few considerations on the impact of the proposed changes:
- clearly, it requires more computations than the current heuristics. Since it appears that AI countries don't use this feature to build their armies, the impact is only relevant for the human players in the session (it does seem the computation could be done client-side).
- there are some questions on how to determine stop conditions when searching for ideal provinces for each item to build. I think there are a few ways to solve this. If you order the provinces as a breath-first search based on travel time, when the total travel time of all non-evaluated provinces exceed the {build time + travel time} of the currently selected candidate, then you know you can stop the search for the current item (in fact, if you know there are, say, seven cavalry regiments to be built, then you can keep track of the seven best candidates, thus making only one search per item type). The search can be pruned even sooner if you keep track for each player the minimum build time for each item type (four ships and three regiment types).
Do I think it could use some improvements? Yes. Sometimes what it does makes me cringe.
Example, playing as Muscovy, I had already taken all Novgorod, plus some finnish and livonian provinces, then I:
- Create a template with ten ships and click on Neva. Much to my surprise, it allocates eight in the Baltic and two around the White Sea, even though I still have a couple provinces in the Baltic shore not building anything.
- Worst still, I then create a 20-regiment army template, click on Novgorod and become quite puzzled as it decides to be a good idea to queue some of the regiments after the aforementioned ships, thus delaying the overall completion of the template by at least six months, quite needlessly since I still have some provinces nearby not doing anything.
It seems to me that the current algorithm works like this:
- it first selects the set of provinces, based on connectivity and proximity (up to the amount allowed in the template),
- then it distributes among these provinces the required building items, in the exact order that they appear in the template.
I'd like to propose a few improvements on this algorithm:
- First, do not start by choosing the provinces, It won't be possible to avoid sub-optimal choices if the set of provinces is chosen firsthand.
- Second, start by allocating longest building items before shorter ones. The current order works fine for ships, but for armies it needs to be reversed: first the cannons, then cavalry, then infantry.
- Third, when choosing the best province to build each required item, please consider two values: the expected finish date and the travel time to the target province. Both are easy to be calculated by the game.
A few considerations on the impact of the proposed changes:
- clearly, it requires more computations than the current heuristics. Since it appears that AI countries don't use this feature to build their armies, the impact is only relevant for the human players in the session (it does seem the computation could be done client-side).
- there are some questions on how to determine stop conditions when searching for ideal provinces for each item to build. I think there are a few ways to solve this. If you order the provinces as a breath-first search based on travel time, when the total travel time of all non-evaluated provinces exceed the {build time + travel time} of the currently selected candidate, then you know you can stop the search for the current item (in fact, if you know there are, say, seven cavalry regiments to be built, then you can keep track of the seven best candidates, thus making only one search per item type). The search can be pruned even sooner if you keep track for each player the minimum build time for each item type (four ships and three regiment types).
Upvote
0