Features

4

Building worlds with a single click

We look at two indie procedural world projects to ask, can their innovations benefit mainstream gaming?

Among the predictions to emerge and bashfully dissipate during the last two decades was that games would be dominated by procedural generation. That their entire worlds, characters, creatures, nemeses, plots and quests could be conjured into existence through a unique weave of ones and zeros spun by carefully crafted algorithms.

It seemed as certain a part of gaming’s destiny as the VR helmet, but has proved so far to be almost as fanciful. Procedural generation has been widely deployed to prettify the videogame places we visit, furnishing Tamriel’s forests with flora in Oblivion and setting out the sweeping savannahs of Far Cry 2. But wholescale procedural generation has been sidelined by the triple-A crowd in favour of heavily staged spectacle. Only Spore has embraced it entirely, and in doing so advertised its most obvious problem: finding a game that fits into such an unpredictable environment is tough.

But a resurgence in interest in procedural generation, led by a vanguard of indies, may yet point the way. Eskil Steenberg, developer of Love, has long championed procedural generation as a vital means by which the indie developer can overcome the limitations of small team sizes, while the popularity of Minecraft has proven that there is an audience for the kind of open-ended sandbox game that best suits an environment subject to dynamic generation. 

Two further projects are also now gaining attention. Project Frontier by Shamus Young and Procedural World by Miguel Cepero (which features in the lead picture for this article) both began as procedural landscape experiments, but have spooled into far grander plans. Each is eyeing the possibility of turning their sprawling environments into the basis for an epic game, and in doing so they have engaged the many issues which have put procedural generation at arm’s length from the development community at large. Surprisingly, the least of these has been the technology itself.


Project Frontier's sunsets aren't procedurally generated, but they're effective atmosphere setters

“Basically the large-scale building of the world is a solved problem,” says Young, who has only been working on Project Frontier since the beginning of June. During that time he has been able to create a generation system which spits out an environment the size of World Of Warcraft’s after just four seconds of calculation. And though Young has favoured a simplified, cartoony, aesthetic, his worlds are hardly lacking in detail, with them boasting multiple types of geography, rivers and foliage.

“There are small details left over - bushes here, or maybe I could have more water effects - but basically everything is solved in terms of what I set out to do,” says Young. “The things that are left if I wanted to go forward and proceed with a game would be adding animated characters who inhabit the world. That would be the next big thing. And all the things that would entail - AI, interface.”

It’d be wrong to think that mainstream development has resisted procedural generation because of the required system specs, too.

“I have a mid-to-low range PC - about two and half years old, I think,” says Young. “If I lift the cap on my frame limit I can run the world at 350 FPS, so the processing power is there and then some. [Project Frontier] has similar specs to Minecraft. Actually it might run a little better on old machines, since it’s not as CPU hungry. There’s a lot of stuff that hasn’t been explored still on the hardware that’s a couple of years old. This is an old-school approach; it’s written by myself on top of plain vanilla OpenGL using a fixed function pipeline. Which is to say it doesn’t use any vertex shaders or pixel shaders, which you use for cel-shading effects or reflections or whatever. This is super retro - they haven’t been making games like that since 2002.”

Of course, Project Frontier doesn’t attain photo-realism or anything near. It’s a relatively low-poly game environment, with simple, bright textures. It might not stack up alongside Skyrim, but it holds its own against the sort of MMOG which looks to run on low-end PCs. It is, in any case, not bad for a few weeks work.

Comments

4
Aeroflux's picture

From an inexperienced point of view, I still don’t understand the hesitation on procedural rendering/generation. Algorithms are constructed to guide the random nature of procedural generation, so in essence should not the effort be made for more intricate algorithms?

For instance, “The other thing is the unpredictability. If you have procedurally generated foes - how do you balance that, how do you balance player resources?” This is easily solved by making a more intricate encounter algorithm:

Encounter Percentage
Percentage Of Encounter Based On History Of Area (ongoing log with a set base –restricted maximum adjustment)—you could even have local enforcement affect the log, based on in-game events.
Time Of Day +/- X% (Crime, Preset Hunting patterns of local aggressors)
Land Type Adjustment Percentage +/- X% (localized enemy type)
If Character Alignment Adjust Percentage +/- X% (enemy alignment vs. Character)
What Is Character Level Adjust Percentage -X% (Badgers avoid Mountain Lions, the same should apply for everything in a persistent world)
If Encounter Percentile Is Successful
What Class is Character (clear pre-defined advantage/disadvantage balance)
Adjust Enemy Skill/Weapon to match player class with a +/- X% (difficulty range)
What Level is Character, Adjust Enemy Level +/- Range (with Character as median)
If Encounter Percentile Fails
Wait X Amount Of Time +/- Range of Time and Start Over

The problem with making a believable encounter is defining the advantages and disadvantages of the participants. You need to make them clear and readily countered. Egress should always be possible for the Character, less so for enemies as it defeats the sense of accomplishment. It’s still about making it fun, and the basic need for all gamers is to feel empowered and challenged at the same time. Player resources can be the edge over an enemy or a hindrance for the Player. It’s the same premise as the old RPG days when fire/ water/ earth/ air created the foundation for gaining the edge. This gave the player a chance at taking higher level enemies down. Player resources can be more varied these days, but they should always be defined such that their counter is clear and quickly recognized in a fight.

On another note, VR Helmets are still the future, but they will be in the form of sunglasses or contact lenses. The need for immersion hasn't ended, nor will it ever end as long as we seek entertainment. The VR industry botched the commercial onset in just about every way. Expensive hardware had little or horribly underdeveloped software. Hype advertising on inferior hardware led to a disgruntled public opinion, and to this day I believe, inspires a negative slant the towards 3D entertainment. There have been islands of success in the past decade, but it is still intermittent, and I think technology will need to advance on a parallel avenue (such as 3D movies, 3D HDTVs, 3D game consoles, etc.) for VR to become viable to the public again.

Ice King's picture

I can see that programmers can make a set of rules that generate enemies and the stuff that you need to fight them but it must be a lot harder to make sure that it all makes for interesting long term play. I mean, Minecraft's procedurally generated creatures aren't very interesting to play against other than the fact they make exploring caves and going out at night dangerous.
The other question is about whether procedural generation can create the pacing and timing that human designers can put into games. It seems to me it is like Google News - you can read it and more or less get the news but it isn't as good as reading a newspaper edited by a human.

Slaktus's picture

The reason the creatures in Minecraft aren't interesting is because they're poorly and haphazardly designed, it has nothing to do with procedural generation. Procedural does not mean random, it means "according to a procedure", which merely implies that the dataset is built from a seed by an algorithm.
The design and complexity of the algorithm determines the "quality" of the dataset, if it even makes sense to talk about quality. But if the algorithm spawns game objects that exhibit behaviour, then that is separate and independent of the algorithm that built the world it is placed within. Ontologically they are entirely separate.
Geometry Wars, by the way, is an excellent example of procedural generation. The rules are clear, the structure is obvious -- in fact the game is very, very rigidly ordered. But it's the configuration of elements that is procedural, the algorithms that determine enemy spawn location, order and pattern are as much "procedural generation" as Minecraft.

jlaakso's picture

A sandbox type game world could very feasibly be entirely procedurally generated. I think we only run into problems with things like authored story and dialogue. Even stuff like story and session arcs are easy enough. Mount & Blade and the Sims have got the whole epic story in a sandbox without an overarching, authored story bit right. Fable II proved that you don't need actual dialogue to have effective character drama and interaction. I think that with randomized drama the problem is that you need someone who really gets what makes powerful stories in order to do it properly. I could imagine that someone like the Echo Bazaar guys would be able to do something very effective, should they want to.