Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PolisEngine

Status Platform Language

⚠️ PolisEngine is not usable yet. The project is in early development — core infrastructure is being built and most simulation systems don't exist yet. There is no public API, no stable data format, and no guarantees of any kind. It will likely be a long time before the engine reaches a state where it can realistically underpin any project. If you're looking for something you can use today, this is not it.


PolisEngine is an open-source simulation library for modeling cities, economies, and societies. It can serve as a backend for city-builder games, but equally well as a simulation platform for researchers, educators, or analysts who want to model complex social and economic scenarios — without any game or UI in the way.

The engine is headless by design. It knows the state of the world and the rules of the simulation. It does not know — or care — what anything looks like.


What it simulates

  • Economy — markets, prices, enterprises, taxation, state finances, privatization and nationalization, capital flows, planned economies
  • Population — individual citizens or aggregated groups, needs, demographics, migration
  • Society — trust in government, legitimacy, social indicators and their feedback loops, cultural values
  • Infrastructure — buildings, transport networks, supply chains, logistics
  • Space — a grid-based world divided into chunks, terrain, natural resources, zones

All of these systems interact with each other. A shortage of goods reduces satisfaction. Falling trust affects legitimacy. Economic collapse triggers migration. The engine models these dynamics continuously across simulation ticks.


Use case examples

  • City builder game — a frontend sends commands and receives events; the engine runs the simulation underneath
  • Economic policy sandbox — compare how different economic systems respond to the same external shock
  • AI training environment — a deterministic, headless simulation loop an agent can interact with at full hardware speed
  • Historical scenario modeling — simulate economic and social transitions to observe emergent dynamics
  • Multiplayer governance game — multiple players control factions within a shared simulated world

Design philosophy

No engine dependency. PolisEngine is a plain .NET class library. It runs anywhere .NET runs — as a server process, embedded in a game engine, or in a console application.

Moddable. Content and behavior are designed to be extended. New building types, goods, social indicators, or entire economic models can be added without modifying the engine's source code.

Deterministic. The same starting state and the same sequence of commands always produce the same result. This is a hard requirement — it makes replay, testing, and AI training reliable.

Data-driven. Most content (building types, goods, social indicators, vehicle definitions) is defined in external data files, not in code.


Status

Early development. Core infrastructure is in place; simulation systems are being built out incrementally. The public API is not yet stable and will change without notice.

Target platform: .NET 10

About

PolisEngine is an open-source simulation library for modeling cities, economies, and societies. It can serve as a backend for city-builder games, but equally well as a simulation platform for researchers, educators, or analysts who want to model complex social and economic scenarios — without any game or UI in the way.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages