[crossfire] Quests with multiple outcomes

Brendan Lally brenlally at gmail.com
Mon Mar 29 12:25:49 CDT 2010


On Sun, 28 Mar 2010 21:03:33 -0700
Mark Wedel <mwedel at sonic.net> wrote:

> On 03/28/10 06:19 PM, Brendan Lally wrote:
> <snip>
> >
> > quest scorn/PortPass
> > title Port Pass
> > description
> > Acquire a port pass to be allowed into Scorn's docks.
> > end_description
> > stopstep 20
> > restart 0
> > step 10
> > description
> > The guards told me that I could acquire a port pass from the Office
> > for Gate Passes. I should try asking there.
> > end_description
> > end_step
> > step 20
> > description
> > I have purchased a port pass to allow me into Scorn docks
> > end_description
> > end_step
> > step 30
> > description
> > I have found a port pass that should allow me access to Scorn Docks
> > description
> > end_step
> > step 40
> > description
> > I have found another way through the gate that leads to Scorn Docks.
> > end_description
> > end_step
> > end_quest
> >
> > Here then, the 'stopstep' is 20, and the steps 20, 30 and 40 are all
> > steps that complete the quest, but in different ways.*
> 
>   So just to be clear - in this case, it means that if the player
> somehow gets the quest state to be >20 (stopstep value) that the
> quest is done?

This is correct.

> 
>   Rather than having the stopstep, for each step, would it be
> possible/better to have a keyword there to not that the quest is done?
> 
>   What I'm thinking is that for complex quests, there could be
> several paths, and it would seem clearer to me that for one path,
> maybe steps 20->25 dictate one path (with 25 being the finish point)
> and for another one, steps 30->38. For a map developer, it would be
> easier to have all steps for one path be together - better than
> having to go from step 24 to 40 to note the quest is done.

The design of quests as things stand assumes:
* Quests only progress forwards, not backwards
* Once a quest is completed, then it is not un-completed (although may
  be restarted).

Taking these two principles, anything that can be represented with
finish points at different stages can also be represented with finish
points all grouped together at the end.

(Any path in a quest that could be completed multiple times will be
something that should be implemented as a restartable sub-quest).

There is a further assumption, that I have been working with, that
bigger stage numbers => nearer completion. In particular, the script I
have been using to handle dropping quest items has that assumption
built in. The way to fix this is probably to change the meaning of the
quest_was_completed command, and assume that most quest items should
be kept for the entirety of the quest. (and that, if they shouldn't,
then 
 
> (as an aside, not related to the system but the example above, I
> think the quest description should more or less match - finding
> another way to the port area doesn't really satisfy the quest
> description of getting a port pass.  If the quest was 'get access to
> the port area', then that would be fine - and in this example, it may
> be a guard telling the character that they can buy port passes)

The reason for having the 'finding another way' description is because
there are 4 quests that I have defined for the port gate, 1 for each
of the three way of getting access, plus another one for the 'getting
access' quest.

The 'getting access' quest is set to complete once the player
successfully walks through the gate any of the three sub quests which
haven't been completed by that point are marked as complete to step 40
at that time as well (step 40 says something similar for all 3 of them).

In this case, it is not so much that the quest has been 'won' but just
that it is unnecessary now, finishing them all at the same time is a
way to remove them from the active list.

One of the additions I will want 'real soon' after release is an idea
of 'parent' quests. That way, rather than listing all of the quests on
the same level of priority, there would be quests and subquests, so the
list would read:

quests:
1) ....
2) ....
3) Down to the docks:
	a) Port Pass
	b) Scorn Password
	c) The Hero of Scorn
4 ...
etc

and then the info section would say:

Down to the docks
Description:
There is a gate separating the main part of scorn from the docks. It is
closed and the guards won't let you past.

Current Status:
To pass through the gates I need to get a port pass, find the password
or become the hero of scorn. Perhaps one of the guards will tell me how
I can do one of those things.

Subquests:
	Port Pass
		Description:
		Acquire a port pass to be allowed into Scorn's docks.
	
		Current Status:
		The guards told me that I could acquire a port pass
		from the Office for Gate Passes. I should try asking
		there.

	Scorn Password
		Description:
		Discover the password that will permit passage through
		the gates in Scorn.

		Current Status:
		The guards have told me that there is a password, just
		not what it is, I should keep alert for any clues as to
		what it might be.

	The Hero of Scorn
		Description:
		Be pronounced Hero of Scorn, so that the the guards
		will permit passage through the gates.

		Current Status:
		I have discovered that the king is the only one who can
		declare me a hero. I should try speaking to someone at
		his court, and seek to win favour there.

After this has been finished then, you might see:

Down to the docks
Description:
There is a gate separating the main part of scorn from the docks. It is
closed and the guards won't let you past.

This quest has been completed:

Outcome:
I have been granted passage through scorn port gate.

Subquests:
	Port Pass
		Description:
		Acquire a port pass to be allowed into Scorn's docks.
	
		Outcome:
		I have found another way through the gate that leads to
		Scorn Docks.
 
	Scorn Password
		Description:
		Discover the password that will permit passage through
		the gates in Scorn.

		Outcome:
		I have given the password, and been permitted through
		the gate.

	The Hero of Scorn
		Description:
		Be pronounced Hero of Scorn, so that the the guards
		will permit passage through the gates.

		Outcome:
		I have found another way through the gate.

During the next release cycle I'll be wanting to look at more
sophisticated client side support to make this a bit slicker, something
like a dedicated 'quest journal' screen which would collapse or
shade these properly (I know Nicolas is after something similar to this
also)

All of the wording, etc is up for debate, as well as things like the
level of detail in the quest texts (my inclination has been to go for
lots of detail in the text for the low level quests in scorn because
these are probably the ones that will be played within the first couple
of hours of picking up the game - I'd be more inclined to have vaguer
descriptions of high level quests that players won't find until they
have played the game for a few hours - but this is a discussion for the
maps list)

> > The 'quest info' command is altered to show the outcome for
> > non-restartable quests, so that, rather than just saying 'this
> > quest is complete' it describes how the player chose to complete it
> > so that there is something of a 'narrative' that forms around the
> > character recording the actions of the player. (there is an
> > assumption here that for restartable quests, there will not be an
> > outcome which can have a permanent impact if the quest can be
> > repeated)
> 
>   As a default, I think only active quests should be shown -
> otherwise, I could forsee a list of 100 completed quests which isn't
> great.  OTOH, maybe if active and completed quests are set apart,
> wouldn't be so bad.

It shouldn't really matter for quest info, since that shows one quest
at a time, where this has an effect is on the 'quest list' command.

I hadn't changed the current behaviour of that command, which does
show all of the quests, separated into completed and active but I take
the point about that potentially being a great many quests, I think the
way to handle that is to have 'quest list' say: 'you have completed n
quests (of which m are restartable)' followed by active quests: n+1
(foo the bar), n+2 (baz the qux) etc, with the command 'quest list all'
showing all of the quests. (when building a client-side interface,
you'd be looking at a drop-down, to show all quests, completed only or
active only - as well as probably an idea of 'local' quests - I have a
few ideas for how to handle that in a way that should work to answer
the question 'what quests am I trying to do in this town' falling into
the trap of 'follow the arrow and kill whatever is at the end; you win'
that some big commercial RPGs do)

Brendan



More information about the crossfire mailing list