Greetings. It has been a while since I last updated the blog, I haven’t used the space here as I would have liked. I will attempt to rectify that, and post updates about my current projects in a more regular fashion.
Currently I am working on a Unity3D “game” project, game is in quotes because it’s more of a technology demonstration than a game, a procedural world map utility. My intent is for it to produce procedurally generated world maps for the Paradox series of Grand Strategy games, but likely I will reuse the code for actual fantasy rpg projects.
Procedural generation generally is about the principle of where given a specific seed the engine will deterministically produce a world, and the same world given the same seed, and different worlds given different seeds. The advantages of procedural content generation are better explained elsewhere in detail but in brief they allow a developer to produce a great amount of game content from comparatively a small amount of work. Instead of needing a large team of artists, 3D modelers, and so on it is possible to make a huge game world from a smaller team.
The downsides of course is that it is often more difficult to insure this world abides by specific rules, you don’t want any dungeons that are procedurally generated to be literally inescapable. Often such worlds may turn out to be very samey and boring because they don’t have the same beauty or interest as a hand crafted world.
Regardless I feel the advantages in my situation outweigh the number of well documented negatives and it is how I will proceed.
Above is a sneak preview of my progress. From a procedurally generated “height map” using fractal brownian motion perlin noise (or FBM) I went on to create a coloured “province map” by computing the voronoi map from semi-randomly distributed sites. I am using a node graph data structure in the back end to maintain information about each “province”/tile. Land tiles are in shades of red-green and sea tiles are in hues of blue.
Currently I am working on a rudimentary GUI in Unity3D to allow the user to produce their own maps.