Monday, July 20, 2015

Procedural Generation

Picture Source: Hello Games


If there is one game on other Platforms that I'm genuinely hyped for than it's No Mans Sky. The game from British developer Hello Games, known for their Joe Danger titles, is going to let players explore a gigantic Universe. Over 18 quintillion possible planets, or to put it simply, more than you could explore in a lifetime. How this is possible you ask? Well Procedural Generation makes it possible. So lets talk about this technique and (maybe) how Nintendo could use it in its games.

And one more thing. I'll take a look at the use of Procedural Generation in creating gaming content. Things like Levels, Environment, Characters, etc. and not it's use in creating game logics, mechanics and so on.

Procedural Generation means that content can be generated through an algorithm by the computer rather than manually. It requires none (or barely any) human input. This gives the game designer many new possibilities, which he wouldn't have without this tool. It has been used by different games throughout the history. The Elder Scrolls 2: Daggerfall took place in a procedural generated world, roughly the size of the British isles. While Soldier of Fortune used the technology to create diverse and randomized enemies. Procedural Generation is a tool, which can be used to augment the creativity of human designers and allows for things, that wouldn't otherwise be possible.

There are two ways of integrating Procedural Generation into your game. The first is during the actual development of the game. This, for example, makes bigger game worlds possible, without increasing development time.
The other use is while actually playing the game. Randomizing levels, dungeons or encounters with every new start, helps keeping things fresh. This way of incorporating Procedural Generation into your game was used a lot in the 80s.

In the early days Procedural Generation was used to overcome storage problems. There wasn't enough space for huge worlds, but with Procedural Generation Designer managed to overcome this. By storing only the seed data on the disks the could fit in huge worlds, which were generated procedurally by the User PCs.
Seed data refers to the basic set of information which the algorithm in your game then uses to procedurally generate it's content. Most of you probably got in touch with this through Minecraft, where you can enter a seed for your world, from which it is then created.


Minecraft isn't the only game in recent time, which uses Procedural Generation. There are many games that use it in one way or the other. From big budget titles, such as Diablo 3, to smaller indie games, like Spelunky. But instead of storage problems, like in the early days, today there are other reasons for the use of this technique.

It can speed up content creation by a huge margin, enabling new possibilities and chances for designers to work on creative ideas.
On the other hand it can keep games fresh, by randomizing several aspects of them.

Of course it also has drawbacks. With a bad algorithm you may create impossible or unsolvable levels. Think of dungeon without exit or entrance. And it can easily create chaotic levels without any sense.

One of the biggest flaws of Procedural Generation is story telling. If you take a look at the most successful titles, which use the technique, none of them is story driven. Others may say that titles like No Mans Sky and Minecraft offer the player the chance to experience his own story, and I would definitely agree, but a story driven game in the classical sense is still out of reach for Procedural Generation, because randomness is the last thing you want in one of these.

So now lets take a look of how this technique could be used in Nintendo Games.


2D Marios seem like a good place to start. With Procedural Generation Nintendo could create a nearly infinite amount of levels for these games. It is definite a thing they should think about. The question that remains however, is if this levels then can compete. Mario levels often are more than just an assortment of pits and enemies. They are, from a game designers standpoints, masterpieces. Just take a look at Shigeru Miyamoto explaining the first level of the original Super Mario Bros.


Or just take a look at the levels of Donkey Kong Country: Tropical Freeze. Just watch a speed run of one of them. It truly shows the perfect level design, which went into those levels.

Creating such things through Procedural Generation would be really hard, and that is why I think it hasn't been used much in this genre.


Zelda has already used the technique in Four Swords, and maybe they could use it again in Tri Force Heroes. But what about the main line Zelda games? Well it could be used to create the overworld or even the dungeons. While I'm not a fan of dungeons created through Procedural Generation, as they often lack the deepth that can be achieved through human designers, a procedurally generated overworld could be interesting.


It already has been used to an extent in Mario Kart. Excite Bike Stadium is procedurally generated for each race, and I think that is an angle that could definitely be explored more. F-Zero would be a great candidate for procedurally generated courses and it would definitely fit with the futuristic angle of the series. A good mix between courses which are randomized every time and classic ones could be great.


But all in all I don't think Nintendo games would be a good fit for Procedural Generation. Their approach to designing doesn't mash well with this technique. Still it poses a huge potential for the future, and I'm looking forward to new ways of using this technology in game design.

And as always
thanks for reading


No comments:

Post a Comment