Monday, September 15, 2014

Part 1: Procedural Generation in Games

I was about to reply to a question on reddit when I realized the topic was large enough and of enough interest that it warranted a blog entry.

For those not familiar with the term, procedural generation of a game map would be a map that is generated by code in the game, as opposed to a map that is created by a human and simply shipped along with the game.  This is of particular interest to me, since Idamu Caverns uses a lot of procedural generation.

In case you don't want to visit reddit to see the original question, it basically boils down to asking what people think about procedurally generated data in games, such as maps.  The original question posited that procedural generation results in games with a lot of breadth, but not much depth.

An example given was Minecraft.  At first look, Minecraft seems to have both depth and breadth.  However, playing it for any length of time makes you realize that the depth is simply an apparency created by the tremendous breadth of Minecraft's procedural generation.  Minecraft has no quests, no real characters.  You can count the different types on enemies on one hand.  The terrain in the game starts to look repetitive very quickly.

I think the first lesson to learn from this is that significant breadth can give the illusion of depth.  So if you're going to make a procedural game, giving it a lot of breadth can make up for some lack of depth.

Let's take a much more classic game: Angband.  Everything in Angband is generated procedurally, but the depth of monsters and items that the procedures have to pull from is incredible.  Perhaps that's why Angband is still developed and played almost 25 years after it was first released, and has more clones and spinoffs than I can count.

So, another lesson is that depth + breath = immortal classic.

Looking at Idamu Caverns, I wanted it to eventually have the same "immortal classic" magic that Angband did.  I did a lot of research, and what I finally decided on was a hybrid approach, closer to procedural than fixed, but a combination of both.

The idea is that I would grab whichever method seemed like it would be best for a particular aspect of the game.  For example, I decided on procedurally generated maps, but I've decided on prepackaged quests.

This post could easily get very long, so I'm going to break it into sections and post updates every few days.  Some of the topics I plan to cover:
This list will probably expand over time.  Once I actually start writing new posts, I will probably come up with additional topics, realize that some topics need to be broken up, and who knows what else.

No comments:

Post a Comment