A project to generate random scenarios for multiple Paradox Games. This tool can be used as a map tool for total conversions, generating all relevant image and text files from given inputs, while being able to also randomize parts without inputs, or even generate fully random worlds. Building upon these files allows a far quicker start for total map conversion mods. For example, giving the map of a fantasy world as input, and tweaking parameters for latitude and longitude, the image, texture and text files required for the mod will be generated. For more visualisations of the steps to produce a map using the GUI, please see https://github.com/panik4/ArdaGen.
As of now, only Hearts of Iron IV is fully supported.
Victoria 3 and Europa Universalis 4 generation are creating loadable mods, but the map data isn't fully correct yet.
The Hearts of Iron IV module generates a full mod on a randomly generated worldmap, with random countries, flags, national focus trees, unit templates.
Please note that this repository depends on the repository ArdaSuite, which contains two frontends and two libraries (LibArdaGen and FastWorldGen). FastWorldGen is not yet open source, this project can therefore not be built.
It contains a simple GUI built using Dear Imgui (https://github.com/ocornut/imgui)
A generated fully random world map.
An example of a generated heightmap. The underlying world generation uses a system of using multiple configurable noise layers to create heightmaps. The noise layers themselves are generated by the FastNoiseLite library. (https://github.com/Auburn/FastNoiseLite).
Allows loading of inputs.
An example of the classification of elevation types, from mountains to valleys to plains. Allows loading of inputs.
A visualisation of generated supersegments. Supersegments define the boundaries in which segments will be generated, which is great if one wants to get accurate country borders via inputs. Allows loading of inputs.
A visualisation of generated segments. Segments are created to represent regions of the world, taking elevation and climate features into account for their shape. Allows loading of inputs.
A visualisation of generated provinces. A province map contains unique colour combinations for every province, while sharing a basic shade with the segment they stem from. Allows loading of inputs.
A visualisation of generated continents. Allows loading of inputs.
The visualisation of generated climate zones. Allows loading of inputs.
The visualisation of tree coverage overlayed over climate zones. Allows loading of inputs.
The visualisation of randomly generated countries. Allows loading of inputs.
There are even more files and images being generated, which will not be displayed in the readme.
A variety of steps of the generation can take inputs from the user. Examples of using this are:
Shows the steps to generate a detailed heightmap from land input.
Loading a climate map and labelling its colours to the tools climate zones, and the resulting image.
A generated fully random world map given just a simple shape for simple land input.
A generated random map showing off terrain in game.
A randomly generated worldmap with random countries
Showing randomly generated city names and closer look of terrain. Also shows automatically generated starting units.
The terrain bitmap required by Hearts of Iron, with the correct colour codes. Note that the game interprets these colours to represent prettier colours in game.
The world normal map, generated with a Sobel Filter from the heightmap. The game uses this image to display mountains in game.
The tool can also generate Victoria 3 mods. This is still experimental, as some map features are not yet generated. However, visual terrain and provinces, states, regions, countries and more can already be generated.
A fully random map in-game
TODO
Detailed documentation on its use, with visual guides, is in the RandomParadox_Documentation.pdf.