I´m pretty new to Quest, having played around with it for a couple of days. I wonder how to best implement the following things:
A) I wonder, if it is good to have more than one object representing a NPC to reduce the clutter of skripts and dialogues (convlib), if the player can interact with the NPC on different occasions and in different locations. For example: In a spaceship game, the player can talk to the science officer at different times of the story and meet him at different locations (the bridge, science lab, on a planets surface and so on). From my newbie perspective it seems kind of practical to have one object in each location representing the science officer, turning him visible, whenever necessary and tracking story progress via tags or attributes.
B) I would like to have narrative combat in my game, where the player gets different options how he wants to attack and how he can react to the attacks of the enemy. Depending what the player chooses the combat moves on in different directions - kind of a gamebook-style combat inside a text adventure. What is the best way to handle this. Do I make a "attack him" verb on an "orc" object, which starts a script handling the whole combat? All of the combat resolves inside the script?
Thanks in advance for any help!
A) This won’t be entirely helpful but it may help you understand how I do things. For two objects representing the same NPC... I only do that if the NPC behaves differently in different parts of the game. Example, in X3, I have a mysterious old who has a very cranky personality prior to befriending him. He is brief, abrupt, cranky, slams doors in faces, storms off, etc but after you solve how to befriend him, he’s quite amiable. You CAN do this with flags but I found the character was easier to organize with another “object”. I think however anyone decides to handle this, it’s a total preference thing and can effectively be done either way.
B) Again, I think this is a preference decision. There are combat libraries that handle it well but I wanted my spin on how the combat should be done. In my game, once a player enters combat, all exits lock (except the one where the player had entered so they can escape if they choose), most interactions are limited (like “x [object]” is resolved with a “This doesn’t seem to be a logical time to try something like that.” And the monster takes another turn to attack.)
I know that’s probably zero help, but I think my point is... you can handle these situations in whatever way you find easiest and what way works best for your game.
If you need help implementing ideas, ask away! People here are very good at helping.
Best of luck.