<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Engine Requirements Overview</title>
<link rel="StyleSheet" href="style.css" type="text/css" media="screen" />
<!-- Modified by Josh Mueller, 2006-5-5, add index, and fix spelling errors -->
</head>
<body>
<center>
<table border="1" bordercolor="gray" cellpadding="10" cellspacing="0" width="90%">
<tbody>
<tr>
<td colspan="2" align="left" bgcolor="#dfdfdf" width="100%">
<h1>Engine Requirements Overview</h1>
<h2>Updated 9/8/2006</h2>
</td>
</tr>
<tr>
<td align="left" valign="top" width="20%">
<ul>
<li><a href="#fantasy">The Fantasy Game</a>
<ul>
<li><a href="#levels">Levels and Experience</a></li>
<li><a href="#classes">Character Classes</a></li>
<li><a href="#wrap">Wrapping Up</a></li>
</ul>
</li>
<li><a href="#heroic">The Heroic Game</a>
<ul>
<li><a href="#goals">Goals</a></li>
<li><a href="#clues">Clues</a></li>
<li><a href="#solve">Solving the Mystery</a></li>
<li><a href="#interaction">Player Interaction</a></li>
</ul>
</li>
<li><a href="#tech">The Tech Game</a></li>
<li><a href="#thoughts">Final Thoughts</a></li>
</ul>
</td>
<td align="left" valign="top">
<h2><a name="fantasy">The Fantasy Game</a></h2>
<p>
The fantasy engine moderates a game about the
accumulation of personal Power by the player for his or her game
character. Personal power is typically measured by combat
prowess, but can also be measured by the breadth of skills the player
accumulates. Since skills are usually intended to enhance the players
prowess in combat, it becomes evident that, ultimately, combat
prowess is the measure of the power of the
player.
</p>
<p>
Combat prowess involves the ability to hit foes in
combat (attack), the ability to damage foes which are hit, the
ability to avoid being hit by foes in combat (armor), and the
ability to withstand damage done by foes when hit.
Maximizing these abilities is done primarily through items of armor,
items of weapons, armoring skills, damaging skills, and improvement of
vital statistics such as health, strength, dexterity, and other
attributes important to both skills and the long-run development of
other vital statistics.
</p>
<h3><a name="levels">Levels and Experience</a></h3>
<p>
The fantasy players power will tend to remain static
for a period equal to their time at a given numeric Level of
achievement. Levels are, therefore, a fair measure of the power
of a player. When levels are gained or lost, however, power will
tend to rise and fall respectively. This is due primarily to the
fact that the reward of gaining in the numeric level of achievement
will always take the form of new skills or attributes which contribute
to the combat prowess, and therefore the power, of the
player. The player who gains in levels will be instantly granted
a greater ability to withstand damage done by foes, greater access to
skills, a greater ability to use their existing skills, and a greater
ability to hit foes in combat. An advanced level also opens up
the player to the availability of more powerful items of armor and
weaponry. Players will also, from time to time, gain new skills
automatically by advancing in level. Lastly, gaining a
level will grant the player tokens of credit in the form of
Training Points and Practice Sessions, which can be spent to improve
vital statistics, or to gain new skills All of these things
amount to the ability to improve the players
power.
</p>
<p>
Higher levels of achievement are awarded in the fantasy game
for the accumulation of a number of Experience Points sufficient to
qualify the player for the higher level. Experience points may be
gained or, usually through carelessness, lost. If a player
loses a sufficient number of experience points, they may also be
demoted to a lower level of
achievement.
</p>
<p>
Experience points, in turn, are gained in many ways.
The most common way is through the Demonstration of the players combat
prowess over the computer-animated denizens of the world through
combat. A player who defeats a foe in combat will gain experience
points proportional to the foes own power and combat prowess. A
player who defeats a weak foe will not be awarded any experience
points, while defeating an extremely powerful foe will yield the
greatest experience point award. Experience points may also be
gained by the exercise of the players non-combat powers, which is
discussed in the next section.
</p>
<p>
Either way,
experience points, typically gained through the exercise of combat
prowess through actual combat, are applied towards the gaining of
levels. The gain in levels is then accompanied by greater combat
prowess, which allows the player to more easily defeat foes in combat,
and continue the cycle of gaining personal
power.
</p>
<h3><a name="classes">Character Classes</a></h3>
<p>
Variety being the spice of life, numerous ways have been
devised to vary the ways, means, and types of ways in which a player
can gain in power. Some players may wish to focus primarily on
ensuring that they can withstand the attacks of other foes, even at the
expense of an improved ability to deal damage. Some players may
wish to focus on developing their power through items of armor and
weaponry, even at the expense of a better set of skills. Still
other players may want to focus entirely on skills as a means of
maintaining combat prowess, even if it means their native combat
prowess is quite weak. To accommodate these differing philosophies
of play, the game engine affords players a choice in several Character
Classes
</p>
<p>
Character Classes are divided into several basic types, each
of which embodies the different philosophies of accumulating and using
power. The basic types
include:
</p>
<ul>
<li>
<p>
The Fighter, with strong native combat prowess, and broad
access to items of armor and weaponry, but extremely weak in power
through skills.
</p>
</li>
<li>
<p>
The Mage, who is weakest in native combat ability, and has
almost no access to items of armor and weaponry, but which has the
broadest and most formidable selection of skills for doing damage and
avoiding the attacks of foes.
</p>
</li>
<li>
<p>
The Cleric, who embodies the defensive philosophy, being
weak in the ability to deal damage, but strong in the ability to
withstand and recover from it. This class also includes evil
clerics, who approach the Mage in their modus operandi, but still
harbor the general clerical weaknesses of low attack ability
and stronger armoring abilities. Evil clerics are most
likely to use their skills to approximate the more direct healing
mechanisms enjoyed by the Good cleric, which also keeps them under the
general Clerical umbrella.
</p>
</li>
<li>
<p>
The Bard embodies the philosophy of strength in
numbers. This class is designed primarily to be attractive to
groups of other classes, meaning that the bard gains in power by
joining his strength with others. The bard is natively weak in
both attack and defensive abilities, but tends to have powerful skills
which will tend to enhance groups of other players in their own
abilities.
</p>
</li>
<li>
<p>
The Druid, like the Bard, embodies the philosophy of
strength through external assistance. In the case of the Bard,
this assistance comes from other players. For the druid, it comes
from other computer-automated creatures in the game, whose assistance
the Druid can solicit through skills. This makes the druid not
unlike the evil cleric in some respects, but without the evil clerics
ability to empower him or herself through items of armor. This is
made up for in the druid class by an enhanced ability to withstand
damage dealt by foes through the druids weak
armor.
</p>
</li>
<li>
<p>
The Thief is both a weak mix of all of the other classes,
with moderate access to items of armor and weaponry and moderate
native defensive abilities, and moderate access to combat skills.
The strength of the Thief, however, comes from unique access to
abilities found in no other classes. Thieves have unique access
to monetary wealth, with which the favors of other players can be
gained. They also have unique access to the areas of the World in
which the players live. Unlike the other classes, a thief has
mechanisms to go to places and to get into things which no other class
has. Thieves also have the unique ability to pass through the
world without being detected, which assists in their ability to access
the otherwise inaccessible.
</p>
</li>
</ul>
<p>
The Character Classes above do not only embody certain
philosophies in the accumulation of power. They also embody
certain fantasy arch-types. These arch-types, made popular by
books such as Lord of the Rings and games such as Dungeons and
Dragons, are the basis for the most popular forms of fantasy
role-playing. For this reason, the immersion of the player into
the role that they have selected becomes an end in itself, and a
secondary goal beyond the primary one of the accumulation of combat
prowess. To further this goal, certain other means of gaining
experience points by the use of non-combat skills which are designed to
enhance role-playing, are devised and put into practice. These
alternative means of gaining experience through
role-playing can include things such as a Thief stealing, or a
Druid planting trees and communing with nature, or a Cleric converting
infidels to religion, or a Bard performing for a
crowd.
</p>
<h3><a name="wrap">Wrapping Up</a></h3>
<p>
As was stated in the overview, the fantasy game is
about the accumulation of personal power for the players character,
usually in the form of combat prowess. The mechanisms employed,
namely Skills, Levels and Experience Points, as well as the
restrictions imposed in the form of Character Classes, forms the basis
of most fantasy Muds. Alternatives have become to emerge which
attempt to remove the intermediary goals represented by levels, the
measure of progress represented by experience points, and the
restrictions and role-playing benefits of character classes.
These alternatives operate in many different ways, but they all still
boil down to the fundamental game missions of accumulating personal
power, usually combat prowess.
</p>
<h2><a name="heroic">The Heroics Game</a></h2>
<p>
The heroics game will essentially be an engine
whereby classless/levelless players take on goals assigned by the system
on behalf of a faction. Completing the goal will allow the player
to gain favor with that faction, and lose favor with rival
factions.
</p>
<h3><a name="goals">Goals</a></h3>
<p>
The most common goal for players will be the
solving of certain logic problems generated by the system, which are
based around both engine generated characters, as well as mobs already
in the game Area. The logic problems, also called "mysteries",
will take many different forms, depending on the nature of the faction
that assigns them.
</p>
<p>
Example goals for a "city hall" faction might
include: Solving a murder mystery, solving a robbery, uncovering
corruption.
</p>
<p>
Solving these larger goals will involve the
answering of specific questions via the use of clues. Examples of
the types of questions one must answer to complete a goal might
include: WHO knows something, WHO did something, WHO are relatives,
WHERE did they do something, WHERE are they now, With WHAT did they do
something, WHO they work for, or are working for.
</p>
<p>
Answering these questions then becomes the basis
for the more specific goal-oriented quests which must be solved by the
players to gain favor with the faction.
</p>
<p>
Example of the use of specific question-related
goals for an "underworld" faction might include: Who witnessed one of
their crimes? Who has talked to the police (so you can go punish
them?) What clues did a villain leave behind? Who is a heroes
leading lady? Who is a heroes family? Where does the leading
lady/family work/live. What is a heroes secret identity. Who
are the bribable police, and how much will they take. Who makes the
parts you need for your secret weapon, or who knows how to
make the parts you need?
</p>
<p>
Goals can also be complex. For instance,
if the underworld wants a secret weapon built, it might set up
intermediate goals such as: acquiring money for protection
(who is bribable?), who makes the parts, who knows how to make
it.
</p>
<h3><a name="clues">Clues</a></h3>
<p>
The answering of the questions involved in
accomplishing the goals of a faction is accomplished by uncovering and
logically deducing from information provided by the system in the form
of clues.
</p>
<p>
Every mystery will begin with a dialog from a
faction. The dialog usually involves telling the player either
what has happened, or what is happening, or perhaps what needs to
happen.
</p>
<p>
The system will then generate the appropriate
questions which need to be answered in order to solve the
mystery. From there, the system will generate numerous acceptable
and possible answers to the questions (suspects for a WHO question,
places for a WHERE question, items for a WHAT question,
etc). Lastly, the system will generate clues of various
sorts which either help to answer a question directly, or answer it
indirectly by making all answers but the correct one
impossible.
</p>
<p>
Types of clues include:
Contaminants (blood stains, mud stains, smells,
being wet, being deaf because of noise, weather-related),
Reputation (weapons usually used, places usually
gone, people usually known, things known to believe, phobias),
Witnesses (weapons seen with, places seen, people seen with, things
heard said), and Gotchas (Phobia, Pressure/Confrontation, Being a
witness yourself, Items owned, Glove that fit, Footprints,
fingerprints)
</p>
<p>
Depending on the difficulty level, the system
might also generate anti-clues or deceptions regarding the true
answer. This can include disguises to deceive witnesses, lies to
deceive reputations, item-plants to
deceive contaminants. What dealing with deceptions, however,
the system will be careful to generate enough proper and correct clues
to overcome deceptions. For instance, if a witness is set to lie
about an answer, at least two other witnesses will give the correct
answer to overcome the lie. A deceptive item plant will be
overcome by at least two other contaminant clues which point to the
proper answer, and so forth.
</p>
<p>
Uncovering clues will involve doing things such
as: Asking questions of witness mobs, who will answer according to what
they have been assigned to know and say. Finding contaminants by
searching or examining items and places, and possibly performing
gotchas by exposing suspects to objects of their phobias, or having
them try on a glove.
</p>
<h3><a name="solve">Solving the Mystery</a></h3>
<p>
Once the answers to the appropriate questions
have been uncovered in the allotted time, they are delivered to the
head of the faction which requested the mystery. If the answers
are correct, the mystery is solved and an appropriate dialog is given
to wrap up the mystery. At this point the player is
rewarded.
</p>
<p>
Rewards will include: gaining favor with the
faction that assigned the mystery, the assignment of more interesting
and complex problems from the faction, finding the faction
more helpful in combat or at least non-hostile, getting better
prices in faction shops, gaining interesting recipes for common skills,
gaining henchmen (for villains, they tank, and are very
weak), gaining leading ladies or suiters, and gaining sidekicks
(they get more powerful, but fewer of them than
henchmen).
</p>
<p>
The engine should maintain a static state of all
area maps, while still keeping a small level of realism. For
murdered or captured mobs, this should involve only changing the names
of the affected mobs according to an engine formula.
</p>
<h3><a name="interaction">Player Interaction</a></h3>
<p>
Each player that plays the heroics game will
select a superhero with the appropriate superpowers. These powers
will not be overwhelmingly useful in solving the mysteries, but may
help with tertiary encounters or with just getting around the
map. The player will also select a secret identity. When in
this secret identity form, they are effectively protected against harassment by
those in favor of rival factions, but also gain no benefit from
harassing others themselves. Players using their secret identity
may have an easier time getting questions answered from witnesses of
rival factions than they do in their superhero form, but generally
would have more trouble getting any witness to talk at ALL. After
all, it is intimidating to be a super hero.
</p>
<p>
Players can play an active role in each others
attempts to solve the mysteries. When a player solves a mystery,
he is the only one who benefits. However, when a player fails to
solve a mystery, ALL players in favor with rival factions
benefit. This means that it is in the benefit of players to try
and thwart a players attempt to solve a mystery. This may be done
by tampering with evidence or witnesses, or by harassing the player
directly.
</p>
<p>
Players should be set only to go unconscious on
death. Players rendered so by other players will not only
gain favor with factions that rival the defeated one, but will lose
faction with the defeated players Personal faction, named after
themselves. Factions of this kind can be used to determine arch
enemies, and track rival hero information.
</p>
<h2><a name="tech">The Tech Game</a></h2>
<p>
The tech/sci-fi engine
will facilitate a game whereby the players travel to different
planets in space ships in order to accumulate wealth. The wealth
can be accumulated through the trading of goods, the accomplishing of
goals or quests, or through piracy. The wealth is then used to
upgrade the players technology; e.g. better ships, better weapons,
better components, which will aid them in more easily acquiring more
wealth.</p>
<h2><a name="thoughts">Final Thoughts</a></h2>
<p>
CoffeeMud may seem like an enormous conglomorated
mess of swirling classes and algorithms exploding forever into a void
of chaos. Strangely enough, it was designed that way. There
are several design principles that are followed to make the codebase
generally Better. These principles include Playability,
Flexibility, Isolation, and Integrity.</p>
<p>Playability is the easiest to explain. A feature does
not remain in the Engine if it is not Fun, or somehow detracts from
Fun. This may sound like a vague rule, since people will disagree
on what is fun. However, it is quite certain that if even the
proponents of a feature agree it does not ultimately make the game more
fun, it will not be included on the feature list. Often this
means other considerations fall away under this rule, with Realism
being the most common. However, in the end, it is never forgotten
that CoffeeMud is a game, not a real-life simulation.</p>
<p>Flexibility is also easy to understand. Whenever
possible, any feature becomes better if, while having a Common-Case
Default behavior, it also includes the ability to have that behavior
altered through parameters. Sometimes these parameters take the
form of "coffeemud.ini" file entries, or of object parameter strings as
in behaviors or abilities. Sometimes flexibility is accomplished
simply by not having a feature impose itself unless the builders
include something in their worlds to activate it. This last
method often has to be tempered against Integrity, but that is a
delicate balance that is preserved in the end.</p>
<p>Isolation is a strictly code-base principle. What is
means is that, each class in the code base interacts freely with it's
own methods, freely with the core classes, and freely with the
interfaces. They interact rarely with other classes in the same
package, and they never interact directly with any class outside their
package (except, as mentioned, through public interfaces). This
principle has served the system very well, as it generally means that
the functionality of spells and behaviors, items, or mobs, can all be
found within their own java source. This makes maintenace easier,
but it also adds to the Flexibility of the codebase by making it
possible to add and remove classes with minimal impact to the system.</p>
<p>Integrity is a prominant design principle of this codebase.
What it means is that, whenever possible, the codebase requires
as little work as possible by the world designers to bring codebase
features to the players. The codebase contains everything within
itself the materials necessary to implement all of its features.
The Common Skills are a great example of this. A player can
build his own armor because the character class provides armormaking
skills, not the builder. The player can get the materials to make
the armor because the rooms provide the resources, not the builder.
Implementing the feature only requires rooms (which every map
will include), and nothing more for the builder to do to make
armorsmithing possible for players.</p>
<p></p>
</td>
</tr>
</tbody>
</table>
</center>
</body>
</html>