Simulace měst, ekonomik a společností
PolisEngine je open-source simulační knihovna pro modelování měst, ekonomik a společností. Umí odpovědět na otázky typu co se stane, když stát zvýší daně, zestátní podniky nebo se přeruší dodávky zboží. Vzniká jako backend pro budovatelské strategie, ale použitelný je všude, kde je potřeba simulovat společnost bez hry a UI okolo.
PolisEngine je simulační knihovna napsaná v C# pro .NET 10. Simuluje ekonomiku, obyvatelstvo, společnost, dopravu a infrastrukturu, přičemž se všechny tyto systémy navzájem ovlivňují – nedostatek zboží sráží spokojenost, klesající důvěra podrývá legitimitu vlády, ekonomický kolaps spouští migraci.
Engine je záměrně headless. Zná stav světa a pravidla simulace, ale neřeší, jak co vypadá – veškerá vizuální stránka je věcí frontendu, který si engine připojí jako závislost. Stejnou simulaci tak může pohánět 3D hra, webové rozhraní i konzolová aplikace.
Žádná závislost na herním enginu ani UI
Stejný vstup vždy dá stejný výsledek
Obsah i chování lze rozšířit bez zásahu do kódu
Obsah je definovaný v datových souborech
PolisEngine modeluje několik provázaných domén. Každá z nich funguje samostatně, ale skutečná dynamika vzniká teprve jejich vzájemným působením napříč simulačními ticky.
Trhy, ceny, podniky, daně, státní rozpočet a dluh, centrální banka, privatizace i zestátnění, toky kapitálu a plánované hospodářství. Ekonomické modely jsou vyměnitelné – kapitalistickou implementaci lze nahradit jinou bez zásahu do jádra.
Obyvatelé jako jednotliví agenti nebo jako agregované skupiny podle potřebné úrovně detailu. Demografie, vzdělání, potřeby, sociální vrstvy a migrace.
Důvěra ve vládu, legitimita, sociální indikátory a jejich zpětné vazby, kulturní hodnoty a normy. Indikátory jsou počítané přes graf závislostí, takže je lze libovolně propojovat.
Budovy, dopravní sítě, vozidla a jízdní řády, dodavatelské řetězce, sklady a detekce výpadků v zásobování.
Svět v mřížce rozdělený na simulační chunky, terén, přírodní zdroje a zóny. Úroveň detailu simulace se řídí per chunk, takže lze počítat velké mapy bez ztráty výkonu.
Moddingové API umožňuje přidávat nové typy budov, zboží i sociálních indikátorů, registrovat vlastní ekonomické modely a psát herní logiku v Lua.
Engine nevzniká jen pro hry. Protože nemá žádnou vazbu na grafiku ani vstup uživatele, dá se pustit kdekoliv, kde je potřeba simulovat společnost nebo ekonomiku.
Frontend posílá příkazy a přijímá události, engine pod tím běží celou simulaci.
Porovnání toho, jak různá ekonomická uspořádání reagují na stejný vnější šok.
Deterministická headless smyčka, se kterou může agent pracovat plnou rychlostí hardwaru.
Simulace ekonomických a společenských přechodů a pozorování toho, co z nich vzejde.
PolisEngine je v rané fázi vývoje a zatím není použitelný. Základní infrastruktura se staví, většina simulačních systémů ještě neexistuje. Veřejné API není stabilní a bude se měnit bez ohlášení. Na nasazení dnes to tedy zatím není.
Rané stádium vývojePolisEngine vzniká otevřeně na GitHubu. Kód, architektonická dokumentace i plán vývoje jsou veřejné – k nahlédnutí, k použití i k připomínkám.
Aktuální stav: rané stádium vývoje
PolisEngine je open-source projekt. Podmínky použití najdete v licenci v repozitáři.