August 2000
- Pfile Wiping: was The Player Wimping Guidebook William Katzell
- Pfile Wiping: was The Player Wimping Guidebook Koster, Raph
- Release of Blood Drops ver 0.1 adam@treyarch.com
- MUD Wimping -- An anecdote Zak Jarvis
- Responses to the Mudwimping article Dmitri Zagidulin
- Responses to the Mudwimping article Greg Underwood
- Responses to the Mudwimping article Nathan Clemons
- wimping/wiping and the big blind spot Peter
- wimping/wiping and the big blind spot Tamzen Cannoy
- wimping/wiping and the big blind spot Josh Rollyson
- World Event Model Matt Chatterley
- World Event Model adam@treyarch.com
- World Event Model Christoph Seifert
Hello!
I read through the ideas for making events and even downloaded the
example by Adam.
The mud I code on - The Realm of Magic (http://rom.mud.de) - uses a
system for
events as well, but with a different approach on priorities. Events in
there
are actions or something that goes over several rounds or for a longer
time.
The scheduling is central, but akward still and not the interesting
point. The
code for this event system is written in C++ as much of the originally
circle
Mud has been ported to.
The specification or rather how things work:
There is a base Event class, which defines priority handling and
interfaces -
all other events like kicking are derived from it. The data contained is
a
counter and flags specifying the type of event.
Every mob, item or room in the game has a list of events it is involved
in at the moment.
Whenever a new event is generated e.g. Kick(attacker,victim), the event
checks the circumstances for the event and calls the central (Priority)
check function
e.g. victim->Check(new_event) befores it installs itself - otherwise
mark itself
as finished.
The events are separated into activities like movement, see, mind or
menial
and non-activities. If one of either old event(s) or new event is no
activitiy,
then all events can stay on character. If both activities have something
in common
e.g. involve both movement, the new event will override the old event in
case
both actors are the same e.g. the attacker. Thus a kick would stop
dancing, because
both are movement activities. For a non-activity, the old event will
only be
removed, if the new event has the same name (each class derived from the
base
event class redefines Name() member function).
There are several miscellaneous flags:
- nomix: activities cancel each other out, even if the active member is
different e.g.
avoiding people dancing tango and waltz at the same time
- single: removes all other events e.g. the death event
- locked: protects against overwrite - new event is not installed and
single overrides
if old event is not single itself
- finished: event is finished - used for proper deletion of Event object
- independent: will only be removed by "single" events and can be
installed anytime e.g.
farting ;-)
Then a flag for each humanoid body part has been added to be used for
special events
like losing a limb or trying to start a certain event e.g. getting a leg
chopped off
while trying to kick stops kicking and not having two legs makes it kind
of impossible
to start a kick.
Once an event has been established and added itself to all involved
objects,
the Execute member function is called, which holds the main code of the
event
e.g. check wether the victim is still there and in the last round make
the hit on the target, if still there. The Execute function is called
regurlarly - in this case
for each combat round.
Some handling to avoid crashes:
Every mob, item or room calls the Remove member function of all Events
they are
involved in at the moment - the event has to take care of that
information
e.g. tmp_event->Remove(mob).
Whenever an event is finished, the CleanUp member function is called,
which calls
the appropriate member function e.g. mob->Remove(this_event) of all
involved objects
(yes, the event has to store information on all involved objects).
Other interfaces/member functions defined:
Damage: alter the damage e.g. stone_skin->Damage(amount) having a stone
skin halves
the damage
CmdInterpreter: catch the command - very much like old Specials in
circle mud
e.g. stop the event with stop dancing
Spell: return true, if spell has been handled e.g. vampires are immune
to poison spell
HasActive: return active mob
List: Give out information on the event for display
Anyway, I am not 100% satisfied with the priority handling, although I
didn't think it up
in one day.
I would appreciate any comment or discussion on it.
Christoph
Christoph - World Event Model Josh Rollyson
- World Event Model Christian Loth
- Player-admins, was wimping/wiping and the big blind spot Patrick Dughi
- Player-admins, was wimping/wiping and the big blind spot Brian 'Psychochild' Green
- Player-admins, was wimping/wiping and the big blind spot Patrick Dughi
- Player-admins, was wimping/wiping and the big blind spot Matt Chatterley
- Player-admins, was wimping/wiping and the big blind spot Peter
- Player-admins, was wimping/wiping and the big blind spot Sellers, Michael
- Player-admins, was wimping/wiping and the big blind spot Matthew Mihaly
- Player-admins, was wimping/wiping and the big blind spot rayzam
- Player-admins, was wimping/wiping and the big blind spot adam@treyarch.com
- Player-admins, was wimping/wiping and the big blind spot Matthew Mihaly
- Pfile Wiping, etc. Jon Callas
- Pfile Wiping, etc. rayzam
- Pfile Wiping, etc. Sanvean
- Pfile Wiping, etc. rayzam
- Pfile Wiping, etc. adam@treyarch.com
- linked worlds (was: On Lockless Threading and X/Open XA) Bruce
- linked worlds (was: On Lockless Threading and X/Open XA) Matthew Mihaly
- Mud Evolution rayzam
- Mud Evolution Koster, Raph
- Mud Evolution rayzam
- Unique Items (was MUD Wimping) Lord Ashon
- Unique Items (was MUD Wimping) Neddy Seagoon
- Pfile Wiping, etc. Christoph Seifert
- Mud Metrics rayzam
- Mud Metrics Justin Rogers
- Mud Metrics rayzam
- Law of Resource Congestion Christian Loth
- Law of Resource Congestion Josh Rollyson
- Law of Resource Congestion Dan Merillat
- Law of Resource Congestion Dan Shiovitz
- Law of Resource Congestion Christian Loth
- Law of Resource Congestion Patrick Dughi
- Law of Resource Congestion Scion
- Law of Resource Congestion ens017@mizzou.edu
- Law of Resource Congestion Nathan F. Yospe
- Law of Resource Congestion Matthew Mihaly
- Law of Resource Congestion Nathan F. Yospe
- Law of Resource Congestion Matthew Mihaly
- Law of Resource Congestion Patrick Dughi
- Law of Resource Congestion Nathan F. Yospe
- Law of Resource Congestion Andy
- World Event Model (Christian Loth) Christoph Seifert
- World Event Model [Josh Rollyson] Christoph Seifert
- Player-admins, was wimping/wiping and the big blind Hess, Ian W {Ian}
- Majesty (was: Player-admins, was wimping/wiping and the big blind) Chris Jacobson
- World Event Model [Josh Rollyson] (long/technical) Christoph Seifert
- Skotos News & Skotos @ Gencon Christopher Allen
- Harry Potter stuff Timothy Dang
- Harry Potter stuff Chris Gray
- Harry Potter stuff Matthew Mihaly
- Child animations in MUDs (UO) Brett
- Child animations in MUDs (UO) Koster, Raph
- Constraint as a Design Problem Christopher Allen
- an opportunity Matthew Mihaly
- UO rants Matthew Mihaly
- UO rants Norman Short
- UO rants Wes Connell
- UO rants Schubert, Damion
- UO rants Wes Connell
- UO rants Matthew Mihaly
- UO rants John Buehler
- UO rants Shawn L Johnston
- UO rants Matthew Mihaly
- UO rants John Buehler
- UO rants Brian 'Psychochild' Green
- UO rants Matthew Mihaly
- UO rants Vincent Archer
- UO rants Dan Merillat
- UO rants John Buehler
- UO rants Tess Lowe
- UO rants Matthew Mihaly
- UO rants Dan Merillat
- UO rants Ian Macintosh
- UO rants Koster, Raph
- UO rants Matthew Mihaly
- UO rants Tess Lowe
- UO rants Paul Schwanz - Enterprise Services
- UO rants Jeff Freeman
- UO rants Chris Lloyd
- UO rants Koster, Raph
- UO rants Koster, Raph
- UO rants Dan Merillat
- UO rants John Buehler
- UO rants Chris Lloyd
- UO rants Richard A. Bartle
- UO rants Koster, Raph
- UO rants Zak Jarvis
- Object Representations? KevinL
- Object Representations? Lazarus
- Object Representations? Patrick Dughi
- Object Representations? Phillip Lenhardt
- Reality vs Fantasy (was Law of Resource Congestion) Mordengaard
- Reality vs Fantasy (was Law of Resource Congestion) Caliban Tiresias Darklock
- [gods] Player Representatives? (fwd) J C Lawrence
- Re:[gods] Player Representatives? (fwd) Christoph Seifert
- UO Virtues Schubert, Damion
- UO Virtues John Buehler
- Object Representations? Robert Zubek
- Reputation & Trust Circles [was UO rants] Joe Andrieu
- Reputation & Trust Circles [was UO rants] Bruce
- Reputation & Trust Circles [was UO rants] Ben
- Reputation & Trust Circles [was UO rants] John Buehler
- Reputation & Trust Circles [was UO rants] Matthew Mihaly
- Reputation & Trust Circles [was UO rants] Matt Chatterley
- Reputation & Trust Circles [was UO rants] Dan Merillat
- Reputation & Trust Circles [was UO rants] Matt Chatterley
- Reputation & Trust Circles [was UO rants] Michael Tresca
- Reputation & Trust Circles [was UO rants] Dan Merillat
- Reputation & Trust Circles [was UO rants] Paul Schwanz - Enterprise Services
- Reputation & Trust Circles [was UO rants] Ben
- Reputation & Trust Circles [was UO rants] Paul Schwanz - Enterprise Services
- Reputation & Trust Circles [was UO rants] Milne, Alistair
- Reputation & Trust Circles [was UO rants] Ian Macintosh
- MXP/Extending MUD Technologies (Was Object Representations?) Nathan Clemons
- Matching and Maximizing: How players choose between activities John Hopson
- PK vs. PvP (was: UO rants) Ananda Dawnsinger
- PK vs. PvP (was: UO rants) Matthew Mihaly
- PK vs. PvP (was: UO rants) Vincent Archer
- PK vs. PvP (was: UO rants) Matt Chatterley
- PK vs. PvP (was: UO rants) Vincent Archer
- PK vs. PvP (was: UO rants) Zak Jarvis
- PK vs. PvP (was: UO rants) Matt Chatterley
- PK vs. PvP (was: UO rants) Matthew Mihaly
- PK vs. PvP (was: UO rants) Zak Jarvis
- PK vs. PvP (was: UO rants) Vincent Archer
- PK vs. PvP (was: UO rants) Dan Merillat
- PK vs. PvP (was: UO rants) Dan Merillat
- Crime Ben
- Cooperation vs Competition Ron Moore
- Cooperation vs Competition Jo Dillon
- [Moebius] MXP/Extending MUD Technologies (Was Object Representations?) KevinL
- FW: UO rants John Buehler
- Reincarnation instead of Resurrection Lovecraft
- Reincarnation instead of Resurrection Shawn L Johnston
- Reincarnation instead of Resurrection Matthew Mihaly
- PvP solutions WAS: UO rants Zak Jarvis
- PvP solutions WAS: UO rants Paul Schwanz - Enterprise Services
- Playerkilling Pacifists Michael Tresca
- Playerkilling Pacifists Matthew Mihaly
- Playerkilling Pacifists Michael Tresca
- url for The Hundred Years War Ron Moore
- url for The Hundred Years War Marc Bowden
- [paper] The Sacred and the Virtual: Religion in Multi-User Virtual Reality Jon Lambert
- Avatar rights redux Koster, Raph
- Avatar rights redux Dave Rickey
- Holidays Jeff Freeman
- Transportation (was: UO rants) Chris Lloyd
- Transportation (was: UO rants) Patrick Dughi
- Transportation (was: UO rants) Brad Wyble
- Transportation (was: UO rants) Norman Short
- Transportation (was: UO rants) Chris Lloyd
- Transportation (was: UO rants) KevinL
- Transportation (was: UO rants) Patrick Dughi
- Transportation (was: UO rants) Dan Merillat
- Transportation (was: UO rants) Warren Powell
- Transportation (was: UO rants) KevinL
- Fraud (was: UO rants) Brian 'Psychochild' Green
- Fraud (was: UO rants) John Buehler
- Transportation Ron Moore
- Transportation Madrona Tree
- time delays on PK (was UO rants) gmiller@classic-games.com
- time delays on PK (was UO rants) Erik Jarvi
- Copyright Question for the Hobbyists Kristen L. Koster
- Copyright Question for the Hobbyists Patrick Dughi
- Copyright Question for the Hobbyists Travis Casey
- Copyright Question for the Hobbyists Alex
- Copyright Question for the Hobbyists Lazarus
- Copyright Question for the Hobbyists Marc Bowden