Skip to content

A C++ random scenario and worldmap generator for Paradox Interactive Games, also useable as a maptool for total conversions

License

Notifications You must be signed in to change notification settings

panik4/RandomParadox

Repository files navigation

RandomParadox

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)

Generation of random worlds/steps along the way

worldmap A generated fully random world map.

heightmap 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.

elevationTypes An example of the classification of elevation types, from mountains to valleys to plains. Allows loading of inputs.

supersegments 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.

segments 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.

provinces 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.

regions A visualisation of generated continents. Allows loading of inputs.

climate The visualisation of generated climate zones. Allows loading of inputs.

treecoverage The visualisation of tree coverage overlayed over climate zones. Allows loading of inputs.

countries 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.

Inputs

A variety of steps of the generation can take inputs from the user. Examples of using this are: terrainComplexInput Shows the steps to generate a detailed heightmap from land input.

climateInput Loading a climate map and labelling its colours to the tools climate zones, and the resulting image.

worldmapFromInput A generated fully random world map given just a simple shape for simple land input.

Hoi4 Module

ingamenc A generated random map showing off terrain in game. ingame A randomly generated worldmap with random countries

ingame2 Showing randomly generated city names and closer look of terrain. Also shows automatically generated starting units.

terrain 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. world_normal The world normal map, generated with a Sobel Filter from the heightmap. The game uses this image to display mountains in game.

Victoria 3 Module

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. ingamevic3nc A fully random map in-game

Advanced Features

TODO

General Note

Detailed documentation on its use, with visual guides, is in the RandomParadox_Documentation.pdf.

About

A C++ random scenario and worldmap generator for Paradox Interactive Games, also useable as a maptool for total conversions

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages