C***@gmail.com
2006-10-15 19:02:03 UTC
I'm running an enCore MOO on my server. A MOO is designed to be a
multi-user object oriented programming environment similar to a MUD,
and the enCore code provides a web based graphical layer to the system.
I'm modifying the core of the enCore database, to increase its
functionality and have been writing a game system into the MOO. I'm
calling it CARPS, for Computer Automated Role Playing. I'm coding the
magicsystem around Mage: the Ascenscion (As I've never looked at Mage:
The Awakening). And am writing a custom combat and skill system,
because I don't feel that Mage is as playable as some others like
GURPS. I'll go over the magic and combat systems in this post, and
hopefully someone on these groups will get back to me about how I can
improve the design of the game. Coding it is easy, and that's all I've
been doing the past few weeks. But a good design for the game, is
always going to be valuable.
Most MUDS initiate combat by typing in something like 'kill fido', and
then text streams in your client with messages like "You hit fido for 8
points of damage", "Fido bites you causing 2 points of damage *owch* "
But my CARPS won't work that way, it will function like a pen and paper
role playing game that automatically interprets your actions by
understanding your natural language, and then it does all the dice
rolling for you and displays the result live, using a dynamic time
based round system.
The game looks for keywords and find regex patterns in what the user
types. And determines what type of attack a person is attempting based
on those keywords and patterns. Then it does all the calculations, and
gives live output that's customizable by every player.
If I typed: "I lunge at fido with a fast arcing slash." , the game
would interpret this as a specialized sort of attack. And depending on
the combat style I am using that round, and the combat style fido may
be using, the MOO would then calculate the messages resulting from
this. Fidos attempt at a doge or parry, if my attack was successful
and the damge I would do.
Here are the keywords I am looking for right now and what they actually
do:
rec.games.frp.misc, rec.games.frp.gurps, rec.games.frp.dnd,
alt.games.whitewolf
stab, thrust, jab
These keywords indicate that your base attack is a thrust. Some
haveslight differences - for example, a jab is difficult to stop, but
does lessdamage when it connects. Also, some weapons are easier to
thrust with. Amace can be thrust, but will not hurt as much as a
dagger would. A flailcan thrust, but will likely do very little or no
damage if it connects.
chop, hack, slash, smash, strike, swing
These keywords indicate that your base attack is a swing. Some have
slight differences - for example, smash has a chance of knocking
youropponent backwards, possibly out of effective range for their
weapon.
high, low, middle, safe, slow, deadly, sweeping
These keywords aim your blows better. If a critical hit occurs with
yourattack, low attacks will damage from the waist down, high from the
torso up,and the middle of the torso area only. Low attacks also have
a chance oftripping your opponent. When using the deadly keyword, you
are going forthe most damaging target area you can hit. If you use the
safe keyword, you will pull your blow, reducing the chance of causing
serious injury to your opponent.
powerful, fierce, vicious, overhead, round
These keywords are used to show that more damage is being done, or
attempted to be done. A combat emote using one of these keywords will
do significantly more damage to the victim if they connect, but due to
the force of the blow there is a higher chance of avoiding it. Hits
which do connect will likely break through armor protection, or
possibly destroy a weapon if it is used to block.
lunge, leap, deceptive, deceiving, quick, fast, feignt instant,
snapping, rapid, beat
These keywords concentrate on beating your opponents defense. Lunges
and leaps help your attack against people who are using footwork to
avoid you. Deceptive and deceiving attacks contain a feint and are good
when people are parrying or blocking you. Beat attacks are wonderful
against someone parrying you. Striking quickly is good versus all
defenses.
bash, cheat, disarm, trip, tackle
These keywords improve their respective chances of disarming, tripping,
or bashing your opponent. If you use cheat, there is a chance of
momentarily stunning your opponent. Failure in any of these keywords
will result in leaving you momentarily vulnerable, possibly allowing
your opponent to get a solid attack in on you.
knee, kick
These keywords reflect a deliberate attempt to use unarmed combat
ability in the fight. Note that, while these keywords specifically
function off of unarmed, they are not the only ones which will pool the
unarmed ability. Failure to successfully connect with these keywords
has the potential to leave you off balance, possibly opening yourself
up to other attacks.
And here is a list of spells that I am coding into the game and basing
off Mage: The Ascenscion:
space
-----
move (teleports something to another location)
where (shows where another player, object, or monster is)
look (allows you to observe whats in another room)
dig (creates a portal to another area)
new room (creates a new area)
mind
----
display (displays moo output in room ormoo output to a player(s))
describe(describe things differently)
possess (control moo players or monsters)
learn/teach (learn & teach new skills)
filter (change moo messages to certain players)
matter
------
create (creates new items you have sympathetic links with)
destroy (destroys items you have sympathetic links to)
enchant (enchants items with new powers, or change their attributes.)
Time
----
enhance destiny with an (attribute, skill, person, possession,
location)
curse destiny with an (attribute, skill, person, possession, location)
slow time (Allows a player to observe future MUD output and act before
it happens, by lagging everyone else in the room 1
second).
prime
-----
sympathetic link (shortcut to reach an object even when in another
room)
drain (drains mana from objects or corpses)
infuse (saves mana in objects)
meditate (regenerates mana)
forces
------
darkness (makes rooms dark, or objects invisible).
light (dispells darkness)
heat (starts fires)
cool (prevents fires, and slows people down by giving them frost
bite)
force (moves things in and out of room, or knocks people down, can
also be used to throw items at enemies).
fly (allows players to fly above the room, only being effected by
ranged combat).
storm (changes the weather in an area, or directs bad weather towards
another player)
life
----
create (create a monster)
harm (causes damage)
heal (heals players)
enhance abillity (changes attributes)
decrease abillity (changes attributes)
ressurect (raises the dead)
spirit
------
see spirits (see ghosts of dead players & monsters)
cast in / out (allows ghosts to interact with the environment)
ask of spirit (If a player casts a ghost in they can direct the
ghost)
out of body (a player can journey into the spirit worlds)
incarnate (allows a player who is out of body to observe as if another
player).
multi-user object oriented programming environment similar to a MUD,
and the enCore code provides a web based graphical layer to the system.
I'm modifying the core of the enCore database, to increase its
functionality and have been writing a game system into the MOO. I'm
calling it CARPS, for Computer Automated Role Playing. I'm coding the
magicsystem around Mage: the Ascenscion (As I've never looked at Mage:
The Awakening). And am writing a custom combat and skill system,
because I don't feel that Mage is as playable as some others like
GURPS. I'll go over the magic and combat systems in this post, and
hopefully someone on these groups will get back to me about how I can
improve the design of the game. Coding it is easy, and that's all I've
been doing the past few weeks. But a good design for the game, is
always going to be valuable.
Most MUDS initiate combat by typing in something like 'kill fido', and
then text streams in your client with messages like "You hit fido for 8
points of damage", "Fido bites you causing 2 points of damage *owch* "
But my CARPS won't work that way, it will function like a pen and paper
role playing game that automatically interprets your actions by
understanding your natural language, and then it does all the dice
rolling for you and displays the result live, using a dynamic time
based round system.
The game looks for keywords and find regex patterns in what the user
types. And determines what type of attack a person is attempting based
on those keywords and patterns. Then it does all the calculations, and
gives live output that's customizable by every player.
If I typed: "I lunge at fido with a fast arcing slash." , the game
would interpret this as a specialized sort of attack. And depending on
the combat style I am using that round, and the combat style fido may
be using, the MOO would then calculate the messages resulting from
this. Fidos attempt at a doge or parry, if my attack was successful
and the damge I would do.
Here are the keywords I am looking for right now and what they actually
do:
rec.games.frp.misc, rec.games.frp.gurps, rec.games.frp.dnd,
alt.games.whitewolf
stab, thrust, jab
These keywords indicate that your base attack is a thrust. Some
haveslight differences - for example, a jab is difficult to stop, but
does lessdamage when it connects. Also, some weapons are easier to
thrust with. Amace can be thrust, but will not hurt as much as a
dagger would. A flailcan thrust, but will likely do very little or no
damage if it connects.
chop, hack, slash, smash, strike, swing
These keywords indicate that your base attack is a swing. Some have
slight differences - for example, smash has a chance of knocking
youropponent backwards, possibly out of effective range for their
weapon.
high, low, middle, safe, slow, deadly, sweeping
These keywords aim your blows better. If a critical hit occurs with
yourattack, low attacks will damage from the waist down, high from the
torso up,and the middle of the torso area only. Low attacks also have
a chance oftripping your opponent. When using the deadly keyword, you
are going forthe most damaging target area you can hit. If you use the
safe keyword, you will pull your blow, reducing the chance of causing
serious injury to your opponent.
powerful, fierce, vicious, overhead, round
These keywords are used to show that more damage is being done, or
attempted to be done. A combat emote using one of these keywords will
do significantly more damage to the victim if they connect, but due to
the force of the blow there is a higher chance of avoiding it. Hits
which do connect will likely break through armor protection, or
possibly destroy a weapon if it is used to block.
lunge, leap, deceptive, deceiving, quick, fast, feignt instant,
snapping, rapid, beat
These keywords concentrate on beating your opponents defense. Lunges
and leaps help your attack against people who are using footwork to
avoid you. Deceptive and deceiving attacks contain a feint and are good
when people are parrying or blocking you. Beat attacks are wonderful
against someone parrying you. Striking quickly is good versus all
defenses.
bash, cheat, disarm, trip, tackle
These keywords improve their respective chances of disarming, tripping,
or bashing your opponent. If you use cheat, there is a chance of
momentarily stunning your opponent. Failure in any of these keywords
will result in leaving you momentarily vulnerable, possibly allowing
your opponent to get a solid attack in on you.
knee, kick
These keywords reflect a deliberate attempt to use unarmed combat
ability in the fight. Note that, while these keywords specifically
function off of unarmed, they are not the only ones which will pool the
unarmed ability. Failure to successfully connect with these keywords
has the potential to leave you off balance, possibly opening yourself
up to other attacks.
And here is a list of spells that I am coding into the game and basing
off Mage: The Ascenscion:
space
-----
move (teleports something to another location)
where (shows where another player, object, or monster is)
look (allows you to observe whats in another room)
dig (creates a portal to another area)
new room (creates a new area)
mind
----
display (displays moo output in room ormoo output to a player(s))
describe(describe things differently)
possess (control moo players or monsters)
learn/teach (learn & teach new skills)
filter (change moo messages to certain players)
matter
------
create (creates new items you have sympathetic links with)
destroy (destroys items you have sympathetic links to)
enchant (enchants items with new powers, or change their attributes.)
Time
----
enhance destiny with an (attribute, skill, person, possession,
location)
curse destiny with an (attribute, skill, person, possession, location)
slow time (Allows a player to observe future MUD output and act before
it happens, by lagging everyone else in the room 1
second).
prime
-----
sympathetic link (shortcut to reach an object even when in another
room)
drain (drains mana from objects or corpses)
infuse (saves mana in objects)
meditate (regenerates mana)
forces
------
darkness (makes rooms dark, or objects invisible).
light (dispells darkness)
heat (starts fires)
cool (prevents fires, and slows people down by giving them frost
bite)
force (moves things in and out of room, or knocks people down, can
also be used to throw items at enemies).
fly (allows players to fly above the room, only being effected by
ranged combat).
storm (changes the weather in an area, or directs bad weather towards
another player)
life
----
create (create a monster)
harm (causes damage)
heal (heals players)
enhance abillity (changes attributes)
decrease abillity (changes attributes)
ressurect (raises the dead)
spirit
------
see spirits (see ghosts of dead players & monsters)
cast in / out (allows ghosts to interact with the environment)
ask of spirit (If a player casts a ghost in they can direct the
ghost)
out of body (a player can journey into the spirit worlds)
incarnate (allows a player who is out of body to observe as if another
player).