# Engine Requirements Overview ## Updated 9/8/2006
The Fantasy Game Levels and Experience Character Classes Wrapping Up The Heroic Game Goals Clues Solving the Mystery Player Interaction The Tech Game Final Thoughts | ## The Fantasy Game 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. 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. ### Levels and Experience 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. 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. 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. 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. ### Character Classes 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 Character Classes are divided into several basic types, each of which embodies the different philosophies of accumulating and using power. The basic types include: The Fighter, with strong native combat prowess, and broad access to items of armor and weaponry, but extremely weak in power through skills. 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. 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. 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. 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. 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. 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. ### Wrapping Up 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. ## The Heroics Game 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. ### Goals 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. Example goals for a "city hall" faction might include: Solving a murder mystery, solving a robbery, uncovering corruption. 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. 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. 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? 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. ### Clues 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. 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. 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. 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) 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. 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. ### Solving the Mystery 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. 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). 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. ### Player Interaction 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. 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. 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. ## The Tech Game 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. ## Final Thoughts 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. 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. 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. 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. 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.