July 2001
- [TECH] Open Source oodb/object persistence toolkit library alpha release Brian Price
- In-game email (was On socialization and convenience) Gavin Doughtie
- In-game email (was On socialization and conveni ence) Freeman, Jeff
- In-game email (was On socialization and convenience) Caliban Tiresias Darklock
- TECH DGN: Single user MOB arena Trevyn
- TECH: CRPGs vs. RPGs, Way Back When... Michael Tresca
- TECH: CRPGs vs. RPGs, Way Back When... Matt Owen
- TECH: CRPGs vs. RPGs, Way Back When... J C Lawrence
- TECH: CRPGs vs. RPGs, Way Back When... Michael Tresca
- (no subject) Alan Unsworth
- (no subject) Edward Falconer
- (no subject) J C Lawrence
- (no subject) Bruce Mitchener
- (no subject) Travis Casey
- (no subject) J C Lawrence
- (no subject) Travis Casey
- Libs for 3D Client/Servers Brian Hook
- Libs for 3D Client/Servers Freeman, Jeff
- Libs for 3D Client/Servers Trump
- Libs for 3D Client/Servers Jeremy Noetzelman
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Matt Mihaly
- Libs for 3D Client/Servers Matt Owen
- Libs for 3D Client/Servers Jeremy Noetzelman
- Libs for 3D Client/Servers Bryce Harrington
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Brian Hook
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Brian Hook
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Vincent Archer
- Libs for 3D Client/Servers Madman Across the Water
- Libs for 3D Client/Servers Richard Aihoshi aka Jonric
- Libs for 3D Client/Servers Brian Hook
- Libs for 3D Client/Servers J Todd Coleman
- Libs for 3D Client/Servers Brian Hook
- Libs for 3D Client/Servers Sean Kelly
- Libs for 3D Client/Servers Jon Lambert
- Libs for 3D Client/Servers Sean Kelly
- Libs for 3D Client/Servers Bruce Mitchener
- Libs for 3D Client/Servers Sean Kelly
- Libs for 3D Client/Servers Dave Rickey
- Libs for 3D Client/Servers Travis Casey
- Libs for 3D Client/Servers Bryce Harrington
- Libs for 3D Client/Servers Alistair Milne
- Libs for 3D Client/Servers Travis Casey
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Travis Casey
- Libs for 3D Client/Servers Jon Lambert
- Libs for 3D Client/Servers Adam Martin
- Libs for 3D Client/Servers Vincent Archer
- Libs for 3D Client/Servers Travis Nixon
- Libs for 3D Client/Servers Adam Martin
- Libs for 3D Client/Servers Vincent Archer
- Libs for 3D Client/Servers Adam Martin
- Libs for 3D Client/Servers Vincent Archer
- Libs for 3D Client/Servers Adam Martin
- Libs for 3D Client/Servers Dave Rickey
- Libs for 3D Client/Servers Travis Casey
- Libs for 3D Client/Servers Dave Rickey
- Libs for 3D Client/Servers Timothy Dang
- Libs for 3D Client/Servers Alistair Milne
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Brian Hook
- Libs for 3D Client/Servers Sean Kelly
- Libs for 3D Client/Servers Gavin Doughtie
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Brian Hook
- Libs for 3D Client/Servers Daniel.Harman@barclayscapital.com
- Libs for 3D Client/Servers Joel Chestnutt
- Libs for 3D Client/Servers Richard Aihoshi aka Jonric
- Libs for 3D Client/Servers Aaron Mulder
- Libs for 3D Client/Servers Max Gilead
- Libs for 3D Client/Servers Jon Lambert
- Libs for 3D Client/Servers Caliban Tiresias Darklock
- Libs for 3D Client/Servers Luke Carruthers
- Libs for 3D Client/Servers Jeremy Noetzelman
- Libs for 3D Client/Servers J C Lawrence
- Libs for 3D Client/Servers Jeremy Noetzelman
- Libs for 3D Client/Servers Adam Martin
- New polls claw@kanga.nu
- virtual mind project Phillip Lenhardt
- [TECH] Data-transfer protocols for MUDs Adam Martin
- Chatbot Michael Tresca
- GPL (was:Libs for 3D Client/Servers) Joackim Birgersson
- GPL (was:Libs for 3D Client/Servers) Travis Casey
- GPL (was:Libs for 3D Client/Servers) ghovs
- GPL (was:Libs for 3D Client/Servers) Vincent Archer
- GPL (was:Libs for 3D Client/Servers) Max Gilead
- GPL (was:Libs for 3D Client/Servers) Bobby Martin
- GPL (was:Libs for 3D Client/Servers) Joackim Birgersson
- GPL (was:Libs for 3D Client/Servers) Patrick Dughi
- GPL (was:Libs for 3D Client/Servers) Matt Mihaly
- GPL (was:Libs for 3D Client/Servers) Koster, Raph
- GPL (was:Libs for 3D Client/Servers) Joackim Birgersson
- Graphical Mud-in-a-box musings Brian Hook
- Graphical Mud-in-a-box musings Justin Rogers
- Graphical Mud-in-a-box musings Rob Bartel
- Graphical Mud-in-a-box musings Adam Martin
- Chatbot, NLP and explaining away NPC limitations Erin Mulder
- Server hosting Brian Hook
- Server hosting Corey Crawford
- Server hosting Daniel.Harman@barclayscapital.com
- Server hosting Valerio Santinelli
- Server hosting Madman Across the Water
- Server hosting Frank Crowell
- Server hosting Alistair Milne
- Server hosting Brian Hook
- Server hosting Freeman, Jeff
- Server hosting Matt Mihaly
- Server hosting fred@clift.org
- Chatbot, NLP and explaining away NPC limitations Robert Zubek
- Edged weapon damage John W Pierce
- Player characters as a prey species Jon Leonard
- Player characters as a prey species Justin Rogers
- Player characters as a prey species Ling Lo
- Player characters as a prey species J C Lawrence
- Player characters as a prey species lhulbert@hotmail.com
- Player characters as a prey species Dan Shiovitz
- Player characters as a prey species Justin Rogers
- Player characters as a prey species Matt Mihaly
- Request to mailing list MUD-Dev rejected J C Lawrence
- Chatting in MMPORPGs Peter Tyson
- Chatting in MMPORPGs Derek Licciardi
- Chatting in MMPORPGs Matt Mihaly
- Chatting in MMPORPGs Peter Tyson
- Chatting in MMPORPGs Eric Lee {RAT}
- Chatting in MMPORPGs John Buehler
- Chatting in MMPORPGs lhulbert@hotmail.com
- Chatting in MMPORPGs Adam Martin
- Chatting in MMPORPGs Eli Stevens
- Chatting in MMPORPGs Dave Rickey
- Chatting in MMPORPGs Vincent Archer
- Chatting in MMPORPGs Adam Martin
- Chatting in MMPORPGs Kevin Littlejohn
- Chatting in MMPORPGs Hans-Henrik Staerfeldt
- Chatting in MMPORPGs Lee Sheldon
- Chatting in MMPORPGs Madman Across the Water
- Chatting in MMPORPGs Peter Tyson
- Chatting in MMPORPGs J C Lawrence
- TECH: Mail (was On socialization and convenience) Chris Jones
- [TECH] String Classes, Memory Management, and Fragmentation Derek Licciardi
- [TECH] String Classes, Memory Management, and Fragmentation Sean Kelly
- [TECH] String Classes, Memory Management, and Fragmentation Justin Rogers
- [TECH] String Classes, Memory Management, and Fragmentation Chris Dern
- [TECH] String Classes, Memory Management, and Fragmentation David Bennett
- [TECH] String Classes, Memory Management, and Fragm entation Daniel.Harman@barclayscapital.com
- [TECH] String Classes, Memory Management, and Fragmentation Kwon Ekstrom
- [TECH] String Classes, Memory Management, and Fragmentation Bruce Mitchener
- [TECH] String Classes, Memory Management, and Fragmentation Adam Martin
- [TECH] String Classes, Memory Management, and Fragm entation Daniel.Harman@barclayscapital.com
- [TECH] String Classes, Memory Management, and Fragmentation Hans-Henrik Staerfeldt
- [TECH] String Classes, Memory Management, and Fragm entation Daniel.Harman@barclayscapital.com
- [TECH] String Classes, Memory Management, and Fragmentation Derek Licciardi
- [TECH] String Classes, Memory Management, and Fragm entation Bruce Mitchener
- Mudpie Matt Mihaly
- strong encryption for authentication Fred Clift
- strong encryption for authentication David Bennett
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Edward Glowacki
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Derek Licciardi
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication shren
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Ben Tolputt
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Edward Glowacki
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Edward Glowacki
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Ben Tolputt
- strong encryption for authentication J C Lawrence
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Vincent Archer
- strong encryption for authentication Fred Clift
- strong encryption for authentication J C Lawrence
- strong encryption for authentication Sean Kelly
- strong encryption for authentication Tamzen Cannoy
- strong encryption for authentication Sean Kelly
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Tamzen Cannoy
- strong encryption for authentication Travis Casey
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Travis Casey
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Travis Casey
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Travis Casey
- strong encryption for authentication Ola Fosheim Grøstad
- strong encryption for authentication Edward Glowacki
- strong encryption for authentication Matt Mihaly
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Freeman, Jeff
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Bruce Mitchener
- strong encryption for authentication Brian Price
- strong encryption for authentication Kevin Littlejohn
- strong encryption for authentication Brian Price
- strong encryption for authentication Kevin Littlejohn
- strong encryption for authentication Fred Clift
- strong encryption for authentication J C Lawrence
- strong encryption for authentication Robert Fleck
- strong encryption for authentication Sean Kelly
- strong encryption for authentication Edward Glowacki
- strong encryption for authentication Fred Clift
- strong encryption for authentication Fred Clift
- strong encryption for authentication J C Lawrence
- strong encryption for authentication Fred Clift
- strong encryption for authentication Caliban Tiresias Darklock
- strong encryption for authentication Daniel.Harman@barclayscapital.com
- strong encryption for authentication J C Lawrence
- strong encryption for authentication Oliver Jowett
- strong encryption for authentication Kwon Ekstrom
- strong encryption for authentication F. Randall Farmer
- strong encryption for authentication Kwon Ekstrom
- strong encryption for authentication J C Lawrence
- strong encryption for authentication Kwon Ekstrom
- strong encryption for authentication J C Lawrence
- strong encryption for authentication Dave Rickey
- strong encryption for authentication Jon Lambert
- strong encryption for authentication Dave Rickey
- strong encryption for authentication J C Lawrence
- Toward a Craftier Dragon Paul Schwanz
- Toward a Craftier Dragon Maximus
- Toward a Craftier Dragon rayzam
- Toward a Craftier Dragon Matt Owen
- Toward a Craftier Dragon Michael Tresca
- Toward a Craftier Dragon Travis Nixon
- Toward a Craftier Dragon Paul Schwanz - Enterprise Services
- Toward a Craftier Dragon Andrew Reisse
- Toward a Craftier Dragon J C Lawrence
- Toward a Craftier Dragon rayzam
- Toward a Craftier Dragon J C Lawrence
- Toward a Craftier Dragon rayzam
- Toward a Craftier Dragon Richard Aihoshi aka Jonric
- Toward a Craftier Dragon Michael Tresca
- Toward a Craftier Dragon John Hopson
- Toward a Craftier Dragon yospe@kanga.nu
- Grief players with ip/dns spoofers Tand'a-ur
- Grief players with ip/dns spoofers Sean Kelly
- Grief players with ip/dns spoofers J C Lawrence
- Grief players with ip/dns spoofers Greg Underwood
- Grief players with ip/dns spoofers Robert Fleck
- Grief players with ip/dns spoofers J C Lawrence
- Grief players with ip/dns spoofers Tand'a-ur
- Grief players with ip/dns spoofers Adam Martin
- Grief players with ip/dns spoofers J C Lawrence
- character transfer in EQ Matt Mihaly
- character transfer in EQ Derek Licciardi
- character transfer in EQ Dave Rickey
- character transfer in EQ Derek Licciardi
- character transfer in EQ S. Patrick Gallaty
- character transfer in EQ Michael Tresca
- DGN: Craftier dragon and players as GMs Mathieu Castelli
- DGN: Craftier dragon and players as GMs Matt Mihaly
- DGN: Craftier dragon and players as GMs Mathieu Castelli
- DGN: Craftier dragon and players as GMs Travis Nixon
- DGN: Craftier dragon and players as GMs Marian Griffith
- Biz/Media Peter Tyson
- To good to be TRUE, in an MMPORPG? David Loeser
- To good to be TRUE, in an MMPORPG? Kwon Ekstrom
- To good to be TRUE, in an MMPORPG? Xuri
- To good to be TRUE, in an MMPORPG? Adam Martin
- To good to be TRUE, in an MMPORPG? Justin Rogers
- To good to be TRUE, in an MMPORPG? David Loeser
- To good to be TRUE, in an MMPORPG? Matt Mihaly
- To good to be TRUE, in an MMPORPG? Matt Mihaly
- To good to be TRUE, in an MMPORPG? Caliban Tiresias Darklock
- To good to be TRUE, in an MMPORPG? luke@rocketship.com
- To good to be TRUE, in an MMPORPG? J C Lawrence
- To good to be TRUE, in an MMPORPG? Freeman, Jeff
- To good to be TRUE, in an MMPORPG? Koster, Raph
- To good to be TRUE, in an MMPORPG? Freeman, Jeff
- To good to be TRUE, in an MMPORPG? Koster, Raph
- To good to be TRUE, in an MMPORPG? Joe Andrieu
- To good to be TRUE, in an MMPORPG? Koster, Raph
- To good to be TRUE, in an MMPORPG? John Hopson
- To good to be TRUE, in an MMPORPG? Steve {Bloo} Daniels
- To good to be TRUE, in an MMPORPG? J C Lawrence
- To good to be TRUE, in an MMPORPG? Travis Casey
- To good to be TRUE, in an MMPORPG? Joe Andrieu
- To good to be TRUE, in an MMPORPG? Dave Rickey
- To good to be TRUE, in an MMPORPG? Marc Bowden
- To good to be TRUE, in an MMPORPG? Sean K
- To good to be TRUE, in an MMPORPG? Freeman, Jeff
- To good to be TRUE, in an MMPORPG? Matt Mihaly
- To good to be TRUE, in an MMPORPG? Koster, Raph
- To good to be TRUE, in an MMPORPG? Dave Rickey
- To good to be TRUE, in an MMPORPG? J C Lawrence
- To good to be TRUE, in an MMPORPG? Michael Tresca
- To good to be TRUE, in an MMPORPG? Trump
- To good to be TRUE, in an MMPORPG? Kristen L. Koster
- To good to be TRUE, in an MMPORPG? Sean Kelly
- To good to be TRUE, in an MMPORPG? Caliban Tiresias Darklock
- [NEWS] New MUD Magazine Derek Snider
- Real-world skills Was: strong encryption for authentication Travis Nixon
- Real-world skills Was: strong encryption for authentication Hans-Henrik Staerfeldt
- Something in the water Koster, Raph
- Something in the water Dave Rickey
- Something in the water Koster, Raph
- Something in the water John Hopson
- Something in the water Caliban Tiresias Darklock
- Something in the water J C Lawrence
- Something in the water Sean Kelly
- Something in the water rayzam
- Something in the water J C Lawrence
- Something in the water Caliban Tiresias Darklock
- Something in the water J C Lawrence
- Something in the water Caliban Tiresias Darklock
- Something in the water J C Lawrence
- Something in the water Travis Casey
- Something in the water J C Lawrence
- Something in the water Caliban Tiresias Darklock
- Something in the water J C Lawrence
- Something in the water Joe Andrieu
- Something in the water Sean Kelly
- Something in the water Caliban Tiresias Darklock
- Something in the water Hulbert, Leland
- Something in the water Caliban Tiresias Darklock
- Something in the water Hulbert, Leland
- Something in the water Matt Mihaly
- Something in the water Jon Morrow
- Something in the water Trump
- Something in the water Matt Mihaly
- Something in the water Matt Chatterley
- Something in the water Sparrowhawk
- Something in the water Matt Mihaly
- Something in the water Ola Fosheim Grøstad
- Something in the water Tamzen Cannoy
- Something in the water Matt Mihaly
- Something in the water Tomas Clark
- Something in the water Matt Mihaly
- Something in the water Marc Bowden
- Something in the water Koster, Raph
- Something in the water Jessica Mulligan
- Something in the water SavantKnowsAll@cs.com
- Something in the water Miroslav Silovic
- Something in the water Travis Casey
- Something in the water rayzam
- Something in the water Travis Casey
- Something in the water Ian Hess
- Something in the water Marc Bowden
- Something in the water J C Lawrence
- Something in the water Marc Bowden
- Something in the water J C Lawrence
- Something in the water Dave Rickey
- Something in the water Marc Bowden
- Something in the water Travis Casey
- Something in the water Marian Griffith
- Something in the water J C Lawrence
- Something in the water Eli Stevens
- Something in the water J C Lawrence
- Something in the water Adam Martin
- Something in the water Dave Rickey
- Something in the water Dan MacDonald
- Something in the water Adam Martin
- Something in the water John Hopson
- Something in the water rayzam
- Something in the water Caliban Tiresias Darklock
- Gearing up against GEAR Ted Milker
- Gearing up against GEAR Dan MacDonald
- Gearing up against GEAR Sean Kelly
- Gearing up against GEAR Vincent Archer
- Gearing up against GEAR Travis Nixon
- Gearing up against GEAR Kevin Littlejohn
- Gearing up against GEAR Sean Kelly
- Gearing up against GEAR Justin Rogers
- Gearing up against GEAR Sean K
- Gearing up against GEAR Alistair Milne
- Gearing up against GEAR Travis Nixon
- Gearing up against GEAR Vincent Archer
- Gearing up against GEAR J C Lawrence
- Gearing up against GEAR Vincent Archer
- Gearing up against GEAR Daniel.Harman@barclayscapital.com
- Gearing up against GEAR Sean K
- Gearing up against GEAR Vincent Archer
- Gearing up against GEAR Sean K
- Gearing up against GEAR Dave Rickey
- Gearing up against GEAR Derek Licciardi
- Gearing up against GEAR Caliban Tiresias Darklock
- Gearing up against GEAR Marc Bowden
- Gearing up against GEAR J C Lawrence
- Gearing up against GEAR Travis Nixon
- Gearing up against GEAR F. Randall Farmer
- OT: Writer needs help from people in the gaming industry Alex Oren
- What is cheating? [Was: Strong encryption for authentication] Caliban Tiresias Darklock
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Caliban Tiresias Darklock
On Mon, 23 Jul 2001 09:57:00 -0500 (CDT), Robert Zubek
<rob@cs.northwestern.edu> wrote:
> these issues seemed fundamental to the design of any multiplayer
> engine, and i hoped there may be some canonical ways of dealing
> with them - some analysis of the tradeoffs they introduce, and
> perhaps standard solutions. but i've been unlucky trying to find
> any online documentation about mud server design.
You and me both, buddy. I spend a lot of time crawling through the
source to other MUD engines and asking myself deep moral and ethical
questions about whether it makes my server a derivative work. Then I
ask myself deep moral and ethical questions about whether I
personally would ever in a million years have let code this terrible
go out on a public FTP site.
I also spend a lot of time wishing other programmers knew how to
write comments. ;)
I can give you a basic description of how *I* handle various
things. I don't know if it's canonical, because to be honest I
haven't found much intelligible source that relates to these
questions so I've had to develop each of them from scratch.
(We REALLY need a design pattern web site for this sort of thing;
gamedev.net is trying to build one, but so far they just have
pattern definitions and no patterns. Maybe this would be an
interesting sort of community project; we certainly have enough
people on the list who could ramble about their ideas, and we'd only
need a couple who could collect it into something concrete and pass
it on to a web developer.)
> assuming that each event in the world gets parsed down to a
> standard representation
[nod] I'm doing something similar, but not *quite* the same.
> now, how should these events get handled? presumably there's a
> big switch statement somewhere (or better yet, a data-driven
> dispatch table) directing the messages to subroutines that handle
> them - but what would be a good first-cut division of how these
> messages should be handled? ie., should the agent who performs
> the action have the code that actually performs the action?
> should the recipient (ie. patient) handle the action it receives?
> or maybe all actions should be handled by global handlers?
> perhaps a mixture of all three?
I handle it as a mixture. When a player enters a command, several
events end up being generated, the first of which is a "command"
event. This command event instructs the server to parse and validate
the command, potentially halting the process for syntax errors or
incomplete directions.
Once a complete command is formulated and accepted, a "direction"
event is passed to the subject, the character which has been
directed to act. The character inspects the situation, and
potentially halts the process as impossible or inadvisable.
If the direction event is acceptable, an "action" event is generated
by the subject, which the server further validates and then passes
on to the appropriate target if it is accepted. (My system has an
inherent notion of context which simplifies this. In most cases, the
target of an action is selected by the server, not the player --
because there exists only one valid target.)
The target performs yet *more* validation on the event, modifies
itself if necessary, and then generates two events: a "notify"
event, which directs the server to send a report to the target's
client, and a "reaction" event.
The reaction event is validated by the server and passed to the
original subject, which inspects the event and potentially modifies
its own data further before generating its own "notify" event to the
server so it will message the subject's client.
In short, the server is responsible for determining whether a
command is valid; the acting character is responsible for
determining whether it can be completed; the server is responsible
for determining whether it actually *is* completed; and the target
is responsible for determining whether it succeeds. The target is
then responsible for modifying its own state, while the acting
character is responsible for modifying its own state. All of this is
done on the server, NOT the client, so integrity is (hopefully)
guaranteed by the design.
> for the first example, we may wish to hang event handlers off of
> the patient of the action - so that when i hit another player,
> their handler will subtract the appropriate amount of hit
> points. this makes it very easy to add new objects that support
> novel kinds of actions (eg. adding a beverage to drink), but
> breaks in case of actions that have no patients (such as emotes:
> wave, say, etc.)
The multiple event system works well with this, because if there is
no target and the character is irrelevant, the entire process can be
short-circuited by simply handling the command event as soon as no
further objects are necessary.
> which of these gets used most often in actual muds? my suspicion
> is that it would be the last one (mix of global and local
> actions) - but wouldn't it also complicate extending the world?
In my experience, the vast majority of MUDs use a command routing
structure in which the world tries to handle the command, and if it
can't, it passes it along to other objects to see if they can handle
it.
> somewhat related to the above is the technical side of how to
> handle events. what i *think* is the standard approach is that
> there's one global event queue from which events get popped off
> and dispatched to the appropriate handler (global or local).
Reasonably standard, yeah. Like a Windows message queue.
> in this architecture, how does one elegantly handle temporally
> extended events - for example, a spell that takes several minutes
> to cast? the handler obviously can't block while waiting for the
> event to finish.
Don't have them. That was my solution. Of course, I doubt that will
work for you... ;)
> one could imagine a number of solutions inspired by operating
> systems research - perhaps implementing a fake
> continuation-passing style (as a kind of non-preemptive
> multitasking: a temporally-extended action would be expected to
> initialize itself, do a fraction of the necessary processing,
> then put a new fake event on the queue saying "continue the spell
> event", and exit).
This is the normal response. If I were implementing something like
this, I'd place these events into a time-sorted queue which popped
events off when they became due and passed them along. In the
meantime, I'd set a state on the appropriate objects that caused
other events to either fail or force the failure of the pending
event.
> but once the handler figures out the return value for the event,
> what are some standard ways of propagating this value? does the
> handler send the result to the closest binding container (such as
> current room) that propagates it among its elements? does it
> return it to the agent and the patient, who propagate it
> themselves? or would the handler actually manually figure out the
> list of proper recipients for this message, and hand it to them
> individually?
I do a bit of both, but I'm having some difficulty culling out
redundant messages. If you have a trace beacon on both characters
and are in the same sector, for example, you get:
Joe is attacked by Bob.
Bob attacks Joe.
Bob attacks Joe.
This rather odd response order is a consequence of the target
knowing what happened before the world, which in turn knows before
the acting character. Ideally, I should strip out the trace beacon
output when you're in the same sector, but I haven't really figured
out how best to do this yet. I also think my player notifications
are pretty badly written, so I may rework this.
> each has a drawback: for the first (container passing the message
> to its elements), there are cases when these messages should be
> propagated further down to elements-of-elements (eg. people in a
> cage in a room should be able to see what the people in the room
> around them are doing),
Agreed. My system doesn't have that sort of thing, though; it has
single-containment only, and containment precludes
notification. Rather simplifies the tasks. I made a lot of design
decisions that restrict player activities to a domain that's easier
to handle. Sometimes "don't do that then" really *is* the best
medicine. ;) - TECH DGN: a few mud server design questions (long) Joe Andrieu
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) J C Lawrence
- TECH DGN: a few mud server design questions (long) Caliban Tiresias Darklock
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Sean Kelly
- TECH DGN: a few mud server design questions (long) Joe Andrieu
- TECH DGN: a few mud server design questions (long) Sean K
- TECH DGN: a few mud server design questions (long) SeronisROTv3@aol.com
- TECH DGN: a few mud server design questions (long) Joe Andrieu
- TECH DGN: a few mud server design questions (long) J C Lawrence
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Sean Kelly
- TECH DGN: a few mud server design questions (long) Adam Martin
- TECH DGN: a few mud server design questions (long) Caliban Tiresias Darklock
- TECH DGN: a few mud server design questions (long) Jon Lambert
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Kevin Littlejohn
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Caliban Tiresias Darklock
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Robert Zubek
- TECH DGN: a few mud server design questions (long) Caliban Tiresias Darklock
- TECH DGN: a few mud server design questions (long) Caliban Tiresias Darklock
- Real-world skills luke@rocketship.com
- Real-world skills Mathieu Castelli
- Real-world skills J C Lawrence
- Real-world skills Kwon Ekstrom
- Real-world skills rayzam
- Design patterns for game database implementations Caliban Tiresias Darklock
- Design patterns for game database implementations Sean Kelly
- Design patterns for game database implementations J C Lawrence
- Design patterns for game database implementations J C Lawrence
- Real-world skills Caliban Tiresias Darklock
- Real-world skills Chris Lloyd
- Real-world skills Justin Rogers
- Real-world skills Koster, Raph
- Real-world skills Travis Casey
- Real-world skills J C Lawrence
- Real-world skills Luke Parrish
- Real-world skills Dave Talk21
- Real-world skills R.Fry
- Real-world skills Dave Talk21
- Real-world skills Luke Parrish
- Real-world skills Dave Talk21
- Real-world skills Bruce Mitchener
- Real-world skills Ola Fosheim Grøstad
- Mud Clients (was Real-world skills) Kwon Ekstrom
- Mud Clients (was Real-world skills) David Bennett
- Real-world skills Dave Talk21
- Real-world skills Justin Rogers
- Real-world skills Caliban Tiresias Darklock
- Real-world skills J C Lawrence
- Real-world skills Caliban Tiresias Darklock
- Real-world skills J C Lawrence
- Real-world skills Dave Talk21
- Real-world skills Luke Parrish
- Real-world skills Dave Talk21
- Real-world skills Adam Martin
- Players playing NPCs Vladimir Prelovac
- Players playing NPCs Christopher Allen
- Real-world skills Koster, Raph
- Real-world skills Bruce Mitchener
- Real-world skills Andrew Wilson
- Game Survey Michael Tresca
- Game Survey Richard Aihoshi aka Jonric
- Game Survey Hans-Henrik Staerfeldt
- Game Survey J C Lawrence
- MMORPG Construction Kit Koster, Raph
- MMORPG Construction Kit Lee Sheldon
- MMORPG Construction Kit Lee Sheldon
- MMORPG Construction Kit Lee Sheldon
- MMORPG Construction Kit Ola Fosheim Grøstad
- MMORPG Construction Kit J C Lawrence
- MMORPG Construction Kit Brian 'Psychochild' Green
- MMORPG Construction Kit Ola Fosheim Grøstad
- DNA Game Patent [was Randy's Resume] Christopher Allen
- DNA Game Patent [was Randy's Resume] Caliban Tiresias Darklock
- DNA Game Patent [was Randy's Resume] Adam Martin
- DNA Game Patent [was Randy's Resume] Hulbert, Leland
- DNA Game Patent [was Randy's Resume] Chris Gray
- DNA Game Patent [was Randy's Resume] David Loeser
- DNA Game Patent [was Randy's Resume] Dave Rickey
- DNA Game Patent [was Randy's Resume] Jon Lambert
- DNA Game Patent [was Randy's Resume] F. Randall Farmer
- DNA Game Patent [was Randy's Resume] Travis Nixon
- DNA Game Patent [was Randy's Resume] F. Randall Farmer
- DNA Game Patent [was Randy's Resume] Kevin Littlejohn
- DNA Game Patent [was Randy's Resume] Jessica Mulligan
- DNA Game Patent [was Randy's Resume] Caliban Tiresias Darklock
- DNA Game Patent [was Randy's Resume] F. Randall Farmer
- DNA Game Patent [was Randy's Resume] Frank Crowell
- DNA Game Patent [was Randy's Resume] Adam Martin
- DNA Game Patent [was Randy's Resume] F Farmer
- Re[4]: Something in the water Travis Casey
- Population divisions (wasTo good to be TRUE, in an MMPORPG?) Matt Mihaly
- Community feeling (was: To good to be TRUE, in an MMPORPG?) Alex Kay
- Community feeling (was: To good to be TRUE, in an M MPORPG?) Koster, Raph
- Community feeling (was: To good to be TRUE, in an M MPORPG?) J C Lawrence
- Community feeling (was: To good to be TRUE, in an M MPORPG?) Vincent Archer
- Community feeling (was: To good to be TRUE, in an M MPORPG?) Koster, Raph
- Community feeling (was: To good to be TRUE, in an M MPORPG?) Daniel.Harman@barclayscapital.com
- Community feeling (was: To good to be TRUE, in an MMPORPG?) Ola Fosheim Grøstad
- Re:DNA Game Patent [was Randy's Resume] Jessica Mulligan
- Multi-threading ( was: TECH DGN: a few mud server design questions (long)) Jon Lambert
- Wilderness Freeman, Jeff
- Wilderness Trump
- Wilderness Caliban Tiresias Darklock
- Wilderness Edward Glowacki
- Wilderness Dave Rickey
- Wilderness Sean Kelly
- Wilderness John Buehler
- Wilderness Brian Hook
- Wilderness John Buehler
- Wilderness Koster, Raph
- Wilderness Ling Lo
- Wilderness Freeman, Jeff
- Wilderness Nathan F. Yospe
- Wilderness Ling Lo
- Wilderness Nathan F. Yospe
- Wilderness John Buehler
- Wilderness Ola Fosheim Grøstad
- Wilderness Hulbert, Leland
- Wilderness John Buehler
- Wilderness Kwon Ekstrom
- Wilderness Ola Fosheim Grøstad
- Wilderness Matt Mihaly
- Wilderness Freeman, Jeff
- Wilderness John Buehler
- Wilderness Nathan F. Yospe
- Wilderness Travis Casey
- Wilderness Hans-Henrik Staerfeldt
- Wilderness Ola Fosheim Grøstad
- Wilderness Koster, Raph
- Wilderness Dave Rickey
- Wilderness Ola Fosheim Grøstad
- Wilderness Brian Hook
- Wilderness Ola Fosheim Grøstad
- Wilderness Brian Hook
- Wilderness Freeman, Jeff
- Wilderness Daniel.Harman@barclayscapital.com
- Wilderness Freeman, Jeff
- Wilderness John Buehler
- Wilderness lhulbert@hotmail.com
- Wilderness Matt Mihaly
- Wilderness John Buehler
- Wilderness Matt Mihaly
- Wilderness John Buehler
- Wilderness Matt Mihaly
- Wilderness Freeman, Jeff
- Wilderness Madrona Tree
- Wilderness Nathan F. Yospe
- Wilderness Daniel.Harman@barclayscapital.com
- Wilderness Daniel.Harman@barclayscapital.com
- Wilderness John Buehler
- Wilderness Adam Martin
- Wilderness Koster, Raph
- Wilderness John Buehler
- Wilderness Daniel.Harman@barclayscapital.com
- Wilderness Adam Martin
- Wilderness Daniel.Harman@barclayscapital.com
- Wilderness David Loeser
- Wilderness Matt Owen
- Wilderness Peter Tyson
- Wilderness Adam Martin
- Death among Friends Jon Morrow
- Death among Friends Tommy Wang
- Death among Friends Jon Morrow
- Death among Friends Matt Mihaly
- Death among Friends Jon Morrow
- Death among Friends Matt Mihaly
- Death among Friends shren
- Death among Friends Michael Tresca
- Death among Friends John Buehler
- Death among Friends Jon Morrow
- Death among Friends Matt Mihaly
- Death among Friends Michael Tresca
- BSD licenses Ross Dmochowski
- Hoping for more... (interfaces) Tommy Wang
- Hoping for more... (interfaces) Matt Mihaly
- Hoping for more... (interfaces) Ling Lo
- Hoping for more... (interfaces) Matt Mihaly
- Hoping for more... (interfaces) Jon Morrow
- Hoping for more... (interfaces) Kwon Ekstrom
- d20 shannon hall
- Group sizes and MUDs as sport? Ola Fosheim Grøstad
- free release of graphical MUD Chris Gray