Saturday, February 10, 2007

"Content is Bad"

I just came across an article by the good folks at Introversion discussing procedural animation and its benefits versus hand crafted content. Some of my favorite games of all time are riddled with procedural content. The universes of Elite, the dungeons of NetHack, the random maps of Age of Wonders...all these are littered with procedural content. And how could I forget Dice Wars. Or Tetris. Or Poker.

The more handcrafted content you build, the more it costs. There are few economies of scale. Want a new level? Add a couple more monkey designers and artists to the team. Want a higher level of detail? Add some more team members. Procedural content has the benefit that despite an initial start up costs, you get immense amounts of content for little to no incremental cost. Procedural content also is inherently more agile friendly than handcrafted content. It can be refactored, unit tested and evolved in an iterative process that lets you try out new ideas quickly.


The problem with hand crafted throwaway content
If we look at content from a rewards perspective, you can classify content in games into two main buckets:
  • Throwaway: This is content that the player sees once or twice and then proceeds to ignore every time they see it again. It has a very high burnout rate since the player immediately sucks any value from it, groks it and then filters it out as noise. In order to keep throwaway content exciting, teams produce large amounts of it and direct a steady stream of empty calories at the player. RPG's, Adventure games and many single player FPS have mastered this technique. Most plot points, level designs, conversations with towns folk, etc fall into the throwaway content category.
  • Reusable: This is content that the player keeps coming back to again and again because it tends to be useful. A new character with abilities, a new weapon that has a unique effect on the environment, a store that lets you trade in resources are all examples of reusable content.
Handcrafted content is expensive in bulk, but it has another issue: it is incredibly difficult modify quickly. If you build a clown and then decide that a rapid zombie dog works later, you are forced to rework the models and animations completely from the ground up. You can lose month when you decide to alter your static content. Great game play comes about through rapid cycles of prototyping and playtesting. Visuals, settings and level design are feedback mechanisms like any other and need to be adjusted and iterated upon just as much as the algorithmic simulation underneath.

The more handcrafted, throwaway content that you have, the less agile your development process will be. This dramatically increases the chance that you will fail to converge upon enjoyable gameplay. It also dramatically increases the chance that you'll fall back on conservative game mechanics because the act of trying something new is too bloody expensive.

If you are on a budget, you should start identifying throwaway content and figuring out ways to remove it from your design. It may seem like a great idea to have a clown appear in a scripted scene where he describes his life story. However the incremental value to the customer is rarely worth the cost of production or the loss of project agility.

Using procedural content to replace throwaway content

There are two faces to procedural content. The first is as a hack for throwaway content. It allows you to cheaply replace large amounts handcrafted seemingly meaningful, but actually useless game content with algorithmically generated seemingly meaningful, but actually useless game content.

Ask yourself:
  • Is this content critical to a working game mechanic? Identify the feedback that it gives the user and think about how it might provide them with utility. Sometimes you can cut content immediately from the game.
  • After the user has seen this once, will they ever care about it again? This helps you understand if you are dealing with throwaway content or something meaningful to the player.
  • If not, is there an inexpensive stylistic tweak that allows me to use a cheaper means of producing the content? If so, there are numerous possibilities here ranging from a less expensive art style, to procedural content, to player generated content. Pick the one that provides the player with the most utility, costs the least and leaves you in a position of greatest agility.
You'll find a lot of procedural content generation techniques that fit the bill. These are rarely up to par with the best hand crafted assets, but they will work in a pinch often at a much lower cost.
  • Sound generation
  • Texture generation
  • Particle systems
  • Procedural character animation
  • Ambient animations
Using procedural content to augment reusable content
The second face of procedural content is where it is integral to a reusable game mechanic. In NetHack, the act of exploring the dungeons and coming across different configurations of monsters and items is crucial to the player's slow but steady unraveling of the immensely complex system underlying the game. Each level was somewhat disposable, but the map generation system was actually an intricately balanced algorithmic method of putting the player in unique initial conditions that helped maximize their learning of new skills.

In a card game, the randomness of shuffling the deck and dealing the players an interesting distribution of cards has a big impact on the gameplay that follows. You simply could not play the game without this element of algorithmic level design. Players would figure out the predictable set of hands and all challenge would be removed.

When dealing with reusable game mechanics, procedural content can replace handcrafted content in the following ways:
  • Setting up interesting initial conditions, especially with configurations of existing game tokens.
  • Introducing risk and uncertainty into game mechanics
Where procedural content fails
Procedural content is by no means a panacea.
  • Procedural content is bad at setting goals: Dynamically generated quests were all the rage at one point. It turns out that people just zip through the text. Players quick discern the pattern and you are left with another high burnout game mechanic lying on the trash heap. Good goals are interesting because they are unique; they promise a brand new opportunity learn, advance or help out. They tend to play upon complex concepts of duty, heroism or desire. If you break down why 'Rescue Princess Peach' is meaningful, you'll have a tome on basic human psychology. These are areas where our algorithms are childishly primitive.
  • Procedural content is bad at most social factors: In fact, you can generalize the concept to say that procedural concept is miserable at replacing most human aspects of content. Conversations, voice acting, descriptions of long lost cultures, plot, all these are difficult to replace. You can either cut them from your game, turn them into easily refactorable modules (like the descriptions in NetHack) or as a very last resort, use traditional, expensive handcrafted production techniques.
  • Density: Developers sometimes react to the ability to generate infinite levels by building games that sport infinite levels. This is a very bad idea. When you are using a random map generator to put the player in interesting situations, the key operative word here is 'interesting'. All the standard rules of pacing, flow and burnout still apply. If your procedural content only amuses players for 15 minutes, make a 15 minute game. Otherwise start increasing the density of interesting interactions. No one wants to wander for hours through an infinite maze that has no purpose.
  • Procedural content requires a programmer-designer or programmer-artist: This shouldn't be surprising, but you really need someone who is both a good programmer and a good game designer to make procedural content work. Someone who only programs or only draws seem to be a dime a dozen, but good programmers with design skills or art skills are rather rare. If you aren't such a magic person, so you need to form a team that has all the skills you need. Sit your designer and programmer next to one another and iterate like mad.
Ze sum uppery
The phrase "Content is Bad" is of course hyperbolic. To rephrase it, too much handcrafted throw away content is expensive and decreases the teams agility. Procedural content is one solution, but if there is anything I'd take away from this essay, it is the broader concept of creating agile, refactorable content.

If you are smart, your design will change dramatically over the course of development. You'll discover a hundred little tweaks that end up making your final game far better than the initial design. Always be on the lookout for content that you can refactor in some way so that you can change it more cheaply.
  • Procedural content, when properly used, can turn the bulk of hand crafted content into code with all the added benefits of flexibility and cost reduction. You'll still have a bit left over in the form of variables and other compact data, but this will be much easier to manage.
  • User created content (which is at least another essay or two) offloads handcrafted content to your users.
  • If all else fails, at least modularize your content into tiny bite sized pieces that can be added or removed without derailing the ability to do frequent, completely playable builds.
Always maintain the ability to make a change to game play and test it with users within the next hour. If content becomes a barrier to this goal, you need to refactor your content-based systems. Be brutal in enforcing this rule, no matter how much you like that cutscene with the clown. It could save your team and your game.

The plague of handcrafted content is only going to get worse in the future. A friend mentioned that a level in his previous game took 2 days to assemble. Now, with the advance in customer expectations, it takes their team two months to build a level. If it costs that much to build a level from scratch, think of the pain involved in propagating a substantial late game design change throughout a series of levels. I can't help but wonder what their production schedule might have looked like if instead they had adopted the philosophy that "Content is bad."

take care
Danc.

References

"Procedural technique is another name for tool."
Jason Booth has a wonderful essay that talk about how much of what we call procedural content is really just another name for tools. They leverage a small bit of creative content to create a lot of gameplay, but they still need to be used in a creative fashion. There is no magic 'make me a world button' and the folks that take this attitude tend to give the whole concept a bad name.
http://jbooth.blogspot.com/2007/02/procedural-content.html

A more comprehensive definition
http://en.wikipedia.org/wiki/Procedural_generation

Introversion discusses procedural generation
The originators of the phase "Content. Is. Bad." They should make a t-shirt with that phase on the back and my favorite character design of all time on the front: "@"
http://www.gamecareerguide.com/features/336/procedural_content_.php?page=1

NetHack
One of the grand daddies of procedural content done well.
http://www.nethack.org/

Desert Bus
A game by Penn and Teller that illustrates the problem of gameplay density quite succinctly.
http://en.wikipedia.org/wiki/Penn_&_Teller's_Smoke_and_Mirrors

Thought experiment: Tiles as an early form of procedural content
"But most games that use procedural content suck" I recommend folks look at games like Zelda or Mario Brothers. Tiles were a huge innovation that allowed the developer to convey complex concepts (like walls, doors, tapestries, rocks, etc) without drawing ever single scene by hand. Instead you create a few modular pieces and then arrange the initial conditions of those pieces in an interesting way. You only use a small core of handcrafted seed data to build some truly enormous worlds.

This may seem like 'not true procedural generation', but compare it to the other popular alternative of the day: Drawing out every screen by hand. The genre that relied upon this technique, graphic adventures, was pushed into niche status. It simply could not compete economically with the richly interactive environments and economic efficiency of procedural techniques like tile-based environments. Food for thought.
http://www.tonypa.pri.ee/tbw/tut00.html


20 comments:

  1. Dan,

    I think this is the first post of yours that I absolutely disagree with, for two reasons.

    First, I think it fails to recognize that making *compelling* procedural content is much harder and more abstract than throwing an artist or writer at a problem. Sure, it's easy to roll some dice and get something that's random, but how easy is it to tweak those dice rolls to make the results compelling, and have some context in the world?

    Secondly, from the gamer's viewpoint, the only advantage procedural content ever has over human generated content is quantity, but as you pointed out, too much is a bad thing. The number of games I can think of where both quantity and quality of procedural content were actually better is very, very small.

    I think in the end, procedural content is a shortcut, and almost always ends up feeling like one to the gamer.

    FWIW: I feel content is different than assets: a particle system or a texture is an asset, a dungeon layout or the treasure in a chest is content.

    ReplyDelete
  2. Hi hanford

    I have a bad habit of posting a document while it is still somewhat rough. I just added the image that goes along with the document.

    You are very correct that it is easier to make a single piece of hand crafted content that is meaningful compared to making a single moment of procedural content that is meaningful. However, once you start building up a large quantity of content, procedural content starts to become more attractive from a cost/benefit perspective. Hopefully the graph shows this balance clearly.

    The second point is perhaps a matter of opinion. I tend to get irritated with a lot of handcrafted gameplay because it tends not to be very flexible. Levels become puzzles that are more about guessing designer intent than exploring an interesting system. Procedural content applied to core gameplay systems can result in more open ended and flexible play since it encourages the development of systems that are coherent and interesting when placed in a wide number of unpredictable configurations. Since there isn't one well trodden path, developers are required to explore and polish a spectrum of possible player choices.

    It should also be noted that procedural content is not always the right decision. It is one option that helps designers reduce their cost of production and increase the flexibility of their development process. Like all tools it needs to be used appropriately.

    take care
    Danc.

    ReplyDelete
  3. Yeah the chart helps show the trade-offs, esp. early in the development process. I'd say that the more gameplay you try to squeeze out of procedural stuff, the more the limits of the generator are revealed to the player, and the less interesting new levels become.

    A perfect example of that are breakout games: There's not as much variety in procedural boards as hand-crafted ones. Anyway, I'm rambling.

    Last month I rambled a bit about how Oblivion's procedural treasure generation couldn't fulfill the expectations that their quests set up, and led to a huge let down for me:
    Expectations and payoffs in Oblivion

    ReplyDelete
  4. Another problem with procedural content in large scale projects is that it is unpredictable and if the game boasts realistic setting, it can be a huge pain to QA.

    You can usually much better guess how many monkeys you need to create 100 different houses. But the algorithm to create procedural content very much never be ready.

    You're essay was more touching procedural content in the context of creating game environment.

    One place that we already see a lot of procedural content is AI. My point of view is from "cinematic" FPS games--as I'm working on one--and a lot of the AI we create is more a reactive animated actor with challenge than an imitation of a real thinking and breathing human.

    The usability of procedural content also depends on the structure of the game.

    In the FPS scneario again, I think it would be interesting to build the game so that the designer builds the rough layout of the level, specifies the confict maybe just by setting up territories or assumed attack directions (in the level of detail you would be able to do on a map of the area) and then some magic algorithm creates clutter of smaller objects, places the units and wires them to the designed challenge. And then on top of that the individual emergent behaviors of the units would create even more variation.

    Currently procedural content definitely works better in games where the representation of the gameworld is quite abstract. I'm looking ofrward how proejcts, like MIT's common sense intelligence is going to change the field of procedural content.

    http://commonsense.media.mit.edu/cgi-bin/search.cgi

    ReplyDelete
  5. "Procedural content is bad at most social factors:"

    This is becoming less true with the advent of drama engines, where social character AI becomes content that tends to recombine to either generate a greater variety of sequences or increase the potential for emergent social patterns. If you're going to GDC I'm doing a session on the first generation of such engines, if not I'll have slides up when I get back.

    ReplyDelete
  6. I was going to write my response here, but decided I needed to post to my own blog once and a while ;)

    http://jbooth.blogspot.com

    ReplyDelete
  7. Hey, me too. :)

    We tried some procedural content approaches early on in Pirates of the Burning Sea, and they didn't really work out. I wrote a bit about the specifics.

    ReplyDelete
  8. Jason likens procedural content to tools; I would take it one step further and compare it to outsourcing.

    That's effectively what procedural content is. You're taking large amounts of content and outsourcing it -- in this case to an AI rather than India.

    The end result is the same: you're handing creative control over to a non-stakeholder in the project, so you can expect a lower quality bar than if you lovingly crafted it in-house.

    There's an old saying in business: never outsource your core competency. I think that rule applies here directly: never proceduralize your core gameplay.

    If you'd like to see a great example of what happens when you do this, take a look at procedurally-generated step charts for Dance games (there's one for the PC called "Dancing Monkeys", and a console game called "Dance Factory"). In theory it's a great concept, but in practice you lose the magic of the genre.

    Note also that the proceduralized Score in those games doesn't detract from the gameplay one bit :)

    ReplyDelete
  9. This could be really exciting if applied to books, too! Think of how much time Marcel Proust wasted having to write endless throwaway descriptions of childhood scenes and events, which the typical reader is only going to breeze through once anyway.

    If he'd only had access to some modern prose-generating AI, he could have used procedural techniques to crank out "Remembrance Of Things Past" in less than a year, and made it to "Step 3: Profit!" within his lifetime.

    (He might also have taken your "don't make infinite levels" advice, and reduced the book down to a more manageable 200pp or so, which surely would have increased sales. Or should we instead take the multiple volumes he wrote as an early attempt to use sequels to build a franchise?)

    ReplyDelete
  10. I hardly think Proust counts as either "popular" or "fun". Do i see a content-monkey attempting to keep his job?

    ReplyDelete
  11. I think it should be noted that procedural content is not necessarily the same as 'rolling dice'. If the procedure itself is hand-crafted (and well-made), then the results are only superficially random.

    ReplyDelete
  12. Some fascinating comments. Procedural content is such a vague term that it tends to push emotional buttons in unexpected ways. To some, it represents repetitive content that is the player burns out on immediately. To others, it is a tool. As a tool, it can be used well or used poorly. Don't let a few bad experiences blind you to its usefulness.

    The idea behind the whole essay is to generate a new enjoyable experience at a lower overall cost of production. Not everyone can afford $20 million budgets so this is a beyond reasonable goal, Mr. Proust and his 5 cent notebook aside. When game development improves production efficiency and standardizes formats to the point where we can all be Mr. Proust perhaps the rules will change. Right now, it remains a team process for most projects where money is a major concern.

    The deeper underlying meaning of my post should cause concern. Procedural content is an algorithmic system that replaces assets that were once static. Instead of hand crafting an image using a paint brush, you are crafting a level layout engine. This sounds straightforward. However, as soon as you begin mucking with the game mechanics, you've started down the inevitable and scary path of innovating and creating new genres. This is a good thing, unless you happen to like the old genres.

    Successful products that use algorithmic methods of creating content are scary as all hell to genres on the edge of extinction. Advancements in interactive, algorithmic systems have a tendency to create lower cost, highly defensible new game genres. In a competitive landscape this means that the Sims, GTAs and Oblivions of the world start taking up a big chunk of the pie. Over time, this should tend to push smaller, high cost of product genres into niche status even further.

    These are big market dynamics, played out over years. The ones who suffer are the genre addicts in the niche genres. They would love it if hundreds of teams spent 80 million, or 160 million on an incredibly gorgeous and deep graphics adventures or Japanese RPGs. Imagine the stories! Imagine the intricate visuals! To suggest that companies compete by improving their algorithms instead investing in more traditional artists to attack their 'more of the same' dream of a world of games that is identical to the static, lovingly handcrafted world of books, movies or video.

    I think you'll always have a core of handcrafted content in any game. However the procedural tools and the interactive systems that leverage that content core will continue to become more complex, dynamic and interactive. Interactivity is our fundamental value proposition as an industry. This is why World of Warcraft and Oblivion remain the epitome of Fantasy in the gaming world, not lavishly handcrafted experiences like Dragon's Lair.

    As a game designer the balance between the handcrafted and the algorithmic is in your hands. There are economic and market costs and benefits to each. Be aware and do not simply choose blindly.

    take care
    Danc.

    ReplyDelete
  13. It seems like another point about procedural content that was left unexplored is the ability for user interaction to shape the outcomes.

    Wildly successful games like The Sims and Roller Coaster Tycoon hang their hats on on beautiful pre-crafted content but on user driven procedural content.

    As gaming stretches it's boundaries I believe that gamers will, more and more, demand systems that respond interestingly and meaningfully to their actions. Procedural content is the best way to accomplish that.

    ReplyDelete
  14. Uhm, that should read "...hang their hats not on beautiful pre-crafted content..."

    ReplyDelete
  15. Nethack is a fantastic test-bed for procedural content. The Gnomish Mines are wonderfully varied, and the mazes of Gehennom are equally puzzling. The trouble comes, when there are 30 levels of the same procedural content, and there is no longer any new variation to be seen. Nethack players will very quickly see the limits of procedurally generated content in Nethack, and it's exactly why there is a calling for patches like Heck, Hell and Lethe.

    I know your graph was just approximate, but I'm not sure that I would portray the hand-generated content as a linear scale. If you hope to have any measure of open-ended gameplay, then the need for the quests/content to react accordingly to various paths that the player chooses seems to imply some sort of exponential growth needed as the game world increases in size and possibility.

    ReplyDelete
  16. Speaking as an artist and game designer, I'm all for this. Of course hand built content will be superior for a while - but there comes a time when it's rediculous to be building trees, rocks, sky and water over and over again.

    There are absolutely things that artists can give up to talented programmers, with no loss to the overal worldbuilding. If we had to breed a new human every time we cast a movie, there'd be a lot fewer movies.

    I look forward to the time when I can do an oil painting to describe an environment, instead of worrying over sorting fans of alpha'd foliage.

    ~m

    ReplyDelete
  17. Hand-crafted content is a strategy that favors large developers with established positions. It creates a barrier to entry for smaller and upstart developers, who cannot afford the same art budgets. Obvious examples are Blizzard & Squenix.

    ReplyDelete
  18. I just thought that anybody who swings by this article a year late (like me!) might be interested in the "300" project, which has a large procedural-content focus:

    http://www.squidi.net/three/thumbs.php?set=1

    ReplyDelete
  19. Middleware is bridging the gap on a lot of common assets such as trees, rocks, scenery etc. by using both procedural content generation techniques and hand-crafted artistry.
    Though the use of middleware is outsourcing, creating your own procedural content generation system might represent a less agile solution unless you plan to use it for more than just 'throwaway' content.

    ReplyDelete
  20. Interesting. Most of the criticism against procedural content seems to be the randomness -- that by being too random, it is no longer "realistic". Natural systems are neither uniformly or completely randomly distributed -- rather, they are clumped, an "orderly" randomness. A bunch of pine trees aren't distributed randomly across a forest or form a massive homogeneous blob, but are spread out into semi-heterogenous clumps across a forest. Unfortunately, the demand for increased realism increases the complexity of implementing procedural content generators that can capture this sort of "orderly randomness" and make it convincing.

    On a higher level, I think the modding community brings down the cost of hand crafted content tremendously, and even allow procedural approaches to be explored. I can understand why most AAA gaming companies are reluctant to exploit the modding community (monetization of DLCs, brand dilution, possible copyright infringement issues), but I believe this is a case where the benefits far outweigh the disadvantages. Unfortunately, most (though with notable exceptions i.e. Bethesda, Bioware, etc) don't see it that way.

    ReplyDelete