FAQ  •  Register  •  Login

Procedural Content Generation

<<

Trantius Rune

User avatar

Posts: 2

Joined: Wed Jan 28, 2009 4:59 pm

Location: Burleson, TX

Post Wed Jan 28, 2009 5:28 pm

Procedural Content Generation

Hello,

I hate to be starting a new thread with my first post, but it just doesn't seem like this fits too well in the other Game Theory threads. So, how do you feel about procedural content generation?

This can be anything from levels (Diablo), Textures and animations (Spore), or pretty much any other part of a game that you can condense into a set of rules/equations turn the gears on and spit out something enjoyable (even if it is sometimes a little more like ground beef than prime rib). And for the more static games PCG can help in shrinking file size immensely (ie .kkrieger, the 96k FPS). So before I begin to ramble again I'd like to know, what are you opinions on PCG? (I obviously am fascinated by it.)
<<

Josiah

User avatar

Posts: 556

Joined: Wed Sep 03, 2008 1:31 pm

Location: Kent, Washington USA

Gamertag: MisterSneak

Post Wed Jan 28, 2009 5:53 pm

Re: Procedural Content Generation

Welcome to the forums! I'm glad you posted a new thread, this is a very interesting topic.

I wholly support the idea of PCG. I think one of the things that makes great games is the idea that when different people play it, they have a different experience. It's the reason why you sit around and talk about your game experiences with your buddies.

When done right, PCG games can provide a broader range of experiences than any pre-scripted mumbo-jumbo. With the ambition of game designers, their complex worlds, and the vast differences in player preferences, I think PCG is really the future of gaming in a lot of ways.

Of course, that's not to say that there isn't a place for traditional scripted game design. :mrgreen:
Art Director - Novo Interactive
<<

Brad

User avatar

Posts: 360

Joined: Tue Jan 06, 2009 7:12 am

Location: ithaca, ny

Gamertag: prophetofsax

Post Thu Jan 29, 2009 11:34 am

Re: Procedural Content Generation

Josiah wrote:I think one of the things that makes great games is the idea that when different people play it, they have a different experience. It's the reason why you sit around and talk about your game experiences with your buddies.

When done right, PCG games can provide a broader range of experiences than any pre-scripted mumbo-jumbo.


so, would you consider kotor a PCG game? there's the math and gears, but there's a buttload of script there, and only really three paths, one of which isn't really a path but the lack of one.
Composer - Novo Interactive
<<

Josiah

User avatar

Posts: 556

Joined: Wed Sep 03, 2008 1:31 pm

Location: Kent, Washington USA

Gamertag: MisterSneak

Post Thu Jan 29, 2009 11:56 am

Re: Procedural Content Generation

KOTOR certainly doesn't have procedurally generated content. "Math and gears?" You may be referring to the randomized elements of the combat system.
I think you've pointed out exactly what I'm talking about. As you said, there's 2.5 different experiences you can have in KOTOR. In a game that depends heavily on procedurally generated content, there's a near infinite number of experiences that can be discovered. Traditional scripting just can't do that.

Some games like Oblivion, for instance, has a few procedurally generated things going for it. EG, monsters that are spawned in a dungeon, treasure, etc. But in the end, all of Oblivion's missions depend on scripting. Each of the game's paths, like the Thieves' Guild, Dark Brotherhood, Main Quest, Fighters Guild... etc... is perfectly linear. Anybody who follows those paths will have a very similar experience. But the game is designed so that not every player will want to follow every path, allowing you to have different experiences from others that play.

Compare these to something like Diablo, where the levels themselves are procedurally generated. There are even quests that may or may not exist depending on if the game decides to reveal them or not (yes, it's possible to never encounter "The Butcher"). While the game is bound by certain limits in its scripted quests, you can guarantee that you'll never be in the same dungeon twice, no matter how many times you play Diablo.
Art Director - Novo Interactive
<<

Brad

User avatar

Posts: 360

Joined: Tue Jan 06, 2009 7:12 am

Location: ithaca, ny

Gamertag: prophetofsax

Post Thu Jan 29, 2009 1:56 pm

Re: Procedural Content Generation

oh, i didn't get quite was it was at first. i read a few articles online, and i think i get the hang of it now.

are there other games besides diablo that are relatively well-known that utilize it to that extent as well? i did some stuff with d2 but never went beyond the first act, really.
Composer - Novo Interactive
<<

Brandon

User avatar

Posts: 83

Joined: Sat Sep 20, 2008 12:55 pm

Gamertag: Bragon_Lover

Post Thu Jan 29, 2009 2:04 pm

Re: Procedural Content Generation

Such a cool topic! I was thinking about this a lot recently. It recently dawned on me that the odds of me actually playing a game over and over again is quite slim and therefore my need to have a new experience each time I play a game is, well not necessary. The first game that came to mind while thinking about this was Titan Quest by THQ. This game was a really fun extremely thought through Diablo clone. Unlike its predecessor, it did not have procedurally made levels but instead had an elaborate preset world. I never played completely though both Diablo (1 and 2) or Titan Quest so having a unique gaming experience each time I played never even came really came up. I guess the point I’m trying to make is that a game should only have procedural content if it absolutely needs it to be fun or creates a whole new aspect of a game e.g. having to adapt or restrategize to what a game presents you. Left 4 Dead is the perfect example of a game that absolutely requires procedural content generation (in this case the zoomies) to add an absurd amount of value.

Josiah wrote:It's the reason why you sit around and talk about your game experiences with your buddies.


Thats very true with L4D. All the enemies in this game are a randomly placed and a few are extremely deadly zombies like Tanks which mean that sometimes you'll be placed in a situation where there is no way to sneak around or avoid these hazards. Not knowing what to do and having to make decision on the fly adds to the shear terror of the game. It also allows for some humorous evens to occur like enemies crammed into a bathroom stall.

I have a friend that used to read a games strategy guides before he progressed in a game. He said it was to make sure he didn't miss anything but with a game like L4D there is no possible way to prepare which is why PCG is fun and works.
Artist - Novo Interactive
<<

Trantius Rune

User avatar

Posts: 2

Joined: Wed Jan 28, 2009 4:59 pm

Location: Burleson, TX

Post Thu Jan 29, 2009 10:15 pm

Re: Procedural Content Generation

Well I do have to say that interestingly enough from the programming perspective PCG doesn't have to dictate that the games levels are random or that there is no scripting, in fact Morrowind technically contains some PCG in its animated water effects, which while not necessarily doing much for replay value does assist in the immersion value. But I do have to admit I posted this question with more of the game play affecting PCG in mind than the ooh-aah factor. While I find a well thought out (if even partially scripted *shudder*) plot makes a game very enjoyable, adding a bit of well tuned random level generation or even just random monster and loot generation can make a games replay value soar so high that I can't wait to try it again only as a different class/race.

I was recently deployed to Iraq with a pos laptop (which was due to my poorly thought out idea of "hey if I get a laptop that is only good for coding maybe I'll program more and game less.") and found my salvation in both Morrowind and Diablo 2, I did learn a little Python though :) . Diablo 2 btw while seemingly repetitive becomes enjoyable to no end when you link up with a buddy and go hack 'n slashing your way through the random dungeons seeing who can end up the more powerful, and in case you were wondering yes a Necromancer specializing in an army of Undead will kick a Paladin's ass every time. Or atleast my Necro did :D but I digress.

I've been thinking about how difficult it might be to create a game with some form of Procedural Plot. I don't mean the typical side quest type of "plot" like "I lost my book in the barn" or "deliver my letter for me" but more along the potentially epic or even twisty kinds. It seems as though games are getting closer to what I'm thinking of with faction systems where what you do for/against one group affects the overall reactions of other NPCs (I'm thinking along the lines of Stalker and its A-Life system here, even though it can be a poor example at times). Oblivion does a good job of giving the feel that some NPCs have their own lives with its AI scripting (they aren't strictly scripted, its a loose scripting such as go to tavern A and eat, go to Inn find a bed). I just wish someone would take that one extra step so that when you "accidentally" impale a random citizen the only repercussion isn't a choice of pay gold, go to jail, fight, or run for my dear life, but maybe someone other than the city guard would miss that random citizen and wish for vengeance or even applaud you for finally making that whiny beggar shut up about his alms for the poor. Well I think I'm done rambling/ranting now and would love to read more of your insightful responses :D

P.S. Another AWESOME (if somewhat dated looking) game that utilizes alot of PCG (in the level/monster/items department) is Nethack http://www.nethack.org and its FOSS (Free Open Source Software) :D

P.S.S. ignore their sad website design, the game is worth the short download.
<<

Bill

User avatar

Posts: 205

Joined: Sun Aug 17, 2008 11:15 am

Location: Kent, WA

Gamertag: Gorbachev23

Post Thu Jan 29, 2009 11:24 pm

Re: Procedural Content Generation

To be honest, I didn't find the PCG in Diablo II that impactful. For someone like me that only played through the game a few times, the only randomized content I could appreciate is the loot; and randomized loot has been around since the NES days. The PCG was catering to a different kind of player, one that planned on playing through the game hundreds of times to level their characters, to them the PCG was largely successful. I never played through the game to find all the set pieces for my armor, or all the gems for a socket on my weapon, I just wanted to see the ending.

Now, when I played with my friends randomized dungeons did help. I can appreciate that playing with friends who had played too many times to count they couldn't just instantly find the exit to the dungeon. We at least had to work together to find/fight our way out.
Senior Artist - Novo Interactive
<<

Eric

User avatar

Posts: 73

Joined: Fri Sep 05, 2008 3:18 pm

Location: Seattle, WA

Post Fri Jan 30, 2009 1:50 pm

Re: Procedural Content Generation

I think the impact of PCG depends on the type of player and what they expect from any given game. I can see how Diablo 2's random content wouldn't appeal much to someone who's only concerned with experiencing the story. Personally, while I thoroughly enjoyed the story, I was definitely drawn forward by the quest to become ever more powerful (I'm a bit of a megalomaniac I supppose). The randomized loot was the initial appeal for me, but the randomized dungeons are what kept that initial appeal fresh. In Titan Quest I found myself getting really bored really quickly once I beat the campaign. Despite the fact I was getting new loot it was a bit stale since I knew all the dungeons and when I would be getting new loot, even if I didn't know what I would be getting.

This was made worse by the multiplayer in Titan Quest. If you played with someone who had played a particular area before you would often find them charging ahead of the group, killing all the creatures and taking the loot, and leaving the rest of the group to catch up to rooms full of dead creatures and empty chests. It ended up being a race rather then a co-op experience. Not particularly fun.

I'm glad you mentioned dynamic story generation, Trantius; that's an idea that's been getting me hot-and-bothered for a while now. I've talked it over with a few members of the team before, and have even started working on a design for a sort of story A.I. I think it could be one of the next big leaps in game design, and I'm pumped to hear that others are excited about the idea too. Admittedly, though, it's a pretty hefty technical task if you want to pull it off well. There are two major approaches I've considered so far. The first, is to give the AI entities enough intellectual breadth and emotional breadth so that they can appropriately respond to external input and effectively decide their own motivations and actions. This would also require a pretty extensive communication system for the AI so that actions and thoughts can be perpetuated through the societies to give these individual stories the necessary scope to make them truly epic. This approach is obviously a pretty involved task and requires a remarkably leap in entity A.I. The second, and probably more reasonable approach, is to have an external A.I. that essentially scripts a story around the players in an dynamic way that can respond to players actions. This would be fairly comparable to a Dungeon Master in a pen-and-paper roleplaying game. While this approach is admittedly much more artificial, it could give game designers a much greater level of control over the experience they want their players to have. A game that doesn't allow the player to get bored sounds like a good idea, right? I'd be interested to hear what input others have into this kind of system and what it could mean for games.
Technical Director - Novo Interactive
<<

Walker

User avatar

Posts: 475

Joined: Sat Aug 16, 2008 10:59 am

Post Fri Nov 20, 2009 12:55 am

Re: Procedural Content Generation

Great topic, Trantius. I should have responded to this long ago. Shame on me.

PGC is a tricky beast, and not to be confused with user generated content--a concept I have much less faith in for reasons that should be explored in their own topic. It comes in so many different flavors that determining whether and how much procedural content to implement are difficult questions to answer for any project. Keep in mind that the costs associate with testing these systems is also much higher than with traditional, fully scripted, game development because of the extreme number of permutations possible.

Levels
Random level generation can be useful. I certainly agree that it's a big part of D2s abnormally long shelf life. The resulting team work described by Eric represents that game at it's best. Unending exploration is a seductive concept, and definitely a bang-for-your-buck sort of feature. That's never bad.

Dangers
Implementing randomly generated environments that are immersive and compelling is very difficult. Cohesive art direction that helps tell the story and set the mood is a full time job for a whole team of incredibly talented people. You can't keep things fresh through mixing and matching alone. Eventually that stone wall #6 asset is going to grate on your nerves, even if you've never seen it next to scrubby bush #2 before. If you handcraft...you know it will be good at least once. You can't always count on that with random generation.

You also have to consider why people are driven to explore in the first place. It's not to see a patch of trees they've never seen before, it's to get cool stuff, hear new story, and grow their character. Even if the arrangement of areas is new, if what they lead to isn't anymore...the desire to explore dries up. It's only part of the equation.

Loot
This is one solution to the previous problem. Items with random attributes keep the player guessing at what might be around the next corner. It's undeniably cool to find a piece of gear that no one else will ever receive with quite the same stats. Preset items that drop at random is another tool. Questing for set items can certainly be a powerful motivator, especially once the story is spent.

Dangers
Again, the dev's control is sacrificed for surprise. This can lead to serious pacing issues. If you've been questing for hours only to defeat the boss and have a baddass wizard hat drop for your warrior, it's akin to receiving nothing at all. Recognizing player achievement and rewarding it proportionally is the core of good game play.

Characters
This is the application where I see the most un-exploited potential. I don't mean that you should never know what characters will exist in the game. Like Eric, I believe that giving NPCs the ability to meaningfully recognize what happens to them, and then act on it, is the future of any game, but especially the single player experience. The basic traits and attitudes of a character would be set by the devs, but then the agent would be free to react to the player's (or other NPC's) actions however they deemed suitable. The possibilities are exciting. You kill a pack of wolves that are terrorizing a town. A local farmer recognizes you have made him safer by this action, and because of his personality, rewards you. Not because a designer scripted him to, but because he wants to.

Dangers
As Eric pointed out, to fully leverage a system like this would require tons of background management to enable characters to pass along information and act upon each other in the absence of the player character. When characters decide what to do and communicate for themselves, they also have to have the means to express it. This would require the development of a syntax generator more advanced than anything that's been seen to date. Fully spoken dialog, which has become par for the course in AAA titles, would also be impossible without huge leaps in synthesized voice quality. And it would never match a quality live voice actor. Essentially, you're limited to text.

Story
A writing truism states: character IS story. By empowering the agents of a game world to act autonomously, they create drama for the character to participate in. A sleezy bandit rapes and murders a young maiden on the road one night. The body is discovered and the father, our kindly farmer, is crushed to learn of it. He may try to find and kill the bandit on his own, or remembering the player character's earlier good deed, seek him out to enlist his aid. Or, maybe the farmer rallies a lynch mob of other townsfolk to administer his justice. Does the player join in, or try to get to the bandit first? If he finds the bandit first, does he warn him, or do the deed himself? Maybe the designers have decided that this particular scum bag has useful information that the character needs for the larger plot. Now there's dilemma, the most important part of any story. By setting the stage with interesting people, and letting events play out however they may, a staggering number of scenarios open up giving the player an opportunity to truly make his own choices and have a unique experience. Tracking events like this for every NPC in the world would be prohibitively resource intensive, however, so the invisible digital DM that Eric also mentioned would need to prod the situation just when appropriate, and in close enough proximity to the player that they can benefit.

Dangers
With limited oversight of NPC actions comes the possibility that unforeseen and unnatural behavior will manifest. My favorite example of this is from an early build of Oblivion. After letting the game run for a few hours, the player walked into a town to discover that all of the citizens had mysteriously died. Upon debugging, the team realized that the tiniest accidental act of violence between two NPCs (a hunting misfire for instance) could trigger the riot of a whole city as more and more NPCs were drawn into the conflict. To combat this, they had to place restrictive limitations on the AI, removing most of the cool emergent behavior the system was supposed to allow for.

The Invisible Hand
Procedural content cannot be a shortcut for designers, but rather it changes the way in which they must do their work. In each of the above cases, considerable background manipulation is necessary to provide the most satisfying experience. That health potion that drops at just the right time. The exciting event that happens just as the player sits down in the tavern. The fact that the first giant rat you kill doesn't accidentally drop the most powerful sword in the game. All these things require subtle influence of the designers. The keyword there is "subtle." These turns of event and reward must seem to the player a natural extent of the game world you present to him. If he ever glimpses the man behind the curtain, we have failed. "Why can't I blast open this wooden door when I can blast all the others?" The answer had better be because it's re-enforced by a spell cast by a wizard within the boundaries of the game rules and not, "because we can't have the player spoiling the ending yet." Although I've veered off into consistency, rather than procedural content, I truly believe they go hand in hand. When you give players freedom, nothing is more disastrous than telling them "not this time because we say so." What do they know? They're just the player, after all.

.........

In a world where graphics are already nearing photo realism, and gun blasts in 7.1 surround sound seem more real than what you hear on the firing range, procedural character and story is the last frontier of what is no longer a fledgling medium. I hope Novo can help conquer it.
Producer - Novo Interactive
<<

Josiah

User avatar

Posts: 556

Joined: Wed Sep 03, 2008 1:31 pm

Location: Kent, Washington USA

Gamertag: MisterSneak

Post Fri Nov 20, 2009 12:02 pm

Re: Procedural Content Generation

Hell yeah!
Art Director - Novo Interactive
<<

Brad

User avatar

Posts: 360

Joined: Tue Jan 06, 2009 7:12 am

Location: ithaca, ny

Gamertag: prophetofsax

Post Fri Nov 20, 2009 1:36 pm

Re: Procedural Content Generation

whew, there's lots of good stuff there.

something that wasn't mentioned is the creation of procedurally generated music and audio - having the audio react to the situation that you're in by using a combination of x amount of audio assets that were predesigned to work together easily. it's easy to write a ton of stuff that fits together well - i did it for the iphone game i just finished up (all tracks need to flow to one another, so i have all of them in D minor). the trick is defining - 'tagging' if you will - when and where each of those tracks should be used. that's what makes it tough to do, since it's way easier to just write a kill-people track than the pieces to six or seven tracks that all do the same thing and kind of fit together in new ways and don't use the same concepts more than once.
Composer - Novo Interactive

Return to Game Theory

Who is online

Users browsing this forum: No registered users and 1 guest

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.