Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I understand what you mean. When the demo was first released, it worked in a way similar to what you've described. However, as more complex tasks and prioritizations were added to the game, I noticed that queuing tasks back-to-back caused some bugs. To resolve these issues and ensure each villager completes their tasks without bugs, I had to implement a different approach. This new method treats each task as an independent request, and each villager selects only the tasks that suit them from a pool of tasks.
Having each task pooled independently and chosen by the villagers ensures that every task eventually gets done, but it doesn’t allow tasks to be chained seamlessly (e.g., chop the tree -> pick up the chopped wood -> take it to the construction site).
In this system, a worker cuts down a tree, completing that task, which is then removed from the task pool. For the fallen wood, a new task to collect it is added to the pool, and whichever villager selects it first will go to collect it. In the past, the villager who chopped the tree could automatically be assigned the next task, but if there was a higher-priority task in the villager’s task pool (or their home’s task pool), bypassing it could lead to issues, even putting their life at risk.
Consider this scenario: A laborer chops down a tree, then immediately picks up the fallen wood. Meanwhile, a task to take food remains in the pool because the laborer’s food supply is low, and skipping it would cause them to lose health due to hunger. Or, imagine a nearby building has caught fire, and a firefighting task has been added to the villagers pool. If the laborer automatically chose to transport the wood without checking their pool first, the building might burn if no one else goes to extinguish the fire.
Situations like the one above were common, and players often became frustrated as a result. The solution was to make villagers select the most important task after completing each one. This selection process includes a 0.2-second delay to optimize performance. During that delay, the nearby resource collection task could be picked up by another villager.
While explaining it takes some time, I hope this conveys how having tasks selected independently (rather than chained) ensures that critical tasks are always completed on time, even if it slightly lowers efficiency for laborers.
A separate improvement could be made specifically for laborers in the future.
That does make it much more understandable. Thank you for the time and informative response