Phantasmal MUD Lib for DGD
|
Phantasmal Site > Design > MUD Event Model Continuous and Combinable Events in a Text-Based EnvironmentWhat Types of Events Are There?'Events', in this context, indicate perceptible things that happen. If a character's stomach growls, or a gnat begins to fly to the west, or the earth rumbles, that may be an event. Instant and Timed EventsMany events will be instant. That is to say, they will take place at a very specific, well-defined moment in time. While their effects may continue for longer, the event will occur and be perceived very specifically at that moment. For instance, the firing of a cannon could easily be represented as an instant event. Some events take place over a period of time. They generally (though not always) have a set, specific beginning and a set, specific end. Unlike instant events, these timed events can be occurring for a particular interval. If one checks periodically (perhaps with a "look" or "listen" command) one can perceive some set of timed events that are currently in progress. One could thus consider descriptions of characters and objects to be special cases of timed events. However, instant events are normally perceived only once (if at all), at the specific moment when they actually occur. The Five SensesSomething that is conceptually a single event, such as a cannon firing, often consists of perceptible phenomena in more than one sense. For instance, the cannon's firing will include a loud (audible) report, but also a (visible) flash from the powder, a (tactile) vibration through the earth, and perhaps even a (smellable, tastable) tang in the air from the explosion. Then, timed events may follow as the smoke slowly rises and disperses. Composite EventsAs the preceding example shows, it can be difficult to distinguish individual events from each other. For narrative purposes, a barrage of cannonfire may act as a single event, but it may be broken down into multiple. This is especially important when different senses may be affected differently - a cannon barrage may be felt and heard but not seen if a wall is in between, or if it takes place on a dark night. They may be felt and seen but not heard by a deaf cannoneer! These sub-events may be noticed separately from each other, and so should be separable, at least in some cases. Levels of Perception and PerceptibilitySome events, like an earthquake, are so important, powerful and perceptible that it is almost inconceivable that one could be nearby and not notice them. Some, such as a gnat shifting position, are so nearly imperceptible that one would have to be in precisely the right location and have very good powers of perception to have a chance of noticing. An event's perceptibility is how noticeable it is. An earthquake, a cannon's firing and the roar of a waterfall all have a high perceptibility. A small motion like a gnat's flight, or a quiet sound, will have a low perceptibility. Perceptibility may behave differently for different senses. It will usually attenuate with distance. It may be affected by other factors like background noise or how light or dark an area is. Perception is measured against perceptibility, and on the same scale. Somebody's perception indicates how good they are at the indicated form of awareness (sight, sound, smell, etc), and how much attention they are currently paying. For instance, being in combat will normally lower one's effective perception, as will specifically concentrating on some other sense or location than the one being checked. Variably-Perceived EventsSome events may have multiple descriptions, depending on how perceptible they are, how close to the event one is, and other factors. For instance, the cannon's firing may be deafening up close, but distant or echoing if you're farther away. A character with a lot of knowledge or very good eyesight may discover different things on an ancient vase than a less knowledgeable or less perceptive character. The same factors that reduce perception (distance, light, background noise) will tend to have variable descriptions associated with them. In addition, many other game specific factors (season, knowledge skills, character class) may potentially have an effect. Virtual EventsIn some cases, a repeatable description may change, with or without notifying the player (or character). For instance, if a Paladin is able to detect evil, his description of a scene may include a phrase like "Morford the Silly is here. A green aura of neutrality surrounds him." If Morford proceeds to perform some incredibly virtuous action and the Paladin looks around again, he may see "Morford the Silly is here. A white aura of beatific goodness surrounds him." An advanced game may remark on the difference along with Morford's action: "Morford restores a lollipop to its rightful owner, a virtuous street urchin. Morford now glows with a white aura of beatific goodness!" However, in a less advanced engine, the description will change but the player will not be notified. If the player wishes to see Morford's new status, he or she will need to look around again. We refer to this as a virtual event. Conceptually it is an event, but it has no direct representation in the game engine. A Structure for In-Game EventsInstant EventsA given instant event will need to exist in one or more specific senses, or be explicitly declared to be in multiple. It must be possible for it to be a composite event. For each sense in which the event exists, there must be a perceptibility threshold (the perception is a function of the player, and attenuating the perception or perceptibility is done by the game engine). So, a given instant event's event structure will consist of:
If an event consists of sub-events, it is assumed that those sub-events are, collectively, equal to the event itself. That is, if the text of the event itself is shown, then the player should be getting the equivalent of all the sub-events. Similarly, if every sub-event can be perceived, the game engine should be willing and able to show the top event as a summary of all sub-events together. The event will be labelled with a sense. Those senses will probably include the ordinary five, but may also include fantasy senses like ESP and nonstandard sense descriptions like "temperature" for game reasons. For instance, temperature will propagate differently over distance than vibration, and direct touch won't propagate over distance at all - but all three of these are usually lumped together into the sense of touch. The game engine will need to know which of these things an event is to know what to do with it. In addition, the event may be labelled as being no sense at all. In that case, the event will be displayed if and only if all of its sub-events can be perceived. In other words, it is as though the perceptibility threshold was set to be entirely imperceptible - see the paragraph about an event being equivalant to its sub-events for why these two things behave identically. Timed EventsTimed events, those that have duration, build on the structure of instant events. A timed event may have optional instant events for their beginning and ending. For instance, if a metronome begins ticking, the starting event may say, "the metronome begins its monotonous clacking", the timed event may say "the metronome is ticking", and the ending event may say "the metronome halts its ticking and is silent". Unlike the beginning and ending events, the timed event is perceptible for a noticeable amount of time. A player might type "listen" and receive the message about the metronome during an hour or more when it has begun but not yet ended. A timed event structure will include everything that the instant event structure does. If the two are combined into a single structure, there will also be a field to tell whether the event is instant or timed. In addition, the timed structure will include the following fields:
The beginning and ending events are perceptible only if the timed event is perceived. So no matter how easy they are to perceive on their own, if the event itself is not perceived, the beginning and ending events will not be perceived. This prevents a character noticing the beginning of the metronome's ticking, but then being unable to hear it until it ceases. |