As per title. It is not my intention to ask this to create a debate over this, it’s only a genuine question as I have no idea how Unity works.
So, how much can performances be realistically improved? I mean, I see the game is very CPU demanding, and even with a high-end CPU it shows stuttering depending on world size and population. They set a limit of 1000 villagers, but some problems appears even when villagers are above 700-800 (some see problems even at 500). Is it realistic to hope that this can be fixed in the current game engine and that a population of more than 1000 villagers can be handled by CPUs which are not a i9-12900 or a R9-7950X? In other words, can an Unity game like this be made less wooden and more smooth?
There is a lot of room for optimization in this kind of game. I suspect there are currently bugs tripping up the pathfinding. Once they get ironed out hopefully the stuttering hangs you get every few seconds at high pops will go away.
There is always a trade-off between optimal villager behaviour and performance though. The more frequently each villager calculates what they should be doing the higher the performance cost but also the smarter their behavior can appear. If a frame ends and the villagers haven’t finished the calculations then should the game freeze until it completes, or should the game run with the villagers standing around idle? The first gives you better behavior, the second better performance.
A direction I hope they take is to give players more responsibility to take some of the strain off the CPU. For example, if we could assign particular houses to particular workplaces then the game wouldn’t have to try solve the problem of who should live and work where. To humans it can be very obvious that the fisherman should live in the house next to the fishing hut, but a computer needs to check all the possibilities to measure that as the best. Also a human knows to only do this once, whereas a computer will need to check it again everytime a new building is constructed. The downside of this approach is that it makes the game harder and requires a very thoughtful UI/UX design not to become confusing or tedious.
A few times my game has slowed or sputtered, lagging to the point I quit and reloaded and found it was ok for a couple more hours- so sometimes it has to be some sort of memory buffering and not always cpu.
I have taken to using various mods on the nexus mods site to alleviate some of these issues. Firstly I have eliminated desirability which drastically improves repair speed and stops the frankly ludicrous decay mechanism which slows everything down. I have also then deployed mods which relocate all villagers on click to houses nearest their work place which slows down huge transit and collection shelter stocking time sinks. Alongside other improvements I have boosted my pop (using a mod ) to well over 1000 persons, without significant performance loss. The combined effect of these mods is that I rapidly established a huge wide spread settlement complex with a massive population the main performance drag is the events when raiders arrive (200-250 plus) where despite these advantages the game really chugs along like a wounded snail… but it still works otherwise fine all year. There is still some serious memory leak going on when you engage in play sessions 2 hours plus, often needing a save and reload to cure