Procedural World Generation
The world of Waters of Ragnarök is procedurally generated from a single seed, using a collection of custom-designed biomes.
Currently, the world is divided into nine major regions, with each region further divided into nine smaller areas. Each biome defines the character of that part of the world: its islands, monsters, factions, loot, quests, weather, skybox, and other environmental features.
Creating biomes
World Generation
Rather than generating every island entirely from scratch, the system allows us to create custom landmasses, islands, ruins, or other locations and distribute them throughout the nine areas of a biome.
A biome can contain up to nine different custom landmasses, but it doesn't have to. We might create only one or two and randomly determine where they appear. Combined with procedural placement, this lets us retain control over the quality and identity of important locations while still creating a world where exploration and discovery matter.
The generator also gives us control over how the world is populated. We can define things such as:
How many instances of an object can appear.
How close objects are allowed to spawn to one another.
The number of nodes within an area.
The distance between those nodes.
The probability of hazards appearing.
Where purely cosmetic objects should appear.
Special weather pockets for unique encounters or locations.
This gives us quite a bit of freedom. A biome can have its own visual identity and gameplay rules while still being generated differently from one playthrough to another.
Creating a Living World
Generating the landscape is only part of the system. We also want the world to feel like something is happening even when the player isn't there.
Each biome contains a selection of factions and monsters that can inhabit it. Monsters currently appear primarily through random encounters, while factions establish towns, strongholds, and fleets.
The player can interact with these factions in different ways: trading with their settlements, accepting quests, helping them—or, if so inclined, raiding them.
To make this world feel more alive, friendly settlements establish trade routes between each other. Trade fleets travel along these routes while patrol fleets attempt to keep them safe. Raiders behave less predictably, sometimes hunting near busy trade routes and sometimes roaming the deep sea looking for opportunities.
Most importantly, all of this movement is simulated rather than physically spawned into the game world.
A fleet travelling hundreds of kilometres away from the player doesn't need ships, physics, AI, animations, or visual effects. It simply exists as information within the simulation.
When hostile fleets encounter one another, the system can simulate the battle. If one fleet is destroyed, wreckage may be generated at the location of the battle for the player to discover later.
When a simulated fleet gets close enough to the player, things change. The ships belonging to that fleet are spawned into the world and the ship AI takes control. Depending on the faction's relationship with the player, they may simply sail past, approach peacefully—or attack.
Once the fleet is far enough away again, it can return to being simulated.
The goal is to create the impression of a world that continues to move and change around the player without having to simulate every ship in Waters of Ragnarök at all times.

