Gabriel Knight style conversation

Started by GarageGothic, Sun 02/03/2003 15:19:22

Previous topic - Next topic

GarageGothic

This is a terrible question, because it's not very specific. I'm not asking for a solution, just: "Can it be done?" and "Would it be really difficult?". But of course any suggestions about how to do it would be appreciated as well :)

I'm only just getting into AGS and have zero experience with scripting, but I'm learning while I'm writing the design docs for a game which I hope to start developing in a few months. So right now, I'm trying to find out what's possible and not, and make changes to the game design accordingly.

The question is simply: Is it possible to make a Gabriel Knight I style dialog interface in  AGS script? What I mean is a conversation interface without layers, but with new topics popping up in the main menu when you learn about them. And each time you choose a topic, you get a new reply, until the NPC has nothing more to add. I assume the graphical look of the GK dialog screen (faces on black background and the topics in the middle of the screen) is just a matter of setting up the conversation GUI right and then changing background when entering conversation mode?

Sorry for the rather vague question, this is after all my first post

Edit: I found a month-old discussion of the GK interface in the forum, but the thread seems dead now.

Dorcan

#1
Yes, it is possible, but I don't think it's easy to script.
I have never scripted a GK dialog-like, maybe I'll try to do something like that and post the script when it's finished. Depend if I have time  ;)


GarageGothic

#2
That would be really cool - if you have time that is :)
Do you think it would be more difficult writing the actual dialog (when you've got the script for it) than with regular AGS dialog? Or would it be more or less the same? If every conversation needs to be hardcoded it might be too much trouble. When I get to actually producing the game, I'll probably team up with a scripter, but it would be nice if I could input the character's lines by myself without his help.

Dorcan

Oook. I have made a little test game using my dialog script.
I'ts not very difficult to use my script, you just have to define the variable QstNbr and set some value for each characters in the InitReplies() function. I tried to make it as easy as possible.

The Basic questions are the questions the player will ask (the same for each characters) at the begining of a dialog.


I hope you will understand by yourself how to use my script, cause I'm too tired (lazy ?) to add comments.

Download the game executable and the game source
HERE

Hope it helps.

GarageGothic

Wow, thanks. That was quick. I'll check it out right away.

Again, thanks a bunch

rax_za

#5
Hey there!

I've setup a GK-style speech system in my game.  At the moment, the entire dialog sits in the Global Script, also because I have to use DisplaySpeechAt for the speech to position next to my characters correctly :( you can imagine how long that's going to get.  I'm using LucasArts style speech.  When a chat is invoked, both characters teleport to the dialog room, their character views change and a global integer is set to a number depending on the character I'm talking to.  The corresponding character image (and animation when talking) then appears at the bottom right of the screen (and obviously the ego appears on the top left).

I use one dialog script because the list of topics is (mostly) the same for everyone as the game progresses.  Every topic uses run-script X.  In the run-script (in the global script), I then refer to the aforementioned integer to test which character I'm talking to, and then check which topic is selected and it returns their response from there (quite a few nested if commands there).

All topic-enabling etc is also done within this global script.  The only thing I use the default dialog system for the list of topics choices, the initial greeting (also sent to the global script) and calling run-script X per topic.

I also set a function per different character talking (eg. SpeechHero), to shorten the length of my DisplaySpeechAt command each time.

It's not hard to script -- it's just quite a large amount of text sitting in the global script.  I would prefer to have all the dialog script in the dialog room's script, but unfortunately the run-script X call from the dialog system is handled through the global script, so I don't think that's possible.

Hope that helped a little (and makes sense).

Dorcan

Yeah, I also thought about making my own dialog system, but this script was supposed to be "easy", that's why it still use the dialog editor.

rax_za

Hi Dorcan

I have seen many of your example scripts you have posted around here and they really are awesome.  I really respect how helpful you are to us AGSers :) so thanks, I have learnt a lot from your posts.

I would like to check out your dialog system and see how the QstNbr variable and InitReplies() function work with your demo.  However, when I open your ac2game.dta in AGS, it just returns me to the first dialog menu (ie. Start new game / Load existing game) as if it hasn't loaded (yet I can see your setting loaded in the background, like your game title etc).  This occurs in AGS 2.53 and AGS 2.54 b2, so am I doing something wrong?

Ciao!

Dorcan

#8
QuoteI really respect how helpful you are to us AGSers  so thanks, I have learnt a lot from your posts.
Wow thanks ! ;D I'm glad you find them useful.
In fact, I posted the last message in a hurry, since I was at school, but now that I have read carefully your message, I must say that my script basically looks like yours, except some difference, like that every message are in the dialog editor.


You must unzip the gkdialog.zip content in a new folder, launch AGS, chose load an existing game and select ac2game.ags. Don't double-click on ac2game.ags in a folder.
That's what I did, and it worked well. I use AGS 2.54 b2.

If you already have tried that, then... I don't know where's the problem...
If it still doesnt work, I could send you the script with the characters, rooms and gui, and you would have to import them in a new game.

rax_za

Thanks, eventually I just selected "New Game" after selecting to load yours and it worked!  Weird huh?  hehe

Take care!

GarageGothic

Dorcan, thank you so very much. This was exactly what I was looking for. You're the best!

RickJ

Dorcan:  Thanks for the example.  This is one of the areas of AGS I have experimented with the least.  This will help when I need to get into it.

Cheers

DragonRose

#12
Sorry for digging up a really old post, but I'm trying to use Dorcan's GK dialogue system, but I can't figure out where I write the responses to questions.  
Thanks in advance.

EDIT:Never mind, I figured it out. It just took me a bit. Bleah.
Sssshhhh!!! No sex please, we're British!!- Pumaman

DragonRose

Okey dokey, I'm having problems with this again, and I don't think I'm going to be figuring this out on my own anytime soon.

I can't seem to get the dialog option list to show up.  This is silly, because I'm using the exact same script as was in the demo game, I just changed the name "Denise" to "Mom."  I go to room100 just fine, and the talking heads show up quite nicely. But that's all I have. No dialog options, no conversation. What's going on?
Sssshhhh!!! No sex please, we're British!!- Pumaman

Scummbuddy

Have you made sure allll of your reference points are linked properly?  Like, its the one who should be talking and stuff?
- Oh great, I'm stuck in colonial times, tentacles are taking over the world, and now the toilets backing up.
- No, I mean it's really STUCK. Like adventure-game stuck.
-Hoagie from DOTT

DragonRose

I actually found the problem.  I was missing a couple of lines of script in the room where the dialog takes place.  I didn't see them mentioned in Dorcan's tutorial, so I didn't bother checking in the download.  Oh well.
Sssshhhh!!! No sex please, we're British!!- Pumaman

SMF spam blocked by CleanTalk