Monday, February 26, 2007
How to Make a Better RPG With Procedural Content
Dan C. recently posted an article about procedurally generated content entitled, "Content Is Bad," contending that as budgets increase, procedurally generated content becomes not only desireable, but critical. Jason Booth, formerly of Turbine Entertainment (makers of Asheron's Call, D&D Online, etc.) responded with another article entitled, "Procedural Content." Booth talks about using procedural content as a tool, but cautions that it cannot be expected to be some panacea that can generate infinite playability for little or no development effort. He notes "People are incredibly adept at seeing past the algorithm and sensing the underlying possibility space, and tiring of its parameters. As such, there is no such thing as infinite content."
He's not wrong. Ask anyone who played Daggerfall till the end... after a while the quests began to resemble re-used "Mad Libs." And while I adored Frontier, there was definitely a point at which the procedurally generated universe ceased to amaze and intrigue, and really did resemble just so much math. Sure, you can enhance the procedural generation to extend its value, but eventually you'll come up against the same wall. Procedural content may provide infinite content, but too much of it will be boring, "filler" content.
What's needed is a good mix of custom-created content with procedural variants, to reduce the boring repetition of the same (expensive) custom content. I'm thinking specifically of Jeff Vogel's recent complaint about having to kill the same wolf 200 times to gain a level. Why does it have to be the same wolf? Why couldn't each combat throw in some new and interesting challenges and variations?
Using Procedural Content For Enemy Variation
The latest incarnation of Dungeons & Dragons has some incredibly flexible mechanics for modifying monsters. First of all, there's advancement. If the monster is intelligent, you may be able to advance it in its chosen class(es), just like a player character. With literally hundreds of core and "prestige" classes amongst first- and third-party materials, there are a ton of interesting possibilities there. A medusa assassin, a minotaur monk, whatever. You can also use standard advancement on a monster with... uh, no class. As you advance a creature, it may get new feats and skills. So what may appear at first glance to be a garden-variety orc could actually be an acrobatic specialist in the use of the bo staff.
You can also apply templates to monsters to change their fundamental type. For example, you can apply the "fiendish" template to any monster to give them an origin from one of the "lower planes." This gives the creature some new special abilities, and may increase their difficulty a bit. The template is easy to apply, and doubles the potential monsters all by its lonesome. But there are many more templates. Like the half-dragon template, designating a creature that is the offspring of a dragon and some other creature, gaining some of the attributes of their draconic parent (The plethora of half-dragons found in official Dungeons & Dragons supplements indicate that in the universe of Dungeons & Dragons 3.5, dragons are extremely horny and will mate with anything capable of reproduction).
The templates and advancement can even be mixed... you could have a half-green-dragon fiendish Orc with 6 Barbarian levels. Armed with a +1 Keen Great Axe, with weapon focus and Improved Critical feats with said axe. Which would be something at least a couple of orders of magnitude more dangerous than an average orc. Not something you'd probably want to tangle toe-to-toe.
And that's just one orc.
Procedural Content for AI Variety
With real-time combat against a single opponent, there probably isn't much the player can see in terms of AI variation. But against groups of enemies - especially in a turn-based system - even subtle differences might show through. Again, the acrobatic bo-staff wielding orc comes to mind. Or perhaps a spellcaster that emphasizes specific types of spells - not just different elemental types for "big booms," but more subtle or indirect spells.
Or maybe this very specialized half-ogre.
How the AI opponents interact with each other could be far more interesting and unique than how they interact with the player. Watching them apply their specializations (procedurally generated specializations?) with each other using tactics resembling actual teamwork would be the goal --- though that is often hard enough to implement without procedural variations.
Another area where this could get interesting is throwing around dialog in combat. In F.E.A.R., overhearing the enemy communication with each other really helped the AI come alive" for the player. While it may be impossible to pull off in this day and age of canned voice recording (text-to-speech synthesis still hasn't come along very far in the last 20 years), this could also accentuate the unique differences in style and abilities of the enemies as they team up against the player.
For comic-book geeks out there, imagine each enemy group of goblins barking out melodramatic commentaries and suggestions to each other in full supervillain-team style as they go up against the players. "Snotnose, hit them with your Moon-Ray!" Or, "Hey, guys, I'm taking a pounding! Can I get some healing over here?" How about, "Ah, lucky for me I am well-trained in dodging fireballs, such as those clumsily lobbed by your wizard!" Maybe even, "I spent the last several years developing an immunity to iocaine powder!" Cheesy? Definitely. But it would also help focus player attention on these actual variations, rather than chalking it all up to noise in the random-number generator.
Oh, and speaking of goblins named Snotnose... how about giving intelligent NPCs procedurally-generated names? Players are used to seeing a proper name as a sign for a special "boss monster," but I don't know that this kind of meta-gaming is really a good thing or not. And I don't know if players will actually care about groups of "Blugh the Orc," "Deathblade the Orc," "Sniggerbuckle the Orc," and "Trippy the Orc" when the names are all pulled out of a hat. But it's an idea.
Procedural Content for Visual Variety.
The next trick is that the 200 completely different wolves all look the same.
Once upon a time, games would use the trick of "palette swapping" to re-color the same sprite to designate variants of similar monster types. You'd battle blue ninjas, then red ninjas, then green ninjas, and finally black ninjas. Or something. The artists only had to create one ninja, and the software could color the rest. While it wasn't very exciting, it did the trick.
While this is sometimes used in the 3D game world, often it comes down to swapping textures. That's nice, but good hand-created textures can be just as time consuming as creating the model or animations. But can something be done procedurally to modify the models?
Some games have started swapping out anatomy and equipment. Oblivion did this for human opponents that the player encountered, so that while they all looked vaguely similar, they were at least distinguishable. Unfortunately, they didn't do the same thing with monsters, so that one minotaur looked very much like all the others.
Using shaders and geometry deformation, swapping pieces models around (like different heads in Neverwinter Nights), and random scaling you can add a great deal of variation that can make battles feel a little less like a stream of clone warriors. You could also have a texture overlay (decals) to give the enemy some interesting tatoos, hair color, facial scars, or what have you. Where appropriate, you could even use procedural particle systems to certain creatures.
Breaking the visual monotony can be just as important as breaking the gameplay monotony.
Procedural Crap
Perhaps this won't always be welcome by players. As demonstrated by attitudes in massively multiplayer games, players gravitate towards consistency and predictability. Even random variations in "hit points" (how much damage something can take before dying) are often unwelcome. And in all honesty, I don't think I'd want major variations in every fight - I like being able to learn the best way to take out that wolf, which might take me a few tries to figure out, plus a few tries to apply what I've learned.
Another concern with all procedural content is the likelihood of bugs - possibly game-killing bugs - appearing in certain rare combinations. It's impossible to check every possibility in testing with "near-infinite" procedural content, and it's always possible that some unforseen nasty combination will ruin the game for a player. Maybe the "fiendish" and "half-dragon" templates are fine by themselves, but the combination for certain monsters makes them vastly more powerful than anticipated. Or, worse, it ends up spawning in a peculiar spot that makes it impossible to attack, and it happens to carry the key necessary to get through the game. (Daggerfall had this sort of thing happen all the time, which they eventually resolved by simply publicising the debug codes to help players if they got stuck).
These concerns aside, I think that careful and clever use of procedural content as spice rather than meat could not only ease developer workload and help reduce the expense of creating RPGs, but also improve player enjoyment. It's a win-win scenario, but there's still a bit of experimentation that needs to be done.
Here's hopin'!
Well, actually, there's a bit more than just hoping taking place here at Rampant Games. But I can't talk about that right now. Especially since Apocalypse Cow isn't out the door yet.
(Vaguely) related words, vaguely associated with each other:
* RPG Design: The "Brute Force" problem
* The Evolution of Computer RPGs
* Why Does Jeff Vogel Hate RPGs?
* Designing a Computer RPG Rule System
* Innovation in RPGs
.
Labels: Game Design, Roleplaying Games
Comments:
Links to this post:
<< Home
I'm interested in building a procedural terrain builder; one of my ideas was to have a large Dungeon Siege-esque world where the next sector is generated as you get near to the border.
I dunno how well this would work; one of the big concerns here is keeping the plot interesting despite the fact there's only so many quest patterns ("Get the shiny," "Kill the foozle") and they become obvious quickly.
I dunno how well this would work; one of the big concerns here is keeping the plot interesting despite the fact there's only so many quest patterns ("Get the shiny," "Kill the foozle") and they become obvious quickly.
Here's 34 RPG plots, not including twists and variants. Some do involve "Get the Shiny" or "Kill the Foozle", but they might be a good crib sheet for designing quests:
The Big List of RPG Plots
But you are right, it can take some effort wracking your brain to come up with something new for players to do in an RPG... or at least a new way of presenting it that makes it feel fresh.
And it's even harder for a computer to pull it off procedurally. I just remember how the wilderness areas in Diablo 2 were really more irritating to me than anything else.
Random wilderness areas *could* work, but I could also see it going pear-shaped really quickly without really good generators making sure that interesting things happen in interesting spots.
The Big List of RPG Plots
But you are right, it can take some effort wracking your brain to come up with something new for players to do in an RPG... or at least a new way of presenting it that makes it feel fresh.
And it's even harder for a computer to pull it off procedurally. I just remember how the wilderness areas in Diablo 2 were really more irritating to me than anything else.
Random wilderness areas *could* work, but I could also see it going pear-shaped really quickly without really good generators making sure that interesting things happen in interesting spots.
No discussion of "procedural content" can be complete without the granddaddy of them all--Adventure Construction Set! Those auto-generated adventures weren't bad for 1984.
Ah, yeah! Stuart Smith's mega-game! I remember that one. Chairs and tables in the middle of the forest, but hey --- it actually worked. Too bad we didn't really have the Internet back then --- once you created your adventure (actually RPG - the engine was designed more around RPGs than Adventure games, though the definitions were even fuzzier back then than they are now) you could really only distribute it by hand. Maybe at occasionally computer user's group meetings.
But it was really ahead of its time. And had random game generation!
But it was really ahead of its time. And had random game generation!
One of the biggest problems I have with the plot generation is not necessarily finding things to do, but finding ways to frame it. My previous RPGs have put a heavy emphasis on humour, which AFAIK is damn near impossible to machine-generate; this is pretty much the reason I'm restricted to handing out some hand-written plotlines. The most I could procedurally generate is visual content (maps, non-plotline NPCs, etc).
It's probably much easier if you have a "serious" RPG, since users don't expect much creativity in the interactions in those.
Post a Comment
It's probably much easier if you have a "serious" RPG, since users don't expect much creativity in the interactions in those.
Links to this post:
<< Home


