Archived

This topic is now archived and is closed to further replies.

bob_the_third

Creating a dynamic adventure game

Recommended Posts

bob_the_third    122
If you've ever played any of the "Monkey Island" tri- (or is it quad) -logy, or if you've played any of the numerous other adventure games like (many of them set in mazes, but the better ones weren't IMHO), while you may (like me) have enjoyed them very much they tend not to replay very well. It's kind of like a mystery novel: you have to wait until you forget it to read it again (at least I do...). That may be a while. Which brings me to what I'd like to see... I would like to create an adventure game in the style of "Monkey Island," but I would also like to be able to enjoy playing it even though I created it (oh sure, the gamer would get a benefit from this too, but who cares right? ). So how do you make a game that by its very nature is centered around puzzles and ingenuity on the part of the player a dynamic experience where there isn't just one solution, there are thousands or even millions of possibilities with varying degrees of success? Well clearly you don't want to design each potential solution explicitly, unless you happen to like writing dictionaries in your spare time. This is where the dynamic part comes in. [IF YOU ARE ABOUT TO REPLY WITH FLAMES, TAKE A DEEP BREATH AND KEEP READING. I WILL ADDRESS THE ISSUE THAT IS BUGGING YOU. REALLY.] I (having been around here for a while now) am aware that a fair number of posts have been...um...posted about dynamic worlds, NPC communication (there's one in this forum now), etc. The discussion I'm initiating is geared toward implementing such a system in an adventure game and getting something that is fun to play. Hopefully that has saved me from being scorched. Anyway, back to the gist... My seed of an idea right now (again in and of itself not original) is to assign properties to each object you create. For the sake of lessening tedium, I would suggest using various features of OOP such as inheretance. In fact why not go ahead and make an OOP language for describing objects? Anyway, the objects have properties (and methods I guess...). Then you define certain goals based on puzzles. What does this problem require, basically. For example, suppose you are trapped in a dark room. You need to get some light. The goal: Ambient light > 10%. You have a match, there's a candle in the corner (you bumped into it), there is a rug that is probably flamable, etc. What do you do? Well certainly the choice is yours. You could light the match which in this case say doesn't provide sufficient light. However if that was your only match you're in trouble when it goes out. Or you could light the match and use it to light the candle which would satisfy the goal. Or you could light the rug, but that would probably result in your fiery demise. Object descriptions could look like this:
MATCH
{
   ambient_light += 5%
   heat           = 1         //Arbitrary heat units
   life_time      = 1 minute
}

CANDLE
{
   ambient_light += 25%
   heat           = 10
   life_time      = 10 hours
}

RUG
{
   ambient_light += 80%
   heat           = 5000
   life_time      = 3 minutes
}
  
Anyway the above is a very scant example. It really doesn't do justice to the concept, but I have eye strain because I type all day at work. One of the issues with such a system is ensuring that the game can still be won. If you don't know what the user will do, is it possible to ensure that the game is winnable? Does that matter? I don't think so. Let the player invent and reward them if they are smart; if they're not, they can go back to a previous save... [PUTS ON ASBESTOS SUIT...] I know the savegame thing is a hot issue, but that is my opinion in this case. It in no way reflects my opinion in all cases, nor should it ... Expect more posts on this. I simply don't have time to list all ideas in this one, plus if it gets much longer no one will read it (I know I wouldn't). [edited by - bob_the_third on August 5, 2003 11:53:00 PM]

Share this post


Link to post
Share on other sites
Saluk    127
Hey great post. I just recently added something veeeeery similar to your example to my game. All the items are stored in a text file, where each definition basically lists the properties of that item. And of course there is inheritance Although as for what those properties mean currently it''s pretty much "hard" coded. I think this is a good idea, however, one of the things that makes the lucas arts style of puzzles so great is how well they tie in to the storyline, and how zany the puzzle solotions can be at times.

A functional method of creating items and problems that you hint at wont be able to recreate the same quality feel of puzzles in those games. Still, I have nothing against games that have very dynamic problems to solve and give you limitless options with which to solve them. I still have a big place in my heart though for a hardcoded mostly linear prewritten, story based puzzle adventure game

But for instance, Deus Ex succeeded very well with that method of keeping things modular and letting object oriented emergence take its course, although much of it was still predetermined. I think games are definately headed to areas where players are more likely to solve problems in a way that the designers DIDN''T imagine rather than the way the designers decided them to solve it.

And one of the keys to emergence is, in my opinion, to as you say take a bottom-up approach. The game of LIFE with the cells expanding, or the flocking algoithms show that with a few good simple rules there can emerge an extremely complex system.


The only problem I see is that an adventure game almost requires a really good story to tie things together, and the puzzles need to fit. If you can find a way to make an adventure game that''s fairly dynamic, with unscripted puzzles that still fit into the storyline (hardcoded or dynamically generated), and it still has a good story and is fun to play, you will have created a great leap forward! I''m not sure if it will be as easy as I make it sound though lol.

I think that as games progress, players will be able to have more say in their performance rather than being basically fed cues and acting on them. But I''m not sure if that''s a good thing or a bad thing, because the experience of acting out a good storyline, even if you are mostly acting as was intended, is as much a part of gaming for me as being able to play around and do your own thing.

Just want to add, I don''t think all the technology or designing in the world will find a way to blend follow-the-lead-designer style gaming and follow-your-own-lead style gaming into one game, and keep the essence of both.

It''s like oil and water.

Share this post


Link to post
Share on other sites
TechnoGoth    2937
The difficulty in creating a dynamic adventure game is the fact that most adventures games have static puzzles and solutions by nature. For instance your example of being trapped in a dark room, if you always have a candle, match and rug. Then the puzzle is static and always the same. You know from the last time you played that you need to light the candle to escape.

In order to make a traditonal sierra style adventure game to have extensive replay ability then you need to make it dynamic so that each time you play things are diffrent. To this you''d have to create a large number of nodes and elements, and then allow the game to assemble these nodes into winable game each time.

For instance let say you 4 diffrent fire generating elements, a match, a ligher, a flint arrow head, and a strip of pottassim. Now depending on which nodes the program has joined together to form this version of the game. The player will have one or more of these when they reach the dark room assuming the dark room is in that version of the game. The player now has to get light into the room put how they do will be slightly diffrent depending which nodes the game posses. You could furthur increase replay ability by randomizing the contents of the nodes. For instance the dark contains map to buryed gold. You could set it up so that the map is painted on the wall, sown into the rug or carved into the candle. That way if the player lights rug on fire, they may do so only to discover they have destroyed the very map they wanted to retrive.


However there is still a static nature to the game since the puzzle have finite preprogrammed solutions.

-----------------------------------------------------
Writer, Programer, Cook, I''m a Jack of all Trades
Current Design project
Chaos Factor Design Document

Share this post


Link to post
Share on other sites
RTF    127
If it were just about a sequence of seperated rooms, each with a puzzle like this it wouldn''t be too bad.

But once you start letting the player do things like, say, blow up buildings and distrupting the entire city around him, you open up a can of worms as to how to model everything he''s capable of doing.

You could restrict what the world lets him do, but that inevitably brings it down to the level of interaction we already have.

So the only real solution is to invent a world and situations that you can feasably design a system to handle with the dynamic range you''re interested in. One way to do this could be to reduce the level of technology(and therefore potential world situations) available until you reach a level that''s doable. The modern world has so many distinct *things* in it; that''s why it''s so hard to recreate in exacting detail. Go back to the Stone Age, and you have a bunch of people, creatures, a few simple possessions, and the landscape. That wouldn''t be too hard to make a game from.

Another way would be to give the player very few real choices. Like a "Robinson Crusoe" game where the player has to build shelter and hunt to survive on a desert island. The only buildings the player gets to knock down are the ones he makes. There aren''t other people around to make stupid AI errors and destroy the sense of reality, either. (Well, if you followed the book exactly there would be, later on, but the earliest parts are what interest people the most anyway.)

And we already engage in a lot of both of these things in existing games. For example, we never see a military FPS game where between your combat missions you get to wander around the local town doing whatever, because it would be too hard to include both the entire off-duty segment and the combat too. So instead it''s simply one fight after the next.

Share this post


Link to post
Share on other sites
Defcon1    126
Straying from the dynamics, if the point is to be able to "discover" your own game, you could have different people you know design different chapters.

For example, your whole team pitches in for the first chapter, which can be as long or as short as you want it to be, and designs the engine and starts off the story, basically getting the game on its feet, then different members of the team, or fans of the game, could take turns using the engine to develop their own chapters with their own puzzles and plot twists if allowed. what do you think?

Share this post


Link to post
Share on other sites
Merle    122
quote:
bob_the_third :
My seed of an idea right now (again in and of itself not original) is to assign properties to each object you create.


The problem I see is: because of the way words are selected in languages (whether you believe it is to categorize or to differentiate), attributes tend to be both ill-defined and numerous.

You had three properties that determine the "flammability" of those three objects. Probably you could create some base classes for the objects that burn readily, can be burnt, are damaged by fire, and are invulnerable. (and these classes would have several properties that enumerate this "flammable" attribute).

Now you move on to, say, "movable". Again, there are a few basic properties (required strength, leverage, maybe something for attached items). More base classes (multiple inheritance).

Now move on to the next attribute... and the next. Once you have fourty or fifty attributes (and a hundred or two quantifiable properties), you can probably handle the simple -- simple -- interactions between a hundred or so objects.

You have a quest where you have to poke something through a keyhole to knock loose the key. You need a property for that (just size doesn''t work as not everything is rectilinear). You have a quest where you need to get past a bull. Might need weapon properties, possibly color+capelike properties.

The problem is that we''re taught to see things in hierarchies. Indeed, much time is taken creating taxonomies of creatures, objects, etc. But in general the hierarchy is just resolving one property at each level of depth -- one view of reality. You really need hundreds of hierarchies minimally.

Plus, consider interactions. A match has properties. A flame does. Combine the two, you have a "lit match". Okay, this could be a flag -- but what if the match is combined with water? It acts differently. What if it''s soaked in gasoline? Very different picture.


I don''t want to discourage you, though. That''s how I picture reality. It''s just been a problem I''ve been tossing around in my head since... well, a long time. Finding a solution for a limited set of items is doable. But if you want reality modelling, there''s just a whole slew of deatil -- and every time you create an object you have to look at all possible interactions, and compare it to all quest types. It starts to get daunting.

Share this post


Link to post
Share on other sites
This is neat thinking, imo, and I wish I were more technically skilled to be able to address the problem in a clearer way, so I hope what I am saying makes sense; it's been a long two days, and IT maintenance weekend is looming starting Friday.

The design side of me is telling me to say to you that the solution lies not in the type of dynamicism you assign to object, it properties or attributes, or a puzzle design, but in how the story is designed that dictates limitations of the dynamicism you seek in the range of solutions that are realistic and comprehensible in playtime terms to the player to choose from quickly.

Having tried not to make that sound like I was puking all over the screen in metaphores, let me give you an example from my adventure game.

In my game design, the world and the levels have a finite array of natural physics and material attributes (gravity, wind, current; densities of objects like wood, water, air, stone, metal). So the levels have a topography and geology pretty normal looking.

The features I design as superior technology and/or supernaturalism supercede in certain cases the preset params for physics and material, giving the player a range of responses in their inventory or ability at that time and place in the game.

The piece of the story that I am designing the level for has a reasonable range of approaches (as solutions to puzzles or escape from traps or inventions/constructions/manipulation of objects/environment/NPCs/opponents/foos) to the complications I compose.

Your assertion that thousands or millions of solutions with varying degress of success, imo may not matter as much as an array of solutions the player can create in a fairly short period of time while engaged in play action. This is based on the assumption that if time is important to satisfaction factors in user play (as percieved as entertainment value by the player), then a zillion solutions are over design, even if perfect or amazingly high standards design.

Put another way, if I were on a fairly complex level, and I had to put together a lot of solution factors in my head while I was running around the level avoiding, combatting or compensating for objects or world attributes while figuring out the solution to the primary or secondary challenge the level contains, at a certain point of complexity or chaos, fun in gameplay becomes a factor of diminishing returns. I hate sitting on a level with a bunch of dead things around me thinking, "HTF do I get out of here, or open this thing, or make this new foo work?"

Am I just amazingly intellectually lazy, or do I want to play in a game, and thinking is something I do for a job or for my girlfriend?

This is based entirely on my naive assumption that in game design, you are going to make your best game if it is the game that you want to play.

So I put myself in the shoes of a player, and realize from my experiences as a game player before I ever started my game design, that super complex levels and majorly intricate puzzles were not much more fun than the fun I was already having trying to discover the larger world mystery driving the adventure to begin with, and what the changes in complexity were really for was the variety of challenge necessary to keep players engaged.

This is the story design process I am talking about as the guide. I don't tell my player everything up front, like in an intro cinematic showing the reason I am going to be playing for the rest of the game, e.g., this is the quest for the treasure of so and so. Rather I'd like to keep them guessing, with hints and glimpses of the larger mystery to discover, and keep their engagement and involvement levels really high.

Maybe I am just speaking with blinders, since I can only see this technique as usable in my type of design, the epic mystery adventure, and am not really seeing a larger game design issue. Fatigue and tunnel vision can cause this, and I am sure you will point out where I'm missing something.

Many game design books point to how in each level you design, there is (without being so formulaic that individual outstanding creative originality is ruled out by strictly interpreted and applied design criteria; for in some cases I have levels that take a few minutes or less to complete, but in other cases, I have levels that are going to take you a significant amout of time, perhaps hours over a few days, to complete. But I give you rewards worthy to the effort so you take away the value of the payoff and still have fun) only so much difficulty or complexity you want in any level, and also many game design books indicate after a pretty intense or intricate/complex level, you want to provide an easier, "cooling off" level afterwards for the benefit of giving the player some mental rest.

So, how much fun in terms of what makes the player play, or makes the player keep going or makes the player rave to their friends is a thousand or more possible solutions? Aren't a reasonable amount of logically (problems solving faculties being engaged by the player in gametime) configurable solutions to any given complications design, whether trick, trap, puzzle or clue solving pretty much all you need to satisfy the vast majority of players?

Are there really so many players of your game, as a percentage of the total number of players who bought your title, going to sit around and say, "It was no fun because I couldn't solve it this way", when in playtesting, that array of solutions design players create during play went through vetting and/or redesign/repurposing for the elusive fun factor improvement process anyway, and you got the best your level could give you?

Will all those innumerable solutions make all players happy all the time?

Am I just completely exhausted after two 15 hour days, making no sense whatsoever, and perfectly entitling myself to flamage, or does this make any sense to the question you asked, or bear any resemblance to even addressing the issue?

Proceed Johnny Torch..

Adventuredesign





[edited by - adventuredesign on August 7, 2003 5:44:31 AM]

Share this post


Link to post
Share on other sites
usser    116
Very interesting questions you raise bob. I have also been tinkering with a similar idea, but instead of focusing on objects and their properties I have been dealing with human interaction and NPCs (that is a topic of its own).

Your idea all sounds good on paper, but as Merle points out, surely you would soon reach a point where the number of properties and actions just got so huge that it wouldn''t be fun anymore to try designing the world.

Take the example of trying to light a match. How would you define the striking surface (of a matchbox)? Would it be hardcoded that the match could light only on the matchbox? Would you define a property for the surface that enabled it to light matches?

But enough pessimism! I consider myself an optimst, so I belive it could be done. But you would need to think long and hard of what properties and actions should be available in the game.

Your original question was if it would be possible to design an an adventure/puzzle game that suprised yourself everytime you generated a new quest. One idea would be to have your players/fanbase submit new objects. This could create a huge array of objects and many potentials and fun/suprising combiniations.

As for creating a "winnable game" I think that too would be possible. Just let the computer use an A*-algorithm for finding the best solution.

Share this post


Link to post
Share on other sites
bob_the_third    122
I''m going to be honest up front. I haven''t completely read all the responses, but I did skim them to get a general feel. I will respond in part here with some more of my thoughts and then more fully later when I''m not rushed.

Everyone: Agreed. It''s a tough problem, and having too many potential solutions could very well decrease the fun factor.

The thing that I want is to be rewarded for my creativity, not for trying a bunch of stuff till I find out what the designer wants me to do. What I liked about the MI series was the humor and fun-ness of the story and the feel of the game. What I didn''t like was the gameplay that went like this:

"Well I tried the cheetos. Hmm. Is that a monkey in the corner. Don''t know what good it would do, but let''s try every command on it...Well I''ll be, that was it!" I feel like a person trying to brute-force a combination lock. Ick!

Instead it would be great if I could say, "Well I need to get out of this room...let''s try the axe. Yeah, that worked but somebody heard me. I wonder if there was a better way. Won''t know till it''s over, and maybe not even then."

I really hated it when Guybrush would say, "I''m not picking that up." or "No." or just not do stuff. It all seemed very arbitrary because it was statically designed.

So what I''m thinking is this:

You define the objectives, scenes, and objects. Using genetic algorithms, a software tool suggests object selection (but not necessarily placement) for each room that meets the requirements you set.

More later. I gotta go.



Share this post


Link to post
Share on other sites
Merle    122
quote:
bob_the_third: You define the objectives, scenes, and objects. Using genetic algorithms, a software tool suggests object selection (but not necessarily placement) for each room that meets the requirements you set.

I think it works for a simplified situation like that, where the player is wandering through rooms, and each room contains the items needed to get to the next. For one puzzle, the model holds up, but I''m worried about what happens in a non-linear game.

The trick comes when there are many different areas, a number of barriers, and items scattered around. You have to scatter them so that you can get past each barrier, preferably in several ways (otherwise why have such a complex model?). And the system has to predict usage and compensate.

For example, in the starting area you have axe, match, tinder. First blockade is a door. In the second area, candle, and the blockade is "generate enough light". If the player uses the axe on the door, everything works out, but if they use match+tinder to burn the door down, there won''t be a way to light the candle (unless you unrealistically leave the door burning).

Of course you can remedy the system by just dumping in lots of objects, but I don''t think the game would be much fun then...

Share this post


Link to post
Share on other sites
RTF    127
After some more thought I came up with the idea that one could build his puzzles in a modular sense, like with a "puzzle game" rather than an "adventure game." The only things seperating the two are story elements and puzzle diversity, so bridge the gap there and crank up the production values and you''ve got the game you''re dreaming of.

I think interactive fiction has it''s graphical cousin beat soundly in the "creativity allowable" category, but not really exactly for technical reasons - it''s more a matter of how much of the graphical potential and detail we feel up to sacrificing for gameplay possibilities. Being able to move/malform/destroy things is critical to so many adventure puzzles that large parts of your game could be based around a system that lets you do your destruction anywhere you like - for example, making it overhead and tile based would greatly simplify the process of giving extra options to the player. Using a more abstract(even only slightly) dialogue system would also give the player additional options - just have the player ask others to follow him or use their skills!

I think a VERY effective system would combine abstracting of the general game world with the more standard gameplay with detail and fixed solutions by limiting the detail to a few game-critical areas and integrating them as best as possible so that the player doesn''t really notice unless he''s really paying attention to the technical details that "hey, it doesn''t work this way anywhere else!"

Share this post


Link to post
Share on other sites
LizardAl    122
To the OP:

You may want to check out the paper Agents in Annotated Worlds (links to the actual text are in the upper-right corner of the page), as I think it touches on a number of ideas that you would find useful. There are also a few old threads, most started by bishop_pass, discussing variations on this idea and implementation strategies. A quick forum search yields Annotated Objects which drive behaviour, The annotated cellar: an experiment, and Annotated Objects (Discussion on Implementation) as the most important discussions.

If you don''t want to read all that (can''t blame you, I suppose), the general high-level gist as I understand it (keep in mind that my memory is fairly foggy this morning ) is objects in the game world have certain affordances which they broadcast to other objects in their vicinity. These other objects can then determine which, if any, of these affordances they want to use/activate/whatever.

A simple variant I was playing with some time ago for a TBS game replaces the general concept of affordances with three more concrete categories:
  • Properties - some intrinsic aspect of the object. (eg. health)
  • Passive capabilities - define how an object responds when it is part of a game event; this may consist of modifying properties or generating new events. (eg. what happens to an object that has had a freeze spell applied to it)
  • Active capabilities - define what game events an object can create, which objects they affect, and their initial, unmodified effects. (eg. attacking)


Obviously, these would be defined differently for each object, and each object would have dozens of properties and capabilities.

Also, the notion of every object having potentially dozens of uses makes a game very hard to balance properly. As a (simple) example: the player is sneaking through a town hall/manor house - she wants to find the keys to the armoury (which has a heavy iron door) so she can eat in its renowned mess hall. What''s to stop her from simply taking the curtains off the windows and using them to burn down doors in the town hall rather than trying to pick locks or find keys? Unless you have a very robust and intelligent NPC system, you''ll have a severe problem of the player being able to do many things without consequences in the game world.

Just some thoughts; I''m off to make breakfast.

Scott

Share this post


Link to post
Share on other sites
bob_the_third    122
Good points, all. A statement before anyone gets the wrong idea from my posts. They are not intended to be arguments for the feasibility or lack thereof of what I'm proposing; just a verbal communally expressed thought process.

Okay, well I've had some more thoughts on this since my last post.

quote:
Unless you have a very robust and intelligent NPC system, you'll have a severe problem of the player being able to do many things without consequences in the game world.

Absolutely. That's a huge hurdle. One thought, again going back to genetic algorithms for object placement would check solutions for obviousness/ease and might discard those that match the criteria set by the designer for "cheat" solutions (such as grabbing the curtains and setting them on fire to burn the place to the ground; for example, there might be a large crowd that would notice the flames or smoke). Basically when such an undesired solution is detected, its dependencies are probed and the software tries to find a way to prevent it through object/NPC manipulation without seriously disruption any of the desired solutions.

Okay now about those objectives. I originally thought you'd want to designate a linear series of objectives that the player would follow. Problems with that include:

(1) The player may not follow a linear path (they don't have to after all); so now what?

(2) The linear objective model was (I assume; correct me if I'm wrong) created to accomidate the static adventure game's limitations (not making a value judgement on this type of game; this is merely refering to technical limitations).

So what if instead of layingdown objectives like "Get out of room A -> Get the key -> Rescue the convict -> ..." the designer instead wrote what amounted to a story, i.e. there were NPCs that went about their business according to a story your write, BUT they have rules of interaction that allow the story to be disrupted/manipulated dynamically based on what you do. The question of whether you win or lose the game would not be based on the meeting of a string of objectives but on the satisfaction of one or two high-level goals. Object placement would still be based on objectives, BUT those objectives would be put in place to avoid trapping the user. In other words, we want the user to always have a way out of bad situations, so if you have a room, they need to be able to get out of it, etc. I understand this could very well be a balancing nightmare.

I guess the basic premise is this: This world exists, it has rules, there are characters going about their "lives" in a story, but you can alter the story by the things you do. If the ending is good, you win. Otherwise you lose. The game should attempt to be as forgiving as possible in allowing you not to get yourself stuck, plus it should try to always give you a reasonable tool set so you have the freedom to be creative. Some of this could be dynamic; some would be precomputed at scene design time.

Again (this is becoming a familiar refrain for me ), more on this later. My basketball goal is calling

[edited by - bob_the_third on August 9, 2003 3:20:16 PM]

Share this post


Link to post
Share on other sites
Impossible    134
Interesting stuff here. I personally think this is why the adventure genre died, you can try logical solutions to things but because the designer didn''t think of or want you to use that particular solution you just end up with a "I don''t feel like doing that" from whatever character you''re controlling. As for the object properties thing, a lot of games do this on a basic level. When you start to have objects with certain properties that can be reused on other objects and will always interact in a specific (algorithm instead of scripted) manner you have more of a puzzle game, like Lemmings or something, than a traditional adventure game.

One of the things I''ve liked about adventure games is they have always done a very good job of telling a story. The adventure game, moreso than any other genre, is the best storytelling platform because it''s so character based. I wouldn''t mind a game with a linear, Lucasarts-like, storyline and dynamic puzzles. So instead of having "you need to do x and y to get z" you just have a final condition z and you can use the basic object properties\actions to active this goal. The advantage of this is, although you lose the benefit of whacky puzzles that are unique every time, you don''t feel frustrated when you come up with an interesting solution that could work but get no response from it because the designer didn''t script it.

Making the narrative non-linear, however, seems a little trickery. While other genres (strategy, RPG, action, racing, etc.) all work well with non-linear gameplay, and each have a great games with non-linear structure, I can''t think of an adventure game that has more open-ended, non-linear gameplay (maybe the Last Express?) I guess there are a lot of games where you can solve certain puzzles in arbitary order, but in the end the overall storyline plays out the same. Maybe multiple "mini-stories" and side adventures would work? Basically the goal is to reduce the "I''m stuck and don''t have anything interesting to do" feeling, the biggest gameplay flaw in adventure games (along with hunt the pixel style puzzles.)

Share this post


Link to post
Share on other sites
bob_the_third    122
quote:
So instead of having "you need to do x and y to get z" you just have a final condition z and you can use the basic object properties\actions to active this goal. The advantage of this is, although you lose the benefit of whacky puzzles that are unique every time, you don't feel frustrated when you come up with an interesting solution that could work but get no response from it because the designer didn't script it.

My point exactly, but a bit more clear.

quote:
Making the narrative non-linear, however, seems a little trickery.

Yep. It does seem like it would be tricky. One of the nicest things in the MI series was the clever character dialog. A non-linear game would pose a big challenge for a designer who still wanted the wacky-dialog feel. One approach would be to script all the dialog up-front and dynamically generate any deviations from it. All characters would "talk" to each other. So if for example you (the main character) wind up taking the place of an NPC in a certain scene you would engage in the conversation scripted for the NPC.

It might be easier to create a conversation engine. Tall order, but it doesn't need to be able to pass a Turing test, just play well. What if the designer created a speech model for each character. This would consist of a vocabulary, favorite phrases (with associations to events, conditions, feelings, etc. in the game world), taboos, preferred sentence structuring, etc. For example, the town philosopher might have a vocabulary of a million words, prefer to use long words over short, prefer long multi-part sentences over short ones, and might avoid all sarcasim. Actually, hold the phone, I just had a thought (wasn't that cliche! ).

Dynamic humor. Should be possible right? Take sarcasim for example. What is sarcasim? It's stating one thing but meaning the exact opposite and giving that away in the voice or face or both; generally it's used when you're annoyed or angry, and often as a rhetort to an opinion or suggestion that you scorn. As a start, why not take a statement of fact, invert it and then restate it with a few derisive phrases thrown in for good measure. Example:


ORIGINAL SUGGESTION: "I think we should bulldoze the city damn. It's disrupting the salmon migration!"

IMPLICATIONS: - The town would flood.
- People would drown.
- People drown because they can't breathe water.

TRUTH: We can't breath water. Therefore the city damn should not be bulldozed.

INVERSION (FALSEHOOD): We CAN breath water. Therefore city damn SHOULD be bulldozed.

SARCASTIC RHETORT: "That's a great idea. Let's bulldoze the city damn. Everyone knows we can breathe water!"

Notice that one of the keys here is following a chain of logical implications and then choosing the most interesting implications to derisively expose.

Really sarcasm boils down to an exercise in logic and grammar. I suspect it could be handled by a program. I suspect other types of humor can be automated as well (they're automating everything these days, aren't they?)

Note that I'm not talking about intelligently generating conversation. I'm talking about taking pieces of already intelligent and meaning-imbued conversation and using them to generate sarcasm and other such replies.

[edited by - bob_the_third on August 10, 2003 5:37:24 PM]

Share this post


Link to post
Share on other sites
Impossible    134
Dynamic humor seems really difficult, if not basically impossible to do correctly, but I''d like to seem someone try it. I think humor would have to be something that''s scripted and triggered on a context sensitive basis. If you already have predefined goals, you can trigger humorous animations or comments when the player suceeds. You can also have the actions the player is performing themselves be humourous in a slapstick way. Your sacarsm idea is clever, but sacarsm isn''t the only type of humor and in many cases it''s annoying rather than funny. I also have a feeling that doing algorithm sarcasm in that way would break horribly, not to mention that it would be very difficult to come up with those logical relationships.

Share this post


Link to post
Share on other sites
coderx75    435
Very interesting concept...

I haven''t read all the posts but I''ll take a stab it it.

Create a system which dynamically creates the world. This system would have a library of puzzles which would require multiple "keys" to solve. This puzzle/key relationship could be riddle/answer, door/key, box/opening tool (perhaps crowbar), etc.

Some puzzles could be trickier. For instance, the old "trapped in an exitless room with only a wooden board and a saw" puzzle. It would be better to create an algorithm which could match up situations with different objects. This, I''d imagine is where your "object descriptions" would come in to allow for complex object interactions.

Another set of data that the system could build from is a locale reference. These could include things like a forest path, a livingroom, etc. These locales would have grouping and valid object types. The grouping would let the system know that forest path is in the forest grouping and that livingroom is in the house grouping so that you don''t find a livingingroom in the middle of a forest path. The valid object types would discern between objects so that you don''t find a tree in someones livingroom.

The system then organizes the data into a world. Start off with several accessible areas, all interconnected. One or two of these areas are the way out and most of them hold pieces of the "exit" puzzles. These exit puzzles would each lead to another set of accessible areas and so on and so on. As the world gets deaper, the system attempts to generate harder puzzles.

This would be one hell of a design challenge. G'' luck!

- Jay


[ Here, taste this ]

Share this post


Link to post
Share on other sites
bob_the_third    122
quote:
..., but sacarsm isn''t the only type of humor and in many cases it''s annoying rather than funny. I also have a feeling that doing algorithm sarcasm in that way would break horribly, not to mention that it would be very difficult to come up with those logical relationships.

Absolutely. I realized after posting that the greatest difficulties in automated sarcasism are:

1) Enumerating all (or at least most) logical implications of the condition, suggestion, or statement to react to.

2) Choosing the appropriate implication or set of implications to react to.

You could however get at least the first level of implications by "looking one move into the future." Simply put see what happens, then report on that. Chains could be hardcoded. Of course I personally don''t want to spend the next 2 years telling a computer that people drown in water and drowning is inhaling water and people can''t breath water, so...

Not sure how to handle this problem if it is feasible at all.

And yes, there are other types of humor. Puns for example. Of course puns should actually be easier to do than sarcasim because they don''t rely on logic; they''re pure grammar/phoenetics.

Then there''s your regular old joke, but I''m not sure you''d want too many of those. This guy walks into a bar...

Beyond that, you have wacky situations which the designer builds in (and could be dynamically created by rules that determine interesting juxtaposition of events and objects both physically and temporally). The same could go for dialogue. How to be shocking: the rules, for example.

That should really take care of the humor aspect. So really, sarcasm looks like the hardest part to do dynamically. But if you could somehow build/get access to a "common sense" database, it should be possible too.

As to the irritation factor, sarcasim is NEVER annoying... Really, it would have to be done in moderation. Some characters would never be sarcastic; others only when angry. Others all the time, or only when in a silly mood.

Keep things varied enough that the user doesn''t grab the power chord out of the wall and scream, "Die, die, die!"

Share this post


Link to post
Share on other sites
Impossible    134
If you think about it, a lot of games have emergent humor. Being emergent behavior, it usually isn''t purposely put into the game, but is usually a result of flaws or limitations in the game system or purposeful humorous acts perpetuated by the player(s). There have been only a handful of games I''ve played that have scripted humor that is actually funny (DOTT, NOLF, Grim Fandango, Monkey Island games), but some of the most humorous stuff I''ve seen in games has not been scripted (CS, Quake, my own crappy "games", the Sims, Tekken 3, tons of other games.)

Maybe you could take emergent humor, which is usually because of some kind of funky bug or another emergent property, and use it to your advantage. It probably wouldn''t work for any kind of spoken humor (jokes, pun, sarcasm), but a good deal of humor is not spoken jokes. If you look a old cartoons a lot of them rely largely on slapstick. Tom and Jerry and Roadrunner are the most extreme version of this because the characters almost never talk. This kind of humor would work well in a game I think. Look at Q3A, in FFA deathmatch it basically is a slapstick cartoon. A lot of humor is situational (Seinfeld, the Simpsons) so simply allowing for funny consequences rewards and actions in your game, instead of explicitly writting jokes or creating a funky conversation analyzer, could be a better idea. Using the algoritm puzzle system for example:

Major Goal: Get the top secret files in the dumpster. Unfortuanately, the dumpster guard has been hired to kick anyone attempting to enter the dumpster in the balls.

Characters:

Dumpster guard: He''s not very friendly and if you try to approach him you generally get kicked. Being a dumpster guard sucks though, and he doesn''t make much money. His deadly secret is his fear of chickens. He leaves his post every once in a while, but always keeps a close eye on you.

Bum: he knows the area very well, and he will give you suggestions and hints about the surronding area.

Store clerk: Convience store clerk. She''s very bored.

Items:

Various items you would find in the convience store.

Possible solutions:

Use a chicken on the guard. Eggs produce chickens when they are exposed to medium amounts of heat.

Rob the store and bribe the guard. Pretty dangerous, but if you can scare the clerk enough you get any item from the store, including cash.

Somehow incapacitate the guard.

Find another way into the dumpster area (sewers, etc.)

Convince the clerk to stall the guard when he leaves his post (normally he follows you out of the store.)

Yes, a lot of that scenario is scripted. But because of the actions, items, characters etc. you end up with some funny possible solutions. A lot of the gameplay in this scenario, like the character relationships (hate, neutral, like, etc.) the fear\like\dislike system, physical actions and reactions, etc. would be generic properties of the gameplay, not hardcoded stuff. So in theory you could do this (in an imaginary scripting language):

character guard
{
hates: player (attack), bum (attack)
likes: money (distracted), clerk (distracted)
fears: chickens (run)
}

but you could do this just as easily:

character guard
{
hates: clerk (attack), bum (attack)
likes: chickens (eat), player (chase)
fears: ninjas (faint)
}
This has changed from some suggestions on how to implement humor to suggestions on how to implement the overall architecture, but this does prove that the architecture can support humor. I''m not so sure if that example offers much more than what you''d have in a standard adventure game, but in theory it is all based on combinations of generic code and behaviors that can apply to any character or item, instead of being hardcoded.

Conversation is probably the thing games do worse than any other medium because with current technology it just can''t be done that well interactively. Parsers suck and frustrate the player even more, and branching conversations, while they can be entertaining, are limited are require a good deal of scripting to work.

Share this post


Link to post
Share on other sites
Neoshaman    180

well my speach may sound a little odd due to my english ability since i''m a native french speaker, i apologize in advence for the murder of the language of shakespear

Well the major issue we have to deal with dinamic adventure game is the story, having a large amount of liberty ofthen mean diffuse story. The fact is i have many friend which play both pc and console rpg, pc are more simulation orianted and console are more adventure/story orianted, then pc rpg are more free but less immersive in story way than console which are mainly very immersive thanks to the story alone (MI game like too) but are completely linear. that''s what my pointed out, pc game is good but they like console''s have greater story that''s why they plays them.

well some people sez that it''s impossible to tie them together in a effective way because game is related to the future, things we will make, when story is related to action which are already do and are stuck in the past. there''s a imcompatibility...

well i wasn''t satisfied then i start to think of the matter,
the major issue is that story is define from the start there is no choice to make when game is all about choice, where is the point where game meets story??
game is about decision as i say since we are designing game we have to seek where story is about decision...
who makes decision in a story? the answer is quite easy it''s the scenarist. then what''s the purpose to the scenarist? telling a good story but we get into dead end, we must rephrase in order to fit with video game aestetique...
i suggest that a scenarist use character with goal which are in a certain situation and have to deal with the situation in order to achieve their goal, they have to fight against fate and lose or win, whenever they lose (drama for exemple) or win at the end the story is good.

well with this definition we have a well setting to convert story to game, a dinamic story will be about a character (the player) in a certain situation (the story setting) wich deal with fate (plot of the story), it''s kinda like the story himself has a will, a goal to acheive (what the scenarist want to say, the theme), this will i will call it FATE
then the game deal with the player as an opponent.
Setting a world where the player gained possibility in the way he play and react to agent in the game, these agents have their own goal to achieve but all things is related to the whole story and create fate
simple ex
the basic setting of good and evil, make the king of evil to actively made decision that affect the world like attaquing village but on his own, make good guys that oppose him and put the player with a significant fonction between them, in the way that each action of the player affect one side or the other.
since the story is dinamic whenever the player do or not do it will have a real consequence on the fate of the world, not letting events wait for the player like the gentle princess wait the brave prince dare to move his lazy ass. Action that''s also affect player''s freedom. Like being in one side provide some avantage but some obligation restriction if the player use to ran away people actively in shearch of him creating event through the world and affecting really what''s happen.Well that''s keep the story always in move.

this required to the story universe to be simulated in a new aestetic sense.

the game who picture me that was surprisely a script game...
it was majora''s mask
in the main village everything where tie to an event: the falling of the moon and the imminent destruction of the world, this make a great coherence to action and story while every single character has goal and desire directly or indirectly related to that whole issue, and since the game was time based seeing every body live their live in real time and seeing the effect of each of the player action through the three day was a very good experiance for me, this was only on three day with only few character but since character was well define and have many relation with others in order to an action on one character have action directly or indirectly with others life.
It''s really the moon which drive me to the concept of FATE


>>>>>>>>>>>>>>>
be good
be evil
but do it WELL
>>>>>>>>>>>>>>>

Share this post


Link to post
Share on other sites
Bossk    100
Adventure games are traditionally like books, and all books are linear. Once you read them, that''s it, like the OP mentioned. So the only way I see of making adventure games still conform to what they are (digital narratives) and yet give the player extra freedom is to model them after a different type of book: Choose Your Own Adventure. They''re great examples of nonlinear books. All adventure games I''ve ever played have a definite middle and end, if you could change that so that every action the player makes affects the game, and did it well, it would be a real fun game to play, and then play again (to get a different ending), and again ... because every time you played, you''d get something totally different.

Share this post


Link to post
Share on other sites
Impossible    134
You are both mainly talking about adding nonlinear stories to adventure games. While nonlinear stories would be nice, it''s not that important. The problem with most adventure games is they also have linear gameplay, and the linearity of the gameplay is what often causes frustration. Neoshaman talked about PC games vs. console games (RPGs for the most part), and although the console RPG is one of the most linear genres besides traditional adventure games there are a least multiple solutions to the core of the gameplay (the battles.) In an adventure game, for the most part, there is one solution to any given puzzle.

In console RPGs, any given battle can be won many ways using a combination of basic actions in a winning sequence. In order to beat the Ultimate Hot Pink Atma Weapon X in Final Fantasy XXX you wouldn''t have to follow a specific sequence of "fight, fight, cure 2, fire 3", you could use any sequence that keeps your character alive and kills the enemy. In a traditional adventure game however you absolutely have to use the ice block on the old lady to get her to drop her dentures. Generally there is no other way to solve that given puzzle.

The goal is to end up with multiple emergent solutions to a given puzzle, instead of one scripted solution (linear book), or even multiple scripted solutions (choose your own adventure).

Share this post


Link to post
Share on other sites
bob_the_third    122
quote:
The goal is to end up with multiple emergent solutions to a given puzzle, instead of one scripted solution (linear book), or even multiple scripted solutions (choose your own adventure).

Bingo.


quote:
A lot of humor is situational (Seinfeld, the Simpsons) so simply allowing for funny consequences rewards and actions in your game, instead of explicitly writting jokes or creating a funky conversation analyzer, could be a better idea.

I agree...but you worded it more clearly than I did here:
quote:
Beyond that, you have wacky situations which the designer builds in (and could be dynamically created by rules that determine interesting juxtaposition of events and objects both physically and temporally). The same could go for dialogue. How to be shocking: the rules, for example.


However I don't think dialogue should be neglected.

[edited by - bob_the_third on August 13, 2003 7:10:33 PM]

[edited by - bob_the_third on August 13, 2003 7:12:21 PM]

Share this post


Link to post
Share on other sites
Neoshaman    180
quote:
The goal is to end up with multiple emergent solutions to a given puzzle, instead of one scripted solution (linear book), or even multiple scripted solutions (choose your own adventure).



well i have barely try to say that the story has to be emergent too if you want it non linear (but my english skill just drop me into complicated explication)

linear game worked well because they can provide strong immersion trough strong feelings because everythings is set up in advence but you can''t do much that the designer built for you, you don''t have to meke dcision or choose goal, you have a fct, a role and you have to keep it.

in most game which has a story you actually don''t play that much the story you''re not really involve in the flow of the universe... you can only have freedom on additional gameplay (like puzzle or fighting system) which supports the narrative by giving you a way to turn page and see what happen next.
But what is happen next is not related to your decision, you are an ''activ-passive'' more than an ''active''

well there is simulation game the sense of story is break because things happen without any sense, they just...happen

well i try to explain is that we can made good non linear story if we can think of a way on playing the story not add on gameplay to the story that brings illusion to do something like puzzle or fighting, i do not want to be a dumber any more.
Action must make sense in a narrtive thought, puzzle which are not only puzzle but action which affect the whole world and have meaning in the story, from npc or the player...

then we can make emergent story with emergent gameplay

>>>>>>>>>>>>>>>
be good
be evil
but do it WELL
>>>>>>>>>>>>>>>

Share this post


Link to post
Share on other sites
bob_the_third    122
Neoshaman: I share your sentiments.

While the MI games were fun, the puzzles really weren''t always very logical and they drove eachother. Each puzzle was designed to allow you to get what you needed for the NEXT puzzle. I''m not really interested in puzzles. I''d much rather have a dynamic emergent story. Some of that story can be scripted; well not really scripted, but rather SEEDED with a script. The difference is that seeding it with the script basically means that if the script is followed by all characters exactly, then the result will match the "ending" of the script. But the main character can deviate from the script as they see fit. Their deviations cause a ripple effect which cause the NPCs to deviate according to the rules of the game world. Thus the story mutates in response to the player. Basically you get to play a book and see what ending you get. Is it anything like the "intended" ending? What other endings can you get?

This idea is very intriguing to me.

One issue that must be addressed is the Fail -> Save -> Load -> ... loop. I don''t like it. It''s like having to backup your work on your computer: an odious task that''s fraught with slipups and frustration. A better solution is needed.

So my better solution? Store a branching timeline recording every single event that happens in the game world. It autosaves as to not bother the player. When the player gets stuck in the well with no way out, they pull up the timeline (or rather tree I guess), selects the point the want to go back to by event or gametime, and starts again. At this point another branch is added to the tree; think of it as a parallel universe. If you play for a while to point B, get stuck, go back to point A, then play to point C, you have a tree that looks like this:


A
/ \
B C

So there are now two different event paths from A. Kinda like the sci-fi idea of alternate parallel universes that enumerate all possible actions.

This system would never burden the user with saving their game and would permit them to try as many things from as many points as they wanted without overwriting any other part of their game progress.

The obvious hurdles are storage space required and the speed of performing the autosave. Both are big, but I think the speed is the bigger of the two. As to the size, if you only have one save-file per user for this game, what''s wrong with it being 50-200MB? However having to log to file constantly would greatly slow down most games. RAM buffering would be a must, but still you''d have to go to memory frequently to reduce the ods of a crash resulting in a loss of data. The less frequently you flush the file to disk, the faster it will run, but the more likely the player is to have to replay something. Both are irritations. Clearly this needs significant thought and design work.

Okay, time to stop fighting sleep. YAWN....

Share this post


Link to post
Share on other sites