ADRIFT Forum


The place to discuss the ADRIFT Interactive Fiction toolkit

May I have help with my Game... Telephones... - "Deep Into That Darkness Peering"

This forum is the place to discuss the older ADRIFT versions 3.9 and 4.0.

Please refer to the ADRIFT 4 Manual for more information.

Postby InteractiveFictionTV » Fri Nov 12, 2010 4:43 pm

Hello.

I was wondering if someone could give me some tech advice...
I learn slow, but once I learn, I never forget.

My character is awaken from sleep in bed in a dark room to a loud telephone ring. When you answer the phone and talk to the Telephone Voice (A Character) The Telephone Voice tells you to get up, you are in great danger. When you turn on the light and radio that helps you wake up, you then rise from bed and walk around your bedroom, and bedroom bathroom for a minute to explore, if you want. The bedroom door is locked.

You then get a second phone call from the same phone, telling you that somewhere in your room(s) a key is hidden, yada yada yada.

When you find the key, the same phone calls, with the same Telephone voice who tells you to immediately go downstairs, to the kitchen to eat a prepared meal, then go to the TV room and wait for another telephone call in that room that will give you more information.

What I need to know, is specifically in my bedroom, how do I make the same telephone in the bedroom, say a different list of statements when I'm standing up from when I was lying down.

And, when I go downstairs, I want the same Telephone Voice to be connected to the telephone downstairs so he will say new things, new instructions.

I would greatly appreciate some advice, because I want this game to be a success. Thanks.
User avatar
InteractiveFictionTV
 
Posts: 45
Joined: Fri Aug 27, 2010 10:06 pm
Location: Canada

Postby Albaniua » Sat Nov 13, 2010 3:36 am

In a moment, people are going to flood the forum with loads of better advice....watch out!

In the first room, how did you get the phone to ring? Did the player trigger a task? was there some kind of event? There are a lot of ways to make a phone say different things. here are some.

For the call downstairs, it would be easier to link it to a task that you could only do downstairs. You would write tasks with condition checks. Lets say there is a shiny cup on a table. You know people are going to look at it and try and pick it up. Write a task "get cup" that at the end moves the cup to the person and displays the phone message bit. Does the player actually have to pick up the telephone? Some games will skip this part and just write it into a "cut scene." So, upon touching the cup, the message displayed will say something like " You hear the phone ringing. You walk over and pick the phone and the voice in the phone says...."

But when you have a task that needs to activate two or more actions you needs to start running restrictions. You can make similarly named tasks, two "get cup" tasks, except they have different restrictions. When you type get cup, only the task that is possible will run.

It sounds more that you want at least two different phone calls in the same room, though. You could set up an event that, upon completion, will cause the second phone call to happen. The event can start immediately but last lots of moves, enough for the player to explore the room.


If you definitely want the call to be different whether the player in on the bed or not, you are going to make a task with a restriction that checks whether the player is sitting/laying on the bed. You could make a standing variable, but that's probably overkill.




Edited By Albaniua on 1289621382
Honk if you've played Escape from Rungistan.
User avatar
Albaniua
 
Posts: 87
Joined: Tue Sep 30, 2008 8:55 pm
Location: Las Vegas, NV

Postby Hensman Int'l » Sat Nov 13, 2010 4:30 am

If you’re using tasks to make the phone ring, add a restriction of “Player must be lying on the bed” or “Player must be standing on – the floor –“. You don’t need to implement a variable as Albaniua suggested.

However what I think you’re asking is how to have the Character “Telephone Voice” give different responses to the same question depending on where your Player is in the game. From what I understand from your other posts, the first conversation may go as follows:

You are lying in bed feeling groggy when the phone rings.

>answer phone

You fumble for the receiver and finally grasp it. You hold it to your face and manage to weakly croak, "Hello?" A deep but excited voice shouts your name and blurts out, " -- Wake up! Wake up! Get out of your bed!"

>ask voice about who are you

"Nevermind that now!" the mysterious voice interupts. "I'll explain later. Just turn on the light and clock radio, it will help you to wake up. Get out of bed -- right now! You are in immediate danger!"


The second call may have the following response:

>ask voice about who are you

“Not important! Just get the key!”


And later:

>ask voice about who are you

“All will be revealed later! Go downstairs, I’ll call you from the TV room!”


So your NPC will have different responses depending what tasks have been completed. “But how do I make the same telephone in the bedroom, say a different list of statements when I'm standing up from when I was lying down.” Here’s my suggestion...

In your character “Telephone Voice” one of the conversation subject(s) may be “who, who are you”. In the Reply to the above field enter responseA%call_num%. Create a variable call_num = 0. In your first task, say “#phone rings first time” (the # acts as a comment command – it runs only from another task or event), set one restriction to “Player must be lying on the bed”, and add a change variable action “Change call_num TO exact value 1”.

Now the fun part is to create an ALR file (see pages 56-57 in the manual). The following lines will be implemented in the file:
#Telephone Voice responses to “who are you”
responseA0|Are you talking to thin air?
responseA1|"Nevermind that now!" the mysterious voice interupts. "I'll explain later. Just turn on the light and clock radio, it will help you to wake up. Get out of bed -- right now! You are in immediate danger!"
responseA2|”Not important! Just get the key!”
responseA3|”All will be revealed later! Go downstairs, I’ll call you from the TV room!”
responseA4|”Watch channel 36!”


Me thinks you get the jist!
Officially and Fully Released:
The Fly Human (v.4) - 2010
Brain Dead Weekend (v.4) - 2011
User avatar
Hensman Int'l
 
Posts: 197
Joined: Sat Aug 05, 2006 12:48 am
Location: Wisconsin USA
Points: 10

Postby InteractiveFictionTV » Sat Nov 13, 2010 4:53 am

Guys! Thanks so much for the intense instructions! I will study it more in depth and do my best to apply the advice!

Thanks again...

Stay tuned for updates...




Edited By InteractiveFictionTV on 1289624280
User avatar
InteractiveFictionTV
 
Posts: 45
Joined: Fri Aug 27, 2010 10:06 pm
Location: Canada

Postby Duncan_B » Sun Nov 14, 2010 7:31 pm

Personally, I'm not so sure this should be executed using "Telephone Voice" as a character. Why not just create a task called, like, "* talk *phone *" that reports the same information? You wouldn't have to muck about with conversation subjects or the ALR, either. Character conversation subjects only get two responses without the use of variables... task-controlled conversation, you are limited only by the number of tasks you can create.
User avatar
Duncan_B
 
Posts: 1220
Joined: Fri Apr 01, 2005 8:26 pm
Location: Chicago, Illinois
Points: 11

Postby InteractiveFictionTV » Sun Nov 14, 2010 8:25 pm

Duncan_B:

That's a intriguing concept there...

But please explain...

...how would that work when the voice from the Telephone rings up, I pick up the receiver in various rooms and times in the house, and in each time, the voice would give me conversations and important instructions?
User avatar
InteractiveFictionTV
 
Posts: 45
Joined: Fri Aug 27, 2010 10:06 pm
Location: Canada

Postby Duncan_B » Mon Nov 15, 2010 2:34 am

The telephone should be a static object, with particular instances of "* talk *phone*" (you'll also want synonyms like "* answer *phone*", "* pick *phone*", "* get *phone*", and "* take *phone*") for each time it gives particular information. You can control the information it gives each time using restrictions... for example, the first task should have no restrictions and it will tell the player whatever the first message is. The second should have the restriction that the first task must be completed, and so on.

Further questions, comments, etc., let me know.
User avatar
Duncan_B
 
Posts: 1220
Joined: Fri Apr 01, 2005 8:26 pm
Location: Chicago, Illinois
Points: 11

Postby InteractiveFictionTV » Mon Nov 15, 2010 3:56 am

Thanks Duncan_B! That makes logical sense! I will update this post when I try that technique... coming soon...
User avatar
InteractiveFictionTV
 
Posts: 45
Joined: Fri Aug 27, 2010 10:06 pm
Location: Canada


Return to ADRIFT 3.9 and 4.0

Who is online

Users browsing this forum: No registered users and 2 guests