Ideology / government-type change: the LLM can flip a nation's government type (extend takeover) #62

Closed
opened 2026-10-15 17:05:42 +02:00 by kamilkrzywda · 0 comments
Owner

What

Extend the existing takeovers (regime-change) mechanic to a general government-type / ideology change: a nation's form of government (democracy, monarchy, republic, dictatorship, etc.) can change — via a revolution, a coup, or a takeover — with gameplay effects on relations and stability.

Mechanism

  • Nation gains government: string (and/or ideology: string).
  • TurnResult.takeovers (already shipped) is extended to carry a newGovernment?: string; or a new TurnResult.government: { change: { target: string /* nationRef */; to: string }[] } field is added.
  • A government change can shift the nation's stability and its relations (e.g. a democracy→dictatorship shift may sour relations with democratic allies).
  • Builds on: takeovers (v0.32.0), relations, named leaders.

Acceptance

  • e2e safety (critical): stub returns any new field empty, deterministic; additive; must not break the UK-in-wwii-1939 e2e (empty frontier, military 80→85, 7-item legend).
  • Unit tests in server/engine.test.ts (government change, relation/stability effects).
  • Version bump at PR time.
## What Extend the existing `takeovers` (regime-change) mechanic to a general **government-type / ideology change**: a nation's form of government (democracy, monarchy, republic, dictatorship, etc.) can change — via a revolution, a coup, or a takeover — with gameplay effects on relations and stability. ## Mechanism - `Nation` gains `government: string` (and/or `ideology: string`). - `TurnResult.takeovers` (already shipped) is extended to carry a `newGovernment?: string`; or a new `TurnResult.government: { change: { target: string /* nationRef */; to: string }[] }` field is added. - A government change can shift the nation's `stability` and its relations (e.g. a democracy→dictatorship shift may sour relations with democratic allies). - Builds on: takeovers (v0.32.0), relations, named leaders. ## Acceptance - **e2e safety (critical):** stub returns any new field empty, deterministic; additive; must **not** break the UK-in-`wwii-1939` e2e (empty frontier, military 80→85, 7-item legend). - Unit tests in `server/engine.test.ts` (government change, relation/stability effects). - Version bump at PR time.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OpenCode/History#62