<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: Quest engines --> <!--X-From-R13: "Ybfgre, Dncu" <exbfgreNbevtva.rn.pbz> --> <!--X-Date: Sat, 3 Oct 1998 11:06:13 -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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00049.html">Previous</a> | <a href="msg00051.html">Next</a> ] Thread: [ <a href="msg00059.html">Previous</a> | <a href="msg00061.html">Next</a> ] Index: [ <A HREF="author.html#00050">Author</A> | <A HREF="#00050">Date</A> | <A HREF="thread.html#00050">Thread</A> ] <!--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'" <<A HREF="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</A>>, <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>, "Koster, Raph" <<A HREF="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</A>></LI> <LI><em>Subject</em>: [MUD-Dev] Re: Quest engines</LI> <LI><em>From</em>: "Koster, Raph" <<A HREF="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</A>></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> > -----Original Message----- > From: James Wilson [<A HREF="mailto:jwilson#rochester,rr.com">mailto:jwilson#rochester,rr.com</A>] > Sent: Saturday, October 03, 1998 12:30 PM > To: mud-dev#kanga,nu; Koster, Raph > Subject: Re: [MUD-Dev] Re: Storytelling vs. Simulationist > (Was Re: Room > de scriptions) > > > > On Sat, 03 Oct 1998, Koster, Raph wrote: > > >Missed this the first time around--but in any case--there's > no question > >that you can get by with less admins. There are MANY systems > out there > >for story generation and quest management... just damn few > are in muds. > >Plenty of "quest engines" and "storytelling engines" have been > >designed--heck, I've designed three myself. > > 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><Possible follow-up(s)><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><Possible follow-up(s)><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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>