Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Iinformation as a crucial gameplay element

Kaucukovnik

Cipher
Joined
Mar 26, 2009
Messages
488
RPG quests and plot events usually operate on the basis of true/false flags. Games are unable to interpret player's actions in context.

Example no.1: Assassination quest. The moment the person drops dead, quest is completed, even if you shot your target from 200 meters, unseen, and ran away to hide. Nobody needs any proof that it was really you - the target is dead and nobody except the player could have done it, after all.

Example no.2: You are a hero in certain town, you have saved half of their children and trade routes are secure thanks to you. Then you assault a man on the street and the whole city guard goes after you, without a single question.

Example no.3: You are considered a scum in that town. A noble man approaches you, accuses you of something (doesn't even have to be truth), attacks you, you kill him, and...nothing. Guards are fine with that since he started the combat.

Except for when the situation is pre-scripted, but you cannot script every possibility.


The more realistic the graphical presentation of games is getting, the more pathetic such game logic looks.


There was a discussion about a detective RPG some time ago. You cannot properly make such a game with the kind of systems we have now. Scripting all those possible lies, misconceptions and false clues would take insane amount of time, and the result would be extremely vulnerable to game-breaking bugs.
All the detective games so far basically let you just walk in the footsteps of the detective, find already existing solutions. You don't solve anything because there is no way you could operate with information within the game. You are just recreating an existing story.


What I'd like to see:

You assassinate the king in his sleep and silently disappear. Then you approach someone and you can tell him:
-The king is dead.
-I have killed the king.
-Person XY has killed the king.
With the appropriate results, like disbelief, calling the guards, blackmailing, person accused by you getting arrested, etc.

If such interaction would be possible, we could get an RPG where you write the story, you would play the story itself, not just the filler combat and subquests in between.


Any ideas how to accomplish this? Does any existing game incorporate similar possibilities?
For example i can't imagine a way to make a game distinguish between shooting someone by accident or deliberately.

I think the best way would be an MMO, if you could find the audience interested in anything beyond phat loot and exp.


Excuse this chaotic post, I find myself surprisingly unable to express my thoughts properly - I hope all this mess makes some sense. My examples are pretty lame too, all the mentioned silliness can be avoided by much simpler means than what I'm proposing. Still I hope you get the picture.


The basic message is that current games can operate only with truth or pre-scripted lie, and cannot put your actions in context.
 

crufty

Arcane
Joined
Jun 29, 2004
Messages
6,383
Location
Glassworks
context is one of the hardest problems for computers to solve. comuters are by definition on or off things.

still you raise good points.

i have been mucking around with IF engines--most are dedicated to context. "Put on the brown shoes." -- many engines, if you aren't wearing brown shoes, and there are brown shoes in the room, will trigger the actor to first pickup the brown shoes and then put them on.

i also think they are more suited to the task for this kind of stuff, because nobody has to program the results...you just have to write text.

So, to show guards looking at you suspiciously you just have to have a guard emit "The guard eyes your party with suspicion." in the players mind that guard's behavior is set: no having to code the guard moving around the room with the players in real time, no having to code shifty looks or anything like that.

The big downside with IF games is they are all oriented towards adventure games and so there is a big gap in terms of stats etc. so this means its own set of challenges.
 

GTMatt

Novice
Joined
Jun 8, 2010
Messages
8
For example i can't imagine a way to make a game distinguish between shooting someone by accident or deliberately.

Does real life distinguish this well? I guess lawyers look at two things: Did party A shoot the bullet that killed party B, and did party A have a motive? (Then again, I'm not a lawyer, so take that with a grain of salt).

I don't know how the hell you'd track motives in a game. You could tie it to a 1-100 relationship scale and add racial/faction modifiers, but in the end both real life and games are doomed to be hazy there.

There was a detective MUD back in the day - Modus Operandi - but I have no idea how sophisticated it was.

If I were to design a system for that kind of thing, it'd go something like this:

-all mobs get an integer referencing the unique id of whoever landed the killing blow on them
-all mobs get an integer referencing who dealt the most damage to them in the past X minutes
-allmobs get an integer referencing someone to be framed for the death, specified by the killer before killing.

A skill allows a character type to utilize abstracted evidence to discover the above attributes - but a successful check will only bring up one. Skilled detectives are better at finding the one who dealt the death blow, but skilled assassins are better at covering their tracks.

Various circumstances add a skill check penalty to the detective.

A big city is going to have skilled detectives who can easily find the identity of the killer. They'll compare it to your motivation score - penalized by being an "outsider" as most PCs are - and blame the player.

Smaller villages might have a wise man who is an OK detective, but that's balanced by a WORSE outsider motivation penalty, since smaller communities want to blame ills on outsiders.

Maybe add a reputation modifier too...
 

TheApostate

Novice
Joined
Jul 12, 2010
Messages
9
Maybe add a reputation modifier too...

This seems like the easiest idea. To use the OP's examples (2&3), have guard attacks check for reputation relative to the player. You'll still take a reputation hit for #2, but a small one in comparison. For #3, the check will lead to the guards attacking.

As for #1, the quest can be set so that you have to either escape/get caught to finish the quest. AS far as the stealth aspect, that's been done. As long as no one sees you fire, or there's no line of sight to to the player, then you can get away clean.

-all mobs get an integer referencing someone to be framed for the death, specified by the killer before killing.

Not sure if they should be player-specified, but a framing mechanism sounds awesome. Maybe player-indicative, in that the game chooses a possible mob target based on certain factors (proximity, faction . . . ) and the player can manipulate an NPC into fulfilling those conditions.
 

Alex

Arcane
Joined
Jun 14, 2007
Messages
8,753
Location
São Paulo - Brasil
Kaucukovnik, what you seem to want is already doable in storytron. The story engine is made to have characters react to actions according to what they know. So, if you kill the king, and the verb is written so the only ones that acknowledge it are the ones in the same scene, the npcs won't magically know you are the one that did it. So, it shouldn't be impossible to make the same thing ins a traditional rpg.

Case in point, if we were making a detective rpg, it would be possible to allow the player to make his own postulations by forming "phrases". For example, the phrase "Kaucukovnik was unaccounted for between 7:00 amd 10:00 AM" could be used to show that he had the opportunity to commit a crime that occurred between those times. Proof for this phrase could be given in the form of gathering testimonies and using the gleaned information to show a hole in his schedule.

So, it is possible to create a program that allows you to create your own "truths", and as Storytron shows, it is possible to make npcs react to these "truths". To make this be completely generated on the spot, like you would need to do to use this in something like a MMO, would require a lot of subsystems running in the game, and would be a lot of work, but still would be feasible, I think.

So, it is just a question of modeling the exact kind of system you want to have in your game. If you want, you could have a subsystem where characters can be disguised, and other characters will see them as the one he is trying to impersonate (possibly based on his skill in disguises). So, any actions he takes will be remembered by present npcs as belonging to the other character. You would also need to make your inference system account for such possibilities (so you can show that there are reports of a character being in two places at the same time). But once you have all systems in place, you could use disguise to pin up the guilty of any action on any character. My point here is that we can make anything affect the narrative of a game, as long as we model the way characters work around it.

Finally, be advised that you may even make a good simulation, but computers won't really be able to tell a story by themselves. You can use this kind of system to tell stories by setting up situations and modeling the possible outcomes so the game story would gravitate around a clear premise. But if you are making something like an MMO and using such a system to make the game more interactive, the end result would be much more like history than story. Not that this is a bad thing, but it is a limitation people should be aware.
 

Alex

Arcane
Joined
Jun 14, 2007
Messages
8,753
Location
São Paulo - Brasil
Sorry, Elzair, I can't seem to open the link (or anything on that domain for that matter). Could you sum up his arguments?

By the way, I agree that it is a quite difficult problem. Fortunately, some people already tackled it and got some interesting results, so it isn't like we need to reinvent the wheel. But you do have to design your whole game around this concept if you really want to use it, so it may be more trouble than most indies would want to deal.
 

janjetina

Arcane
Patron
Joined
Mar 28, 2008
Messages
14,231
Location
Zagreb, Croatia
Torment: Tides of Numenera
The examples that the OP is referring to are most easily solved by introducing additional variables and if clauses.

The thing that I guess the OP would like to see is NPCs using an inference algorithm in predicate logic (forward chaining using a part of the knowledge base restricted to the situation?) to reason about the PC and the portion of the game world they are concerned with, with NPC-specific and group-specific knowledge contained in a knowledge base.
This is difficult. First, there is a problem of knowledge representation. Categorizing each object and forming taxonomies requires work, and is a prerequisite for everything else.

Then all possible situations (i.e. game world states) need to be coded and described by axioms with respect to possibility and effect (which in practice means there have to be run time variables exactly like the ones in "normal" games to code the necessary states), you have to deal with the predicates that change with PC's actions, so actions need to be described by axioms with possibility and successor state axioms (the ones dealing with effects of the actions, by enumerating the effects that cause certain axioms to become true and others to become false). This approach can work for simple situations where only one agent (PC or NPC) at a time affects the world. For a general reasoning about the world state that can change as a result of simultaneous actions of many agents (PC or NPC), or even as a result of a passage of a certain amount of time, a similar approach, with an event based reasoning over time points and intervals rather than over situations.

In your example, of telling a NPC some information that may or may not be true raises additional questions. The NPC may choose to believe you or not and will act on it in a certain way. However, here a difference arises between knowledge and belief, and there is a question of this knowledge (or belief) propagating over the game world (or not), but the biggest challenge is building an appropriate speech recognition system that has to be elaborate enough to describe the game world in detail (no problem, since it operates an an already built game world ontology) and good enough to recognize natural phrases involving those objects. I've already written a bit on that, very complex subject, on another topic so I won't repeat it.

My suggestion is that you first try to devise a system for a small part of the game world - a combat encounter between a few characters is an ideal example, as it essentially involves every necessary feature needed to simulate the game world, on a much smaller scale. Then compare it to the scripted combat, with respect to time and space requirements of the respective algorithms and of course with programming time (i.e. money requirements).
 

Alex

Arcane
Joined
Jun 14, 2007
Messages
8,753
Location
São Paulo - Brasil
janjetina said:
The thing that I guess the OP would like to see is NPCs using an inference algorithm in predicate logic (forward chaining using a part of the knowledge base restricted to the situation?) to reason about the PC and the portion of the game world they are concerned with, with NPC-specific and group-specific knowledge contained in a knowledge base.

Well, actually this isn't strictly necessary. While it can add a lot of depth to gameplay, there are other, simpler ways to achieve what I believe the OP wanted. For example, in Storytron, you could implement a verb for killing and have other characters react to it. For example, is someone saw you killing the king, he could, if he really liked you, lie about who did it. If he lacked scruples, he might lie but blackmail you. If he had some scruples, or maybe if he just liked the king, he might accuse you. Other characters would then react based on their perception of the accusing npc.

This is, of course, not appropriate to an investigative game, or a game where the point is committing crimes without getting caught. But it can add a lot of possibilities for the player to drive the story, which is the whole point of storytron, really.

janjetina said:
This is difficult. First, there is a problem of knowledge representation. Categorizing each object and forming taxonomies requires work, and is a prerequisite for everything else.

Then all possible situations (i.e. game world states) need to be coded and described by axioms with respect to possibility and effect (which in practice means there have to be run time variables exactly like the ones in "normal" games to code the necessary states), you have to deal with the predicates that change with PC's actions, so actions need to be described by axioms with possibility and successor state axioms (the ones dealing with effects of the actions, by enumerating the effects that cause certain axioms to become true and others to become false). This approach can work for simple situations where only one agent (PC or NPC) at a time affects the world. For a general reasoning about the world state that can change as a result of simultaneous actions of many agents (PC or NPC), or even as a result of a passage of a certain amount of time, a similar approach, with an event based reasoning over time points and intervals rather than over situations.

I am sorry, but I am not sure I understand all you mentioned above. If I am getting you, you are saying that all possible actions characters can take should be objects. Then, these actions should be used to reason the chain of events that led to certain situations. For example, if npc "a" sees the dead body of npc "b", he will try to reason what chain of events led to the death. So he finds that the action attack could be used to kill him. Then he thinks who could have attacked "b". If npc "c"is nearby with a dagger drawn out when "a" finds "b", and "a" has no better leads, he would assume "c" killed him. Basically, he tries to reconstruct the past by seeing how the present could come to be. Is that it?

I think that reasoning systems like this could be used to give a lot of depth to gameplay, but I don`t know if we really need to model every possible action as a possible source of change. We might only consider a few situations, such as an npc realizing he has been robbed, finding a dead body, noticing that an npc is missing, etc, as situations that require reasoning. Then we could have certain facts that a character might want to know about the event. For example, in a murder, npcs would want to know (and try to answer) the good old who, why, how, where and when.

Then, while answering these questions, each npc could try to answer further questions about these questions. For example, if the king was killed with poison, if we can show that the prince bought poison recently, we can more firmly link him as the who of that assassination.

This still would be a lot of trouble, it would still require us to log what each character perceived on a memory for that character and make complex reasonings on these. However it would be easier since we do not need to actually compute possible pasts from the information. Instead, the reasoning process is dictated by the predicate. Of course, the more general method is more interesting, but since going with it from the get go would be too hard, I think that starting simpler and moving to a hybrid method as one goes along would be more recommended.

janjetina said:
In your example, of telling a NPC some information that may or may not be true raises additional questions. The NPC may choose to believe you or not and will act on it in a certain way. However, here a difference arises between knowledge and belief, and there is a question of this knowledge (or belief) propagating over the game world (or not), (snip...)

I don`t think this is that hard. If you use a fraction to represent belief, complete certainity (in other words, knowledge) is just 1 or 0, whereas being pretty sure about something is a 0.9 or a 0.1. I don`t see the need to distinguish these things. Of course some things are assumed to be true, such as reasoning on verbs (the verb attack wouldn't leave much room for doubt for its possible results). Well, you might use this for those too, though the game might become too hard to control (like a PC managing to convince an npc that attacking other cure colds, things would get too weird).

janjetina said:
(...snip)but the biggest challenge is building an appropriate speech recognition system that has to be elaborate enough to describe the game world in detail (no problem, since it operates an an already built game world ontology) and good enough to recognize natural phrases involving those objects. I've already written a bit on that, very complex subject, on another topic so I won't repeat it.

Why would on want a speech recognition system? I mean, conversation may easily be dealt by creating an interface with an inverse parser, allowing the character to select words that make sense together. If you wanted to add text based adventure gameplay to the game, you might use a written parse instead of a written parser, though you should only do that if you want it to affect your gameplay (after all, creating an inverse parser is easier than creating a real parser). But I simply see no need to use a voice recognition system. It is hard to do, and can be way more awkward than a more traditional phrase. By the way, a link to the other thread would be nice...
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom