Procedural Maps

Today, it struck me how much more realistic (in terms of geology) the random maps were in that old game “Seven Cities of Gold” (in 1984, I think) than in so many modern games. Yes, the graphics were simple, but the overall, continent-wide map looked fairly convincing in terms of the shape of the landmasses, position and form of the mountain ranges, etc. Modern procedural stuff usually looks pretty cheesy, with strange forms that look like someone spattered pancake batter all over, or continents with just a central mountainous area that gradually piddles out into low-lying coastlines and numerous small offshore islands.
So does anyone know how the maps in “Seven Cities” were generated?

what about Civilization? Those maps tend to be laid out pretty nicely.

And what version of Seven Cities are you talking about. That game was made a few times, and ported to several different systems each time.

I’m going to expect the C64 version, which was a tile based system. Where each tile is of a certain type. Each tile type can only border other certain tile types.

Water can border water and beach, beach can border beach/water/grassland, grassland can border grassland/beach/mtn… so on so forth. You then generate a seed map with some key points on it, and start placing down tiles selecting only from those that can border.

There are of course several other generation models that create different effects and the sort.

There’s also different mediums you do it with. Tiles, heightmaps, and various others.

Going over all of them would be far to much for a simple thread here. Start googling that stuff.

I’ve been doing procedural terrain of my own for years, so I know the usual methods. But the usual methods (Perlin Noise, etc) tend to produce mediocre results, especially in terms of the overall shape of landmasses. I’m sure you’ve seen the maps that look like stringy globs, or the ones that are just one big hump in the middle and lowlands around it, or the ones that have improbably long narrow sections in between bodies of water. The Seven Cities maps didn’t have those problems at the continent level. The overall shape of a continent looked convincing, and they seemed to factor in fault lines to produce believable mountain ranges. And this was one of the very first games to generate procedural maps, and certainly the first to do it on such a massive scale, and yet they somehow did it better than any other game I’ve seen since then.

Yeah, I’ve seen simple perlin noise generation… and they look like crap.

But at the sametime, I’ve only seen simple perlin noise maps in videogames from 2002, and in crap tutorials. I don’t know what games you’ve been playing, but I find it bizarre you haven’t seen anything as good as Seven Cities since the 80’s. I have a feeling you’re just wearing nostalgia tinted glasses…

Really?

I’ve seen all those things in games since. I pointed out Civilization, the most recent generates very nice maps. You have to note though in civ each ‘kind’ of map is generated differently. There’s an archapelego algorithm, continent, large islands, lakes, etc…

Pretty dang nice in my opinion…

This uses a tile system. Just like Seven Cities. Just like I described in my first post.

And if you’re referring to any of the nicer graphic Seven Cities… as I said there were several versions. That was NOT 1984… like the one on Windows 9x looks like this:


(hard to find shots of this version…)

That’s 1993, well after 84’

You want such a thing of your own. You want fault line?

Ok… your tile map, you create your seed map (which is just some key points that you grow off of). In this you throw down a couple lines across it to build what would be a fault line. You throw down some more for rivers… maybe shoot said lines out from the faults (so they flow down mountains), some more seed points for oceans.

Now you place down your tiles over the seed points

And then you start filling in… always checking surrounding tiles to make sure what you can place where.

I bet you’ll come up, with such a very basic algorithm, pretty nice mountain ranges on a continent.

So again, go research procedural tile map generation. Maybe tack on sugar phrases like “archipelago” to get specialized algorithms.

And ignore height maps, height maps are ugly.

And keep in mind things like Perlin noise are still used today… but not to create a huge map. Instead it is used to create a little noise on top of other algorithms… to map generation it’s like a blur filter to photoshop. A little noise, and we hide the signs of systematic design.

i don’t think we’re communicating. I wasn’t referring to the graphics, but rather to the shape of the continents at the largest scale of the map. The map you showed from Civilization is only a few tiles across, which isn’t on the scale I was talking about.
But you made some good points about using something other than heightmaps for the largest scale, then overlaying detail with a heightmap method.

  1. sorry, but finding an image of the entire world wasn’t the easiest… but I do understand your scale thing

  2. the image I posted from Civ5 I purposely put in scale with the map from Seven Cities. It too is only a portion of an entire world map… that specific image being a large island.

and perlin noise is not a heightmap method. Perlin noise is a noise map, and you can then apply the noise map to a heightmap. (perlin noise can also be used for many other imaging effects)

You can also introduce noise to a tile map as well.

Because tile maps are just like textures… just with very BIG pixels instead of small ones. And your pixels instead of only representing height, can represent a more multidimensional value. Like how you can get color opacity (4d) out of ARGB values… or you can get biomes (mountains, forest, water, planes, etc)

Here is a blog about procedural continent generation I have found a while ago: dungeonleague.com