Procedural World Gen Project

Created
Jan 23, 2024 03:04 PM
Skills
Service-Locator Design Pattern
Data-driven Development
Procedural Generation
UI Programming
Technologies
C#
Godot
.NET
notion image

My Responsibilities

  • Island generator using a custom mesh or drawn 2D image
  • Noise based generation using voronoi algorithms
  • River formation using elevation from noise data

Story

When prototyping, I stumbled across the article above on polygonal world generation, seeing the results I was hooked and wanted a challenge. First I prototyped the algorithms using C# to draw an image and save it to a .png file.
 
After learning how the algorithms work and implementing them into C# I decided that the next step would be to translate the generated map into 3D. At the time I was learning the Godot engine, seeing as there was support for C# code I first translated the world generation code into the new engine, cleaning it up into modular steps so that I could create variations of the algorithms I used, add new features and create more interesting worlds.
 
Then I created a 2D renderer to convert the world data to an image again, which I displayed in-engine. Once I had recreated all this my attention turned to creating a mesh with the data.
The 3D renderer was simple in concept and it developed on my mesh generation experience from a previous project (Gargoyle, tower defence). After applying colours based on water content and elevation the world generator was done and I made the GitHub repository public.
 
Using a variation of this procedure I would love to create a project to take advantage of the techniques used here and this will help me in games going forward.
 
Built with Potion.so