Perseus Patrol devlog #3: Modeling state behavior for the colonies
Making an entire galaxy feel like a living world is a tall challenge. I can not achieve this by brute forcing asset creation, but only by creating a system, or multiple game systems. These system have to make it feel like there are more than one intelligence is at play and that you are only a part of a bigger thing. Yet give enough leeway that you can interact with it and get expected results, not random disconnected events. Otherwise the game would break its own narrative.
Let’s structure first the actors I have in place for the universe in Perseus Patrol, from largest to smallest organization that matters from gameplay perspective:
- Alliances: the Federation, colonial League, Swordfish gang, etc.
- States: colonies one by one, simplifying the game for now we count one colony per celestial.
- Individuals: humans, aliens, etc. single individuals, the Player.
A strong narrative only works if the actors have distinct and contradictory goals, creating conflict. The game’s driving main conflict will be the Federation’s goal to remain intact and continue protecting Earth. The Perseus arm colonies form a League as they want to determine their own future and have enough of the Earth-centric decisions.
Alliances goals
Federation → protect Earth and keep power and original law → increasingly authoritarian.
Perseus League → self-determination and growth by changing law → increasingly rebellious.
Swordfish → enrich themselves disregarding law → increasingly aggressive and influential.

You need actions
The beauty of video games is that you can take actions in the world and experience them playing out. Even better, other actors beyond you take actions, forcing you to react and so on, chaining into an enjoyable experience.
Previously I talked about the game loop, which mostly consists of actions you can take to manage your own ship and crew. To grow your capabilities and power, to enable you to take more actions in the world.
In this section, I want to outline the actions you can take in the world, against or with other actors. Let’s handle you as a mobile state with the top-grade military hardware under your command, you can:
- take diplomatic actions, e.g. agreements about selling, buying, co-operations, promises, and of course you can break these with other side being unhappy about it,
- take engineering actions, e.g. deploy specialists to a colony to lower its upkeep, increase its growth rate, or repair damages suffered during surface combat,
- take scientific actions, e.g. actively scan a colony or habited celestial, which may or may not result in negative or positive effects,
- or take military actions, e.g. deploy soldiers on planet to guard, positive if invited, negative if you do it anyway, and you can escalate yourself or react to escalations up to deploying WMD’s from the Steeldome (planetary bombardment for partial destruction or Alcubierre-torpedoes to wipe entire colonies).
Modeling behaviors
For this conflict to model, I found few concepts very compelling for modelling the galaxy of Perseus Patrol:
- escalation ladder of conflict between states, especially the model I listened to from The Templin Institute,
- game theory and its application in an international settings, where there is no overseeing authority to keep everyone to their agreements, resulting in the prisoner’s dilemma to play out.
The goal is that I figure out a way to programmatically represent these two concepts between all actors, creating a fluid alliance system where each actor choses based on their goals and suffers consequences based on the actions they chose.
The escalation ladder

Adapting the table to Perseus Patrol, could start to look like this:
| Thresholds | Level | Equivalent in Perseus Patrol |
|---|---|---|
| Unrestricted use of WMDs | Alcubierre-torpedo wipes colony or small planet | |
| Unrestricted orbital bombardment | Bombard civilian infrastructure of the colony | |
| Limited use of orbital bombardment | Bombard military installations and weapons platforms inside colony | |
| Unrestricted strategic warfare threshold ^^^ | Demonstrative use of orbital bombardment, WMDs | Bombard nearby mountain ridge next to colony |
| Mass use of conventional forces against military-economic targets | Ground invasion or boarding action with all mobilized forces | |
| Mass use of precision strikes against military-economic targets | Sustained ship-to-ship, ship-to-celestial precision shots with the railguns. | |
| Grouped use of precision strikes against military-economic targets | Few volleys of ship-to-celestial railgun shots. Ground action against factories and facilities. | |
| Major conventional warfare threshold ^^^ | Grouped use of precision strikes against military targets | Few volleys of ship-to-ship railgun shots only to armed targets. Ground invasion attacking only military targets outside civilian regions. |
| Assembly and transfer of WMDs | Deploying own WMD to a colony or celestial base and retaining C&C | |
| Complete mobilization of all services (total mobilization) | Deploying massive shuttle fleet and ground troops from Steeldome. | |
| Precautionary WMD alert | Arm and ready Steeldome’s orbital bombardment and WMDs. | |
| Complete infliction of damage on immaterial targets (e.g. seizures of assets) | Destroying or stealing tech or money by hacking or other non-military means. | |
| Limited infliction of damage on immaterial targets (e.g. sactions) | Disabling colony military and economic systems by hacking or causing anomalies. | |
| Military blockade | Steeldome blockading a colony with patrols. | |
| Conventional warfare threshold ^^^ | Reinforce key military units and stockpiles | Shuttle extra military personnel to colony, overloading above invited amount. |
| Partial mobilization of military forces | Posting soldiers on streets of a colony. | |
| Unconventional, covert offensive campaign in core territories | Spy sabotages on core worlds. | |
| Unconventional, covert offensive campaign in outlying territories | Spy sabotages without casus belli on non-core colonies. | |
| Hot warfare threshold ^^^ | Unconventional, covert retaliation | Spy sabotages with casus belli. |
| Selective mobilization of military forces | Deploying patrols, drones, armed crafts. Shuttling soldiers. | |
| Military signaling, tests, excercises | Steeldome jumping to habited celestials. | |
| Pre-crisis maneuvering, gestures, diplomacy | Overwhelming number of actions fall in this category. |
The main idea: military actions or breaking agreements contribute to escalation. Diplomatic, engineering and science actions mostly contribute to de-escalating tensions.
The game theory

Each actor has a series of choices, the other actor has the same choices. All options have different payoffs for each actor, depending on what the other actor chooses too.
The main idea: putting “next decision taken” to matrices between all somehow related states, between alliances, between alliances and states, and calculating the next decision based on a goal function for the actor.
E.g. Federation versus Perseus League, while in war, invade one colony or protect one colony.
| Federation | |||
|---|---|---|---|
| Invade | Protect | ||
| Perseus | Invade | 5, 5 | -5, 5 |
| League | Protect | 5, -5 | 0, 0 |
Similarly, could write down an escalate/de-escalate matrix based on current level of escalation, numbers only examples:
| Federation | |||
|---|---|---|---|
| Escalate | De-escalate | ||
| Perseus | Escalate | -2, -2 | 3, 2 |
| League | De-escalate | 2, 3 | 5, 5 |
The numbers could be set up dynamically, using situational information, e.g. as they go higher on escalation ladder, the de-escalation pay-offs increase, but power differences may increase escalation pay-offs for one side.
Game theory and crisis bargaining
This rambling devlog was mostly high-level concept without practical application yet. My next steps on this front is to:
- Learn more about Game Theory and crisis bargaining,
- Translate the learnings to a mathematical model,
- Implement the model as a step simulation into Perseus Patrol demo.
Stay tuned for next episodes of the devlog, most probably I will continue with the combat actions next week. 🙂