Advertisement

The promise of freedom in story games

Started by February 04, 2024 05:07 PM
118 comments, last by JoeJ 6 months, 4 weeks ago

JoeJ said:
But a problem is, even if you can make it work, that the state of everything increases in size. The more people the player meets and affects, the more memory they need to store. And you can not just make them forget ‘old’ events.

… Jumped ahead just to comment on this.

I started designing the game around 1985, with a world based on 1 meter blocks. A bit of calculation and I realized that my C64 did not have enough memory to make it work. I don't see that as a problem today.

I'm going to write an article about the hierarchical world partitioning that can be used for simulations and procedural generation. It's not vital for the first versions, but its sort of the oldest part of the things I have been thinking of for quite a while now.

@joej said:

But the player may take the scenario in a completely original direction that will require the game to generate new and updated locations, events and restructure the story.

This raises some technical concerns about generating locations at runtime procedurally, which usually isn't possible, assuming games where the world is static and produced offline. I guess you do not need to create things like new architecture because the story invents it, so you could rephrase that.

For a procedural generated world, locations can be generated based on what best fits the story and the player. If its a combination, it can be “parcels” moved the the best location for the situation. In either case, it would have to follow restrictions. If the locals say that there is a ruin north of the village, there should probably be one there. If the player gets a map, the things on it should probably be roughly accurate. But that will still leave a lot of room for things that can be generated to best fit the situation when the player gets within perception range.

The mor of the world that is “nailed down”, the less room there is to create the best story. There is a reason for why table top game masters has prepared material that can be thrown in the players path, wherever they may be.

Advertisement

JoeJ said:
That's a lot of ‘better’ which sounds generic. But i'm bad with vocabulary and can't propose a better term. I would cut the claim it's probably better than other media, including Shakespeare books, entirely. That's not needed and goes too far, i guess.

I re-watched the “Systems are everywhere" talk and was happy to hear that she said the same thing. That systemic games can adapt to each individual player.

I know it's a strong statement and I haven't written too much about it yet.

I believe that games will one day be able to adapt to every part of your psyche, the depth of your soul. Every fear, hope, dream. Every old repressed wound. Nothing that is not created specifically for you could ever compare.

JoeJ said:

At this point i start to wonder. How would a program construct an assumption of suspected, hidden argue with the husband, leading to the wife running away at will?
I mean, that's also the point where the story becomes actually interesting. But i guess you can not just tell the program ‘People lie to hide their secrets’, and it constructs such a dialogue? (well, LLMs can do it)
I would assume human authoring is needed here, probably by setting up templates about a ‘suspecting detective’. But still, adapting this to situational, procedural quests seems far fetched to me.

First, Actual dialogue similar to what you usually see today would be a level 4 implementation. It will build on a lot of previous work. The dialogue shown is the one from the witcher 3 quest. The systemic game version would not be the same.

What I mean by systemic dialogue is that every part of it should be systemic. I will consider the dialogue to be systemic if you never notice any repeated wordings that shouldn't be repeated. Let's take a closer look at this example

Witcher:

You – Notice anything strange? Maybe her behavior?

Niellen – No, she were her happy, smilin’ self. Nothin’ different of late… She’s not run off, if that’s what you’re askin’.

Level 2:

He tells you that Hanna was last seen 5 days ago, before he went out hunting.

Level 3:

You: Ask if they noticed anything unusual

Niellen: He says he didn't notice anything unusual, and seems to be telling the truth.

Level 4:

You – Did you notice anything unusual?

Niellen …

Geralt's question here is something you always would ask in a missing person case. You could basically use the same line every time without it coming out as unnaturally repeated. The Witcher version would also work with just a change of gender.

Domestic abuse is one of the most common causes. It's also a key theme for detective stories and part of lots of other stories, so there should definitely be more ways to find out more about any type of relationships. I don’t see the need to have a user interface for bundling both questions, even if they in this case are almost the same. There should be a way to ask about their relationship to getting an idea of if she run away voluntarily or not.

It would also be a normal dialogue pattern to answer questions about anything unusual with a summary of what constitutes normality. And this can be based on his or her personality, their relationship and her work, hobbies and habits. Just describing what happened during the day. The text can be assembled from the data about the NPC daily routine, along with a summary of her personality or emotional state. You could use a language model for it, but this type of text generation is not that hard. You just have to build functions that filter out the most important thing from the daily schedule, or the thing that separates them from their prototype. The part that differs from the prototype schedule of villagers.

So in this case, if she didn’t have anything specific differing from other villager wifes. We could just pick something from her personality or mood.

Niellen – No, she were happy as usual.

Rather than being fancy with the language, I think we could fulfill the same goal by just describing the NPC emotional state and micro-expressions. That is something that can be presented from internal variables and psychological systems, and could be used for all NPCs. Just describe if he seems stressed, nervous, anxious, worried, and if it's a reaction to your question. My idea here is to be very transparent by default, unless the game and player has specifically made it a perception skill that you don’t have.

The player can now follow up with a question about their relationship, filling a role similar to the Witcher dialogue.

You – What is your relationship with Hanna?

Or, more specific for missing person cases:

You – Could she have left you voluntarily?

Since this is part of normal detective questions, and it is more common than not that the person asked would be annoyed about assumptions of relationship troubles, there wouldn’t even be a need for a generic handling of it. The type of answer would more be a function of the personality and if it hits any actual secrets.

I like to replace ‘quests’ with ‘threads’ btw. I never liked the concept of quests, so calling it differently already sounds promising to me.

Threads is the individual story bits you have engaged with. Things that can be used in other parts of the story. For example, the game could decide that the person in the next quest is Niellens brother.

Reading on, my dialogue doubts increase.
I think to show off your system, you would not only need a text based game,
but also included debug GUI, so the player (tester) could observe context, save state and change it, to see how the system can adapt.

The first versions would make everything easily visible. You should be able to introspect everything about persons and also see the direct result of every action before you do it.

I'll press thumbs. The goal is ofc exciting, and basically what everyone wants.
But it's very, very ambitious. You need to start work on a prototype. I expect lots of unexpected problems and limitations…

You are not wrong.

aigan said:
My goal is to model human behavior based on more of what I think is natural behavior rather than traditional game AI. Many games has A* path finding where it calculates a plan every frame. That's rather far from a person that would look around and evaluate the situation after it changed. And it would not know what happens outside of its sensory or memory boundaries. Actions would more be based on habits than some optimal tactical strategy. But this would still be merged with the top-down story director.

Yeah. Independently, i came to the same ideas over the years.
For example, i want to render small frame buffers to model vision of characters, which i can do efficiently. This should give more natural behavior, but is also needed for locomotion, e.g. to plan trajectory (footsteps across complex environment, grip points for climbing, etc.).

To model some intelligence, NPCs should build up a mental model of potential future events forming a graph of causes and effects, then we could use greedy algorithms similar to A* to form a strategy and behavior. The problem here is clearly how to get those potential events, not the simple optimization problem to extract the strategy. I have not thought much about this yet, but interestingly my thoughts focus on the future (action game), while yours focus more on the past (NPC memory to achieve story).
We surely need to do both, probably using only one system. Past events could become persistent nodes in a graph representing memory. But there might be a need to forget things to keep it bound in size.

And i've called my ‘fun maker’ a ‘movie director’. : )

Likely our ideas are pretty common and there is a trend to get there.
But we may be late with some implementation ideas. Machine Learning will likely rush ahead, leaving us in the dust. ; )
I do however see potential advantages on precise control and performance, which is something important for games. And some people should keep working on ML alternatives anyway, so we can combine both in the end for best results.

aigan said:
I'm going to write an article about the hierarchical world partitioning that can be used for simulations and procedural generation. It's not vital for the first versions, but its sort of the oldest part of the things I have been thinking of for quite a while now.

Please don't. : ) This problem is well researched. If you write about it before having a working implementation, people who are interested have either more experience themselves than you have, or they'll prefer GDC talks of people who already did it.
I work on this very boring topic since 9 years already, btw. What a chore.

aigan said:
For a procedural generated world, locations can be generated based on what best fits the story and the player.

I could not do it. Generating scenery at runtime on the client would take hours.
Quality standards of AAA games impose the same limitations, mostly.

I mean, yes - we can build some houses from modular building blocks, implemented like base building in many games, or use some voxel engine, but that's low quality content then.

If we want high quality content, we can only generate it offline. Even as computers become more powerful, our expectation on quality just increase along, so content creation will remain offline in general. No matter how we create it - manually, procedurally, or using generative AI.
There will always be exceptions like Minecraft or No Mans Sky, it it wont become the norm.
It took millions of years to make the world look like it looks. You can't simulate this in milliseconds.

aigan said:
If the locals say that there is a ruin north of the village, there should probably be one there.

Deform terrain, create a procedural castle, run destruction and aging simulations.
Possible. But not at runtime.

It totally depends on your quality standards, but consider most games will keep using a static world with all locations predetermined and set in stone.
This does not rule out interesting dynamics at runtime.

aigan said:
I believe that games will one day be able to adapt to every part of your psyche, the depth of your soul. Every fear, hope, dream. Every old repressed wound. Nothing that is not created specifically for you could ever compare.

Primary problem: How can the game figure out what the player wants and likes, or what's his fears?

I wonder if there were any attempts into this direction, avoiding a need for - ugh - neural sensors or brain interfaces.

But let's say we get there, and the player can do anything he wants. To prevent boredom, the game also keeps him busy with constructing new enjoyable challenges and problems for him to solve.

Are we done then? No more need for new games, since they can't be any better?
We can just go home, play the game ourselves, turning real world off and enjoying a cozy time in the matrix, until humanity just dies out finally?

Hehe, idk. But thinking about this, i rather conclude it's about the path to get there, but not about the final goal. It's more about the promise and raising expectations, than about the actual achievement, maybe.
I prefer to keep selling snake oil rather than the blue pill. :D

Advertisement

@JoeJ

JoeJ said:

Well, the killing becomes an increasing problem with increasing realism. Lara Croft looks pretty real now, and we can see her suffering, and then it really looks just silly if she kills hundreds of men along her way to find some ancient pot of gold.

Especially so in Last of Us part 2. Don't want to play sociopath mass murderess. Ellie is pure evil.

But we also could be fine with just 13 people, if that's ok. (Indy already kills for a good joke, i've seen, so according to Hollywood, it is ok.)
We could make enemies hard to kill. They could be like the helicopter in HL1. An annoying enemy, hunting us a long time. A chore. But then, when we finally manage to shoot it down, the reward is big.

Other stories, movies and tv-series doesn't have to be murder sprees. The normal thing is to avoid doing something that will have long-term negative consequences. A single murder could equate to hundreds of hours of “adventure”. Just making sure they are really dead kan take a lot of work. Then getting rid of the body. Then Trying to duck questions as to not get hunted by relatives or police. Then everything that comes with all the new lies.

All the complications would distract from the story in many games. But it could just as well have been all actions without actually killing someone on purpose. Traditional games just don't have the ability to do it interestingly since they aren't systemic.

@joej said:

(never played Ultima)

Ultima 1 was released 1981. Ultima 4 (1985) had something of a sandbox open world with a sort of karma system and many other things not seen in other games. Ultima Underworld (1992) was one of the first immersive sims and systemic RPG. I didn't play them but as I understand it, Underworld is still impressive with today's standards when it comes to interactivity. Its the inspiration for countless games.

JoeJ said:

aigan said:
You can shoot an arrow, cutting a rope that will make a chandelier drop down, breaking a barrel of oil, that will then start burning when reacting with the candles of the chandelier. The fire will then spread to a water barrel that will eventually break, spilling out the water that will douse the fire, creating a cloud of steam that will allow you to sneak past undetected.

Reminds me on physics puzzle games like The Incredible Machine. (never played Ultima)
That's kind of the stuff i think about. Mechanical stuff, ideally at a larger scale. Conveyor belts, power networks, etc.
But i can't get beyond the point of a vague desire for an idea.
Even if we construct such puzzles or potential chains of cause and effect manually, it's just not enough to give a proper mechanic for the core game play loop.
So my hope is on characters, animals, or robots. I want a good ability for the player to observe them, and manipulate their behavior indirectly. Stealth game play as currently is mostly too passive. It's ok to wait and see what happens to the guard, but only if you have already prepared some trap or distraction in ways that make you feel smart and creative.
Hiding in a blind spot until he went away is boring.

Well… systemic fun is hard even without caring about story and dialogue. ; )

The example I gave was an improvised solution from Divinity Original Sin 2 or Baldur's Gate 3. The objects in the environment are there for providing possibilities. There are no specific solutions, just a lot of things that can be used in combination with the skill and stuff you have. It's usually as part of getting through an area or taking down enemies.

I provided a big list of systemic games. How can you still ask what gameplay the systems provides?

It's often related to enemy encounters, which stems from the limitations of NPC interactions in the games of today. It will get much better when you at any point can talk to your enemies. You may say something to start a negotiation, trade, pleading, tricking, and so on. You can see examples of this in countless books and films. Just a few examples from top of my head:

  • Wait, I'll tell you where to find the thing you been looking for
  • Wait, my friends are on their way and will kill you if you hurt me
  • Wait, I have a bomb here and you we will both explode if you hit me
  • Wait, we have your children. You will nether see them if you kill me
  • Wait, I’m part of that group you hired to do that work
  • Wait, I'll do anything you want. Let me go
  • Wait, what's that behind you?!?

The systems are there so it can cover the thing you want to do without scripting, since you may have been trying to solve the problem in ways the designer didn’t think of. It doesn’t have to be elaborate constructions.

Some things people do in adventures when it’s not about talking to, distracting, tricking or incapacitating enemies:

  • Getting through locked doors
  • Opening locked compartments
  • Creating ways to climb up on things
  • Disabling things that can hurt you
  • Finding clues
  • Finding that place matching the description
  • Traversal with climbing, crawling, jumping
  • Repairing equipment
  • The twenty steps of creating a fire and preparing a meal
  • Tending to wounds
  • Using vehicles
  • Learn more about the MacGuffin

All of this and more are things that the systems will support.

But the largest part will be dominated just by finding and talking to different people. And most fights could easily be just as exciting with just the threat of violence during tense negotiations. And if it does get violent, you could just grapple them and restrict their movement. Or give them one punch and then continue talking.

Many adventures have the hero getting caught by the enemy several times. That is what a systemic story game will get you. Finding ways of talking, tricking, sneaking your way out of all kinds of situations, while getting to know your antagonists.

JoeJ said:
For example, i want to render small frame buffers to model vision of characters, which i can do efficiently. This should give more natural behavior, but is also needed for locomotion, e.g. to plan trajectory (footsteps across complex environment, grip points for climbing, etc.).

I like that.

Do a lot of sneaking and get annoyed about being invisible to the enemy even when parts are clearly sticking out from the create I'm hiding behind.

There are a lot of concessions made in stealth gameplay to make it less frustrating, and more fun. Doing any movement would in reality make you much more visible in tall grass, but I guess the thinking is that they don't want to discourage repositioning.

Making stealth more realistic would create more limitations, but I don't think it's a big problem. The whole state of stealth gameplay in the Ubisoft or Metal Gear Solid formula is based on the balance between stealth and the option to kill the enemies. That leads to a whole lot of enemies, and then adjusting how observant the enemies are so that the stealth path is somewhat equally challenging.

The root of the problem is that killing everyone is a viable alternative. Trying to remain unseen and not killing anyone becomes harder since one mistake will bring down the whole base on you. That results in the stealth path consisting of silently knocking out everyone in your path.

It depends on what type of game you want to do, but I’d prefer higher stakes. Make the stealth more realistic and have fewer guards. Then, when you get caught, the normal thing would be to call out, warning, apprehending, and so on. Everything you would see in anything that isn’t an action game. Getting caught can be the plan to get into the base.

This topic is closed to new replies.

Advertisement