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.