Multiple AI-controlled factions autonomously pursue goals and interact with each other and the player simultaneously.
Multiple AI factions autonomously pursue goals and clash with no player input.
Several AI players each run their own decision loop over their own state, interacting through shared world events. There's no central brain — emergence comes from parallel agents.
One controller node per faction, each running its own decision tick: assess, prioritize, act. Independent loops over independent state produce emergent politics.
func _on_tick():
if threatened(): build_military()
elif rich(): expand()
else: research()Each faction owns resources, territory, unit counts, and relations as data. Decisions read this snapshot; nothing is global except the map.
var state := { "gold": 500, "cities": 3,
"relations": { "red": -50, "blue": 10 } }Inter-faction events (declare war, offer trade) fire as signals other factions react to — the channel through which independent agents affect each other.
signal diplomacy(from, to, action)
diplomacy.emit(self, target, "declare_war")In short: Each faction runs its own _process() decision loop; maintains resource, territory, and unit count state; inter-faction events fire via signals
23 catalogued game(s) use this mechanic, spanning 1989–1999.
▶ Explore Faction Ai interactively — see every game + the Godot system