In traditional MUDs (or at least the ones I've played), everyone functions at the same speed. A 4000 lb dragon attacks with the same alacrity and speed as a pixie, and the outcome of a fight between players is equally a measure of who is the better typist (or macro programmer, etc.) as who is the more powerful character.

FærieMUD will attempt to rectify this by the use of a timed command stack. Instead of the 'faster typer = faster player' metaphor, when a user types a character command (as opposed to a 'player command' -- one which affects his or her interface, but doesn't affect the player's character), it is added to a stack of commands. These commands are executed at a rate that is determined by the character's heartbeat. The heartbeat is a measure of character time that might be familiar to those of you who have coded for an LPMUD (from which the design of FærieMUD borrows heavily), but with a little added factor: different rates for different characters. The rate at which heartbeats occur depends on factors such as size, race, dexterity, slow or haste spells, encumburance, etc. Bigger characters have slower rates, and so execute commands more slowly than their smaller counterparts.

(AlexisLi?: not always! Dragons are big and fast, while sloths are small and slow. Obviously, this means a power disparity- but hey, not everything is fair)

(Ged: perhaps this could be modelled by taking into account both size and Dexterity?)

The player would have to have some additional commands to deal with manipulating the command stack so that commands not yet executed can be cancelled, repeated, or listed:

(For example):

Command Description
clear clear the stack of unexecuted commands
stack view the stack of unexecuted commands
repeat <n> <command> add n copies of command to the stack. If n is omitted, command would repeat indefinitely until cleared.

Advantages

  • More size/movement realism: giants and such would have slow heartbeat because of their size, which would mean that individual movement commands would occur more slowly. This won't be a problem as far as distance travelled, though, given a good balance of speed/distance in races, because a giant would also take much larger strides than, say, a leetle faerie. (See the example scenario below)
  • Because large creatures have slow heartbeats, they would also not get as many attacks per round as relatively smaller creatures (barring magic, of course). Attacks by a larger creature would do proportionally more damage, though. Another additional benefit for large creatures is that things such as poison, drunkeness, druggedness, and other timed (heartbeated) effects would affect the character more slowly.
  • Smaller creatures would have a higher reaction time: they can inject commands into their stacks and execute them faster.
  • Lag would be both less and more of a factor. If one was travelling, the commands would continue to be executed while lagging (which could be good or bad, I suppose).
  • Would make it trivial to look into the command history for incremental tasks (ie., spellcasting -- If a spell had verbal, semantic, and material components, you would just have to look back into the command history to determine if the components had been executed in the correct order, etc.)
  • Some complex commands could take more than one heartbeat, making things like forging a sword, applying first-aid, and casting magic more realistic.

Disadvantages

  • Processor-intensive (perhaps)
  • Greater complexity.

Example Scenario

This is a purely hypothetical example scenario to illustrate the proposed effect of the heartbeat speed on the interaction between two characters whose speeds are very different. Note that faster speed does not always mean a more powerful character. With the additional factors we plan to incorporate in the game (the chief one being that size has a real effect on the operations of a character), I think that this system will make for better roleplaying.

  • A giant, Grundy, has a heartbeat rate of 5, which means his commands get executed every 2 1/2 seconds.
  • A faerie, Melwaena, has a heartbeat rate of 1, which means her commands get executed 2 every second.
  • Travelling in the same terrain, because of her smaller size (discounting her ability to fly, which would be faster), Melwaena can only travel 1 meter per movement command. Grundy, on the other hand travels 10 meters with every stride ('cause he's a GIANT, silly...)
  • After 5 seconds of both travelling in the same direction (+'s are commands):
Grundy      +---------+---------O 
Melwaena    ++++++++++O
  • In 5 seconds, Grundy will have executed only 2 commands, but will have gone twice as far as Melwaena (who has executed 10 commands).
  • If Grundy was chasing Melwaena, however, she could alter her course much faster than Grundy could, doubling back and losing him easily with her 10 commands. She could probably even attack him and still get away, but she likely couldn't do much damage in one attack (or 10 for that matter).

Ged The Greys Hain - 16 May 2000
AlexisLi? - 08 Dec 2001