clock menu more-arrow no yes

Filed under:

Opinion: Stop dwelling on graphics and embrace procedural generation

New, 113 comments

New consoles (so sweet!), 40,000 polygons (many emotions!), really textured rocks (wow!).

Have you ever seen concrete pipes so... beautiful? We've done it, we've made graphics look "real," let's go home. We've hit a point where it takes huge increases in detail just to produce a tiny improvement in perception, and huge numbers of people to achieve that.

Meanwhile, No Man's Sky debuted at the VGX with a tiny team (four people!) and a whole universe to show. Rather than focus on the realism or beauty of the world, their trailer wanted to make very clear that they used procedural generation. Which is kinda odd, since it's not like games are usually sold by the middleware improvements that reduced the number of people in the pipeline. To me, they weren't only trying to impress viewers with a technological achievement, but, more subtly, to sell a promise about the kinds of worlds procedural design can create.

Polygon-count-diminishing-returns-consoles

Procedural generation (or design) is creating a process to create a thing. A chef that bakes a cake is using handcrafted design, while a chef that writes their recipe down for others to create cakes is using procedural design (they're designing the procedure for creating cakes).

Procedural generation is sold as a way to "write a recipe" for environments and the paths players may take through them. Rather than an artist creating one tree or one building or one fish and copying it and adapting it, the artist codes the general principles of what buildings or trees are and how they adapt to their context, and lets the algorithm create many detailed and customized trees and buildings. They can create fixed elements, or guide evolving ones. Although there's a common perception that this takes the art out of world-building, mechanizing it, I think recipes require as much skill and art as cakes. Algorithms like this create the levels for the oft-praised Spelunky, after all, and you can sense the intentions of the creator in them (however sadistic they might be).

In the past, with console and home PC processors so limited, generation was simpler, and mainly used for the modular dungeons of roguelikes and the maps of sim games. There wasn't power to spare for these techniques in other genres, which focused on giving as much power as possible to graphical effects.

A chef that writes their recipe is using procedural design

Take, for example, this 2004 quote from the notoriously ambitious game designer Peter Molyneux: "Every feature I have ever talked about WAS in development, but not all made it. Often the reason is that the feature did not make sense. For example, three years ago I talked about trees growing as time [passed]. The team did code this but it took so much processor time (15 percent) that the feature was not worth leaving in. That 15 percent was much better spent on effects and combat."

With increasing power (15 percent of the Xbox 360's power is pretty trivial to an Xbox One, after all) and increasing emphasis on world-building and exploration, procedural techniques are becoming popular in platformers as well as first- and third-person games. Procedural generation could help solve one of the bigger questions in games: How do we make players feel free?

At the moment games use one of two techniques: either design tricks that focus players on the "correct" direction or building every possible option of every room behind every door.

Rsg_gtav_screenshot_340

Every Room Behind Every Door

"It's all handcrafted, all unique, and we've gone over it all again and again and again to make sure there's enough layering of detail that I don't think many people will ever see everything we've put into the world." —Aaron Garbut, art director on Grand Theft Auto 5.

While the studios behind games like GTA 5 create very rich worlds, they're hugely expensive and the developers can create a lot of content that most players will never see — even if they tried to explore every corner. If that's the only way to make players feel really free, then it's limited to large studios with huge budgets.

Procedural design makes it possible for the four guys of Hello Games to make huge games and still keep every part unique. Writing an algorithm to create a lot of content can be far more labor-effective than hand design. (Not for everything, though. Writing a dot-placing algorithm takes me nearly as long as hand-dotting a texture, because it's a one-off, but then again it has the benefit of amusing glitches and less RSI.)

Is the illusion of freedom limited to large studios with huge budgets?

Including variation in the algorithm creates a lot more visual distinction than modular kits — you build families of things, not clones — while at the same time aiding tone control in games, as artists have a lot more control over things they'd normally delegate. Robert Yang talks interestingly about how this might be used in game design as "autobrushes." Tools like SpeedTree already put this idea into effect. By foregrounding procedural design, No Man's Sky implies that not only will the universe be rich and varied, it will still have the sense of being part of the same vision, not a mish-mash of different artists' work.

However, without sufficient care and invention, planets of the universe will seem as interesting as one blade of grass from another. And even if sufficient care is taken, using procedural design like this, where it's calculated on the developers' hardware and "baked in" (made into an ordinary, static world) can create an odd tension in some games. It becomes an easy way to create enough beautifully detailed things to run straight past. Even though first-person games like BioShock Infinite boasted that players would enjoy a living metropolis, and used procedural design to help create a large city, many players felt cheated without a reason to engage with it or time to explore. It's kinda like the way I traveled with my parents as a child: sprinting through as many of the great galleries of Europe as possible, so we could say we'd seen all the art.

Bioshock-infinite-3

It made sense back when pretty graphics on a box made an easy sell to a fresh audience. Those nice backgrounds didn't have to do anything, or be reachable; back when 3D was still novel, 'looking great' was the feature. But that's changing — games are sold less and less by poster and box art, and more and more by Twitch and "in-game footage."

FTL: Faster Than Light and Spelunky haven't needed to push graphical boundaries, and the lack of detailed shaders never held Minecraft back. Rather, they use computing power at the player's end to give them a lot of cakes, and a lot of Twitch- and Twitter-ready adventures. In Spelunky, it's also the visually interesting arrangement of platforms and enemies, the scoping of new spaces each time, that draws crowds. In the era of Let's Plays (and the Year of Luigi), it takes extra variation, intricate gameplay and a lively world to keep spectators as interested as the player.

While No Man's Sky uses a persistent world, there are hints that it's learned from this approach. The developers boast that anything the player sees can be visited. The trailer puts the emphasis back on adventure and giving the player time to examine the world. We're yet to see if, unlike BioShock Infinite, the game makes good on that promise.

Screen_shot_2013-12-09_at_11

The Correct Direction

But there's another approach available, too, since we're already using procedural city algorithms with all this knowledge in them, all these variables that could, y'know, vary. In a way, those algorithms know things about cities — like when blocks are small, these kinds of buildings are built; and when it's a north-facing facade, it gets these kinds of windows, but in this particular way because it's this district. They're architecturally minded.

Experimental indie game Discoverie takes this approach: Players can choose any door or room they like, and content is created just out of view ahead of them. The world seems to stretch far and wide in any direction you choose, but without the huge cost of creating content the player won't see, or waiting for worlds to generate or areas to load.

Discoverie is a pretty simple implementation of the concept. I could see a more detailed version solving the problem of "how do we give players a sense of freedom but also give designers the option of crafting a linear story?": Instead of using design tricks to guide players to the correct path, designers ensure that certain game elements are generated at the right points in the player's self-navigated journey. Even further, it could dovetail neatly into work being done on procedural story generators to create fully procedural first-person narrative games. (I hear Ken Levine has one in the works.)

Players can choose any door or room they like

That's not the only way of having "live" procedural elements in games, of course. From what I can tell from the trailer, No Man's Sky includes generated meteors that algorithmically reshape themselves when players shoot at them. A rather destructive way of interacting, but it's a start. The developers have mentioned that each planet has an ecosystem, so maybe next we could realize Molyneux's dream and have trees that grow. If every "atom" has been generated, can soil be carried from one planet to the next (and how big are atoms, exactly, in that universe)? Can moons form and crash into planets? There's the possibility space for exploration here that isn't present in hand-authored games: You could find something that no one, not even the developers, have seen before or anyone will see again. I'm pretty keen to see just how wild the devs will let their algorithms run. The trailer says birds and fish, but will I find a planet with birdfish?

Perhaps most interestingly, though, procedural design can start to touch on the woollier problems of systems — yes, some things are more interesting than birdfish.

There are only so many things you can do while running, after all. Why can real spaces in the real world be so satisfying just to sit in, day after day, but games have to drag you all over the place to keep your interest up? Why can't change come to you? In our own world, growth and change are slow processes, but games like Proteus experiment with accelerated time to make their worlds bloom with (procedurally generated!) activity. Can we make games that revolve around small spaces and small activities beyond the oddly captivating genre of bumbling-fool (QWOP, GIRP) and first-person-bumbling-fool (Surgeon Simulator, Archery Maybe)?

Proteus

At this point, "procedural generation" starts to blend into concepts like AI, physics, mechanics and other forms of simulation (all of which are types of processes/recipes too, though the idea of worlds with AI sounds a touch sinister to me), and the question becomes the broader one — will we keep devoting more and more power to ever-diminishing improvements in "realism," or instead pursue visual styles that leave room for games to be inventive in what they do?

I don't want to pretend that "better" video games are made by "better" technology (Brendan Keogh skewers that mindset here). Game trends are the product of the availability of technology, but also of the tastes of players, and the personal interests and mindset of the developers and many other factors. In the early '90s, making 3D work at all was a graphics problem, meaning that early 3D games were created by very technical programmers like John Carmack and Michael Abrash (Quake) who continued to focus on technical graphics issues since that was their skill set and interest. Such "graphics advances" made consumer-friendly posters in an era in which games were sold by box art in stores. But in an era of YouTube, "in-game footage," glitch GIFs and Twitch, it's interesting variation, richness, animation, mechanics and lively worlds that attract attention.

With a new generation of programmers specializing in more diverse skills, a more game-literate audience able to appreciate different aspects of games and tech no longer being a limiting factor, it starts to seem like there's a logical next step for developers wanting to show off.