|Well of Souls
Quest Guidelines for World Authors
|Well of Souls:
page contains some organizational thoughts to keep in
mind when crafting minor quests in a Well Of
In the game, Well of Souls, players are allowed to freely roam the world, dropping into 'scenes' at specific locations where they chat with each other, and with scripted computer players.
It is these scripted players which inform the players of available 'quests' The script language allows you to mark individual players with invisible 'tokens' to help remember who has heard what already. That is to say, when a player enters a scene, the game engine rifles through the player's pockets to see what tokens he or she is carrying (proof of prior accomplishments) and that determines which dialog takes place. A given scene script may include several different dialogs. (for example, the FIRST time you meet the king he says one thing, the NEXT time he says something else, etc.)
Each minor quest requires at least 3 different tokens:
Tokens are just numbers. Not seen by the player, but they influence which path is taken through a scene's dialogue. A single 'world' consists of many minor and major 'quests' (including one final quest). You must portion the available tokens (numbered 1 - 4095) between these quests. When you quit a game (save it) your current tokens are recorded with your character and restored later when you resume playing.
NARRATION VS. DIALOG
All plot development is via dialog with scripted characters in scenes, not via narration. This plot form should stress actual dialog over descriptions of events. Dialog should be delivered in economical (bite-sized) chunks since the dialog is displayed in a small speech bubble, and introduces a delay in play.
There is a single narrative paragraph, per world, which scrolls by the user during the opening credits for the world. It can be used to set the overall tone and backstory for that world, as well as to hint at what the final quest will be about.
A limited amount of 'acting' is available to the scripted characters (they can slide around the screen a little, enter and exit, and appear to talk to each other.) They can also ask the occasional YES/NO question of the player, as in "I've told you my problems, are you going to help me or not?"
STRUCTURE OF A QUEST
Each minor quest requires 4 scene scripts. Each scene script is influenced by the tokens the player is already carrying:
In a given world there are many quests, each with 3 tokens and 4 scenes. The REAL scene and token numbers are not allowed to overlap, so 1,2,3,4 is just an example. For simplicity you might want to number your quests 1-25 and then use "23" to mean "token 3 of quest 2"
And, of course, this is the minimum form. You can add additional scenes and tokens in a given quest to create whatever level of complexity which appeals to you. However, this will result in a high degree of serialization. Overall you probably want to create multiple, independent, but overlapping quests to enable the player to perform the quests in any order (and to be simultaneously working on several quests at the same time).
For the most part, the player can enter into scenes in any order, so you cannot be sure that some other quest has been completed before the player begins a new one (unless you specifically do a token check). You are advised to embrace this non-linearity and to impose as few such modal plot directives as possible. (also, keeping your quests independent will mean less work if you modify a quest -- you won't have to also update 15 other quests).
However, there are times when you WANT some forced serialization (you might have a quest which only makes sense after the town of Dorber has been destroyed.. and that happens in the middle of a quest). The easiest way to handle this is to have the same king (as it were) deliver both quests. IN a single scene's script file you control the order in which the tokens are checked.
The script language structure allows serialization such that a particular king in a particular castle will wait until you have completed his first quest before he challenges you to the next one. Hence you can take advantage of that fact to imply historical progress. (at least local to that kingdom). So you might have only 5 kings with 5 quests each where it would only be possible to be working on 5 quests at a time and when working on a particular king's 3rd request, the dialog can refer to events of the first 2 quests in the past tense (whereas they should not refer to other king's quests at all without explicitly testing for tokens from those quests.)
The goal is to keep each quest separate enough that it isn't a nightmare to keep all the numbers in order (for example, avoid requiring that a change to one quest affects the scripting for lots of other quests)
And of course, quests don't have to be managed by kings. That's just an example. Any scripted character can deliver quest dialog.
EXAMPLE QUEST: The hunt for the golden duck
Here is an example Quest, showing the sort of script language control required in each scene so as to deliver the proper dialog as the player works his or her way through the quest. The BLUE LETTERS indicate script language commands which are described, rather than shown in their actual ugly syntax.
1.) We hear about the problem, and take on the quest, gaining token 1
SCENE 1 / CASTLE ANDOVER
IF WE DON'T HAVE TOKEN 1 (tell player the problem)
ELSE IF WE DON'T HAVE TOKEN 2 (remind player of the problem)
ELSE IF WE DON'T HAVE TOKEN 3 (thank player for doing it, and reward player)
ELSE (we have all 3 tokens) (acknowledge player is all done with this quest)
2.) We wander around, and random villagers notice we have token 1, but not token 2 and give us hints.
SCENE 2 / VILLAGE
IF WE HAVE TOKEN 1, BUT NOT TOKEN 2 (give us a hint to solve the quest)
ELSE IF WE HAVE TOKEN 2 BUT NOT TOKEN 3 (remind us to get our reward)
ELSE IF WE HAVE TOKEN 3 (praise us for completing the quest)
3.) We have found our way to the cave of the bandits and met the Bandit King
SCENE 3 / BANDIT CAVE
IF WE DON'T HAVE TOKEN 1 (Bandit refuses to fight us if we haven't heard about quest yet)
IF WE HAVE TOKEN 1 BUT NOT TOKEN 2 (our shot for glory)
IF WE HAVE TOKEN 2 (we already fought and beat this bandit)
4.) We have wandered back to castle andover and pick up in scene 1 where it notices we have token 2 and we get token 3 as a result. (see scene 1 above)
I hope that made a LITTLE sense, but I suspect it didn't... Feel free to rummage around in the Evergreen script files and see some real scene examples. You can cause a scene to run by typing "/scene X" (where X is the scene number). This will mark your character as a cheater, so make a special character just for this purpose.
STRUCTURE OF A WORLD
Whether you plan to generate art assets or not, you might consider doing the following:
Presumably it is more interesting for the player if there are 5 or so quests which can be worked on at the same time and the results of each of those quests enable subsequent quests to take place.
Also, in addition to the minor quests, each world should have a few major quests which each depend on the player having solved multiple minor quests (be in possession ofmultiple token 3s) (for example tokens 13, 23, 33, and 43 -- token 3 of quests 1, 2, 3, and 4).
And again, tokens are just numbers. I propose the quest numbering just to simplify understanding which tokens are which without a lot of cross-referencing.
Players working in groups see the script played out according to the tokens carried by the the LEADER of the group. Hence you may be involved in a more advanced quest if you are following someone. The tokens need to be carefully designed so that if I receive an advanced token by completing a quest with a more powerful leader, that token does not prevent me from doing the 'earlier' quests when I subsequently play on my own.
Each world should have an official climax quest which solves the problem stated in the initial piece of narration which scrolls by during the credits for the world (the only narration). But even this does not 'end' the world. The player can then wander around for as long as he or she likes, helping weaker players. Though there is feedback to encourage the powerful player to not 'lead' since only if a newbie is the leader in a scene will the quests be doled out again.
I don't expect that to make too much sense until you have played with the script engine a little.
Anyway, none of this is binding. Please don't develop anything too elaborate with these tools as all is liable to change and then you will be mad at me.
People contributing Worlds will probably not see any return on their investment short of their credits (and my gratitude). My intention is for the game to make it easy to share worlds with friends. To the degree this web site can be used to facilitate that, I will make my own best effort. I will try not to exercise any censorship, but I might have to provide some sort of rating system for worlds deemed to contain offensive content.
Let me know what you like, what you hate, what you'd like to see, and any other feedback you might have. I'm not in any rush to finish this. It will be done when it is done, and hopefully the development copies will become more enjoyable throughout the process.