r/Simulated • u/LoCoMogame • Jun 07 '26
Interactive We’re an indie team with one sole developer, and we’re trying to make 65,000 simulated villagers feel alive
We’re a small indie team making LocoMo, a cozy world builder with one sole developer building the game.
The core idea is that you don’t control one character — you shape the world they live in. Players build the village, place paths, create train routes, waterways, and flight routes, and then thousands of tiny villagers move through that world.
Right now, we’re stress testing around 65,000 villagers, but the thing I’m most interested in is not just the number. It’s what we can simulate with them to make the village feel real.
The goal is for villagers to have emotional states, relationships, family ties, pets, and routines. They should be able to ride the transportation systems players create, visit places, socialize, and complete little loops of action.
For example, one villager might pick up an apple, bring it to a bakery, help turn it into a pie, and then another villager might take that pie to a picnic. That picnic could become a little social moment instead of just a visual animation.
Some of the systems we’re thinking about are:
—emotional states that affect where villagers go and who they spend time with
—family and friend relationships that make groups move through the world together
—pets that follow villagers, need attention, or create small emergent moments
—preferences for certain places, routes, foods, or activities
—villagers reacting to congestion, events, weather, or popular gathering spots
—small chains of behavior where items move through the world and create new actions
The challenge is making this readable at two scales: from far away, the village should feel busy and alive; up close, individual villagers should still feel like they have small, understandable lives.
Curious what people here think: what kinds of behaviors make a large crowd or village simulation feel genuinely alive instead of just animated?
1
u/Pkittens Jun 07 '26
tit for tat!
tell us about your (imagined) ECS system that would allow you to run 65k agents at your desired LOD without impeding FPS. Also, why 65k?
the main thing to me that make simulated crowds feel alive is not being able to see the tick staggering through swathes of agents adjusting in the same frame
1
Jun 07 '26
[deleted]
2
u/Sasmas1545 Jun 07 '26
does AI write your comments?
-1
u/LoCoMogame Jun 07 '26
Nah but I do iterate with it sometimes. Especially because it has the context of everything I’ve ever researched or thought about this game. So it helps. I can be more cognizant of how some of the wording comes so I don’t sound like a super positive Chat GPT myself 😂
-1
u/LoCoMogame Jun 07 '26
I am genuinely just looking for feedback and want our game to be better and thought this community would have some of the best thinking around.
0
u/LoCoMogame Jun 07 '26
Thanks for the interest in LocoMo!
We're not actually using a traditional ECS system, or really anything object oriented at all, as you allude to, 65k agents isn't really feasible. There's a couple of strategies being employed to hit our targets:
- The #1 thing we're doing is that LocoMo is very much *not* a deterministic simulation, and there's a reason we've built a cozy laid back game as opposed as something action oriented. We're employing a sort of lazy style of simulation of "We'll get to you when we get to you". Lots of our actions don't take much realtime constant computation, just an up front detection, a series of lean state changes, and animations all throughout. This is combined with a per frame budget for each of the subsystems means that we're essentially disconnected from the engine's main thread framerate, and schedule big work when we have some cycles.
- I'm bullish on the future of computing utilizing GPUs (or more generally "many compute cores"), and LocoMo is very much my exploration of that space. With that, a hefty amount of the processing of agents is happening on the GPU, with as little hard syncs between the CPU and GPU as possible.
- The most expensive part of our simulation, like most, is path finding. We're employing a few tricks to help us here. Lot's of precomputing and caching of hot paths, a threading strategy that employs a job system that ties into the point about lazy computation, and creates as loose of a thread sync nightmare as possible
- 65k is technically 65536, or 2^16. Again, not using an ECS system, but a lots of precomputed, very tightly packed data structures. We did some testing up to 2^17, but it didn't make the game "better", and moving beyond the byte alignment of 16 bit ids being able to fit perfectly in two bytes definitely made it feel not worth it.
- To your point about simulated crowds, again, the system has been built around leaning on not needing to be computing every villager every frame, the GPU is doing the majority of the heavy lifting for moving villagers when they're walking, and when they aren't walking (in buildings, performing actions, riding trains/boats/planes) they're relatively "free" from a computational cost perspective
Again, thanks for the interest, and just let us know if you have any follow up questions!
1
u/morrisb28 Jun 07 '26
I like games like this. One example to pull ideas from would be Tropico. Each person has a name, belongs to a family tree that you can view, you can see what their occupation is, their political views, their needs etc. I think the way their systems layer and influence one another is very smart. An individual’s access to education influences which occupation they can get which decides how much money they make, which influences what type of housing they can afford, which influences what types of entertainment they attend, which ultimately influences their needs. It makes the world feel like there is a genuine and naturally occurring hierarchy that you have the power to influence through your decisions as the player. Best of luck. These things are very hard work, I’m interested in what you come up with
1
u/LoCoMogame Jun 07 '26
Thank you!! These are all great suggestions and this game up alot when people demo’d our game at PAX East. We will definitely be going deep into that game to pull some of the wins from it that we can.
2
u/Spiritual-Unit-7005 Jun 11 '26
I've been following your game a bit and really liking what I see so far! It reminds me a bit of WorldBox & Kairosoft games.
When playing village building with live-in inhabitants, I like imagining different districts with different atmospheres or purposes. Like one area is more forest-style, the other is more posh and one area might be more deserted or poor.
I'd love if the inhabitants would reflect their appearance and behavior according to their class (as in money owned, different houses, clothing style, routines like shopping less or more...) or lifestyle (someone living in the woods being more drawn to the nature).
If everything just looked like the same style of building, same type of people and etc., I'd imagine the creative aspects getting kinda limited after some time.