October 2001
- (no subject) J C Lawrence
- Lum the Mad is closing--sort of Koster, Raph
- Questing (was: Request for ideas) Eli Stevens
- Questing (was: Request for ideas) Joe Andrieu
- Questing (was: Request for ideas) Matt Mihaly
- Questing (was: Request for ideas) Sellers, Mike
- Questing (was: Request for ideas) Vincent Archer
According to Eli Stevens:
> ----- Original Message -----
> From: "Vincent Archer" <archer@frmug.org>
>> I've worked on and off on such a system, but it requires far more
>> efforts than I can put in on my not-so-copious spare time. The
>> best model I made was a kind of directed, cyclic graph of "steps"
>> where, at each node (a step that is completed), you'd pick the
>> next arc at random, subject to constraints (is the quest shaping
...
> Would the system pick the next arc, or would the player? I could
In the model I had, the system picks the next arc. It's mostly a
system that generates in-game stories, with characters serving as
actors under a script from the "director" (the quest system). The
quest is highly linear, with relatively little non-linearities
(introducing subquests, which run their own path before enabling the
next main path, or some choices). In that context, you rarely "fail"
(most failures are in fact pre-scripted failures), because failure
means you can't complete your quest and need to reset (clear the
quest log, and start again).
> see it working either way... One way would be akin to the choose
> your own adventure model, the other would be like having a choose
> your own adventure book read to you by someone else, without
> knowing about the choices explicitly (just choosing and
> continuing). Do you have an example? I am curious to see how the
> randomness would work out in practice.
I had not mapped many possible nodes, but here's an example:
Node: Delivery of diplomatic note to NPC X of Faction Y
Possible next nodes:
- "See my treasurer for your fee" (most likely, goes to end of
quest node)
- "See my treasurer for your fee" (highly unlikely, goes to "we
are out of fund, please investigate" node)
- "Please take this reply back with our offer" (semi-unlikely,
goes to Delivery of diplomatic note to NPC X of Faction Y)
- "Please take this reply back with our offer" (very unlikely,
goes to ambush of diplomatic note with weak/defeateable party)
- "Please take this reply back with out offer" (highly unlikely,
goes to ambush of diplomatic note with uber/undefeatable party)
- "Hmmm, the situation isn't developping well, we'll need stong
allies in the event of war" (very unlikely, goes to recruit PC for
our cause node) etc...
So what happens when you arrive, meet character X, and deliver the
diplomatic pouch? Most of the time, this marks the end of your quest
(simple FedEx, get some cash). But some of the time (1 times out of
1000, maybe), you will get a message back, and at a random but
suitable place along the way (I assume not TP/instant travel), a
group of ennemies (whose nature may be random, or heavily influenced
by what you fought during the quest already. If you fought a lot of
undead, you might be ambushed by a zombie attack, if not, by bandits
or whatever) calculated to overwhelm you spawns and attacks (group
is severely unbalanced to get you down, ans scaled according to
whomever is in range).
After the attack, you're at ambush, which has two arcs allowed: one
goes back to the letter giver, the other to the letter
recipient. This is one of the rare cases where the player has a
choice: if he meets the message sender, he triggers the 1st node
(which will have various consequences, being sent on a chase to
recover the note, being given a duplicate note, and so on; if he
meets the message recipient, he triggers the 2nd node (which has
different paths unfolding).
>> The trick is to determine all useful nodes and arcs, put the
>> constraints in (never more than three "I sign the letter and you
>> give it to the next guy" steps in a row), and then synthetise a
In the example above, you notice that one arc leads back to the same
node. You need to put constraints so that the character isn't stuck
in the loop ferrying 1000 letters back and forth between the two
NPC.
I had a simple system to avoid that (each time you cross a node,
increment that node "counter" by 100 for the quest, decrement every
other node by 1 and don't take an arc that goes to a node over value
N), but there's enough nodes that looks similar, but are different
underneath to defeat that simple constraint system.
> I like the specialist idea, especially how it ties in with PCs
> online at the time. I wonder what else could be done with ideas
> like that...
I called these "social nodes". If your world is moderately large, it
gives you an opportunity to meet people you don't know, which can be
fruitful. They're, however, points of possible failure of the quest
(what happens if character X doesn't want to drop his camp to come
with you). There are, however plenty of tricks that you can insert.
If you're directed to hunt bandits, for example, and someone with a
quest arc that involves hunting bandits is on-line and in place, you
might add a dialogue part saying in essence "I hear Mr C is already
on a commission to clear the bandit camp, you might ask him if he
has found anything" (recovering the stolen note). It's not part of
the quest, it merely directs you to someone who has a similar quest
step to yours, in the hope that you'll join forces and like it.
I was pleasantly surprised yesterday by a step similar to that in
Dark Age of Camelot. As a dwarven seer, I was given a starting
quest, and that one was supposed to teach me combat camaraderie, and
whatnot. So, in my quest journal, I found myself with:
"Step #2: Find another player, recruit him into a group, and come
back."
> Hmm. Could it be taken out a few levels of scope? What if we
> made one for the state of an entire guild or kingdom, and did not
> give any starting or ending points? We just let it run...
As a debug tool, I envisioned putting a flag on the quest entry to
disallow getting to an end node at all. Which meant your quest would
go on forever. Great to debug long-running quests.
Putting it at a higher level than the individual player introduces
an additional layer of complexity: it's usually harder to determine
when you reach a node. Individual-level quests are easier to
qualify: Mob X is slain, NPC Y is met, item Z is delivered.
>> (my own estimation is 6-10 man-months of work at least, which is
>> on the big side for a team student project).
> Ouch. :) It would also make content creation harder, as quest
> writers would have to basically construct choose your own
> adventure books for each one. Unless you were thinking that each
> of the nodes would be generic, and would could show up in any
> quest?
Yes. On the latter, I mean. One quest would start as an innocent
dipomatic courier, then wander off into "we need recruit", send the
player on a set of quests that involve him getting equipment, then
send him to kill an ennemy of faction X (at which time, the fact
that he started by doing diplomatic courier duty is completely
irrelevant to the system). In theory, each node of the graph would
have a path (more or less complicated) to each other node, barring a
few exceptions maybe (chiefly starting nodes).
The trick isn't making a global book, it's identifying every
"standard" type of event in a quest and finding every "logical"
transition. It's relatively stupid, for example, to ask you to kill
a wolf pelt "because we need a new rug" upon the reception of a
"gift from afar".
> Interesting stuff. We will probably try and have something along
> these lines in there, but it may have to be stripped down. :/
> Again, if you have any examples (real or synthetic), I would love
> to see them on the list. :)
I don't have full, real examples. I think a complete quest graph
will end up probably around 200-250 nodes, with 10 to 20 arcs
leading out of each node; but you can build a quest system with a
lot less nodes; the quests stories won't be as varied however (if
you want diplomatic based stories, you can do it probably with 30-40
nodes).
The original design in my mind was for a 3D MMO style game, with the
additional contraints that at least two-thirds of the arcs should be
douable in 30mn or less (attractive to the casual gamer, who logs,
advance his story, and leaves because baby's feeding time is
approaching). With 10000 players on the server, and a constraint
that a quest cannot end in less than 5 steps, you'd quickly branch
enough that two player would never ever see exactly the same story.
It's like everything. It's a lot of investment at first, but it has
the potential of generating enough stories (and, if correctly build,
I hope interesting stories) to avoid getting a team of 10 content
designers working on nothing but quests for your game.
--
Vincent Archer Email: archer@frmug.org
All men are mortal. Socrates was mortal. Therefore, all men are Socrates.
(Woody Allen)
- contract games/markets (was: Request for ideas) Bruce Mitchener
- DEV: Peer-to-Peer MUD Phil O'Donnell
- DEV: Peer-to-Peer MUD Dan MacDonald
- DEV: Peer-to-Peer MUD Robin Lee Powell
- DEV: Peer-to-Peer MUD Justin Rogers
- DEV: Peer-to-Peer MUD Adam Martin
- DEV: Peer-to-Peer MUD Frank Crowell
- Psychology and game design (Was Geometric content generation) John Hopson
- Psychology and game design (Was Geometric content generation) Ola Fosheim Grøstad
- Psychology and game design (Was Geometric content generation) Dave Rickey
- Psychology and game design (Was Geometric content generation) Ola Fosheim Grøstad
- Psychology and game design (Was Geometric content generation) Matt Mihaly
- Psychology and game design (Was Geometric content generation) Ola Fosheim Grøstad
- Psychology and game design (Was Geometric content generation) rayzam
- in-game vs web-based boards (was: Geometric content generation) Freeman, Jeff
- State of the RP: Verant's attempt at a RP Server Eric Rhea
- New MMP Networking Architecture Lee Sheldon
- New MMP Networking Architecture Adam Martin
- New MMP Networking Architecture Bruce Mitchener
- New MMP Networking Architecture Ling Lo
- New MMP Networking Architecture Norman Nunley, Jr.
- Mucking about in time Eli Stevens
- Mucking about in time Travis Casey
- Mucking about in time Adam Martin
- Mucking about in time John Robert Arras
- Many MUDs in one? (was: Geometric content generation) Ian Collyer
- Many MUDs in one? (was: Geometric content generation) Matt Mihaly
- Many MUDs in one? (was: Geometric content generation) Robin Lee Powell
- Pueblo still kicking Jon Lambert
- FWD: Call for papers: AAAI symposium on AI and Interactive Entertainment Robert Zubek
- Game Theory Introduction Ling Lo
- MUD-Dev digest, Vol 1 #438 - 22 msgs Phil O'Donnell
- Uniqueness of Games Adam Martin
- Uniqueness of Games Ling Lo
- Psychology & Player Motivation (was Geometric Content Generation) Sasha Hart
- Simulation, just how much? (was: Uniqueness of Games) Derek Licciardi
- Laws of Competition Matt Mihaly
- UDP Revisted Daniel.Harman@barclayscapital.com
- UDP Revisted Brian Hook
- UDP Revisted Bobby Martin
- UDP Revisted Brian Hook
- UDP Revisted Dave Rickey
- UDP Revisted Daniel.Harman@barclayscapital.com
- UDP Revisted Dave Rickey
- UDP Revisted Travis Nixon
- UDP Revisted Amanda Walker
- UDP Revisted Brian Hook
- UDP Revisted Ben Greear
- UDP Revisted amanda@alfar.com
- UDP Revisted Brian Hook
- UDP Revisted Travis Nixon
- UDP Revisted Daniel.Harman@barclayscapital.com
- UDP Revisted Travis Nixon
- UDP Revisted David H. Loeser Jr.
- UDP Revisted Adam Martin
- UDP Revisted Bobby Martin
- UDP Revisted Bobby Martin
- UDP Revisted Kwon Ekstrom
- UDP Revisted Bruce Mitchener
- UDP Revisted Bobby Martin
- UDP Revisted Bruce Mitchener
- UDP Revisted Daniel.Harman@barclayscapital.com
- Procedural content generation Brian Hook
- Procedural content generation John Buehler
- Procedural content generation Brian Hook
- Procedural content generation John Buehler
- Procedural content generation Hans-Henrik Staerfeldt
- Procedural content generation lhulbert@hotmail.com
- Procedural content generation Travis Nixon
- Procedural content generation Ola Fosheim Grøstad
- Procedural content generation Daniel.Harman@barclayscapital.com
- Procedural content generation Daniel.Harman@barclayscapital.com
- Procedural content generation Freeman, Jeff
- Procedural content generation Matt Mihaly
- Procedural content generation Ola Fosheim Grøstad
- Simulation, Christopher Allen
- Simulation, Travis Casey
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Dave Kennerly
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Robin Lee Powell
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Dave Rickey
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) John Buehler
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Dave Rickey
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) John Buehler
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Brian Hook
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) John Buehler
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Daniel.Harman@barclayscapital.com
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Vincent Archer
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Derek Licciardi
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) John Buehler
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Dave Rickey
- MMORPG Comparison (UO, EQ, AC, AO, DAoC) Dan Burke
- Simulation, Adam Martin
- UDP Revisited Daniel.Harman@barclayscapital.com
- UDP Revisited Brian Hook
- UDP Revisited Mats Lidstrom
- UDP Revisited Jeremy Gaffney
- Simulation Revisited Dave Rickey
- TCP Vegas Adam Martin
- Procedural content generation, randomness Adam Martin
- Procedural content generation, randomness Brian Hook
- Content authorship Adam Martin
- Content authorship Ola Fosheim Grøstad
- Content authorship Travis Casey
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Eli Stevens
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Dave Rickey
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Ola Fosheim Grøstad
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Robin Lee Powell
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Brian Hook
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Daniel.Harman@barclayscapital.com
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Neufeld, Don
- DAoC dev team (was: MMORPG Comparison (UO, EQ, AC, AO, DAoC)) Brian Hook
- DAoC dev team Dave Rickey
- SSL vs. SASL (was: UDP Revisted) Bruce Mitchener
- MUD-Dev digest, Vol 1 #445 - 27 msgs Paul Schwanz
- MUD-Dev digest, Vol 1 #445 - 27 msgs Travis Nixon
- Proposed Law John Buehler
- Proposed Law Matt Mihaly
- Proposed Law John Buehler
- Proposed Law Freeman, Jeff
- Proposed Law John Buehler
- Proposed Law Matt Mihaly
- Proposed Law John Buehler
- Proposed Law Matt Mihaly
- Proposed Law John Buehler
- Proposed Law Matt Mihaly
- Proposed Law Koster, Raph
- Proposed Law Matt Mihaly
- Proposed Law John Buehler
- Proposed Law Koster, Raph
- Proposed Law Ola Fosheim Grøstad
- Proposed Law Jon Lambert
- Proposed Law Paul Schwanz
- Proposed Law Matt Mihaly
- Proposed Law Paul Schwanz
- Proposed Law Paul Schwanz
- Proposed Law Madman Across the Water
- Proposed Law Travis Nixon
- Proposed Law Mark Eaton
- Proposed Law Sami Kosonen
- Proposed Law Madman Across the Water
- Proposed Law Andrew Hefford {Coregen}
- Proposed Law Dan Burke
- Proposed Law Matt Mihaly
- Proposed Law John Buehler
- Proposed Law Matt Mihaly
- Proposed Law Paul Schwanz
- Proposed Law Ian Collyer
- Proposed Law Matthew Estes
- Proposed Law Matt Mihaly
- Proposed Law Ola Fosheim Grøstad
- Proposed Law John Buehler
- Proposed Law Ola Fosheim Grøstad
- Proposed Law John Buehler
- Proposed Law Adam Martin
- Proposed Law Matt Mihaly
- Proposed Law Adam Martin
- Proposed Law Matt Mihaly
- Proposed Law Paul Schwanz
- Quality Testing Michael Tresca
- Quality Testing John Buehler
- Quality Testing Michael Tresca
- Quality Testing Dave Rickey
- Quality Testing Nathan F. Yospe
- Quality Testing Michael Tresca
- Quality Testing Koster, Raph
- Quality Testing Dave Rickey
- Quality Testing Dave Rickey
- Quality Testing Derek Licciardi
- Quality Testing Dave Rickey
- Quality Testing Michael Tresca
- Quality Testing Dave Rickey
- Quality Testing Jeff Cole
- Quality Testing Robin Lee Powell
- Quality Testing Daniel.Harman@barclayscapital.com
- Quality Testing J C Lawrence
- Quality Testing Daniel.Harman@barclayscapital.com
- Quality Testing Dave Rickey
- Quality Testing Daniel.Harman@barclayscapital.com
- Quality Testing Michael Tresca
- Quality Testing Daniel.Harman@barclayscapital.com
- Quality Testing Paul Dahlke
- Quality Testing Dave Rickey
- Players Controlling Monsters rayzam
- High Level Architecture Adam Martin
- Networking architecture overview Brian Hook
- Networking architecture overview Dave Rickey
- Networking architecture overview Brian Hook
- Networking architecture overview Amanda Walker
- Networking architecture overview Brian Hook
- Networking architecture overview Bobby Martin
- Networking architecture overview Daniel.Harman@barclayscapital.com
- Connection Stats Ben Tolputt
- MUD-Dev digest, Vol 1 #443 - 12 msgs Dr. Cat
- Fourteen forms of fun Ola Fosheim Grøstad
- Fourteen forms of fun rayzam
- Fourteen forms of fun Sasha Hart
- Fourteen forms of fun Jon Lambert
- Fourteen forms of fun David H. Loeser Jr.
- Fourteen forms of fun Matt Mihaly
- Fourteen forms of fun Ola Fosheim Grøstad
- Incorporating Plot/Backstory/Scenario Design Tools Nathan F. Yospe
- Extreme Programing Ling Lo
- DAoC dev team Lars Duening
- Documentation Adam Martin
- Documentation Brian Hook
- English grammar thoughts Par Winzell
- English grammar thoughts Kylotan
- English grammar thoughts Travis Casey
- English grammar thoughts Jasper McChesney
- English grammar thoughts Marian Griffith
- English grammar thoughts Travis Casey
- English grammar thoughts Jasper McChesney
- English grammar thoughts bruce@puremagic.com
- English grammar thoughts Marian Griffith
- English grammar thoughts Travis Casey
- English grammar thoughts Robert Zubek
- English grammar thoughts Robert Zubek
- English grammar thoughts Travis Casey
- English grammar thoughts Chris Gray
- English grammar thoughts Jon Leonard
- ADMIN: The code documenting/commenting thread J C Lawrence
- Players Controlling Monsters David H. Loeser Jr.
- Players Controlling Monsters Brian Hook
- Players Controlling Monsters John Buehler
- Expectations of in-game reality Matt Mihaly
- Expectations of in-game reality Freeman, Jeff
- Expectations of in-game reality J C Lawrence
- Expectations of in-game reality Freeman, Jeff
- Expectations of in-game reality Travis Casey
- Expectations of in-game reality Lars Duening
- Expectations of in-game reality Marian Griffith
- Expectations of in-game reality Derek Licciardi
- Expectations of in-game reality Lars Duening
- Expectations of in-game reality Paul Schwanz
- Expectations of in-game reality Nip
- Expectations of in-game reality Ian Collyer
- Expectations of in-game reality Adam Martin
- Expectations of in-game reality Michael Tresca
- Expectations of in-game reality J C Lawrence
- Expectations of in-game reality Matt Mihaly
- Expectations of in-game reality Daniel.Harman@barclayscapital.com
- Expectations of in-game reality Eli Stevens
- Expectations of in-game reality Marian Griffith
- Expectations of in-game reality Travis Casey
- Expectations of in-game reality Sami Kosonen
- Respecting NPCs Lee Sheldon
- Respecting NPCs J C Lawrence
- Respecting NPCs Lee Sheldon
- Respecting NPCs J C Lawrence
- Respecting NPCs Sami Kosonen
- Respecting NPCs Travis Nixon
- Respecting NPCs Matthew Estes
- Respecting NPCs Chris Gray
- Respecting NPCs Michael Tresca
- Respecting NPCs Freeman, Jeff
- Respecting NPCs Michael Tresca
- Respecting NPCs Freeman, Jeff
- Respecting NPCs Travis Nixon
- Respecting NPCs Michael Tresca
- Respecting NPCs Adam Martin
- Respecting NPCs Michael Tresca
- Respecting NPCs Daniel.Harman@barclayscapital.com
- Respecting NPCs rayzam
- Respecting NPCs Joe Andrieu
- Respecting NPCs Bruce Mitchener
- Respecting NPCs Joe Andrieu
- Respecting NPCs Michael Tresca
- Respecting NPCs Adam Martin
- Respecting NPCs Lee Sheldon
- Respecting NPCs T.A.J.BARTON
- Respecting NPCs Bruce Mitchener
- Respecting NPCs Adam Martin
- Respecting NPCs Madman Across the Water
- Respecting NPCs Travis Nixon
- Respecting NPCs J C Lawrence
- Respecting NPCs John Buehler
- Respecting NPCs lazarus@ourplace.org
- Respecting NPCs Colin Coghill
- Respecting NPCs gamaiun@yahoo.com
- Respecting NPCs J C Lawrence
- Respecting NPCs Phillip Lenhardt
- Respecting NPCs gamaiun@yahoo.com
- Respecting NPCs Ola Fosheim Grøstad
- Respecting NPCs J C Lawrence
- Respecting NPCs Ola Fosheim Grøstad
- Respecting NPCs Bruce Mitchener
- Respecting NPCs Norman Nunley, Jr.
- Respecting NPCs J C Lawrence
- Respecting NPCs Brian Hook
- Respecting NPCs J C Lawrence
- Respecting NPCs gamaiun@yahoo.com
- Respecting NPCs Ola Fosheim Grøstad
- Respecting NPCs Matthew D. Fuller
- Respecting NPCs Timothy Dang
- Respecting NPCs gamaiun@yahoo.com
- TECH : RMI (was UDP Revisted) Daniel.Harman@barclayscapital.com
- TECH : RMI (was UDP Revisted) Bobby Martin
- Chatbots Adam Martin
- TECH: UDP Revisted Bobby Martin
- The function of NPCs in novels versus MUDs Ola Fosheim Grøstad
- RE: Koster, Raph
- RE: Joe Andrieu
- RE: Marian Griffith
- RE: gamaiun@yahoo.com
- RE: Daniel.Harman@barclayscapital.com
- Violence Matt Mihaly
- Quality Testing (and community) Ola Fosheim Grøstad
- ADMIN: Recent outages J C Lawrence
- [ECOSYSTEMS] Fishing in the real world Adam Martin
- [ECOSYSTEMS] Fishing in the real world Daniel.Harman@barclayscapital.com
- [ECOSYSTEMS] Fishing in the real world Hans-Henrik Staerfeldt
- [ECOSYSTEMS] Fishing in the real world Ian Collyer
- [ECOSYSTEMS] Fishing in the real world Dave Rickey
- Statistics Ben Chambers
- Statistics Eli Stevens
- Statistics Adam Martin
- Statistics Hans-Henrik Staerfeldt
- Statistics John Buehler
- Statistics Ben Chambers
- Statistics Ben Chambers
- Statistics Travis Casey