MicroTown

MicroTown

View Stats:
Zlo-2 Feb 19, 2021 @ 7:13am
Workers
Workers and producing buildings are usually very ineffective. Now I didnt to the math and proper tests and Im speaking just from observance but workers waste a lot of time carrying their product to silos, markets, etc and maybe less time doing the actual job they are assigned to, which causes a lot of problems. Now in winter crops die. If I want to utilize farms and squeeze 2 harvests before winter, I have to build more farms, so more workers for faster sowing and harvesting times. If I build silos workers harvest the crop, go drop it on the farm, then pick it up from the farm, carry it to the silo and then go back to harvest again and waste a lot of time and I cant harvest in time. So to combat that I have to build even more farms. And for more farms I have to build more houses for more population, which causes less happiness, because supplies dry. Now I have to adjust the supply chains and that means more workers and more delivery, which means more food, which means more farmers and cheese makers etc and the circle starts again. And this is a completely normal mechanic for that type of game but here seems unbalanced and kinda forced. You see If I know I need 30 workers, I can make expansion plans for 30 workers. Here I dont know exactly what I’ll get and therefore how much I will actually need. I'm getting 30 people working but are they farmers/arborists/brewers or delivery right now? You never know, just build more to be sure.

Here I have some breweries and vats.

https://imgur.com/FwEc4bx

Choke full on barley and water. I have around 70 breweries and 50 vats and only 10-15 vats are producing and being stocked at a time, all other brewers seem busy doing other tasks no matter what. Thats like what? 20-30%? And it looks like that for everything. If I'm full on materials and build 20 whatever producing buildings there will be a lot of buildings that just won't be working for some reasons. If you have buildings far from each other is hell. With beer is the worst, you have to carry the beer all the way to the tavern which is in the city, which can be half the map away, one worker finishes a beer for 15 sec and then he can decide to go for a delivery which time can depend on all sorts of things. Or he can decide to make another beer. What? I have to build like 70 breweries and 10 vats, giving 60 extra workers to carry stuff around and its still might not be guaranteed that all my 10 vats will be producing. Thats not good, when everything varies and its not set I cant figure out exactly what I need and just start building more on random.
< >
Showing 1-8 of 8 comments
Rudy (Snowy Ash Games)  [developer] Feb 19, 2021 @ 8:37am 
Hi!

Thanks for the feedback and explaining exactly what you are doing and how it's (not) working.

I can't say for sure, but I think you may have too many workers and too few carriers. Let's say you have a building with 3 workers and 6 spare carriers. Then you build another building and now there's 6 workers and only 3 carriers. Now there's not enough carriers to efficiently carry the items, so the workers start carrying the items themselves. This slows production, so you build more buildings hoping to fix it. But now there's even less carriers and the deliveries get even worse. This cycle happens slower in-game, because there's a delay between cause and effect, but this is definitely one way that it can break (although, I am not 100% this is the case here).

Just to be clear, I do consider this to be the game's fault and not the player's. I haven't given you the control over deliveries, nor provided sufficient information to create the "correct" number of buildings and villagers. There is no indication that something bad is happening, nor is it clear how to fix it. This is actually a really tough design problem to solve. It works well with some 100-200 villagers, but once you get into thousands...

Your post prompts me to think aloud about this problem. Issues with deliveries are the #1 reported problem.

I have been thinking about how to fix deliveries for a while now. I have run out of simple solutions (and I mean "simple" relatively, because this is all very complicated under the hood). My original design goal was to make things "just work". But I now realize that this was too naive, because my solutions don't scale well to thousands and even hundreds of villagers unless I keep working on this, basically, forever. So I need to rethink my approach.

As I mentioned, I don't give the player any real control over deliveries and I think this is the core of the problem. The player has to hope that the deliveries will work the way they intuitively imagine. But, of course, the game is just algorithms and the only "intuitive" results are those that I happen to guess and implement. And this is much easier said than done. There is still a large gap between "what the player wants" and "what the game does". And I somehow need to close this gap. So far, I have been trying to make the game do what is intuitively and logically expected. But I think it's time for me to approach it from the other end and consider letting the player "talk" to the game more directly.

I'm 90% confident that I will implement a delivery waypoint system, some sort of transport route network. I have no idea how to do it yet, and I need to design it. But I'm pretty sure that it can solve some 80% of all the problems. I don't want to speculate too much here, and I will probably make a separate post or comment about it.
Zlo-2 Mar 1, 2021 @ 2:15pm 
Hey, thanks for the reply. Very nice to see devs involved with the community.

Now, with me its not a problem with lack of delivery man. Now I build smaller towns and my policy on population is that I always produce more food than needed, and just when deliveries start to overcome carriers I build new houses and give atleast 100 idle men and then see how food goes and what else I can build before deliveries>carriers again. Basically deliveries>carriers is my expansion que and I do everything according to that. And that policy was created when I ran into some problems you’ve explained. When I play those kinds of games I usually go for big. I want to utilize every square of the map and have as many peeps as possible. So I played like this in the beginning on easy mode. After an initial setup for loads of planks and slab, I get more builders and then I sorta grid the map and assign where all the houses, farms or animal pans, etc. will be for the whole game. And then I just build the whole lot at once, one type of building at the time. So while I still run into issues with this and that, the town is pretty much running smoothly, I always have tons of food and stuff and thousands and thousands idle workers. This game is kinda very forgiving to all sorts of behaviour like this. And I enjoy that. In Banished, for example, if your food goes low that will bring very lasting consequences and chain effects, and when people start dying you might work hours to recover from that or just lose the game. Here you run out of food, people die and just respawn 2 minutes later when you get some food. And again I'm not saying thats bad, I like it, I wanna build a town, dont need it to be realistic or whatever. Anyway, I played big like this and never had any major issues. I built a few towns and that got boring, so I started a hard game and wanted to utilize everything to the max, and not build just loads of stuff, but to have exactly what the title said - MicroTown. Turned out to be difficult, mainly for the delivery reasons and how there it's always something more you need but you don't know exactly how much :) And I also dont get why you are punishing large populations so much with happiness. I just get things right and start expanding again accordingly and then some new penalty pops up. Now you have -600 happiness out of 4 every 2500 villagers. I haven't experimented with this enough, but I guess there is another penalty coming for lets say 5k people. Is it even possible to have a town with huge population and positive happiness?

I have no idea how things work under the hood, but can't you just stop assigned farmers. etc. from making deliveries and just focus on what their profession is? They dont do general deliveries anyway. Or that will create a snowball effect and you’ll end up needing even more of everything?

And about how you mention how you dont give me indications if something goes wrong. What I do is I constantly open the item report panel. Can we get a way for that panel to be always on top, like some on/off way to squeeze smaller icons into the header or to the right or something?

And I agree that the game has gap between "what the player wants" and "what the game does" but I personally think it's not that big. I know people who would be very annoyed with some issues in the game and especially that forgiving behaviour I mentioned, but Im more of a chill guy so its a pretty cool game so far.
Overseer86 Apr 5, 2021 @ 3:29pm 
I think that worker shouldn't act as carriers. As simple as that. So workers ONLY work on their building, and carriers will take care of transports.

Rudy (Snowy Ash Games)  [developer] Apr 6, 2021 @ 4:57am 
Originally posted by Overseer86:
I think that worker shouldn't act as carriers. As simple as that. So workers ONLY work on their building, and carriers will take care of transports.

Hi! That is one possible solution. However, for most players this is actually worse. Workers would stand in front of their building with items a few tiles away and never take them. This becomes really bad if there are not enough carriers. Everything basically stops. This scenario is far worse than having workers be inefficient... mostly.

As I mentioned above, I agree there is a problem. For one, I need to prioritize work over deliveries even more than it is now. I think I might also allow the players to toggle worker deliveries globally and per-building (or may be per-building type). But, mostly, I just want to implement a logistics system so players can specify their own delivery routes.
Mace Apr 16, 2021 @ 12:02pm 
Wouldn't it help if workers did do deliveries but only if their building is full? That way if carriers are inefficient the worker will help but only when they have too due to lack of storage at the place they work. I feel this would at least alliviate the issue until a better solution for all deliveries is created.
Serafine May 6, 2021 @ 8:29am 
An option to prevent workers from acting as carriers would be nice (at best this would be an option that can be ticked per building and globally), then players can decide if they want this to happen at all or can turn it off for specific buildings only.

Another addition that would help is a generic resource drop-off point. This could either just be a patch of grass with a flagpole or something like a covered tent-like area (here is where the new multi-tile buildings should come in handy to create large multi-tile drop-off areas or expandable warehouses with a single shared inventory).
Production buildings would either drop their items at the nearest drop-off point or the consumer building/granary/warehouse if that's closer than the nearest drop-off (and has an unfulfilled demand).

Production buildings could also be connected to a (more distant) drop-off point (or consumer/storge building) via waypoint and carriers would pick up items from that drop-off point and carry it to the consumer buildings - or another resource-drop-off connected via another waypoint.

The only thing you need to take care of then is to prevent the drop-off points from getting overwhelmed by a specific resource (like having all your drop-off points in an area filled with wood so no other resources can be stored/processed) which can either be done by allowing players to set a max value for the amount of specific resources a depot/drop-off point/warehouse will accept or if you want an easier more "macro" version have a separate limit for every single item (so instead of a capacity of 50 of "any item" the depot tile can store 10 of EVERY item (depending on the item these limits could also differ in a per-item system like a tile could store 20 wood, 10 poatoes, 10 beer, 5 bread, 5 milk, etc. - whatever limit seems appropriate for the individual resources)).

Considering the scale and relative simplicity of the game a seperate-capacity-per-item drop-off is probably the better solution as it needs less player interaction/oversight and has less of a risk to create bottlenecks.

These drop-off points would basically act as buffers taking pressure of the single-item granaries and warehouse storages. They could be placed between buildings of a production chain and temprarily store any overproduction.

One last helpful thing would be a hauler/delivery building so carriers and suppliers can be specifically assigned to these jobs and don't just pool from free settlers.

Last edited by Serafine; May 6, 2021 @ 11:33am
Serafine May 7, 2021 @ 6:07am 
Originally posted by Mislesh:
Choke full on barley and water. I have around 70 breweries and 50 vats and only 10-15 vats are producing and being stocked at a time, all other brewers seem busy doing other tasks no matter what. Thats like what? 20-30%? And it looks like that for everything.
Okay, after playing for several hours I found out that in the bottom right corner there's a tab that lets you assign a minimal number of carrier and builder jobs - this may result in buildings not getting crewed but at least the ones you have will work at a decent pace (because usually carriers are only recruited from idle workers which means you can easily run out of them entirely).

I know that the game is still in alpha but I think this is a feature the game should definitely explain to a new player as it can make the difference between your economy running smoothly or coming to a complete stall.
Last edited by Serafine; May 7, 2021 @ 6:08am
Rudy (Snowy Ash Games)  [developer] May 9, 2021 @ 9:50am 
Thanks for the feedback! I already replied on Discord about the various points, but I'll make a note here. You are basically describing my next planned updates.

Originally posted by Serafine:
An option to prevent workers from acting as carriers would be nice (at best this would be an option that can be ticked per building and globally), then players can decide if they want this to happen at all or can turn it off for specific buildings only.

This is something I am adding in the next update. A toggle for each individual building, a global toggle for each building type, and a global toggle for every building. Basically, this will allow you to fine-tune exactly what behaviour you want and can result in drastically different layouts and economy efficiencies.

Originally posted by Serafine:
Another addition that would help is a generic resource drop-off point. [..] Production buildings would either drop their items at the nearest drop-off point or the consumer building/granary/warehouse if that's closer than the nearest drop-off (and has an unfulfilled demand).

This is something I am planning for the following update (after next one). Basically, a "caravan system" that lets you build, as you say, drop-off points and then set up "trade routes" bewteen them to deliver items.

Originally posted by Serafine:
Production buildings could also be connected to a (more distant) drop-off point (or consumer/storge building) via waypoint and carriers would pick up items from that drop-off point and carry it to the consumer buildings - or another resource-drop-off connected via another waypoint.

I won't do this system on a per-building basis, so the drop-off points will have to be near the buildings (to be efficient).

Originally posted by Serafine:
One last helpful thing would be a hauler/delivery building so carriers and suppliers can be specifically assigned to these jobs and don't just pool from free settlers.

Yes, my plan is to have dedicated workers/carriers for each drop-off point. In short, if the player is allowed to fine-tune item delivery chains, then it only makes sense to control the workers (well, carriers) involved. After all, it's the free-running carriers (and distracted workers) all over the place that are the bane of bottlenecks.
< >
Showing 1-8 of 8 comments
Per page: 1530 50