Random Map Creation

Sat, May 13, 2006

This weekend’s project was a better random map generator. Last time, I just generated random points, and then for each system, went through a list of it’s “neighboring” star systems, giving it a random chance to be connected to each system. That random chance declined, the more systems the first system became connected to.

In the new version, I’m using an algorithm much closer to one used to generate random mazes. I generate three-dimensional points weighted towards the center (in a “Gaussian” or “Normal distribution”) so that the core of the galaxy is much more dense. Then, I walk from a random star near the core outward like a tree to systems with no* star lane connections. Here’s an image of a map generated by this new method. Notice the star lanes are much less tangled than the old emperor map..

The big thing left to consider is home world placement. I was previously going to add new clusters of stars to the map for each empire so I wouldn’t have to risk choosing them a crappy home world, but that makes for a crappy map. This way I can lay out a nice huge galaxy, but I need to figure out my rules for home world placement…

* And by “no connections” I mean “a low number of connections” that’s weighted so that a system with 0 connections has “no connections” 100% of the time, and the chance for other systems to have “no connections” falls off sharply the more connections they actually do have. Tweaking this weight allows for the average number of connections per system to go up without having systems connected to almost every other nearby system.