Do NOT Optimise (General) Performance

well. what it really means is that the game is ‘currently’ incapable of handling 50+ hearthlings with a avarage computer

this does not limit the extent the game can be optimized, it is a inherent trait of a game of such mechanics, there might be a better way of handling AI that would drastically speed up and lighten AI expense,
and techinicaly, the game is already pretty much always always handling more than 30+ entities as it is(including your hearthligns) if you include spawned mobs and critters, animals, the game is faring quite well as it is

the type of game as is will always mean that the game will lagg out at some point depending on the computer, since whatever you do, there’s AI, and there’s a lot of it, but that doesn’t mean that it can’t be optimized to a point where you have a giant kingdom with hundreds of hearthlings,

we’ll have to see, but it is undoubtably possible and probably a design goal for the team as well (meaning it is likely being works towards)

edit: oh, and just a thought, i’d consider one building as avage of 1.2 hearthlings, they’re quite small if you think about it

1 Like

To make you happy: I’m pretty sure that it is not about the buildings at all. It seems like it is about pathfinding and indexing resources when the working schedule of your citizens breaks down. I’m sure there is a lot that can be optimized, so dont worry too much about it.

Yes, I don’t belive we’ve had a desktop tuesday that explains how their A* implementation works.

Rimworld for example divides the world into sectors and pathing is done via sectors first and then via A* within those affected sectors. That sped up pathfinding very much in Rimworld.

There was, in fact, a Pathfinding DT, way back in Alpha 12’s day.

To summarize, Stonehearth, too, divides the world into larger tiles:

then even joins some of the empty tiles:

Then the pathfinder works on those larger “subspaces”, going further down to the tile or voxel level when needed to work out a complete path.

Of course, 3D pathfinding’s a bit more expensive than 2D pathfinding no matter what you do because you’ve got to run all the calculations in yet another axis.


Another relevant Desktop Tuesday is the one on Crushinator, Radiant’s stress test during the A15 optimization push. I think they’re still optimizing the same way and I really don’t see any other way of going about it.

5 Likes

Oh yeah, I forgot about that.

But what Rimworld seems to do is to store in these “subspaces” where items are, so you can search the subspaces for the nearest X. I don’t know if that makes a difference in Stonehearth but it would be nice to see what kind of optimizations they do for the coming alphas.

[quote=“Hyrule_Symbol, post:19, topic:24338”]
what he said means is that if the process(a calculation for a hearthling) is taking too long either because it’s impossible or that the game is lagged too much to handle itthe game will intentionally dismiss the calculation as she considers it as a ‘failed’ calculation[/quote]

Yes, this is how the game behaves now, and this is a bug that is probably responsible for about 20% of the bug reports. Because of this bug players start playing and think the game works initially but then reach about 20 hearthlings and realise the game is an unplayable joke and that they’ve been scammed into buying a pretty piece of trash.

If a calculation is impossible and results in an infinite loop; then that’d be a different bug that would also need to be fixed (and not just ignored).

For a simple example consider path finding. Either it should successfully find a path or it should successfully determine that there is no path - either way it completes and doesn’t take an infinite amount of time. What (I expect) currently happens is the game does part of the work to find a path and then runs out of time, so it hasn’t finished and needs to continue later, but when it does continue later something has changed and it has to discard previous work and do it all from the beginning, so it does part of the work to find a path again and then runs out of time again. This becomes an “infinite loop of stupidity” where it’s constantly doing half of the work and never finishing; and constantly wasting CPU time to achieve nothing. Doing all the work (once) would probably make the game faster.

For another simple example; consider finding a job for the hearthling to do. It should always successfully find a job for the hearthling (even if that job is “wait by the campfire for a little while because there’s nothing else you can do”). What (I expect) currently happens is the game does part of the work to find a job to do and then runs out of time, so it hasn’t finished and needs to continue later, but when it does continue later something has changed and it has to discard previous work and do it all from the beginning, so it does part of the work to find a job again and then runs out of time again. This becomes another “infinite loop of stupidity” where it’s constantly doing half of the work and never finishing; and constantly wasting CPU time to achieve nothing. Doing all the work (once) would probably make the game faster.

1 Like

No, they aren’t tricked into buying a game that has bugs, and optimisation issues, especially for a game that has the word ‘Alpha’ in every main menu screen
The gane is in development, you know it, steam says it out loud, it states that it’s Alpha, they are not tricked, they should and do know it, it’s ignorant to buy a game that says ‘Alpha’ from the very beginning and want it to be perfect

.

No, bugs are not ‘ignored’ they are always there, and there for a reason
Do you really think there’s a magic ‘fix this bug’ button somehwere that they can just push to bet rid of a specific bug?
Bugs and system errors are more than just a typo in code, or a misplaced number, it could mean reconfiguring a system entirely, and if you don’t have a bag of money you can give to the team and boost their budget, you should accept it as a issue that is not fixed 'yet’
it takes time to fix anything, and that time needs money and actual time, time in which they can implement a feature, fix a more important bug, or design a thing
This isn’t a team with 60+ people with a massive budget, they may not be able to afford a game that is completely bug-free, and honestly, no game is bug-free

AI and design isn’t a matter of ‘make this do this’ it’s more complicated than you think, and i can say that because seeing what you are saying, you know little of anything on how difficult making a game is, and how things work, at all

1 Like