Engine Requirements Overview |
|
The Fantasy GameThe 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 ExperienceThe 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 ClassesVariety 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 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 UpAs 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 GameThe heroics game will essentially be an engine whereby classless/levelless players take on goals assigned by the system on behalf of a faction. The goals in turn form part of a grand story that the player is an active participant vital to its success. The game only ends when the story does, and even then, may end only with a hook into the next heroic tale. Story LinesEach player that plays the heroics game will select a superhero with the appropriate superpowers, and will select a secret identify by which they will be known to the public world.Player InteractionPlayers must play an active role in each others attempts to pursue their own story lines. Players should be set only to go unconscious on death. The Tech GameThe 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. The basic idea is that a player creates a character and engages in some local trade, training or whatever so they can buy their First Ship. They then spend all their time either researching better eq for their ship, gathering resources to sell on needy planets for credits, buying low/selling high between planets, or comitting piracy for credits. They can use the credits to upgrade their ships in order to stay in the game. A diligent player should be able to "keep up" with a mud-wide automatic progression of technology. A lax player will be barely able to survive. Thus is born the viscious Tech cycle -- trying to stay afloat amidst the systems constant tech progression. Merchants, both on planets, and in space, are the most important mobs in the game -- players will spend a lot of their time dealing with one or the other. Only exception is for those taking the Boring Way Out (research) which is good only for botters. Basics of characters
Tech Rules
Space
Auto-Generated Planets
Combat
FlyingThe "Star Trek" aspect of the game comes mostly from how you interact with your ship. The example below is meant to show someone who is using a cheap low end freighter type ship with a single computer station and mostly manual control software. Better systems and software would make his life easier. Having a big starship where several players can each take a station would make the interactions MUCH easier. Where you see "..." this is a high level description of either what the server is saying to the player, or what the player understands. Anything else (including the = character) is a command. "=" is a shortcut for a command to enter stuff into the computer. Would players tolerate this level of complexity? I would. It seems very entertaining from this snap shot. I understand there are a lot of maintenance aspects, and ship building, buying/trading, exploring that goes on, but this brief travel/combat example seems to be a very good pace for a space MUD. ... player enters their ship, which is docked ... sit computer .. user sits at the computer .. activate computer .. this allows player to get an automatic "look" message from the computer whenever the display changes ... read computer ..
would show what the computer screen has on it -- probably a top level
menu based on what the user has installed in their ship/computer... = engineering .. a menu entry, takes the user to enginneering menu, which will also show a summary of status and fuel = activate engine ... system shows some stuff as generator starts up. = < ..
goes back one menu level to the top level menu.. they could have also
just entered "top" .. these navigation commands will be listed on all
screens. = navigation .. enters the navigation subsystem = altitude 25 .. automatically sets target to current planet, since altitude is only relevant to nearest planet.. = course 180.180 = speed 20 .. player can turn their ship with the sheer and start moving; the sheer decreases .. = autopilot orbit .. this is a fancy software feature... an autopilot type command to increase their altitute to orbit level = report planets .. list the planets/systems they have in their navigation map = course jupiter .. is it in the list? yes, then set the course and the new target .. = speed warp 3 .. thrusters disengaged, warp engines engaged .. = < = sensors .. another top level menu entry = < = navigation = speed 0 .. warp engines disengaged = < = tactical .. our "short range" subsystem = shields 10 = phasers 10 .. phasers and shield (especially) start sucking power, but not more than engines produce at speed 0.. = target ship 1 .. changes target from jupiter to one of the objects (called ship 1) in the short range tactical sensor list = fire phasers .. blast blast .. = < = navigation = autopilot evasive alpha .. fancy combat navigation! software knows that one.. direction, distance set, and will change automatically .. = speed impulse 5 ..
that's going to suck more power, but combined with shields and the
evasive source pattern will decrease our chance of being hit. = < = tactical .. woot, I see my phasers have warmed up again! = phasers fire .. blast .. blast .. phasers warming up now = < = engineering = report damage .. shows what's hurt .. = activate battery 2 .. that should give us enough kick to get through this! stand open access panel remove transfer coil open spare parts box get transfer coil shipinstall "2.transfer coil" "access panel" .. using a skill takes a few ticks.. ugh! sit computer .. as long as im still in the room, im still monitoring the computer, so i would have seen any changes. = tactical = fire phasers .. blast blast .. = target rubble 1 = fire tractor .. rubble hit by tractor beam! = stop tractor .. rubble pulled into cargo bay .. = < = navigation = speed 0 = < = tactical = shields 1 = phasers 0 .. now my poor generator and batteries will stop bleeding! = < = engineering = deactivate battery 2 ... battery
no longer being drawn from.. let it get refilled. main batteries
will refill from generator now that we aren't taxing it so much! = < = navigation = course jupiter = speed warp 1 .. can't maintain warp 3 at these power levels.. it would just disengage and there would be damage... = < = sensors .. watch for a short while stand south .. lets go see what kind of rubble we got! maybe there's a good transfer coil in there! Final ThoughtsCoffeeMud 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 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. |