1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Quest engines -->
<!--X-From-R13: "Ybfgre, Dncu" <exbfgreNbevtva.rn.pbz> -->
<!--X-Date: Sat, 3 Oct 1998 11:06:13 &#45;0700 -->
<!--X-Message-Id: 11A17AA2B9EAD111BCEA00A0C9B41793EDBF7A#forest,origin.ea.com -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Quest engines</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:rkoster#origin,ea.com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00049.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00051.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00059.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00061.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00050">Author</A>
&nbsp;|&nbsp;<A HREF="#00050">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00050">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Quest engines</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: "'James Wilson'" &lt;<A HREF="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</A>&gt;, <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>,       "Koster, Raph" &lt;<A HREF="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</A>&gt;</LI>
<LI><em>Subject</em>: [MUD-Dev] Re: Quest engines</LI>
<LI><em>From</em>: "Koster, Raph" &lt;<A HREF="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</A>&gt;</LI>
<LI><em>Date</em>: Sat, 3 Oct 1998 13:02:49 -0500 </LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>


&gt; -----Original Message-----
&gt; From: James Wilson [<A  HREF="mailto:jwilson#rochester,rr.com">mailto:jwilson#rochester,rr.com</A>]
&gt; Sent: Saturday, October 03, 1998 12:30 PM
&gt; To: mud-dev#kanga,nu; Koster, Raph
&gt; Subject: Re: [MUD-Dev] Re: Storytelling vs. Simulationist 
&gt; (Was Re: Room
&gt; de scriptions)
&gt; 
&gt; 
&gt; 
&gt; On Sat, 03 Oct 1998, Koster, Raph wrote:
&gt; 
&gt; &gt;Missed this the first time around--but in any case--there's 
&gt; no question
&gt; &gt;that you can get by with less admins. There are MANY systems 
&gt; out there
&gt; &gt;for story generation and quest management... just damn few 
&gt; are in muds.
&gt; &gt;Plenty of "quest engines" and "storytelling engines" have been
&gt; &gt;designed--heck, I've designed three myself.
&gt; 
&gt; can you give some details?

Uh, sure. :) I guess the basics are something that can easily be
discussed without violating confidentiality. I've moved this thread to a
new title to reflect the change in topic.

Most quest engines rely on basic plot elements that are combined and
recombined in interesting ways. The strength of them is that you can
build an easily extendable database to generate a TON of unique quests.
The weakness--quests can seem rote or repetitious or simplistic, and the
work involved in making the database large enough to prevent this
problem is very large.

Basic premise: most quests are actually broken into discrete individual
actions. For example:

- give Item A to mobile B.
- destroy Item A.
- kill mobile B.
etc

For example, the entirety of Lord of the Rings can be seen as "take this
item to this location and drop it."

Interesting quests can then be made by linking together basic elements.
For example, the following plotline can easily be generated by an engine
that simply drops random database elements into basic plot structures:

Walking into a tavern, you are suddenly stopped by a crying girl who
says that her father was dragged off by a bunch of thugs into the alley.
Dashing into the alley, you chase off the thugs. But the man says, "I
was on my way to deliver this mystical amulet to the Mage of Zendor...
he needs it to build the magicFoozle to stop the foul Aethazoid from
entering our plane and feeding on our life forces! I am too wounded to
go--can you take it?"

The Mage of Zendor of course happens to be on the other side of the
mountains near where the maneating spiderpeople spawn. So you fight your
way through them, and give the amulet to the mage. And he says, "This is
the third amulet this week. The fourth amulet is in the hands of the
spiderpeople queen. get it and we shall save the world!"

So you find the spiderpeople queen. She says she'll give it to you in
exchange for a piece of redrock from the ogre tribe. You walk across the
world to the ogres (with many side adventures on the way), kill one, get
the redrock, give it to the spider queen, she gives you the amulet, you
give it to the mage, and the magicFoozle weapon is built.

But the mage is a wimp--"The Aethazoid is now attracted to this
magicFoozle--it will show up and try to kill the wielder. But if the
wielder wins, the Aethazoid is banished forever. And I am a wuss and
can't fight. If you kill the Aethazoid when it shows up, I'll give you a
magic broadsword +5..." So you kill the Aethazoid with the magicFoozle,
and come back and the mage gives you the magic sword, the world is
saved, and you think you just played a pre-scripted quest.

In fact, you played this:

- Rescue victim quest (auto-initiated with approach) : rescue man in
alley
- Deliver item quest (auto-initiated with approach) : amulet to mage
- Deliver item quest (initiated by fulfillment of previous one) : amulet
to mage
- Deliver item quest (initiated by request for previous one): rock to
queen
- Kill mobile quest (initiated by fulfillment of previous one) : kill
Aethazoid

The hard parts:

- Error handling--multiple people participating; someone may find the
guy in the alley BEFORE the girl crying, for example; or they may get
the fourth amulet for the mage not knowing that there's a guy out there
with the third one; or they may kill the spider queen outright instead
of asking for her help. You can handle these sorts of problems in
various ways.
- Making it fictionally compelling. If you make them go after things
that do not seem to have significance, it'll feel rote and stupid. It
may still feel rote and stupid anyway, if you don't have enough
variations.

That said, the entire game of Daggerfall was basically nothing but an
engine like this.

-Raph


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00049.html">[MUD-Dev] simulation vs. storytelling is a fallacious distinction</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00051.html">[MUD-Dev] Re: Marian's Tailor vs. Psychopaths</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00059.html">[MUD-Dev] Re: [Off-Topic] Patents (Was Re: Storytelling vs. Simulationist)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00061.html">[MUD-Dev] Re: Quest engines</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00050"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00050"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><strong><A NAME="00060" HREF="msg00060.html">[MUD-Dev] Re: simulation vs. storytelling is a fallacious distinction</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Sun 04 Oct 1998, 01:36 GMT
<UL>
<LI><strong><A NAME="00064" HREF="msg00064.html">[MUD-Dev] Re: simulation vs. storytelling is a fallacious distinction</A></strong>, 
James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Sun 04 Oct 1998, 03:41 GMT
</LI>
</UL>
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00065" HREF="msg00065.html">[MUD-Dev] Re: simulation vs. storytelling is a fallacious distinction</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Sun 04 Oct 1998, 05:08 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00059" HREF="msg00059.html">[MUD-Dev] Re: [Off-Topic] Patents (Was Re: Storytelling vs. Simulationist)</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Sun 04 Oct 1998, 00:14 GMT
<LI><strong><A NAME="00050" HREF="msg00050.html">[MUD-Dev] Re: Quest engines</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Sat 03 Oct 1998, 18:06 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00061" HREF="msg00061.html">[MUD-Dev] Re: Quest engines</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Sun 04 Oct 1998, 02:23 GMT
</LI>
<LI><strong><A NAME="00089" HREF="msg00089.html">[MUD-Dev] Re: Quest engines</A></strong>, 
Michael.Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Mon 05 Oct 1998, 20:19 GMT
<UL>
<LI><strong><A NAME="00095" HREF="msg00095.html">[MUD-Dev] Re: Quest engines</A></strong>, 
Hal Black <a href="mailto:hal#moos,ml.org">hal#moos,ml.org</a>, Mon 05 Oct 1998, 23:47 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00049" HREF="msg00049.html">[MUD-Dev] simulation vs. storytelling is a fallacious distinction</A></strong>, 
James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Sat 03 Oct 1998, 17:50 GMT
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>