top of page

Procedural Map Generator
Download to play!
control:
drag the left mouse button to rotate the sphere
mouse wheel to zoom
click menu button once to call pause menu
click menu button twice to call console menu
Changing Log:
[2023/03/02]
Implemented:
-Implemented Linq and delegations for data query
-Implemented SQLite for save/load system
-Implemented interface for restricting delegation bodies
-Implemented coroutines for showcasing map generating process
-Implemented basic layout of the in-game console
-Introduced graph search to combine all provinces
On-going:
-Introducing factory mode for the UI system, this will manufacture UI by certain behaviours designated by interfaces and attaching delegation to spawned UI elements.
-Polymorphism design for behaviours to different types of settlement
-Polymorphism design for troops
-ECS for troops unit movement on map
Description
I'm making a paradox-like turn-based strategy game that can generate terrain, culture, territory, and history on each run. This means that every time player starts a new game, there will be a completely new fictional world generated by my generator followed by history logic.
To simulate natural history progression, I need to apply a basic logic of geopolitics. Thus I spawned provinces with random seeds on the map, giving them an appropriate expansion rate. Whenever provinces collide, we generate mountain ridges to simulate natural terrain collision. This logic is basically the same for generating biome.
Once we complete terrain generation, we will then start history initiation. To sum up, culture(or people speaking the same language), ideas and technology will expand from province to province, sometime they will merge to form a culture group, and sometime they will try to annex each other. After dozens to hundreds of iterations, we could come up with a culture map that is relevantly similar to early human migration. Then we start spawning warlords and lieges, they will try to conquer all territory with the same culture or culture group, and make others into their subjects. The primary principle is to ally with remotes to attack neighbours or form an alliance against an empire growing too much. Larger empires are always easier to collapse in order to maintain balance. In this process, diplomatic situations will dynamically change the economy, development and technology. War creates demands, demands bringing business and innovations, bringing prosperity to regions in peace while devastating regions on fire.
After hundreds of iterations, we can start our game with history, which gave players goals to achieve.
This is an ongoing project.
​
Road Map
[MVP]
- implement a basic terrain-generating system that can connect all provinces together
- implement a basic faction system
- implement a basic turn-based chess system, including unit selection, unit movement, unit attack and unit attribute; define basic class for polymorphism
- implement a basic settlement system that will call UI, generate resources and spawn units
- implement basic UI layout, including territory display, faction name display on map, basic starting menu
-implement basic save load system via SQLite
​
​
bottom of page