/
com/planet_ink/coffee_mud/Abilities/
com/planet_ink/coffee_mud/Abilities/Common/
com/planet_ink/coffee_mud/Abilities/Diseases/
com/planet_ink/coffee_mud/Abilities/Druid/
com/planet_ink/coffee_mud/Abilities/Fighter/
com/planet_ink/coffee_mud/Abilities/Prayers/
com/planet_ink/coffee_mud/Abilities/Properties/
com/planet_ink/coffee_mud/Abilities/Skills/
com/planet_ink/coffee_mud/Abilities/Songs/
com/planet_ink/coffee_mud/Abilities/Spells/
com/planet_ink/coffee_mud/Abilities/Thief/
com/planet_ink/coffee_mud/Abilities/Traps/
com/planet_ink/coffee_mud/Areas/interfaces/
com/planet_ink/coffee_mud/Behaviors/
com/planet_ink/coffee_mud/CharClasses/interfaces/
com/planet_ink/coffee_mud/Commands/
com/planet_ink/coffee_mud/Commands/interfaces/
com/planet_ink/coffee_mud/Exits/interfaces/
com/planet_ink/coffee_mud/Items/Armor/
com/planet_ink/coffee_mud/Items/Basic/
com/planet_ink/coffee_mud/Items/MiscMagic/
com/planet_ink/coffee_mud/Items/Software/
com/planet_ink/coffee_mud/Items/Weapons/
com/planet_ink/coffee_mud/Libraries/interfaces/
com/planet_ink/coffee_mud/Locales/
com/planet_ink/coffee_mud/Locales/interfaces/
com/planet_ink/coffee_mud/MOBS/
com/planet_ink/coffee_mud/MOBS/interfaces/
com/planet_ink/coffee_mud/Races/
com/planet_ink/coffee_mud/Races/interfaces/
com/planet_ink/coffee_mud/WebMacros/
com/planet_ink/coffee_mud/WebMacros/interfaces/
com/planet_ink/coffee_mud/application/
com/planet_ink/coffee_mud/core/smtp/
com/planet_ink/siplet/applet/
lib/
resources/examples/
resources/fakedb/
resources/quests/delivery/
resources/quests/diseased/
resources/quests/drowning/
resources/quests/gobwar/
resources/quests/holidays/
resources/quests/robbed/
resources/quests/smurfocide/
resources/quests/stolen/
resources/quests/templates/
resources/quests/treasurehunt/
resources/quests/vengeance/
web/
web/admin.templates/
web/admin/images/
web/pub.templates/
web/pub/images/mxp/
web/pub/sounds/
<!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. &nbsp;Strangely enough, it was designed that way. &nbsp;There
are several design principles that are followed to make the codebase
generally Better. &nbsp;These principles include Playability,
Flexibility, Isolation, and Integrity.</p>
      <p>Playability is the easiest to explain. &nbsp;A feature does
not remain in the Engine if it is not Fun, or somehow detracts from
Fun. &nbsp;This may sound like a vague rule, since people will disagree
on what is fun. &nbsp;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. &nbsp;Often this
means other considerations fall away under this rule, with Realism
being the most common. &nbsp;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. &nbsp;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. &nbsp;Sometimes these parameters take the
form of "coffeemud.ini" file entries, or of object parameter strings as
in behaviors or abilities. &nbsp; Sometimes flexibility is accomplished
simply by not having a feature impose itself unless the builders
include something in their worlds to activate it. &nbsp;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. &nbsp;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. &nbsp;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). &nbsp;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. &nbsp;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.
&nbsp;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. &nbsp;The codebase contains everything within
itself the materials necessary to implement all of its features.
&nbsp;The Common Skills are a great example of this. &nbsp;A player can
build his own armor because the character class provides armormaking
skills, not the builder. &nbsp;The player can get the materials to make
the armor because the rooms provide the resources, not the builder.
&nbsp; 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>