Posted February 12, 2022 by folcon
So I’m a little excited about this one, it’s still pretty basic mind, but we’re starting to get into the very beginnings of interesting territory.
Basic agent behaviour and the beginnings of decision-making.
A lot of stuff that I see that simulates nations etc seems to be derived from looking at stuff like civilisation and other “god” games, which is great in terms of the level of detail in the sim, as it’s all sort of working at the level of the civ, but from the perspective of it being a simulation I kind of feel like it’s not very interesting?
I feel that it lacks that added detail of who’s making the choices and what biases and perspectives they bring to the choices they make?
Another way of thinking about it is looking at something like Boatmurdered, where we have a single-player game, where players created multiplayer dynamics by passing a save file between each other, effectively creating a succession based game, so as this fortress was handed off from person to person, decisions were reversed, reinforced or there was just a change in direction.
Now that’s interesting!
So we have space in which we can offer players choices, this AI is a leader of this civ, or manages its exploration or trading, is their successor more timid, adventurous, or reckless? Even if we give you tools to change things, we need to give you the drive to want to change stuff!
So this is about trying to create a space where that sort of thing can start to happen.
Let’s get into it!
Where is this at?
Version 0.0.3:
Let’s pull up some pics:
So in the above image, we can see a few little things of interest:
Let’s break this down =)…
Other than the obvious downside of the message count going up really fast and so making things a bit hard to read, I’ve started having the Peeps themselves make choices for the civilisations that they belong to. Now their movement is broadly random like the critters and I would like to do something about that, but for now, it’s ok I think.
We can also see that Peeps are able to go and claim territory for the civ and that claimed territory is starting to appear on the world map. At the moment claiming territory is probably too easy, but that’s not important for now.
Now you might have noticed we glossed over the Peep making choices bit.
I wanted Peeps in the world to feel like little people, granted with very simple lives, so I’m trying to make them have some level of agency in the world. They decide the direction their civ’s are going and act to make their lives better.
In essence, they’re playing their own mini-game.
The way this works at the moment is pretty simple, they can make moves that are decisions and those decisions may have smaller sub-decisions inside them which I’m calling choices.
Let’s do an example, as you’ve seen one of the decisions they can take is to claim territory.
Now the choices involved in claiming territory boil down to where should they claim it? What’s nearby them that it doesn’t really split up their civ to claim, but would be a good next location to have control over?
At the moment as each civ is only allowed one Peep they make a decision and a choice for each tick. Specifically, they make a choice about what decision they planned to do last tick and then plan the decision for the next tick. This can lead to some interesting situations where the old plan is no longer valid and has to be discarded.
The main reason for this is that one of the things I’d like to explore is hierarchies of Peeps, having Leaders make decisions and then Subordinates making choices about them. Maybe even at some future point having Workers who just execute the orders given to them thus giving us a three-stage hierarchy.
This opens things up for complex Leader / Subordinate dynamics like:
Leader
behaviour from:
This last thing I can’t really screenshot, but now if different things are in the same space, we display them by cycling between them on each tick.
One thing I will say is that the performance in this current version isn’t that great. I don’t like making promises about what I’ll work on next, but I think I will be looking to see what I can improve on this for the next version.