Simulating "real" feelings and moods in gal-games

A place to discuss things that aren't specific to any one creator or game.
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Post Reply
Message
Author
desulishor
Regular
Posts: 146
Joined: Wed Aug 11, 2010 1:35 pm
Completed: Project Dualis, Of Valkyries and Life
Projects: Project Scribble [on hiatus] Project Aivisu (WIP) Seven Seasons (WIP)
Location: Finland
Contact:

Simulating "real" feelings and moods in gal-games

#1 Post by desulishor »

This is a theorization thread, and I'm not sure if this or something similar can be achieved with renpy, but at least i can hope that some1 who's good with programming can show me the way. If you like this idea, feel free to steal it, as long as I get to play it.

If human thoughts are like the commands of a program, then feelings are something more vague, like a color painted over the whole thing. And this is what my idea is based on. At any given moment, the girl is in a state, described by colors which then reflect feelings and moods. Some colours open up new routes and change the way the girl acts and speaks, while others block up routes. Depending on player choices, one color can only turn into a set number of different colors so it affects your story progression too. The colours are as following:

White: Neutral, a colour that can turn into any other color.
Green: Friendly, the girl likes being with you but turning these to feelings to love will take time and effort. Can turn into pink or yellow.
Yellow: The girl is active and having fun, rushing head first into new things which can be good some times and bad on other occasions. This colour can turn into pink or black.
Black: The girl is depressed, only routes available are to red and green.
Red: Hate, playing with this color is like flipping a coin, the only routes available are rejection and turning to pink.
Pink: The colour of love, ending route opens up.


Of course, one could just write an incredibly complicated and branching game script tree with a starting point, branching into red, yellow, green and black routes, with a different bit different endings for each route. Kinda like this:
Image
(of course, there are multiple events and questions in each color route)

However, this still limits the choices possible to the player, what I really wish to see someday is a simulated personality that simply has things she likes and dislikes, a huge variety of reactions and things to do and it simulates the moods and feelings too, maybe like this, maybe some other way.

gekiganwing
Lemma-Class Veteran
Posts: 2473
Joined: Wed Sep 29, 2004 1:38 pm
Contact:

Re: Simulating "real" feelings and moods in gal-games

#2 Post by gekiganwing »

Your idea is fascinating. I'm not entirely sure how it would work...

If you're creating a visual novel, then perhaps every "trivial" decision point could determine an NPC's mood. How can I phrase this... Let's say that there's two phases in a VN. The first phase determines who the hero chooses, and the second phase determines how well the relationship goes.

This might work in a stat-driven simulation.

Dunno if you remember Thousand Arms (PS1), but that game had a mood meter that seemed to affect date sequences.

desulishor
Regular
Posts: 146
Joined: Wed Aug 11, 2010 1:35 pm
Completed: Project Dualis, Of Valkyries and Life
Projects: Project Scribble [on hiatus] Project Aivisu (WIP) Seven Seasons (WIP)
Location: Finland
Contact:

Re: Simulating "real" feelings and moods in gal-games

#3 Post by desulishor »

i've heard about thousand arms and know how that system worked. If i go by this tree, I'll have to make a single heroine game. The first question determines the mood route, then 3 questions in which some options give points, and others dont. points determine the next mood, then another 3 questions if it leads to sidetracking or simply jumping to the ending.

So with a little counting... 25 questions with 3 answers each=75 responses. 4 different endings and of course the chara design and route plots. still within achievable limits, i'd say. (last thing i wrote had 3 girls with 10 questions each so...)

Jo'ogn
Veteran
Posts: 398
Joined: Sat Jul 12, 2008 1:31 pm
Projects: Kassiopeia [iVN]
Location: Deutschland
Contact:

Re: Simulating "real" feelings and moods in gal-games

#4 Post by Jo'ogn »

[EDIT] Three answers:

#0 Did you play "Facade"? http://www.interactivestory.net/
Back 4 years ago it was a huge 1GB package for Windows because all the voice samples were in WAV. This project is a bout an interactive stage play. It doesn't simply reveal how it works. I comnsider such approaches as rather complex. iirc it has about 3 or 4 endings.


1st answer: I follow a similar approach in my game Kassiopeia. I have mood variables in the background. Which keep track of what the player does and how the girl feels about it. It creates instant reactions for one thing, but as I have a "red string" - a main plot - I have to fall back onto it. However this mood decides later on how the girls react in certain situation. Locking pathes and opening others.


2nd Answer:
In "Kiss Before Midnight" (2008 for PC) we tried to create a "conversation simulation" based on 4 moods:

- blue = neutral
- yellow = interested
- red = in love
- black = angry

The programmers had severe issues to come up with a 'generic' game, which would allow to more or less steer a pointer into the desired colour area (state of the girls mood), while she might "play against" you. Initially it was based on multiple choice "pick-up-lines" which I rejected as too plump and technically outdated. My motivation was to avoid putting words into the players mouth.

So I suggested symbolic topic cards with which one could "talk" to the girl in front of them. Symbolic subjects where according to the girls interests, or the narrative before this mini-game. One could connect those topics with 'adjective tokens', like "talk seductively about Paris", or "ignore bored the birthday gift". The girl would then respond with face expressions and generic sounds of approval or dismay. In the end this approach was dismissed, as it took too much time setting up the subjects for each level and possible relationships.

The last approach was somewhat like "Magic the Gathering", turning the subjects, or cards into into mere colour controls. It was near to impossible to make it work 'natural' - in the sense of a flirtative conversation. The player would play out a red card, moving towards red, while the girl might keep the player off by playing blue, reverting the pointer. In the beginning those "moves" often cancled each others out...

Somehow the linear planning programmers clashed with the rather emotional concept of non-linear human interaction. I did not only want "good answers", or positive results, I wanted both sides of a coin in a simulated relationship. And I didn't want the "bad answers" to be dead-ends either. Admittedly running out of time the mini-game didn't turn out any good. :?
Audio Plays: [original] The White Feathers Directive - [Star Wars] Through Flame and Shadow
Ren'Py: Kassiopeia [very interactive VN] work in progress - looking for proof reader english

Aetheria
Regular
Posts: 78
Joined: Fri Jan 16, 2009 12:17 am
Contact:

Re: Simulating "real" feelings and moods in gal-games

#5 Post by Aetheria »

As far as "simulated personality" goes, the interactive fiction author Emily Short has written a few (text-only) games exploring conversation and mood modeling: most notably Galatea, Best of Three and Alabaster (a collaborative effort). While I don't know much about the coding that went into making these, they're an interesting example of what can be done (albeit in a somewhat different medium).

Jo'ogn
Veteran
Posts: 398
Joined: Sat Jul 12, 2008 1:31 pm
Projects: Kassiopeia [iVN]
Location: Deutschland
Contact:

Re: Simulating "real" feelings and moods in gal-games

#6 Post by Jo'ogn »

Aetheria wrote:As far as "simulated personality" goes, the interactive fiction author Emily Short has written a few (text-only) games exploring conversation and mood modeling:
Text-adventures. That's how I got motivated into making my own game back in the 80's. Infocom Text-Adventures were considered to having the best 'parser'. Though I never played any of these. Usually Text-Adventures were somewhat frustrating, because they suggested that you could enter anything, but they - naturally - only understood few.

The next step was Lucas Games where you clicked simple sentences together. As in "Zack McKracken". In other words ppl became obviously too lazy to type in whole or reduced sentences. Especially as it wasn't necessary for the overal limited gameplay anyway!

Well and then we ended up with point and click adventures. Call it an evolution. All you do in adventures is steering the avatar, taking objects and using them someplace. It's not exactly about simulated human interaction.

I recall somebody bringing up the idea of using text input for a Renpy game. It seems with Visual Novels we blend Text-Adventure with the point-and-click method. A multiple choice menu with sentences is a very simplified variety of typing in the sentence yourself. If we now desire more natural interaction. What are we going to do?

I 'played' the Japanese N.U.D.E. on Xbox a little. And talking to the robot girl wasn't exactly more satisfactory to me, but then my Japanese is very limited - but so is what you can do with the AI which you teach to do a couple of things.

The problem with simulating interaction is the huge amounts of text you need to place into "libaries", or "lexica" for the game to understand. That's why I tried a 'generic' approach with symbols or tokens. If you manage to make the tokens creative enough to have the player coming up with their own sentences in their mind if they choose to:
- [offer] [a Rose] [in a friendly manner] or
- [avoid] [subject of birthday] [in a shy manner] or
- [hide] [rose] [in a nervous manner]

You still need to tell the game engine how to interpret those actions. Does the girl notice [nervousness], does she value [friendlyness]. Does she like [roses] at all?! And even if she doesn't, might she accept a(ny) gift as a sign of affection. So we end up in character definition and how it reflects itself in the game.

You would also need to display emotions in gestures and face expressions. Many of the Renpy games have only a very limited sets of character sprites. Just taking the same body and altering the face will not do. The body posure, distance and closeness communicate as well.
Audio Plays: [original] The White Feathers Directive - [Star Wars] Through Flame and Shadow
Ren'Py: Kassiopeia [very interactive VN] work in progress - looking for proof reader english

desulishor
Regular
Posts: 146
Joined: Wed Aug 11, 2010 1:35 pm
Completed: Project Dualis, Of Valkyries and Life
Projects: Project Scribble [on hiatus] Project Aivisu (WIP) Seven Seasons (WIP)
Location: Finland
Contact:

Re: Simulating "real" feelings and moods in gal-games

#7 Post by desulishor »

Yeah, so it turns that there are multiple ways to approach the problem and similar attempts have been made before. But since yours truly can only work with renpy, writing a script that feels like the character has different moods, rather than actually running program parameters to simulate them is the only way i can achieve this.

Currently, the script I started writing as a result of this thread has 2 girls, each with 4 storylines (different moods) Ie, if you do bad in the start, the girl gets depressed or starts to hate you. Then you'll have to improve your points to change the mood and to get on with the story. But in the end, a relationship that had a bad start but a happy ending will be different from the ending you'd get if everything had been smooth sailing from the start.

Jo'ogn
Veteran
Posts: 398
Joined: Sat Jul 12, 2008 1:31 pm
Projects: Kassiopeia [iVN]
Location: Deutschland
Contact:

Re: Simulating "real" feelings and moods in gal-games

#8 Post by Jo'ogn »

desulishor wrote:But since yours truly can only work with renpy, writing a script that feels like the character has different moods, rather than actually running program parameters to simulate them is the only way i can achieve this.
Not necessarily. Renpy simplifies VN design, but it is a programming language after all - you can switch to python mode any time and come up with sth completely different. If that weren't the case there would be no RPGs or mini-games.

The work-loads lies in writing alternative parallel plot-lines which are chosen depending on which mood one plays in. I doubt it's possible to generate text in a generic way that feels 'natural'. The more realistic you want it to be to closer you move to the steep edge of the so-called 'Uncanny Valley'.

The "Galatea" Text-Adventure dissapointed me in that respect that I can pretty much only 'interrogate' Galatea. I have no, or only very limited means to react to her. Galatea is in an emotional dilemma, all the player has, is an unspecific "Sorry" command. Turning her at the wrong time does create a negative response from her, still there is no means to discuss the matter with her. So there is only a vague connection between the conversation topics. It's a far cry from simulating real feelings, or moods in a situation, as the Text-Adventure is 'only' made of informational text-blocks. The response- and context-system is very small.

"Facade" avoided that issue, by having the player watch Trip and Grace quarrel, they just go on by themselves and if the player isn't quick enough they both will have changed the topic already. So they contol the pace and subject, not the player.
Audio Plays: [original] The White Feathers Directive - [Star Wars] Through Flame and Shadow
Ren'Py: Kassiopeia [very interactive VN] work in progress - looking for proof reader english

HotLimit
Regular
Posts: 48
Joined: Thu Jun 18, 2009 4:04 pm
Contact:

Re: Simulating "real" feelings and moods in gal-games

#9 Post by HotLimit »

Persona 2 (and many other SMT games) had an interesting example of this system. You could have conversations with the demons you fought, and depending on the demons' personality traits, and your questions, and their responses to your questions, their mood would change. I don't remember how many personality traits they had, but they had 4 moods (scared, angry, happy, and playful, I think), and there were tons of different conversation possibilities.

The big difference is that each of those 'conversations' were only 5 or 6 lines long. It sounds like you'd have to stretch out one of those short conversations across a long game to accomplish something with a real plot.

I've made some decent call-and-response type 'AI' for some of my games. I basically have a number of choices the player can make, and then the computer will return something semi-random. So like if the player chooses 'I'm hungry', there's a 1-in-2 chance that the computer will say 'let's go eat something', whereas there is a 1-in-5 chance it will say something completely different. That way, the player can try to influence the computer, but won't necessarily be successful.

My suggestion is that you try to make one of these simulations isolated (rather than in a game with a plot and story). Then you can figure out how to adapt it to a larger setting.

Post Reply

Who is online

Users browsing this forum: No registered users