ProcGenLab (Procedural Map tool)

I created this mostly for my own use, but thought others might find it useful.

It’s a small GUI framework for testing, prototyping, and experimenting with procedural map generation. This way you can develop procedural maps making systems outside of an actual game, see the whole map, look at variety of maps quickly without having to spend time wandering around with cheats, and visualize things that might not be obvious in game (such as ideal paths through a level generated be passability and connectivity code). It can also do some basic time profile and basic statistics on the time it takes to perform generation independent of a running game.

There isn’t much documentation yet – I hope to get that done soon(??). Basically, generators extend IGenerator, and supply the information on the map(s) being created and return them and int[] arrays (int[][] technically) – with generate() being called to generate the maps.

It can be used in two ways. One is to open the whole thing in an IDE, hack generators into the generators packages and run from the IDE (these won’t be visible in compiled jars). I like this way because its quick and simple. For those who want a more professional approach generators can be created separately with the compiled jar reference to use the API; these can them be loaded at run time.

It has several different palette types for different map types:

  • DiscretePalette: For things like representing tiles, blocks, etc.
  • ContinuousPalette: For things like height maps and climate maps
  • DiscontinuousPalette: For maps with sudden translation, such and height maps with land and water
  • LiteralPalette: A non-palette for complex uses where the colors might be defined in the generator

It currently exists only in source form – but I assume anyone who would be interested in using it can edit and compile code.

I don’t know if anyone would be interested in this, but I figured a few might be.