Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411525 Posts in 69377 Topics- by 58431 Members - Latest Member: Bohdan_Zoshchenko

April 28, 2024, 05:45:15 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityTownhallForum IssuesArchived subforums (read only)CreativeWritingprocedurally generated stories
Pages: 1 2 3 [4] 5 6 ... 10
Print
Author Topic: procedurally generated stories  (Read 25894 times)
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #60 on: September 17, 2012, 12:42:31 PM »

It's too bad you lump everything I said into STRUCTURE and also leave out another point that is FUNCTION! But what I pointing out is the old dichotomy of data and structure, if you don't separate them you have poor power over the outcomes. Basically find the structure to fill it with data. All shakespear's works is contain inside grammatical structure.

However it's like you are saying "Knowing grammar very well does not make you an awesome writer" when say "not knowing grammar will make you a poor writer". Guess what! we are both right!

You said you have deconstruct character and story many case ago, fine, but you don't say how you have deconstruct CONTEXT which is what give "concept" their meaning, and to create context you need STRUCTURE.

Obviously you didn't play any of those game, especially tokimeki memorial I will use as an example here. Tokimeki is a very simple Japanese game and I don't speak japanese. The beauty came into that with simple expression and simple mechanics, they were able to cover a great deal of expression. Every girl is different and with the same set of of emotion you could still infer their own personality, desire, wants, emotional state, etc... Okay it's not Anna Karenin but a hint of what's important ... CONTEXT. Think about it a smile when you meet a girl is not the same when you know her for a long time, you know her more deeply and he might clue to something totally different, also maybe after a harsh talk the same smile won't be the same than after a kiss.

Also to be frank ai is simply choosing a coherent action, simple ai choose one action among many, complex ai blend them together to form complex behavior. At the scale of a character there is two actions: mental (action from the internal state) and physical (action in the external world). AI for character don't have to be awesomely complex, they can be baked to some degree (my EXPERIMENTATION lead me to believe this), the hard part is actually visual "believability" or some kind of visual animation realism, which is outside the scope of WRITING.
Logged

Graham-
Level 10
*****


ftw


View Profile
« Reply #61 on: September 17, 2012, 03:20:17 PM »

It's too bad you lump everything I said into STRUCTURE and also leave out another point that is FUNCTION! But what I pointing out is the old dichotomy of data and structure, if you don't separate them you have poor power over the outcomes. Basically find the structure to fill it with data. All shakespear's works is contain inside grammatical structure.

No, there's no lumping. It's just grasping for closest analogy. I'd expect you to read between the lines.

Quote
However it's like you are saying "Knowing grammar very well does not make you an awesome writer" when say "not knowing grammar will make you a poor writer". Guess what! we are both right!

Duh. I don't diss grammar. I study it too. That's why I respond to your writing. All I am saying is that studying grammar alone without constantly turning around to produce increasingly meaningful game designs with it will stunt the power of that grammar. If you want a universal grammar then that strategy is not a bad one. If you want an AI, then it won't be perfect.

There is nothing wrong with what you are doing. I'm just explaining where I am at.

Quote
You said you have deconstruct character and story many case ago, fine, but you don't say how you have deconstruct CONTEXT which is what give "concept" their meaning, and to create context you need STRUCTURE.

Duh. What do you want me to do? Give you all of my notes, and my brain? If you want to ask a specific question I'll answer it. But saying, "I don't know how to build your AI," is really vague. No shit. If you could build it that would kind of nullify the value of all my work....


Quote
Obviously you didn't play any of those game, especially tokimeki memorial I will use as an example here. Tokimeki is a very simple Japanese game and I don't speak japanese. The beauty came into that with simple expression and simple mechanics, they were able to cover a great deal of expression. Every girl is different and with the same set of of emotion you could still infer their own personality, desire, wants, emotional state, etc... Okay it's not Anna Karenin but a hint of what's important ... CONTEXT. Think about it a smile when you meet a girl is not the same when you know her for a long time, you know her more deeply and he might clue to something totally different, also maybe after a harsh talk the same smile won't be the same than after a kiss.

Yes, I did not, not since you wrote that. I have my experiences and you have yours, and I've only got so much time in the day. Part of game design is designing based on what you do know, as well as learning as you go. I will play your games. I take your suggestions seriously. Sometimes I try to ride the line between aggression and respect. Why can't I be aggressive _and_ respectful. I am naturally both. Smiley.

Yes, context is critical. You could say the best "grammar" for a section of story is context dependent.

mm... I define context sort-of like this:
  1. Everything about the game's state is measured.
  2. There is some action-reaction relationship: like a smile and a reactionary interpretation.
  3. There is some manually defined theory about what the smile means in general, sort-of like this:
       . smile is like happiness,
       . smile is like beauty
       . that particular smile from that character is like hope/love (for recipient)
       . smile has a sound effect(?), animation, and subtle lighting change, each generated from a series of principles that have their own associations, that in combination produce an associational weighting
  4. There is some definition of context:
       . every character's state
       . every generated thing
       . every manually defined property of the environment - these are all carefully tuned
       . a whole host of generated/automatically-tested values, like:
           - the sun is shining, and that brings energy, unless it's extremely cold, in which case relief is the strongest element (though it still brings energy)
           - the player's recent jumping, in a dangerous environment, is interpreted as "panic," from how he does it
           - the level design gives a sense of exploration, defined like this: 2 parts Indiana Jones, 3 parts uncertainty, 4 parts "like that other level" in 30% of play-tests that share a common trait with the current player
           - etc.
  5. There are some formulas that link reactions to context, by understanding that context i.e:
       . the relationship has just gone through a fight, so happiness here counts as a possible resolution
       . the partner has recently been lying, so happiness may mean dismissal
       . unless the partner is doing something obviously threatening, like pointing a gun, then the happiness means insanity, or cruelty  or something

Quote
Also to be frank ai is simply choosing a coherent action, simple ai choose one action among many, complex ai blend them together to form complex behavior. At the scale of a character there is two actions: mental (action from the internal state) and physical (action in the external world). AI for character don't have to be awesomely complex, they can be baked to some degree (my EXPERIMENTATION lead me to believe this), the hard part is actually visual "believability" or some kind of visual animation realism, which is outside the scope of WRITING.

Yes, it's outside of the scope of writing. It falls in proc-gen. It just so happens that key complexities between generated stories and character behaviors - i.e. animation - are basically the same. The only _real_ difference is the actual animating. The procedural parts are the same.

AI for character does not have to be awesomely complex. You're right. But the structure does have to apply to most meaningful parts of them (the characters). You have to find the most "summary" aspects of a behaviour and define it.

For example, take Luke Skywalker - he's well known.
  . he's brave
  . he's hopeful
  . he's complex

Ok, say the player controls Han Solo. Let's say Luke screws up. Now Han berates him. How should Luke react?

How does Luke respond to being berated? Let's look at his relationship with Han:
  . respects him
  . distrusts him a little
  . sees him as an icon of the "free life"
  . sees him as "practical," as-in not idealistic

Now Luke gets berated. How does he feel:
  . angry?
It depends on the context. If he's being berated for his naivete, he probably won't. If he's being berated for his idealism, than he will. I'd have to watch the movie again for clues.

Say Luke is defined like this:
  . bravery: when fighting the "good fight," not when having to abandon his existing duties, even if they are less important
  . hopeful: only when he can see a clear path, even if he has to underestimate the complexities of the future to do it; not when there are minor setbacks, particularly when they provide an issue he can't relate to
  . wants to be the hero: wants to be respected, but is also willing to learn to get there.

Pretty basic. The goal is to find the most "central" elements of each character/relationship. That way you can have constructs like:
  . this piece of dialogue demonstrates 30% bravery, 70% hope
  . this animation/sequence demonstrates 20% bravery in the face of physical danger, 50% bravery in the face of life-threatening danger, 30% distrust that the other speaker will follow through on his promises
  -> the number don't have to add up to 100... only in the dimensions that qualities share - you get it

But just "bravery" is useless. You need to have an idea of "Luke's bravery," and how it is expressed. Then you need to divide it into pieces. You might have: his bravery under pressure, his bravery when others are around, his bravery when alone, his bravery around his dependents, his bravery when his friends are in danger. Each type will have "core" qualities of expression, elements in the writing style (etc) that demonstrate each one the best.

How does Luke react to Han? Maybe you want to see just the impact on bravery? Now you need to know:
  . the context - let's say it's: Han is questioning Luke's ideals, particularly the ones to do harm to a friend for the greater good (i.e. commit the small evil for the larger good)
  . how Luke feels about that particular ideal - is he sensitive to it? is he afraid of it? is he normally questioned in that way by authority figures?

I don't know if this is clear: character design comes down to finding the most elementary elements of a character i.e. finding the 3 "ideas" that in various combinations cover the widest range of who that character is. Constructing them entirely of "hate, anger, sorrow" etc. won't work in the best way, because the most fundamental part of any good character is some rich complexity. The most defining element of any human is inherently abstract. If you now want to divide a human in two, you need a complex divider.

You need a complex deconstruction to produce simple tools. What I always see in AI design is simple tools trying to be leveraged into complex characters. And every time, people go, "oh shit, this won't work!" And that's because the tools don't stretch. They get mired in tools, the designers.

Your approach is constructive. I'm just showing you where I come from when I try to define all these really abstract concepts.
----

Deconstructions
(and context or something)

A final example. If you focus purely on the "grammar" you'll stay low-down on the pole. Humans are constructed of emotions, certainly. But deconstructing a human to that degree is an enormous task. It is a lot easier for me to start with the simpler problem. Instead of defining myself as the product of 8 emotions that occur situationally - that define every aspect of my character (however that works....) - let's try and define me using only 2 qualities.

What should these qualities be? I don't know. But I bet you their definitions will be very complex. Happiness and anger? Hell no. What character is defined just of those two? Cardboard characters. The grammer-first AI design always produces cardboard, for this reason. I'm complex. If you want to approximate that complexity you need to either:
  a. Deconstruct an entire human - an awesome task
  b. Be smart in your deconstructions.
So maybe I can divide myself into two fundamental qualities. Let's call them quality A, and B. We can combine them, situationally, to define my character. So we'd get:
  . 10% A + 30% B, or
  . 100% A + 100% B, or
  . 0% A+ 2% B etc
We can even create a quality in the sound effects and animation that represents A most effectively, and B most effectively.

What should A and B be defined as? Plan:
  1. Collect everything that defines a character: writing, concept art, whatever.
  2. Try to find the most even division among this stuff, so that two things are true:
       a. Overlap is minimized.
       b. The importance each pile has in the definition of me is equal.

Woah! This will produce an A and B that when used in random combinations produces the greatest coverage of me. Trust me on that. Tips:
  . lack of overlap and distribution of power produces orthogonality
(There is a function to determine the best distribution _exactly_, but we'll cover that later, maybe).

You require for each item in the piles:
  . a thorough definition of self - a break-down of its components - here's where you apply all your theories, as many as you want
  . a estimation of value (to the global definition) - like the picture of my mother is 2% of who I am, out of everything that is there

Example. Say I wanted to deconstruct cheese, as-in the component of my personality related directly to chese. Components (items in the pile):
  . delicious - wikipedia definition
  . pictures of cheese (with ratings on which ones mean the most to me)
  . a story about cheese eating as a kid

Now I need to say, look at the pictures. I do this:
  . split them by by type
  . split them by deliciousness
  . split them by price
  . split them by how much my sister likes them

In each split I assign a value - this is the amount each section means to me in the way I feel about cheese:
  . maybe gouda is 30%, chedder is 50%, and the rest is 30%
  . cheap cheese is 80%, expensive is 20%
  . cheeses my sister likes is 90%, and the ones she doesn't is 10% - weird!

I can divide them by association:
  . cheeses that remind me of rock music is 50%, 20% for classical, 30% for reggae
  . cheeses that I'd describe as "shakespearean" are 15%, dickens as 85%
  . cheeses that are bold are 20%, are smelly are 30%, are weak are 30%, and are nutty are 20%

A cheese can only fall in one category in each division. Of course we can do this:
  . divide into goudas, then divide into goudas from france, italy etc.

Divisions can be whatever you want. You can mix and match! You can deconstruct using whatever qualities you want. Want to do you emotions here?
  . cheeses divided by: anger, sadness, happiness, hope
  . then divided again by the same qualities, and again.
  . so you get: cheese falls into anger in first division, then anger again in the second, then sadness.
     -> this produces something like "mostly angry and a little sad"
Note! Each definition is based on its relative association with everything else!

I repeat for each thing in the pile. I can deconstruct, for example, the definition of cheese into sub-components, such as individual phrases. I can deconstruct anything that can be cleanly split in two.

Tongue. This is a formal way for producing two piles: cheese A, and cheese B. Each pile holds _anything_ that relates to cheese: pictures, descriptions, everything. Each item has an associational weighting relative to every other item, and value relative to every other item.

Then we run some function to split into the A/B that gives the most coverage, and we implement our animation primitives - or whatever - so that one demonstrates an A on a scale, and the other B.

_Then_ you can define a state change however you like. You can use any item in the pile - anything - and include it in your definition, and your generator will make the approximation, through dialogue, sound, whatever. And it will do so with the minimal number of core constructs. Yeah!

You don't need to commit to one deconstruction, and you get the most mileage for each piece of data you do construct, and more importantly, you use the smallest number of constructs in the game itself. You can deconstruct a character in any way you want. Hells yeah.

That probably only made a little sense. I'm just trying to give the gist.
« Last Edit: September 17, 2012, 04:39:52 PM by Graham L » Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #62 on: September 20, 2012, 03:38:17 AM »

You have just describe "prom week" (among other attempts of the same sort) ...

You need a complex deconstruction to produce simple tools. What I always see in AI design is simple tools trying to be leveraged into complex characters. And every time, people go, "oh shit, this won't work!" And that's because the tools don't stretch. They get mired in tools, the designers.

The reverse is also true: ART GAMES produce shallow experience despite trying to leverage flavor without structure.


Btw one of your structure is mostly [object][type of relation][strength of relation][relation target]

[cheese][reminds me][30%][of Dickens]

If one thing is missing from the structure it simply won't work

it's a low level structure, but without a high level structure you are likely to run into problem of mismatch and lack of understanding.

I think you confuse structure with content: It's not that I hold a structure that define all "lexicon", but HOW lexicon and semantic unit are tied together "the concept". Basically the syntax highlight fault, misstep and coherence. The structure is not the content, nor its description.

Take conversation in game, dialog tree are seen as a larger problem that simply linear delivery, why? because there is a function mismatch most of the time. Most game use conversation as gating, which is important in progression structure, adding more "gameplay" only clutter more this main function (arbitrary slow down, nothing progress).. But there is a mismatch between in game conversation and real conversation, looking at structure we see real conversation have different function than in game, because in reality we are in a progression structure, gating make less sense, however in game the real structure is not supported by progression as a structure. Because we have a clear view we can reconstruct function and structure that actually align with our goals.

I can see how you want to structure your game, basically it's a sims like without "genericity", character have definitive traits and behavior unique to them, certainly along a world model with a clear direction. I guess you hope to have a balance of goals and relationship personal to character so it move itself (like in cotillon but less open ended). However I'm not sure you have a strong internal economy structure for it to carry on without usual pitfall like deadlock, oscillation, local minima/maxima or plain dilution. I also don't see how you will handle common problem of story perception with out of focus action and clear feedback on agency of each character to keep the experience consistent for the player. Basically there is no CONTEXT structure and no CHARACTER AS STORY FUNCTION structure. It doesn't matter how finicky flavor and character are brought if the system produce loose overall experience,it's been done before.
Logged

Graham-
Level 10
*****


ftw


View Profile
« Reply #63 on: September 20, 2012, 04:25:33 AM »

Quote
I can see how you want to structure your game, basically it's a sims like without "genericity", character have definitive traits and behavior unique to them, certainly along a world model with a clear direction. I guess you hope to have a balance of goals and relationship personal to character so it move itself (like in cotillon but less open ended). However I'm not sure you have a strong internal economy structure for it to carry on without usual pitfall like deadlock, oscillation, local minima/maxima or plain dilution. I also don't see how you will handle common problem of story perception with out of focus action and clear feedback on agency of each character to keep the experience consistent for the player. Basically there is no CONTEXT structure and no CHARACTER AS STORY FUNCTION structure. It doesn't matter how finicky flavor and character are brought if the system produce loose overall experience,it's been done before.

My design handles all of these problems. You need to look a little deeper.

I only deconstructed a character in the example, but you could also deconstruct abstract concepts like, "a good story." There is no difference between the structure that keeps a character's actions in-line with his/her personality, and the structure that keeps his/her actions in line with whatever structure I've defined for the story.

I can say, "be tense for 20 minutes, taper off for 10, rise and climax in 30 - climax with a theme of love - and resolve in 5." As long as I define all of those concepts what is allowed and not allowed is handled in the same way for every element.

For example, if a character has a certain quality, and definition, then is put in a certain situation, there is a certain "reasonableness" for each possible reaction. I can also restrict what is reasonable by defining that character's role in the story. Say I have some simple concepts like antagonist and comic relief. I have some definition like conflict. Then for one section of the story I apply the antagonist structure to the character, and ask for a conflict, which may be required by a possible permutation of my definition for tension.

The secret to AI is finding a way to treat every element like every other. My definition of "context" is just as transient as my definition of Sherlock Holmes, if I choose to use my inspiration from him in my story. Context is completely removed from the AI's design. The AI is just a system for building associations. I can fill it with any concept I like.

But I admit that may not be entirely clear.

[tension][is a product of][conflict, uncertainty (or something)]
[compelling narratives are constructed of][introduction, rising tension, and denouement "story pieces"]
[a story piece is defined by][a sequence of independent events that relate in some way]

I can define any idea in any way I like. I can define conflict, and uncertainty, and so on, right down to their realization in character behavior. I make no distinction between the deconstruction of "cheese" and the deconstruction of "proper character introduction." Obviously the latter is more complex.

.

My definition of context is free-form. I don't discuss it because it's just as relevant as discussing my character designs based on my love for Naruto. You understand that once you understand how to represent a character structurally you don't need to re-learn how to structure a different character, you just have to analyze that new character and apply the structure. The same is true for any element of a story: how pacing is controlled, how long-term conflicts are introduced, how relationships develop so climaxes can be planned. It's all the same. I don't need a particular analysis of how stories are molded, because the AI will understand any. How I define a character and how I define any other structure are totally independent from one another. Make sense?

I think maybe there's a lot more to how my stuff is structured than even I understand. I'm so close to the work that I don't know how to perceive it in a way to explain things that are probably necessary for comprehension. I apologize for that.

If you're ever curious, and you have the time, if you give me a solid example of a way you are defining a character or something, and you want to manipulate him in some way but you can't do it, then show me, and I'll try to show you how I'd define your character in my system, and get him to suit whatever context you are looking for.

I think I'm realizing it's too difficult for me to explain things just with abstractions.

edit:

btw, my blog post was all about keeping abstractly defined characters on some kind of abstractly defined set of rails. as long as you define your rails well you can get whatever you want, and the more abstractly you define them the more freedom the player gets.

also, did you read that shit? it was literally about how to take any given structure and have your characters march around inside it.
« Last Edit: September 20, 2012, 05:11:45 AM by Graham. » Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #64 on: September 25, 2012, 04:12:44 PM »

What do you think about this?
http://www.gamecareerguide.com/features/1116/prom_week_can_you_really_simulate_.php?print=1
Logged

Graham-
Level 10
*****


ftw


View Profile
« Reply #65 on: September 27, 2012, 10:27:24 AM »

I'll have to get to it when I have some time.
Logged
Graham-
Level 10
*****


ftw


View Profile
« Reply #66 on: September 27, 2012, 01:11:39 PM »

It's all right.

My biggest compliments are that those guys knew the strengths of their game. They didn't let their scope get out of hand - as is insanely common with proc-gen - and they respected the value of generated story.

Their biggest weaknesses were pointed out by them. That's nice too.

I think the best next step for that game would be be to handle complexity, make the gameplay deeper, tie the ability to influence story into more game-like mechanics, establish richer problems that require story influence to solve - they admit their designed problems were basic - handle richer characters, etc.

What do you think?
Logged
flowerthief
Level 1
*


View Profile WWW
« Reply #67 on: September 28, 2012, 08:43:46 PM »

I like the thing of characters being able to reference past history governed by player actions. Big potential for interesting design with just that.

I might be taking a cue or two from Prom Week in the next romance game I make. (from Tokimemo as well, but there is already too much Tokimemo influence on my games as it is)
Or I might end up taking the easier road and generating only details not directly related to their personalities, such as phone #, home address, birthdate, and such. I plan to procedurally generate the game's geography regardless; procedurally generating geographies is a piece of cake compared to all this. 
Logged
Charlie Sheen
Level 0
***

duh.. winning


View Profile
« Reply #68 on: October 01, 2012, 05:59:22 AM »

honestly, everything Michael Mateas has been involved with (which pretty much amounts to Facade and Prom Week) has been shit.

the reason for this is simply that they never cared about making games in the first place. why? because they are obsessed with artificial intelligence, that's why.

you see, AI comes *after* one makes a game, not while one is making it, and certainly not before one makes it. the point of AI in games (as is the case with computers in general) is to MAKE GAMES MORE CONVENIENT, since AI will never be able to do better than real humans, since AI will always be poor replacement for humans. so, before you make a CONVENIENT game, how about you make an ENJOYABLE game first? how about you make a multiplayer game first, even if massively-multiplayer, for after all your game requires intelligence and human intelligence already exists, it's already made -- all you need is a bunch of enthusiastic friends or a bank account full enough to hire professional playtesters. and voila -- your game has intelligent NPC's! and only after many playtesting sessions should you move onto making your game more convenient, and only after making sure that your game is really good should you move onto replacing humans with AI.

as far as i can imagine, there is simply no point in programming AI if you don't have a good game. it's a waste of time.
Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #69 on: October 01, 2012, 09:16:10 AM »

I think the best next step for that game would be be to handle complexity, make the gameplay deeper, tie the ability to influence story into more game-like mechanics, establish richer problems that require story influence to solve - they admit their designed problems were basic - handle richer characters, etc.

What do you think?
I think that they still has a problem, which they mention, about conveying even the simple mechanism and game state to player. As is it's a cool demo, but almost every procedural story generation has stumble onto this.

The problem is: is there a solution to convey those complex things to player so he can play? That's why I mention other research and game, tokimemo kind of handle this, cotillon suffer from this (npc chit chat behind the player's back, but the player might not understabd why the npc suddenly change is behavior. We had the same problem with FPS AI, when ai where able to exchange ammo between them, except the player never get to see them (they cover) so it does not change the experience. It's not just a problem of AI, it's an entirely new format of telling that need to be build. Simpler game structure such as harvest moon have it, because it's all tied to the player perspective, except nobody had made something complex with them at all, dismissing them because simple game use them in simple way. I think player's perspective event based system and hammerspace is a solution to create plausible outcome base on current world state.
Logged

Graham-
Level 10
*****


ftw


View Profile
« Reply #70 on: October 01, 2012, 12:30:57 PM »

Well this is a universal problem with all deep games. It's a classic issue with AAA today. They want games that appeal to the hardcore but that everyone can understand. How do you make CounterStrike on the console for the people who get Mario, or Wii Sports, or even just Halo?

A lot of the time the issue can be solved just with level design. There's a right way to teach a new subject to a person. If I want to teach you how to garden effectively there's a right to do it. There are common elements involved in teaching anyone anything. Most games suffer because they just suck at this. They don't think about the ideal way to teach the player something and then bake that into level design.

One of the major issues with AI is that they don't express themselves through the mechanics. Ammo swapping for example would require that the player see what was happening. The AIs would have to express some kind of fear that they were running out of ammo. They would need friends that they are more likely to rely on. Their friendships would have to be reflected in how well they coordinate. If the growing desire to share/take ammo was constantly signaled to the player through the AIs behaviour in a way that was mechanically relevant then there wouldn't be many issues, at least not the kind that make the behaviour invisible to the player.

This is a common error with AI design. The designers build constructs they think are cool without thinking about how much of an impact they would have on the player. Before you know it they've got 10 behaviours for the AI to have, because some combination of 3 of them sounded cool to them, and not one of them was built in such a way to have direct relevance to gameplay.

Here's an example. Mass Effect has the story and the combat/exploration. One doesn't teach you about the other. Combat is the _perfect_ opportunity to teach player's things about the game. In fact, making combat about learning makes it more interesting. Mass Effect's combat is a little stretched for variety as it is. If it was impacted in meaningful ways by how characters feel then not only would it become more interesting, but also, the benefits of the structure used for teaching the player the combat system would carry over to teaching him about everything the AI can do. There are other benefits as well.

You want to teach the player fluently. You start with the basic skills, then you ramp up to more compound skills. Maybe in a shooter you teach them basics of movement and shooting. There's a lot of variety there. Then you teach them moving while shooting. Then you teach them basic positional strategy. Then you teach them advanced movement, like precision platforming, or more acute use of cover. Then you teach them basic enemy prediction, how to efficiently unload clips at the right time. At each stage the number of possible scenarios you can give for the player to master increases. What you want to do is constantly fluctuate between difficulties in each category of challenge, slowly increasing them. At the beginning you include the opportunity for advanced strategy but focus on the basics, so the player can explore and not get bored. Then you throw something too hard at them.... and so on. The training path is an "experience-focused" aspect of design like everything else in the game.

AI is the same. Build it so each core behaviour is of founding relevance to the behaviours based on it, and has direct consequences in the mechanics, then teach the player to understand these behaviours by starting at the core and moving outwards. Player skill sets should be built in layers by the time they reach the end of the game, and so should your most advanced AIs.

What's hammerspace? Or perspective event based systems?

---
honestly, everything Michael Mateas has been involved with (which pretty much amounts to Facade and Prom Week) has been shit.

the reason for this is simply that they never cared about making games in the first place. why? because they are obsessed with artificial intelligence, that's why.

you see, AI comes *after* one makes a game, not while one is making it, and certainly not before one makes it. the point of AI in games (as is the case with computers in general) is to MAKE GAMES MORE CONVENIENT, since AI will never be able to do better than real humans, since AI will always be poor replacement for humans. so, before you make a CONVENIENT game, how about you make an ENJOYABLE game first? how about you make a multiplayer game first, even if massively-multiplayer, for after all your game requires intelligence and human intelligence already exists, it's already made -- all you need is a bunch of enthusiastic friends or a bank account full enough to hire professional playtesters. and voila -- your game has intelligent NPC's! and only after many playtesting sessions should you move onto making your game more convenient, and only after making sure that your game is really good should you move onto replacing humans with AI.

as far as i can imagine, there is simply no point in programming AI if you don't have a good game. it's a waste of time.

Well, these games are more like experiments. They're interesting the way science journal articles are interesting. They show you a piece of what could be. Prom Week was a University project, not a commercial one. It's more like a lesson. I don't think it's supposed to be fun. I do think it will have an impact though. It serves to educate commercial devs how to build certain concepts. For sure Prom Week will contribute to better AIs in bigger games.

I do not think AI should be an after thought. I've been designing AIs, or studying AIs (or whatever) for a long time. One of the biggest mistakes you can make is to think of AI as an after-thought. The structure of an AI is highly dependent on what it needs to know. Often levels, and entire games, are designed in such a way that the AIs need a ton of boiler-plate programming just to perform basic functions. Often a slew of crap needs to be taught to them for each new skill they gain. When the mechanics of the game and its entire progression (i.e. through its difficulty) are considered independently of AI design then the AI can be seriously limited.

Often there is this confusion that AI is a series of formulas we just apply. What AI really is just a series of skills built on top of each other. Each skill is like any other program. What makes it an AI is the ability for these skills to relate to one another, creating an "intelligence." It is far easier to design a game based around a refined set of skills you know you can program, than to design a game and do whatever it takes to get your AI to play it. If your AI plays a critical role in your game then it is just as interdependent with every other element as is every other element.

The reason Prom Week and Facade teach people something is because they could do something with AI that most games have tried to do and didn't accomplish. They managed to do this b/c they focused on AI first. It prevented them from being good games, but if they focused on their "quality" first then we'd just have more commercial titles with average AI. AI is non-trivial.

I like the thing of characters being able to reference past history governed by player actions. Big potential for interesting design with just that.

I might be taking a cue or two from Prom Week in the next romance game I make. (from Tokimemo as well, but there is already too much Tokimemo influence on my games as it is)
Or I might end up taking the easier road and generating only details not directly related to their personalities, such as phone #, home address, birthdate, and such. I plan to procedurally generate the game's geography regardless; procedurally generating geographies is a piece of cake compared to all this.  

Yes, learning based on player behaviour is incredible. I went 1 hour of open-field random-encounter-filled flying in Skies of Arcadia to hear what my Dad had to say after I had made it out in the world on my own. His text hadn't changed. I was young. We care a lot about the world changing to reflect us and our history.

Details like address and birth date aren't that interesting. Dwarf Fortress kind of has that stuff. Some people like it. How do you plan on making it interesting?

One thing I'm doing is generating the world, creating rules that let players grow/develop according to how they live their lives, and rules for trying to live. Then my AIs are literally products of their environments. There's also some stuff with generating the world in such a way to produce AIs that serve particular functions in the possible story-lines... but that's something you can handle manually if you don't want to be that crazy. If a guy needs to be tough make him grow up in an environment where he has to be tough to survive etc.
« Last Edit: October 01, 2012, 12:53:12 PM by Graham. » Logged
Charlie Sheen
Level 0
***

duh.. winning


View Profile
« Reply #71 on: October 01, 2012, 04:02:53 PM »

Quote
I do not think AI should be an after thought. [..] One of the biggest mistakes you can make is to think of AI as an after-thought. The structure of an AI is highly dependent on what it needs to know. [..]

[..] If your AI plays a critical role in your game then it is just as interdependent with every other element as is every other element.

i think you missed my point entirely, which is: the point of game AI is to replace human players with the sole purpose of making the act of playing games more convenient/practical. what should this really mean? it should mean that whenever you design a game which relies on some sort of intelligence, it's always better to playtest it using real human intelligence. so, for example, instead of NPC's being controlled by an AI, you have a bunch of real players controlling them or a single player playing a role of a gamemaster/director/screenwriter. this way you get to focus on the rules of the game, on the rules that direct the behavior of the "main player" (the one for whom you're designing the game) and the "side players" (the ones who will eventually be replaced by an AI, unless you end up making an awesome game for them too).
Logged
DavidCaruso
YEEEAAAHHHHHH
Level 10
*



View Profile
« Reply #72 on: October 01, 2012, 04:58:18 PM »

it should mean that whenever you design a game which relies on some sort of intelligence, it's always better to playtest it using real human intelligence. so, for example, instead of NPC's being controlled by an AI, you have a bunch of real players controlling them or a single player playing a role of a gamemaster/director/screenwriter. this way you get to focus on the rules of the game, on the rules that direct the behavior of the "main player" (the one for whom you're designing the game) and the "side players" (the ones who will eventually be replaced by an AI, unless you end up making an awesome game for them too).

How do you plan to account for level design within this? Most single-player games have level designs entirely based around how the AI behaves and which were probably developed concurrently with the AI itself -- if you start with human "NPCs" and then replace them with a stupid approximation of those human players then I can imagine a lot of the balancing you've already done going out of whack. And this isn't even to mention the massive amount of resources that would have to go into making every enemy NPC playable over a network, then having to scrap that functionality later on (not to mention that for many enemies it's even kind of dumb to have them as intelligent as human beings in testing -- what if your enemies are e.g. alien spiders?). Perhaps it could work for some particular cases (all of these would probably be advanced 3D FPSes/stealth games or something) but I don't see the idea working too well in the general case.

As for Facade it's undoubtedly a shitty game but still a decently cool tech demo, I'd like to see the concepts improved (probably going to happen in the academic/research arena?) and then used by actual game designers. I don't know about Prom Week but I really doubt I could take it seriously as a videogame judging from that article and the pictures either -- the entire point is evidently how your social interactions influence other characters, and yet those other characters' dialogue is shit like "you think after that time when you two-timed on Mave with that sexy three-time squash champion I'd be willing to go to the prom with you?" aka dump backstory exposition mid-sentence and hope no one notices that human beings don't talk like this. Also, pick-up lines as an actual mechanic wtf have these people ever actually talked to a female human being (in a high school, where everyone should ostensibly know each other, at that), and that isn't even mentioning the social compatibility meters I noticed, it's like something out of a bad online quiz.
Logged

Steel Assault devlog - NES-style 2D action platformer: successfully Kickstarted!
Graham-
Level 10
*****


ftw


View Profile
« Reply #73 on: October 01, 2012, 05:52:34 PM »

Quote
I do not think AI should be an after thought. [..] One of the biggest mistakes you can make is to think of AI as an after-thought. The structure of an AI is highly dependent on what it needs to know. [..]

[..] If your AI plays a critical role in your game then it is just as interdependent with every other element as is every other element.

i think you missed my point entirely, which is: the point of game AI is to replace human players with the sole purpose of making the act of playing games more convenient/practical. what should this really mean? it should mean that whenever you design a game which relies on some sort of intelligence, it's always better to playtest it using real human intelligence. so, for example, instead of NPC's being controlled by an AI, you have a bunch of real players controlling them or a single player playing a role of a gamemaster/director/screenwriter. this way you get to focus on the rules of the game, on the rules that direct the behavior of the "main player" (the one for whom you're designing the game) and the "side players" (the ones who will eventually be replaced by an AI, unless you end up making an awesome game for them too).

I don't think so. I don't think I missed your point. The "purpose" of AI isn't to replace human players. That's something you just made up. It is often thought of that way usually to great detriment. AIs have their strengths and so do people. AIs that approximate people are interesting but are in no way necessary.

Think about a boss in Final Fantasy 6. It has a rudimentary AI. No human player would want to play as a FF6 boss because the challenge would be so reduced, and limited. A boss's challenge comes effectively from its high health, not its intelligence. But you could make one more intelligent so that players could have a more engaging time fighting it. That would count as AI. You could have that boss walk around the world and say interesting things. That's AI too. Saying AI should play a game built for players is like saying every character in a novel should see events in a way that is just as compelling as the way the main character sees them. This isn't something you want. The player is the golden egg. He's the one you want to protect and treat well. So you build AIs that serve that purpose. They are a tool for creating a dynamic path for the player through the game.

But your point that AIs should do something interesting is a good one. When I think about AI I first think about a story I would like to tell, and then I transfer responsibility over to it. Each AI is modeled on what I feel would be a good linear way to create content. Level designs are hand-made before being generated, story lines are hand-made before being generated and so on.

There's also a lot of things AIs do better than people. They crunch numbers well. They learn certain things faster. They have perfect memories. In fact, the strengths of an AI are so radically different than those of a person that a game designed for people would be very hard to create a competent AI for. This is a trap. Often AIs hit the dirt before they even get going because their creators spend so much time trying to mimic human complexity without trying to understand what it is that the AI needs to do first. An AI is like an entirely different being. It is like an alien. You don't design a game for kids, play test it with them, then redesign it for adults later. That doesn't make any sense. The same goes for AI. Focusing on core mechanics is very important, definitely, and you want to test as much of your game's mechanics with actual humans as much as possible - as you would base your story-writing AI's abilities on good examples of actual stories - but you don't want to think of your AI as a dumb human. Humans can talk and pick a key out of a pile of crap on a desk. AIs can't do either of these things without serious horsepower. But they can do other things far better.

AI should not be an after-thought. It should be developed right along side everything else. AIs are like level design. You don't design mechanics then levels. You design both together all the time. That way you gain insight on how one interacts with the other. Poor AI is more the result of not building its skill-set incrementally than anything else.

Prom Week is what it is not because the devs made the AI first. It's that way because making an AI interesting is hard. They tried their best with a reduced scope. If they wanted better gameplay they could have made a game first then made AI - I could make a killer AI for Starcraft - but that would have only helped them a little. It would not have produced a much better AI. That AI would have been much worse. It would have been much harder to develop.



I don't know about Prom Week but I really doubt I could take it seriously as a videogame judging from that article and the pictures either -- the entire point is evidently how your social interactions influence other characters, and yet those other characters' dialogue is shit like "you think after that time when you two-timed on Mave with that sexy three-time squash champion I'd be willing to go to the prom with you?" aka dump backstory exposition mid-sentence and hope no one notices that human beings don't talk like this. Also, pick-up lines as an actual mechanic wtf have these people ever actually talked to a female human being (in a high school, where everyone should ostensibly know each other, at that), and that isn't even mentioning the social compatibility meters I noticed, it's like something out of a bad online quiz.

Well that's an obvious observation. The dialogue is obviously poor. It's not like noticing the poor dialogue is the secret ingredient. "Ok, well... you've got a story, you just need to make it good." No shit. The AI they have built is simple. It can handle a story of the complexity that they have created. Good stories are filled with nuance. Not only do you need the ability to write a good story in the first place but you have to deconstruct it and isolate all of its dependencies in code. The problems involved escalate in difficulty very quickly.


How do you plan to account for level design within this? Most single-player games have level designs entirely based around how the AI behaves and which were probably developed concurrently with the AI itself -- if you start with human "NPCs" and then replace them with a stupid approximation of those human players then I can imagine a lot of the balancing you've already done going out of whack. And this isn't even to mention the massive amount of resources that would have to go into making every enemy NPC playable over a network, then having to scrap that functionality later on (not to mention that for many enemies it's even kind of dumb to have them as intelligent as human beings in testing -- what if your enemies are e.g. alien spiders?). Perhaps it could work for some particular cases (all of these would probably be advanced 3D FPSes/stealth games or something) but I don't see the idea working too well in the general case.

So the better approach is to have the AI learn from players. For example, create some dungeons or whatever in the normal way. Then create monsters and so on to make the dungeons interesting. Fill them with style. Each monster has abilities and an intelligence. Now put players in, but give the players all the possibilities of play available to the monsters. So effectively a player could do anything a monster could do if he levels in the right way or does whatever is required. So you'd get real level design, filled with AI, and filled with players that could take on the equivalent role of the AIs. The players could lie in wait for other players, or design dungeons themselves, or design the environments that monsters grow up in so that entire groups of AIs are built in their image.

Then you take all kinds of metrics, and sort them and catalog them. You watch replays of players and generated summaries of what happened. You could put in stuff that automatically injects AIs with player behaviours that seemed to be interesting i.e. produced positive effects. If a behaviour seems constructive try it out in a few AIs, see how it goes, mix and match, grow the coverage of each behaviour evolution-style until it ends up in all the places it should be. AI is fun.

« Last Edit: October 01, 2012, 09:28:06 PM by Graham. » Logged
flowerthief
Level 1
*


View Profile WWW
« Reply #74 on: October 01, 2012, 10:05:53 PM »

Yes, learning based on player behaviour is incredible. I went 1 hour of open-field random-encounter-filled flying in Skies of Arcadia to hear what my Dad had to say after I had made it out in the world on my own. His text hadn't changed. I was young. We care a lot about the world changing to reflect us and our history.

Details like address and birth date aren't that interesting. Dwarf Fortress kind of has that stuff. Some people like it. How do you plan on making it interesting?

I'm planning a system in which npcs are assigned traits that each have some effect on their behavior. An npc with low Punctuality might show up late at locations on his schedule (npcs will have schedules governing where and when they can be encountered throughout the city). An npc with high Generosity has a high chance of giving the player stuff. An npc who is Talkative can be engaged in conversation longer. An npc with Possessiveness, once in a relationship with the pc, reacts negatively to the pc developing relationships with other npcs, etc.

Traits will also play a role in npcs' dispositions to be attracted to the pc, or to other npcs. For instance, an npc might have a disposition to be attracted to, or repelled by, any character with the Talkative trait. (This is a game about developing romances and friendships in which the player is in control of a single character, but some amount of simulation of npc-to-npc relationships will occur behind the scenes)

Relationships involving the pc will be determined by variables primarily raised through conversational interactions accomplished through a system that could probably pass for an RPG's combat system if the names of actions were changed.
Logged
Graham-
Level 10
*****


ftw


View Profile
« Reply #75 on: October 01, 2012, 10:15:46 PM »

Yeah I'm doing something similar. There's the combat and the interactions. The player makes these choices similar to the ones he'd make in a turn-based combat system or Mario or Prince of Persia and the other characters react. So there's this duality to every decision. When the PC fights in a certain way he fights in a certain way but also changes the way others present perceive him... and the relationship changes.

Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #76 on: October 03, 2012, 10:32:32 AM »

On hammerspace and other question ten years ago before the thread move on >.> ...

Hammerspace is a storytelling term that refer that anything outside the player's knowledge. Basically it use to make plausible thing pop out of thin air to balance the story, bad use is deux ex machina. Came from the bag in animation where they could almost get anything from, but also work for out of frame object that enter the scene ...

It is important because the problem i was outlining wasn't one of AI, it was one of storytelling, whatever happen in the background and the player does not know could has well not exist, the problem came in storytelling engine (or even simple design) where the player cannot connect information because of all what is happening in the backgroun, even if it happen in the most realistic simulation, for the player it appear random. SO playing data from the perspective of the player is a requirement to create consistent story engine, forewarning, hinting, clueing relevant feedback information is necessary for good experience. Hammerspace is tool that would allow that by only creating event that is consistent with player perception and all background element only exist in probability. That's why I was mentionning event driven game like tokimeki because they are doing just that!
Logged

Graham-
Level 10
*****


ftw


View Profile
« Reply #77 on: October 03, 2012, 04:55:22 PM »

Yeah that's a regular issue. I don't know what the trouble is. It seems like a pretty easy thing to deal with.

It's often important to have a world that simulates beyond what the player can see but it isn't necessary. My system currently works like the following. The world is divided into two pieces, that which the player is currently observant of and that which he is not. Now, sometimes when stuff happens it happens as the result of a calculation or a random number. When a player kicks another character the possible reactions exist within a determined space. There are certain things that can happen and certain things that definitely cannot - I'm talking about the kicked character's reaction. So what actually happens is partially random and partially calculated.

Maybe the kicked character's current state is like this... a little angry, a little flirty with the PC, and exhausted from the previous battle. Now the kick comes. There are many plausible reactions. Based on what the player has observed, as is meticulously recorded by the system, an angry reaction may be plausible, but so may a forgiving one. The player doesn't know everything that's been going on behind the scenes, particularly in the kicked character's head, so several next "pieces of the story" could be plausible. Let's say anger or forgiveness are the two possible reactions. Obviously they'd be a little more complex, there would be more options, and the difference between them would be more nuanced.

Here is an opportunity for the system to cheat. Maybe the kicked character took a detour half an hour ago. What happened during this detour? Maybe based on what the player knows we know 3 things: that the detour took 30 minutes, that it was exhausting for the character that took it, and at least something serious happened in a some un-visited location where other minor characters were hanging out. Now we get to cheat. There are some boundaries around deciding what happened during that detour. We don't need to decide what happened right away. All we have to decide are the properties of what happened right away - those properties are the ones listed.

Going back to the PC kicking the other character (the one who took the detour earlier), maybe an angry reaction opens up more freedom in determining what happened during the detour. A forgiving one offers less, but maybe a forgiving one offers more selection in choosing events in the detour that serve a particular story function. Maybe the "story manager" wants a moment of tension coming up in 20 minutes. It wants it to last 10 minutes. It wants it to focus around the relationship between two characters. Maybe it wants that tension to have a good chance of devolving into some sort of combat, especially if the player has been going through a dry spell lately. Maybe the story manager needs a device to help make that happen. Maybe certain properties of what happened during the detour make a desirable period of tension easier to construct. The story manager could assign these properties to the detour whenever it wanted and then when further decisions need to be made regarding it they take those properties into account.

Summary:
  1. Character O (for other) goes on detour.
  2. 30 minutes later O returns to the party.
  3. 3 things are communicated to the player about what happened during O's detour.
  4. Some time goes by as the player plays.
  5. The story manager decides that it needs a particular upcoming period to be a certain way. It starts assigning qualities to events that are uncertain to offer more freedom in inventing the past so that the future can be controlled. This means assigning particular qualities to the detour. Note, these new qualities must still exist in a realm that is plausible.
  6. Some of these new qualities of the detour may or may not impact character O and what he does, or other characters that were impacted by the detour.
  7. The PC kicks O.
  8. The system has to decide how O reacts, effectively inventing what happened during the detour to satisfy its complex demands for the evolving story.
  9. At some point in the near future some period of tension, with particular qualities, has to occur.

Basically as shit happens the unseen past is alluded to, and is invented on-the-fly to suit whatever demands the system's understanding of good story structure has.

That was probably a little confusing. In other words, decisions are made about the story only when they need to be. Everything is constructed at the last second based around the idea of what makes a compelling story, based on what the player has observed and understood. A neat trick movies can't do: test a player's knowledge of events through gameplay and hit them several times with things they didn't get in different ways until they do, or back off on ideas they get right away.
« Last Edit: October 03, 2012, 05:52:42 PM by Graham. » Logged
wccrawford
Level 3
***



View Profile
« Reply #78 on: October 04, 2012, 08:27:47 AM »

Since Oblivion, I"ve been thinking about worlds that exist without the player, and AI interactions.  Oblivion's Radiant AI really excited me.  Hearing about incidents like NPCs killing each other (over food, I think) was really awesome.  But they ended up dumbing the system down, instead of making it more complex so that things like that weren't screwy. 

So for these years, I've been thinking about it.  I've been thinking about a world where the NPCs had needs and wants, and went about fulfilling them through things that humans do daily.  It would start with simple reactions like going from being hungry to looking for food.  Then expand to buying the food, if there were none nearby.  Eventually, it would have to handle food shortages in the village, and some NPCs would have to be spurred into fixing that shortage.  Certainly, the baker would already be working on it because that's how they make money anyhow.  But others might butcher a cow, or buy from a trader.  Or even become a trader.

And while I find that world really compelling and interesting technically, I recently realized that it wouldn't be interesting as a story.  Without a pre-programmed plot happening, the events aren't significant.

Today, I finally got around to reading this thread, and on the previous page, I found that same statement by someone else. 

Now, I'm still really interested in such a world, but only as a backdrop.  It can be used to flavor a story, but won't really produce compelling stories on its own.  At least, not often enough.  Like monkeys with typewriters, you can eventually produce compelling stories randomly.  But I think that producing them reliably would mean stifling the system to such a point that they wouldn't be very varied.

Of course, there's room for all kinds of games.  I could have a lot of fun in a game that had no story, and the interactions were purely AI.  I could also have a lot of fun in a game that had minimal or no AI, and everything was pre-programmed.  But I think the best games will combine them.
Logged
flowerthief
Level 1
*


View Profile WWW
« Reply #79 on: October 04, 2012, 01:26:42 PM »

Now, I'm still really interested in such a world, but only as a backdrop.  It can be used to flavor a story, but won't really produce compelling stories on its own.  At least, not often enough.  Like monkeys with typewriters, you can eventually produce compelling stories randomly.  But I think that producing them reliably would mean stifling the system to such a point that they wouldn't be very varied.

Now what if a game were made to learn how to generate--or simply replay--the interesting stories through some means of in-game player feedback? If an infinite number of stories can be generated, there must necessarily be an infinite number of compelling stories that can be generated. I wonder how a game could be trained to build up a memory of the stories that have gone over well with players and select these stories for retelling, like a master storyteller who tells only his best stories.
Logged
Pages: 1 2 3 [4] 5 6 ... 10
Print
Jump to:  

Theme orange-lt created by panic