intfiction.org

The Interactive Fiction Community Forum
It is currently Tue May 21, 2013 8:09 pm

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 24 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
PostPosted: Fri Dec 02, 2011 10:43 pm 
Offline

Joined: Tue Mar 30, 2010 9:30 pm
Posts: 188
In one of the dreams in Blue Lacuna there's a conversation scene where you can change between which character you are at any time. I don't remember how I did this except that is was semi-painful, but you might check out the source if you're curious.

_________________
Aaron Reed - Creating Interactive Fiction with Inform 7 - Smarter Parser


Top
 Profile Send private message  
 
PostPosted: Fri Dec 02, 2011 10:57 pm 
Offline

Joined: Wed Sep 07, 2011 1:17 am
Posts: 35
Thanks, Aaron. I will check that out. Do you remember which dream scene it was? It's been a few months since I finished the game.


Top
 Profile Send private message  
 
PostPosted: Fri Dec 02, 2011 11:12 pm 
Offline

Joined: Tue Mar 30, 2010 9:30 pm
Posts: 188
Found it. The code is kind of a mess, so I don't know if this will be of any use. But it looks like I just had versions of each conversation point for each speaker, and then used the BL convo system's ability to have a "default next" beat if the player doesn't say anything to drive what should happen regardless of who's talking.

Err, not sure if that made any sense, but anyway, there's the link to the code.

_________________
Aaron Reed - Creating Interactive Fiction with Inform 7 - Smarter Parser


Top
 Profile Send private message  
 
PostPosted: Sat Dec 03, 2011 12:10 am 
Offline

Joined: Fri Jul 16, 2010 2:09 pm
Posts: 1950
Once again, allow me to offer my in-progress extension, Speech Motivations:

http://www.eyeballsun.org/i/Speech%20Motivations.i7x

It requires Scope Caching (which I have submitted to the I7 site but received no response):

http://www.eyeballsun.org/i/Scope%20Caching.i7x

Speech Motivations treats every character, PC and NPC, pretty much the same way. NPCs only talk during the Every Turn phase -- the PC's actions only cause the PC to speak. Any character speaking has the potential to create a "speech motivation" in any listener, who will then respond if they choose during the Every Turn phase.


Top
 Profile Send private message  
 
PostPosted: Sat Dec 03, 2011 3:00 am 
Offline

Joined: Wed Sep 07, 2011 1:17 am
Posts: 35
Quote:
Found it. The code is kind of a mess, so I don't know if this will be of any use. But it looks like I just had versions of each conversation point for each speaker, and then used the BL convo system's ability to have a "default next" beat if the player doesn't say anything to drive what should happen regardless of who's talking.

Err, not sure if that made any sense, but anyway, there's the link to the code.


Thanks for that. I have tried to wrap my head around the Blue Lacuna conversation system before, and this is a good reason to try again, especially since in my WIP, no more than one NPC who can participate in conversation will be in a location at one time. I imagine, though, that you have not released your conversation system as an extension because it is so integrated (or appears to be so) with the game itself.

(Oh, and completely off topic: I live in frozen Idaho. I played Blue Lacuna last winter, and I very much enjoyed wandering around a tropical island. :) )

Quote:
Once again, allow me to offer my in-progress extension, Speech Motivations:

http://www.eyeballsun.org/i/Speech%20Motivations.i7x

It requires Scope Caching (which I have submitted to the I7 site but received no response):

http://www.eyeballsun.org/i/Scope%20Caching.i7x

Speech Motivations treats every character, PC and NPC, pretty much the same way. NPCs only talk during the Every Turn phase -- the PC's actions only cause the PC to speak. Any character speaking has the potential to create a "speech motivation" in any listener, who will then respond if they choose during the Every Turn phase.


I am intrigued. Is there an example to accompany Speech Motivations?


Top
 Profile Send private message  
 
PostPosted: Sat Dec 03, 2011 11:33 am 
Offline
User avatar

Joined: Fri Feb 22, 2008 6:54 am
Posts: 61
Location: The Gothic South
rpatten wrote:
Double? Probably triple. But I am looking for ideas on subtly guiding the conversation.

I've looked at blogs, articles and coding examples, but either I'm missing something, or this hasn't been talked about much. Perhaps it is unattainable, but I believe it can be done.


Conversation is the biggest pain as far as game design goes, and at some point, you've got to look at the law of diminishing returns. If you have only a small number of conversations in the game (say three), then ok. More than that, I'd say it's not worth doing.

Why do I say that? The complexity explosion for one. If you have three NPCs interacting, say, and each has two topics, then you have nine possibilities that you have to design (3^2). More topics = more possibilities, and even if each topic only has one NPC that will say something about it, you still have to go through the work to design all of this. Now if the PC possesses an NPC, if he's not going to be bound by the NPC's knowledge (or script), then your conversation map just went out the window, and the complexity ramped up even more.

For two, most players won't care about switching characters at conversation point A versus B, and you can easily concoct a plausible explanation why possession can't happen in midstream (concentration perhaps). All your work just won't be used in most game sessions.

Last, the ability to take over an NPC is way more interesting than the ability to do so in the middle of a conversation. If you forbid this, the PC will possess different people, trying to see what they know about the other characters. If the PC can possess someone in the middle of a conversation, he'll still resort to this serial conversation technique, because there's no guarantee he can switch in time once he discovers something. Many conversations are one-way streets ("I've already talked about that and I'm done with it!"), so he'll have to go back and start from square one with a new conversation anyways.

My WIP, Seasons, is pretty heavy on conversation, and I'm not using I7, but the same principles apply. Only you'll probably be more frustrated than I am, due to the endless beta of I7.

_________________
http://www.intaligo.com -- Building, Zegrothenus, New Cat, I6 extensions
http://sturmdrangif.wordpress.com Incendiary IF commentary


Top
 Profile Send private message  
 
PostPosted: Sun Dec 04, 2011 1:28 am 
Offline

Joined: Fri Jul 16, 2010 2:09 pm
Posts: 1950
rpatten wrote:
I am intrigued. Is there an example to accompany Speech Motivations?

If you ask nicely, I'll write one. ;)

I think I can tack a little 1-star example onto the documentation on Monday or Tuesday.


Top
 Profile Send private message  
 
PostPosted: Sun Dec 04, 2011 8:28 am 
Offline
User avatar

Joined: Thu Nov 04, 2010 6:30 am
Posts: 985
Location: Gothenburg, Sweden
capmikee wrote:
you ask nicely

Please

_________________
Man ska inte tro allt man tänker.


Top
 Profile Send private message  
 
PostPosted: Sun Dec 04, 2011 8:43 pm 
Offline
User avatar

Joined: Wed Sep 01, 2010 1:50 am
Posts: 784
Location: Sydney, Australia
You know what would be cool? Becoming another character mid-sentence.


Top
 Profile Send private message  
 
PostPosted: Mon Dec 05, 2011 1:22 pm 
Offline

Joined: Fri Jul 16, 2010 2:09 pm
Posts: 1950
Here you go then.

Spoiler: show
Code:
"Ran Over"

Include Speech Motivations by Mike Ciul.

Highway is a room. Jay is a man in highway. Bob is a man in highway.
Bob wears a coat. Jay carries a joint. God is a subject.

The description of the player is "You're completely naked, and still smarting from your fall out of heaven."

For getting attention of Bob when Bob is not expected to respond:
   forget the concerns of Bob.

First for speaking out loud of something (called the subject matter):
   Repeat through Table of Responses:
      if the speaker entry is the person asked and the subject entry is the subject matter:
         say response entry;
         say paragraph break;
         rule succeeds;
   continue the activity.

For speaking out loud when Bob is the person asked:
   say "Bob shrugs."

For getting attention of Jay when Jay is not expected to respond:
   If the new subject matter is Jay or the new subject matter is Bob:
      confirm motivation of Jay;
   otherwise if someone is expected to respond:
      forget the concerns of Jay;
   otherwise:
      confirm motivation of Jay.
      
For speaking out loud of something (called the subject matter) when Jay is the person asked:
   say "Jay expounds at great length, with multiple interjections of colorful profanity, on the subject of [the subject matter], but at the end you're still not sure how he feels."

For printing the name of Jay when the speaking out loud activity is going on and the person asked is Jay:
   say "himself";

Table of Responses
speaker (object)   subject (object)   response (text)
yourself   joint   "You comment on Jay's joint."
yourself   yourself   "'What's the matter? You never saw a naked black man before?' you say."
yourself   coat   "You tell [the current interlocutor] that you just want to borrow the coat until you can find some other clothes."
Bob   Jay   "Bob smiles and pats his friend on the back."
Bob   joint   "Bob raises his eyebrows."
Bob   God   "Bob shakes his head."
Bob   Bob   "Bob grins and thumps his chest."
Bob   yourself   "Bob tries not to look at your nakedness."
Jay   joint   "'Dude, have some! First one's free!'"
Jay   coat   "'Dude, [if jay is expected to respond]what are you thinking? My man doesn't want your dick rubbing all over the inside of his armor!'[otherwise]why you eyeing my man's coat?' Jay yells at you."
Jay   yourself   "'I'm not staring at a naked black man. I'm staring at naked black man who just [italic type]fell out of the f***ing sky![roman type]'"

First for speaking out loud of yourself when the person asked is Jay and Jay is not expected to respond:
   say "Jay tries to pretend that he's not staring at your nakedness.";

For speaking out loud of the coat when Bob is the person asked:
   say "Bob removes his coat and hands it to you.";
   end the story finally saying "You are no longer naked."

test me with "x bob/ask jay about joint/x me/ask jay about me/x coat/ask jay about coat/tell jay about coat/ask jay for coat/ask bob about jay/ask bob about joint/tell bob about god/ask bob about bob/ask bob about me/ask bob about joint/ask bob for coat"


The updated version, with example, is still at http://eyeballsun.org/i/Speech%20Motivations.i7x


Top
 Profile Send private message  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 24 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: Dannii, Google [Bot], Google Feedfetcher and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group