Sketch for a "Realistic" Western Shooter
Introduction | The Game World | Interface | Movement | Weapons and Inventory | Single-Player | Multiplayer | Revision History
While as video game genres go the first-person-shooter field has become crowded for the most part one can make certain generalizations about all the games in this category: they define themselves in relation to id's Doom or Quake games, they have a futuristic theme and they base their gameplay on making the player go through a series of pre-designed levels.
Several recent entries to the field, Red Storm Entertainment's "Rainbow Six" and Looking Glass Studios' "Thief: The Dark Project" have begun to push beyond the first two generalizations. The third remains untried.
This article will sketch the outlines for a game that will attempt to challenge all three. One can't completely avoid comparison to an id game but perhaps by moving away from established conventions such as supercharged weapons, powerups and circle-strafing one can stretch the comparison to a point where it becomes pointless; plenty of room remains for games to move outside of the id realm. While most games look to the fast-approaching millennium or beyond, this one will remain rooted comfortably in the previous century. And while all other games march the player through a series of pre-designed levels this sketch will try to suggest another way to go about creating a compelling first-person experience.
I have neglected one significant exception to the the first two generalizations and with good reason: Lucasarts' "Outlaws" took a direction all its own, an Old West shooter with six-guns, well defined characters and cartoon graphics. This sketch owes much to Outlaws but is not an attempt at an "Outlaws 2." Rather, it will explore another direction in the Western milieu, striving to present a "realistic" simulation of life as a gunslinger in the mid- to late 1800s.
Discussing "realism" in computer games can lead to slippery ground. Simply put, by "realism" I mean something corresponding to actual human experience. Of course none of us have lived in the western United States of the 1800s, so while we can try to approximate what is known of history we cannot recreate historical reality. And history and human experience, while exciting in many ways, also contain large areas of little interest to a target audience. Thus this attempt at reality will focus on the exciting, violent bits of our "historical reality," hoping in the end to form a reflection close enough to some of its aspects to serve as a compelling contrast to the tedious and dull parts of our own personal experience, or at least enough to make for some good fun on a rainy day.
This game sketch will also owe much to the "Spaghetti Western" movies I have seen, particularly those by Sergio Leone such as "The Good, the Bad and the Ugly" and "Once Upon a Time in the West." For me the beauty of these movies lies in the dust, the sky, the huge vistas, the tight close-ups, the tense silences and the quick, thunderous gunfights. Hopefully the game this article sketches out will contain these elements.
I should note here that I am not a programmer. Designer by training and game player by preference, I only know of game programming from games I have played or seen played and a little from programmers whom I have met. This sketch will pose a number of challenging engineering issues. In some cases I will try to cite other programs that have shown similar functionality but as a non-programmer I do not know whether all or any of these issues can fit into a functional game. In any case where the issue would prove impossible the reader can assume that we would leave it out or simply revert to the tried and true; unoriginal is more fun than dysfunctional. top of section
The Game World
Header | Landscape | Buildings | Characters | Environmental Features | Sounds | Day/Night Cycle | Weather Effects
The game takes place in an approximation of the "Old West," at least of the "Old West" we've heard of, that mythical land of vast open plains and huge canyons between small lawless towns.
The player moves over the vast plains but the game shall handle the actual chore of traveling in an abstract sense by showing the player the beginning and the end, with a map in between. The beginning and end are the towns and the areas around the towns. These towns have familiar names but not ones we know. Gunfighters, tavern owners, farmers, sheriffs, horses, children and riffraff live in the the towns and the outlying areas around them. These towns vary in size, detail and style but remain always Old West towns, no matter where the player goes. A map and compass indicate East, West, North and South but these are merely for orientation and have no geographic importance: this mythic West extends endlessly in all directions.
Perhaps the closest comparison I can think of is David Braben's space-trading game "Frontier: Elite II" in which the player could go anywhere throughout the galaxy: you could cross the map of space all day in any direction and still find yourself coming to unique star systems, each with their own planets and natural resources. More of Elite's influence will become apparent throughout this sketch.
The game engine will generate this world bit by bit. For each new town the player wanders across the game will generate landscape, buildings and characters. The game world will incorporate environmental features, sounds, a day-to-night cycle and weather effects to bring the computer world closer to life. top of section
The game will generate three-dimensional landscape from a two-dimensional terrain map. Previously generated adjacent areas will influence this map so that larger trends in landscape appear as one wanders through the "West."
I am thinking mostly of the old graphics program "VistaPro" which could generate an altitude map based on a random seed and specified or random variables. The engine will have to convert that map into a 3D object and compile it into a playable area almost on the fly. top of section
After the landscape map has been generated the engine will populate it with buildings, smoothing out areas of the landscape where necessary to provide a flat foundation. Buildings will be based on previously designed, historically based models. Two or more building sections can combine to form larger buildings. Certain buildings will only appear in towns of a certain size, for instance a sheriff's office will only appear in larger towns. Buildings in a town will follow an identical style: adobe, cedar plank, etc. This will give local flavor and identity to each town.
Outlying areas such as farms, ranches and hideouts will have their own particular buildings relevant to the area's function. The engine will lay these out on the landscape more loosely than the close-packed grid plan of a town. Some layouts, such as a ranch, may require an enclosing fence, wall or canyon. top of section
Each new area will contain new characters for the player to interact with. The Single-Player section deals with these computer-controlled characters though I should note here that some areas may lack citizens altogether: these deserted "ghost towns" will give the player little indication of the calamity that robbed them of their populace. top of section
- Environmental Features
Certain natural phenomena come to mind when we think about the Old West of our imagined past. Footsteps kick up dust. Looking at the sun causes a sharp blinding glare. The wind blows dust and leaves across the ground. Eagles soar high in the sky... vultures fly lower. These and other details will serve to immerse us in our generated world.
In addition, a landscape without feature becomes unearthly. The engine must fill the land in with trees, bushes, rocks, streams and pools, tumbleweeds, grazing cattle and other items that will add local character, and fill with water areas below a certain elevation. top of section
In a game with pauses between frantic action, sounds become very important. Ennio Morricone's stirring, often shocking Spaghetti Western soundtracks filled those pauses, stretched or contracted them, highlighted and directed the action. However in a game stirring music can prove distracting, particularly when you have to listen for the sounds of your opponent reloading, running to outflank you or breathing hard from exertion. Even if Morricone's signature "Western" sounds could be reproduced they might not work in this game.
While music may not be needed or wanted, sound effects are literally vital. The game should incorporate 3D sound technology. Every action ought to have a corresponding, distinct sound -- boots on various surfaces, wind blowing at different speeds in wide or narrow spaces, different types of bullets striking and rebounding off different materials and so on. top of section
- Day/Night Cycle
Each area has at least three distinct times of day: noon, dusk and night. Dusk would serve as both morning and evening. Night, dawn and bright day we feel instinctively based on the quality of ambient and directional lights. Depending on the time the engine would vary intensity and color of interior and exterior lights and shadows.
To simplify matters day and night might only change in the single-player game, when the player travels from one area to another via the Map Screen or when they sleep. The player might leave town in the morning and arrive at an outlying farm at noon. In the single-player game day/night would also influence AI behavior or at least which character types you encounter: you'll find farmers during the morning/day but not at night, cut-purses and lowlifes only at dusk/night. See the Gameplay portion of the Single-Player section for more details on AI characters. top of section
- Weather Effects
The game will model the effects of natural weather in simplified form:
- Clouds and Rain
Day and night ambient lighting will vary depending on the amount of cloud-cover. Cloud density will vary randomly as you go between times of day. Extremely dense clouds might have a chance of generating rain, which will reduce visibility and cause hard ground to become slippery, soft ground to slow movement.
Wind could serve to hinder movement in one direction while facilitating movement in the opposite direction and would partly depend on landscape type: flatter landscapes would have more chance of high winds. High winds might carry dust, reducing visibility. Wind could also modify projectile trajectories, though this may be too subtle or too difficult a feature to merit inclusion.
Characters looking directly into the sun will be momentarily blinded by the bright glare that will obscure most of their screen. This blindness will wear off after they turn away from the sun, wearing off more slowly the longer they were looking at it. Those looking indirectly at the sun will suffer only minor glare effects. A wide-brimmed hat will help block the sun's glare.
Standing in bright sunlight in daytime will gradually induce dizziness. See the Status Displays portion of the Interface section below for more details on fatigue. top of section
Header | Status Displays | Controls | Model Displays | Interactive Icons | The Map Screen | Menus
The engine will generate the world; the interface must pull the player into that world and let them interact with it. The interface should remain as innocuous as possible; ideally the player would never even consciously think about it. top of section
- Status Displays
The player interacts with the game world through the eyes of their virtual character. Many first-person games clutter this view with various numeric or graphical meters and indicators but, so far as I can see, I do not have a cross hair etched into my eyeballs nor a numeric counter showing my health floating near the bottom of my field of view. This game will have no visible meters on screen.
Lacking a mechanism for feeling the nerves of our virtual incarnation, the game will require some sort of feedback by which the player can measure their character's physical health. As the player's character suffers wounds a red haze will start to creep in from the corners of the screen. As their level of vitality becomes critical, audible moans and cries will play to indicate the intense damage the player character has suffered.
The game models three kinds of character fatigue: cardiovascular fatigue resulting from intense physical exertion, sunlight-induced drowsiness, and weariness resulting from lack of sleep.
- Cardiovascular Fatigue:
Audible breathing will indicate cardiovascular fatigue. A fully rested character will have no audible breathing but as fatigue mounts breathing sounds will play and become steadily louder, increasing into huffing and puffing as the character nears physical exhaustion. Other characters will be able to hear this ragged breathing. See the Movement section for more on the causes and effects of cardiovascular fatigue.
- Sunlight-Induced Drowsiness:
A character standing in bright sunlight too long without a hat will begin to experience bouts of dizziness indicated by a visual distortion of the screen. These bouts will increase in duration and frequency the longer the player's head remains exposed to the sun. Moving into less intense light will gradually alleviate the condition.
Increasingly frequent yawning will indicate growing weariness due to sleep deprivation. As this weariness mounts the character will begin to experience bouts of dizziness or narrowed vision as their eyes begin to close involuntarily. If the player does not soon find a place to rest they will simply black out and sleep for an uncontrolled period of time. See the Gameplay portion of the Single-Player section for more on Sleep.
- Cross hair and Ammunition
There will be no "cross hair" indicator. All aiming will rely on judging the center of the screen and sighting along the lines of a weapon. There will be no ammunition counter: the player will have to remember how many rounds they have remaining in their weapon.
Holding the reload key will bring up a piece of rawhide over the very bottom of the screen with their remaining ammunition for the current weapon noted in crude incised marks. top of section
All controls should be fully configurable by the player. This game will include the usual first-person-shooter controls: forward/backward, left/right, duck/jump, strafe left/right, run (there is no auto-run), look, and fire. The Movement section discusses some of these controls in more detail while the Interface portion of the Weapons and Inventory section will cover weapon and item selection controls. The Player Interaction and Interface portion of the Multiplayer section will describe the Say and Score controls.
This key will function as a context-sensitive action button. For instance pressing Action when aiming at a nearby unlocked door will cause the door to open. Pressing Action when aiming at a nearby person will activate the interactive interface. Pressing the Action key when aiming at a nearby item will attempt to pick the item up.
The alternate fire key will activate a secondary function of a held object - the usual Fire key activates only the primary function. The Weapons and Inventory section discusses primary and secondary functions.
This key reloads the currently held weapon, if applicable, with remaining ammunition. Pressing the button once will load one unit of ammunition, for instance one bullet, while holding the button down will continue to load additional rounds one by one until the weapon is fully loaded. During the reloading process a piece of rawhide will come up over the very bottom of the screen with the remaining ammunition for the current weapon noted in crudely incised vertical marks, one for each unit of ammunition with a diagonal mark through groups of five.
This key will drop the currently held object to the ground, releasing it from the player's inventory. The player can pick up dropped objects by moving close to them and pressing the Action key. Because of strict inventory restrictions (see the Weapons and Inventory section) there is no auto-pickup function.
In single-player pressing this key will cause the player character to go to sleep, possibly restoring health and removing weariness. Pressing the key again will wake the character. See the Gameplay portion of the Single-Player section for more details on sleeping.
In multiplayer this key brings up a piece of rawhide over the bottom of the screen on which the player can type a message to other players. See the Player Interaction and Interface portion of the Multiplayer section for more details on chat functions. top of section
- Model Displays
The player will see certain 3D models over the on-screen view:
- Hands and Arms
When holding a weapon or item the player will see their character's hands holding the object in the lower part of their view. Hands are subject to "hand bob;" see the Head and Arm Bob portion of the Movement section for more details. The hands will animate and manipulate the object based on the player's actions: pressing the Reload key while holding an empty pistol will show the hands reloading the gun if the character's inventory contains spare ammunition for the weapon.
- Legs and Feet
The player should be able to see their legs and feet when they look down. While not having immediate impact on gameplay, players would have an increased feeling of location within a world if they could see their own two feet planted firmly on the ground when standing still and moving rapidly while running.
Characters who have equipped themselves with a wide-brim hat will see the front of the brim protruding down from the top of their screen. While this reduces viewing area the brim will serve to block out glare and lower the chances of Sunlight-Induced Drowsiness (see the Status Displays article above) on sunny days. top of section
- Interactive Icons
Pushing the Action button while aiming at a computer-controlled character will cause a series of icons to appear on either side of the character until they move out of the player's immediate vicinity. See the Single-Player section for details on the specific icons and their functions. top of section
- The Map Screen
Moving between areas in the single player game will bring up an interactive map screen showing the surrounding countryside, or as much of it as the player has seen. The player can click where they want on the map to begin traveling in that direction. See the Gameplay portion of the Single-Player section for more details. top of section
Most game manuals start out discussing menu screens. I've saved them for last in this sketch of the interface because I want the player to be looking at them the least amount of time. Time spent looking at a menu is time losing immersion in the game.
To help combat this problem game menus will take the form of a piece of rawhide that raises up from the bottom of the screen, as if the player were holding it in their hand. The player will still be able to see the world around their character and the game will not pause, so they can aim and shoot or activate items while the menu appears on-screen. The left/right, forward/back keys will move between menu options and the Action key will activate or deactivate the selected item.
After first loading the game and before the player begins a session the menus will appear in the same way over a rolling demo of an anonymous character walking around a randomly generated area. top of section
Header | Acceleration and Momentum | Strafing | Head and Arm Bob | Walking and Running | Ducking | Jumping | Auto-Climb | Fatigue | Encumbrance
Player movement in first person shooters has become an established convention. The player has keys or assigned functions to move forward and backwards, to turn left and right, to pitch their view up and down, to run, jump and duck, and to "strafe," or move left and right while still facing forward.
This game will for the most part reflect these functions but will add several subtle adjustments to make the character's movement more similar to that of a real, albeit unusually physically fit human being. top of section
- Acceleration and Momentum
By quick manipulation of the controls in most first person shooters, experienced players can dance forward and back, side to side, even move in a circle without turning while running at full speed. This makes for a responsive game at the cost of reality and identification with the game character as a human being.
This game would subtly alter the usual handling of player acceleration and momentum. A character would take a little longer to reach full running speed. Turning left or right will slow the player until they fully orient themselves on their new direction of travel. Reversing direction quickly will result in a bit of a pause, possibly even a stumble, as the character must come to a stop before beginning to accelerate in the opposite direction. This must be done carefully so as not to make key response feel sluggish; in fact movement should feel springy and elastic. Head and Arm Bob should help in this regard. top of section
Strafing lets a character move in one direction while facing another, simulating moving while twisting their arms, head and torso to aim at a target off to their side.
Curiously, many games let the character move faster while strafing than while running straight, resulting in gunfights that boil down to characters dancing left and right, running circles around each other while firing. This game will implement an opposite dynamic: characters that move slightly slower while strafing, experiencing increased head and arm bob. top of section
- Head and Arm Bob
"Head bob" describes a bobbing motion of the first person view meant to simulate strenuous movement. "Arm bob" describes the visible movement of the player's hands and weapon during movement.
Most games let the player run full speed sideways while shooting just as accurately as they do while standing still. This game will break away from that convention. Quick changes in speed will cause the character's view to tilt in the direction of the acceleration: accelerating forward will temporarily tilt the player's view forward and down, strafing to the left, which is actually running to the left while turning your upper body to face right, will cause the view to pitch to the left. Vigorous movement will also cause the view to bob up and down. Quick acceleration will increase the bob and, coupled with view tilt, will result in a brief period of disorientation as the view shifts rapidly.
Arm bob will occur at the same time. Accelerating rapidly will result in extreme arm bob as the character uses their arms for balance. Strafing left or right will accentuate arm bob as the arms have to stretch across the body to maintain orientation with the player's view.
Head and arm bob will also affect aim. The player's gun generally tries to aim for the center of the screen but head bob will cause the view to go off-center and arm bob will cause the arms to shift the gun's aim off-center, making shooting accurately while moving a tricky prospect indeed: running hip shots will require a lot of skill, precise timing and a large amount of luck. While in most first person shooters the advantage in a shoot-out lies with the faster moving player, in this game a character in rapid motion around a character standing still and concentrating their aim will find themselves at a disadvantage. top of section
- Walking and Running
By default the character will move at walking speeds. Holding the Run key will allow the character to accelerate to faster speeds at the cost of maneuverability and shooting accuracy. Prolonged running will cause the character to begin to experience cardiovascular Fatigue.
Head and arm bob will closely reflect walking and running speeds and will coordinate with footstep sounds to create a convincing feeling of bipedal motion.
Characters with higher Speed attributes will move more quickly than those with a lower Speed. See the Character Generation portion of the Single-Player section for more details on attributes. top of section
Pressing the duck key will cause the character to duck. Ducking characters move much more slowly but present a smaller target to attackers. Quickly releasing the duck key while the character begins to duck will pause the character in mid-duck, allowing them to crouch behind tall obstacles while still peering over the top. Continuing to hold the duck key will bring the character to a full crouch. At this point the motion will pause briefly. Holding the duck key longer will lower the character to their knees and finally to a completely prone position on the ground. As a player ducks lower they will move more and more slowly but will also present a smaller target to attackers and get increased firing accuracy as their stability increases. Holding the Run key when prone will cause the character to climb to their feet gradually, while pressing the Jump key will cause them to spring to their feet quickly. top of section
The jump key will work slightly differently than the jump key in most games, where pressing the jump key causes the character to jump instantly, jumping higher the longer the key is depressed.
That is, when you think about it, a highly unrealistic representation of jumping. When we jump we first have to crouch and gather our legs beneath us, then push off the ground to go airborne. So pressing the jump key should cause the character to duck. Holding the jump key will increase the depth of the ducking motion until it reaches a point of maximum flex. Releasing the key will then cause the character to jump; releasing it sooner would result in a lower jump. The player can achieve running jumps by holding and releasing the jump key while already running forward. Those who have played Treyarch's third-person-view game "Die by the Sword" will recognize this type of jumping.
Players can also use the jump key in conjunction with the run key to accelerate more quickly from a standing or running position at the expense of momentarily increased head and arm bob, head tilt and increased cardiovascular fatigue. top of section
Many games give the character superhuman leaping ability so that they can jump to higher platforms. The jump height in this game will be much more realistic but the player will still need an effective way to get to platforms above, say, waist height.
Here's where the auto-climb function comes in. A character who jumps while holding nothing more cumbersome than a small pistol or knife will, if they continue to hold the jump key, reach out and pull themselves up to any ledge that comes within reach. Climbing up and over a ledge will leave the character temporarily unable to defend themselves as their hands and arms while the task of climbing occupies their hands and arms. The player will also experience extreme forward head tilt as they pull themselves up over the edge. top of section
Strenuous movement such as running and jumping gradually increases cardiovascular fatigue. The Interface section discussed the visible and audible manifestations of this fatigue. It remains to discuss the effect of fatigue on movement.
As a character becomes more and more fatigued they will run slower and slower until finally they cannot run or jump at all. Involuntary head and arm motion will become more erratic, disorienting the player and throwing off their aim.
A character's Stamina attribute will effect how quickly they begin to experience fatigue. See the Character Generation portion of the Single-Player section for details on attributes. top of section
In addition to momentum, encumbrance will also affect player movement. Characters loaded down with weapons and equipment will suffer penalties in decreased movement speed and increased fatigue. See the Encumbrance portion of the Weapons and Inventory section below for more on encumbrance. top of section
Weapons and Inventory
Header | Economics | Encumbrance | Interface | Weapon Types | Item Types | Object Physics | Recoil | Reloading | Weapon Damage and Consequences
This game will include many weapons and items that players can pick up and use. Economics, encumbrance and an ultimate limit of nine total weapons and items will limit what items the player can carry. These items may be purchased in stores or acquired from other players. In certain cases the player will discover weapons and items in the game that they can pick up by using the Action key. These might be items the player has been hired to collect (see the Gameplay portion of the Single-Player section) or special items placed in a multiplayer map (see the Game Setup portion of the Multiplayer section). top of section
In both the Single and Multiplayer games players will be able to purchase items in stores using a limited pool of money. Some weapons and items may be more effective than others but an increased cost will counterbalance that advantage. Players will also have to save money to purchase sufficient ammunition for their firearms. top of section
Each item has weight. The Strength attribute determines the amount of weight a character can carry before their movement becomes impaired as noted in the Encumbrance portion of the Movement section: stronger players can carry more weight before feeling negative effects from their burden. top of section
The game will have many different weapons and items, and even more ways to use them. The inventory management system must be general enough to accommodate many functions but simple enough that the player will not find themselves fumbling for the correct keyboard button in the middle of a fire-fight. This section discusses interface elements specific to weapon and inventory management and use; the main Interface section above discusses general game controls.
- Object Management
The game assigns weapons and items to the number keys 1 through 9 as the player acquires them. Pressing the appropriate number key will switch the weapon or item assigned to that key for the currently held object. Switching items takes some time, longer for more cumbersome items. The 0 key puts the held item away and leaves the player with empty hands.
The first three objects are "readied" objects. The player can switch to these objects more quickly than the other objects. This simulates weapons and items that the character carries within easy reach.
A player can free up a slot by selecting the item or weapon and pressing the Drop key. After dropping the item the player can pick up a new item to occupy the slot. If the player does not pick up a new object, pressing the Drop key again will cause the objects in the higher numbered slots to shift down one slot. For instance, with the fourth slot open, pressing Drop would cause the object in the fifth slot to move to the fourth, the sixth would move to the fifth, and so on.
- Using Objects: Fire and Alt-Fire
The player uses objects with the Fire and Alt-Fire buttons. For hand-to-hand weapons or for items with no specific function in the game, for instance a clay pot, Fire will swing the object in a striking motion while Alt-Fire will throw the object, throwing it farther the longer the player holds down the button before release.
The Alt-Fire function for weapons will vary from weapon to weapon; some weapons will not have an Alt-Fire function at all. Some Alt-Fire weapon functions will include: "fanning" a pistol for increased rate of fire with decreased accuracy, firing a single barrel of a double-barrel shotgun, lighting a stick of dynamite and so forth.
- Weapon Sighting
Rather than using an artificial cross-hair imposed on the screen to aim weapons, players will aim by "sighting," lining up the barrel of the weapon model with their distant target just as one would aim a gun in real life. The character automatically shifts their held weapon up into sighting position when they stop moving. Rifles will be brought up to a position with the gun butt braced against the shoulder and the barrel placed just below eye level. Full length shotguns will be braced in a similar manner but will be held slightly farther below eye level in anticipation of their greater recoil. Pistols, normally held bent-elbowed at stomach level, will shift to a stiff-armed position at head height for sighting along the top of the gun barrel. Characters can move at walking speed but cannot run while sighting their weapon; if they start to run the weapon will shift back to its normal, non-sighted position. top of section
- Weapon Types
The game will offer a wide variety of weapons for the player to choose from, corresponding to what might have been available in the American West of the late 1800s. Weapons should have minor variations (stock type, barrel finish, etc.) so that a character's unique weapon becomes a part of their identity. Weapons fall into the following general categories:
- Hand to Hand Weapons
Includes knives (stab/throw), clubs and miscellaneous items the player picks up (rocks, bottles, pots) which can be swung to strike with the Fire key and thrown as projectiles with the Alt-Fire key.
Includes a variety of percussion and single-action types along the lines of the Remingtons, Colts and others available at the time, as well as Derringers.
Rifles and carbines. Deadly at long range but hampered by relatively slow rate of fire and cumbersome length at short range. As a check on would-be long-range snipers, bullet speed will be taken into account in determining hits: a very long-range shot will not reach its target for perhaps a second or two. This will make picking off moving targets at long range quite difficult, though this must be done carefully to avoid problems in laggy internet multiplayer conditions.
Single and double barrel, with sawed-off variants. Alt-Fire of a double-barrel shotgun shoots off both barrels at once.
- Heavy Weapons
Including TNT and demolition charges. top of section
- Item Types
- Object Physics
Each object has weight and volume. A character burdened down with too many objects will move more slowly and tire more easily. Normally characters will be limited to roughly four weapons, perhaps two heavy weapons, a pistol and a small backup weapon or two (knife, derringer). Heavier items take longer to draw than lighter ones.
Additionally, heavy items will be clumsier to maneuver. Turning quickly while holding a double-barreled shotgun will cause the weapon to lag slightly behind the viewpoint until the character stops rotating, at which point its momentum will carry it slightly past the center of view until the character steadies it. Characters with a higher Strength attribute (see the Character Generation portion of the Single-Player section) can control heavier items more effectively than weaker characters.
Objects will also have hit detection. Characters trying to fight with a rifle in an enclosed space will find their aiming and movement hampered as the gun barrel strikes walls and other objects. top of section
Gun recoil will knock the aim of a gun off center each time it is fired. The amount of recoil depends upon the weight and caliber of the weapon: light weight and high-caliber weapons produce more recoil than heavy, low-caliber weapons. The weapon will automatically re-center after firing but this will take a certain amount of time; firing a weapon quickly and repeatedly will result in increasingly erratic aim. Characters with high Steadiness and Strength attributes (see the Character Generation portion of the Single-Player section) will handle recoil better than those with lower attributes. top of section
While gunslingers are relatively experienced at reloading their weapon under duress they cannot do it instantly; a character caught out of ammunition in the open had better find some cover quickly. Careful players will always keep a backup weapon loaded and ready in case their primary weapons runs out of ammunition in the middle of a fire-fight. See the corresponding article in the Interface section for more on reloading. top of section
- Weapon Damage and Consequences
Here's a tricky point. We want weapons to do something like realistic damage but we don't want to inhibit gameplay by killing a player so quickly that they have no hope of saving themselves. Roughly speaking a heavy rifle shot to the head should be able to kill weaker characters instantly. On the other hand, most characters will take at least 3 pistol rounds to the torso before dying. Hit detection should be very stingy so that glancing shots only do a fraction of the damage of a direct hit. This will reward attackers who aim carefully and defenders who avoid becoming "sitting ducks" by standing still for too long.
Bullets and other impacts will push characters. A solid hit from a high-caliber weapon may cause a running man to stumble or knock a standing man clean off his feet. A close range blast with a shotgun could send a character head over heels down the street. The view of the player in these cases will change suddenly with his body's motion so that a hard hit will cause disorientation as well as damage. Players shot to death will see their view pitch up, down or sideways as their character collapses.
This game will have no "health" items. In single player mode wounded players must retreat and rest to recover from significant wounds. Severe wounds may require professional medical attention. Wounds inflicted by a single hit causing significant damage will bleed, gradually draining the character of health and leaving behind a trail of blood. Characters with the forethought to supply themselves with dressing and bandage items will have a chance to arrest the bleeding but this will only stop further damage and will not cause the character to regain health.
Wounded characters will suffer from Fatigue more easily than healthy characters and will move with more difficulty, being unable to run as fast or jump as high. top of section
Header | Character Generation | Gameplay | The Continuing Game
Most action games come with a pre-written story: the player takes on the identity of the main character in the story and plays out the rest of his or her adventure, resolving the story by the end of the game. While a well told story can immerse a player in an exciting narrative, I have always regretted reaching the end of a good tale. A set ending to a game seems like planned obsolescence: at some point the player will finish the game and put it up on the shelf, perhaps bringing it down to play through a couple more times if they really enjoyed it.
The single-player portion of this game will play more like a simulation of gunslinger life than a small single adventure in one person's experience. Players will create their own unique character and forge their own story; their in-game decisions carrying future consequences. They will move through a dynamically generated world with no pre-defined limits in time or space; see the Game World section for a description of the game's endless Old West world. top of section
- Character Generation
Players begin a game by crafting a unique character. They choose their character's appearance, attributes and inventory, shaping a new adventurer in whatever image they choose.
Players choose their character's sex and general physical build: athletic (larger chest and limbs, slender torso and waist), flabby (larger torso and waist, slender chest and limbs) or somewhere in between. They will also adjust height and weight to their liking with simple sliders. The interaction of these sliders will dynamically generate a unique 3D character model. Once they have created the character's physique the player will choose their character's clothing from a variety of styles and colors.
In case this sounds technically impossible, I would bring your attention to a game I played on my old Amiga 500: "4D Sports Boxing." This game let you craft your own boxer, choosing height, weight class, shorts colors and facial features. An animating 3D model of the character changed in real-time to reflect each alteration. This permitted me to create a boxer that I felt was both a unique individual and a part of me as I had created him from the ground up, all in the days before 3D acceleration and complex 3D engines.
Each character has four attributes on a five-point scale. Attributes affect how the character reacts in the game and also alter the character's appearance to reflect physical differences:
Strength determines how much Encumbrance the character can bear, how much damage their hand to hand attacks inflict and how far they can throw items. Stronger characters can wield heavier more easily (see Object Physics), control weapon Recoil better and appear more physically robust than weaker characters.
Speed determines how quickly a character can move as well as their degree of manual dexterity. Speedier characters can run faster, Jump farther, Reload and shoot faster than slower characters. Characters with a high Speed rating cannot appear flabby.
Stamina determines how much Damage a character can take before dying, how long they can last before suffering from Fatigue and how quickly they recover from rigorous activity.
Steadiness determines how well a character can hit their target. Shots fired by a Steady player deviate less from their aimed path than those fired by an unsteady player. Characters with a high Steadiness rating suffer less Head and Arm Bob than unsteady characters, keep their weapon centered more closely while turning and suffer less from Recoil while firing.
The player will have nine points to distribute amongst these attributes. With a maximum of five points on any single attribute this means that a character can have a maximum score in just one of the four categories. top of section
The player starts off with a new character looking to make a living and possibly a name for themselves with only a little cash to their name. They've just wandered into a new town hoping to start their career. The first goal is equipment: the beginning town will always have a gun/supply store of some sort where the character can outfit themselves with the basics, but they may have to travel to different areas to find exactly what they want. The second goal is money: the player will need to pay for ammunition, new equipment and nights at hotels. How the character goes about getting money marks the beginning of their adventure.
As described in the Game World section, the game engine generates a new town of random size with a unique number and arrangement of buildings. Depending on the town size the game also generates a handful of important artificial intelligence (AI) characters: "bosses." These characters come in all shapes, sizes and colors and each has a specific reason to interact with the player. Bosses have their own name generated from a random combination of first, last and middle name databases. Towns also contain an assortment of less important characters: shopkeepers, civilians and so forth.
- Character Interaction
To get money the player must interact with the AI characters. Depending on their goals AI characters may or may not initiate conversation with the player. Unimportant characters may just spit out a random greeting or insult. Bosses may address the player character with one of the following objectives:
- To Hire You For a Mission
Missions form the core of the game. Some bosses will want to engage the player character's services as a gunfighter to confront another boss on their behalf. Specific missions could be anything from rescuing a lost cat to assassinating the sheriff. Bosses will usually offer a reward for these services in the form of money or information. Missions may take place in the same area or may require the player to travel to a new area that the engine generates. The game will keep track of the boss and their relationship with the player: hired, happy, angry, impatient, etc. Missions may include:
- capturing a boss
- killing a boss
- chasing a boss away
- capturing an area
- rescuing a boss
- finding/rescuing an item
A player may be engaged in multiple missions for different bosses at the same time. A boss who has hired the player for a mission will remain in the same area awaiting the player's return unless a specified mission time limit expires.
- To Offer You a Bribe
While engaged in a mission against a boss he or she may offer the player character a bribe of money or information to call off the mission.
- To Offer You Information
The boss may want to offer or sell information on the whereabouts of the object of a current mission. Bosses kindly disposed towards the player (randomly or as a result of a successfully completed mission) are more likely to offer the player information.
- To Buy or Sell an Item
Some bosses may offer money for an item the player character carries, particularly if the item is integral to a mission (a lost painting the player has recovered, for instance).
- To Join Up With You
The player may encounter other gunslingers or potential gunslingers who want to accompany the player as a sidekick. These bosses will trail the player around the game world, following their lead and trying to help out in gunfights. The sidekick will leave the player if severely wounded or killed, if the player changes "alignment" (i.e. begins attacking or helping the "Law," see The Continuing Game below) or simply after going through a certain number of missions, at which point they feel ready to strike out on their own.
At the very least the player will see the boss' speech displayed as on-screen text. Ideally the game will incorporate text-to-speech (TTS) capability where the game parses character speech, including that of the player character's, from simple text into spoken words complete with individual accents. As TTS technology still has a ways to go before sounding completely lifelike this may not prove to be a workable solution. Perhaps certain canned audio phrases could be included, though these would limit the conversational possibilities and variety of voices.
If a boss does not initiate conversation the player can attempt to do so by aiming at the AI and pressing the Action key. A series of icons will appear around the AI character representing specific types of interaction:
- Thumbs Up
The icon with a thumb pointing up indicates a positive response to an offer or remark by the AI character. This would signify a character accepting a proffered mission, for instance.
- Thumbs Down
A negative response to an offer or remark.
- Question Mark
A request for information. The boss, if so disposed, may respond by offering information regarding one of the players' missions.
- Hand Holding an Item
This icon offers the character's currently held item to the boss, usually in exchange for money or another item.
- Hand Holding Money
This icon offers money to the boss, indicating that the player wishes to purchase something from them. This would be used to initiate a sale in a pawnshop, for instance.
A character's mission may require them to track down an item or boss in another area. The game will generate the area, store it in the player's game file and, depending on the quality of mission intelligence, mark the area on the player's area map.
The player brings up the map screen by moving to the border of the current area, "leaving town." The map screen comes up centered on the player character and showing any known areas in the immediate vicinity. The player clicks the area to which they wish to travel and the map shifts as the player character traverses the Game World.
Characters equipped with a horse will move much faster than characters on foot. While traveling on the map characters are subject to Fatigue and a need for sleep (see the "Sleep" section below). Also the time of day will change, indicated by a sundial showing the current position of the sun: day, evening, night or morning. See the Day/Night Cycle portion of the Game World section for more on the time of day.
Often a player will not know the exact location of a mission objective, only its general direction or vicinity to a town. In this case the player will need to wander to possible areas, asking questions as they try to track down their objective. If the player's mission involves encountering a specific boss that boss may flee from the player, though they won't if their own objective is to hold an area, for instance to rule a nearby ranch. In some cases the player will have to track the boss through multiple areas, keeping as close to the trail as possible by asking questions of the bosses they meet along the way. Sometimes a boss will offer information only if the character undertakes a mission for them, thus a character may find themselves sidetracked in an entirely new direction.
Players need not select a known area on the map but may choose simply to wander in some direction. Eventually they will discover some area nearby which will appear on the map as they draw near, a new area with its own landscape, architecture and characters.
Depending on their Stamina the player will have to stop to sleep sooner or later. There are two types of sleep: in a Hotel or Elsewhere.
Every town will have at least one hotel or small inn of some sort where the player can rent a room. Rates vary depending on hotel and size of the town. When a fatigued player goes up to their room, sits on the bed and hits the Sleep key they will fall asleep and time will pass. Depending on their level of Fatigue one or more sections of the Day/Night Cycle will go by and the player will find their fatigue reduced and their health improved. The player can try to wake earlier but this may not succeed. Oversleeping can cause the player to fail time-sensitive missions.
The player can go to sleep while traveling on the area map or while in an area with no AI characters in the immediate vicinity. This sleep is restless and only restores half the energy and health of sleeping in a soft hotel bed.
As a necessity of a mission, as a result of a player's violent or insulting actions or due to a run-in with a particularly uppity boss (for instance a drunken unruly gunfighter in the street at night) the player will inevitably encounter armed combat.
Bosses will often have a number of henchmen. When the player enters the area with the boss the game engine distributes these henchmen in the boss' vicinity. Like bosses, henchmen come in all shapes and sizes though their only goal is to kill the player if the boss orders it or gets attacked by the player. The player will have to deal with the henchmen to get to the boss. Ideally the henchmen AI will be capable of working together to surround and hunt down the player.
Bosses themselves will generally put up a good fight and should be difficult to beat. Bosses should have a number of possible responses to losing a battle: depending upon their personality they may offer a bribe, surrender, flee or fight to the death. Fleeing bosses may escape out of the area, requiring the player to track them down again in a new area.
- Saving and Loading
The game will save the player's progress every time he enters a new area. In this nonlinear game where the player does not have to pass set obstacles there is no need to let the player save whenever they wish. Indeed, constant saving and loading would detract from the experience of the game. A player must learn to make careful choices and live with the consequences, an experience closer to the responsibility and importance of actions in real life.
The game will save all encountered areas and bosses, allowing the player to revisit previously explored areas. Bosses will remember their last encounter with the character and behave accordingly. Since some bosses travel between areas the game will track their progress in case the player happens to cross their path later in the game. If a player loses track of a boss for a long time the game will no longer track that boss but will just calculate a small random chance for encountering the boss in each town the player visits.
If a character dies in an area they will be able to restart at the point and time at which they entered the area, hopefully a little wiser for the experience.
- Completing Missions
Once a character completes the requirement of a mission and returns to the boss who hired them they may gain a reward of money, information, another job or even a double-cross. The game will keep track of completed missions so that a single boss will not give the same mission twice. As the player completes missions for a boss that boss will become more and more pleased with the character and will offer more difficult and important missions if they have any; most bosses will only have one mission for the character to complete but some will have two or more. top of section
- The Continuing Game
The game becomes a series of interlinked missions and encounters with characters old and new. Each boss has a basic alignment, Good or Bad. Good bosses will offer rescue missions, escort missions and the like. Bad bosses may offer assassination or theft missions.
The game tracks an overall alignment total for the player. Each Bad mission completed pushes the player's alignment towards Bad while each Good mission pushes their alignment towards Good. Most non-player characters lean towards Good. Characters will tend to attract bosses matching their own alignment and repel or offend bosses of opposite alignment. Thus, depending upon the course of their career a player may become a respected peacekeeper or a feared outlaw.
Unless a restart limit is implemented the player will not have to end their game and may play with their character as long as they like. Indeed, old experienced characters may win a special spot in player's hearts, being loaded up now and then to play out a new chapter in their storied careers.
A player may decide to end their game after attaining a certain amount of money, fame or infamy. At some point this decision may become inevitable as the character becomes so Good that Bad bosses avoid them entirely, or vice versa.
Age could serve as a final ending for a character. The game could track the number of full Day/Night Cycles a character plays through and gradually begin to reduce their attribute scores as the "years" pass. Eventually the character would have to retire from active gunslinging and ride off into the sunset.
If development time allows perhaps a very famous or rich character could become a boss themselves, hiring other gunslingers to do their dirty work. In this way they could work to gain control of an entire territory. The game would have to compensate by generating larger bosses with sub-bosses of their own, all working together against the player's own forces. While most likely beyond the scope of any single game, this remains an interesting path for development. top of section
Header | Networking Model and Application | Character Generation | Game Setup | Gameplay | Player Interaction and Interface
The multiplayer component of the game will give gunslingers the chance to duke it out with other players in a unique style of on-line gameplay. top of section
- Networking Model and Application
Most on-line first-person-shooters these days use a client-server networking model in which players (clients) log on to a computer running a dedicated multiplayer application (server). The client-server model has proven successful in some cases with a few games counting hundreds or even thousands of simultaneous servers around the world. Using certain specialized applications a player can search for a nearby server running a game in a manner to their liking and jump in.
While having client-server capability for the game would most likely prove a good idea, I would also like to see support for peer-to-peer gaming. In peer-to-peer, or "p2p," networking the computer of each player in a game exchanges information with all the other player's computers. It has been my experience that although p2p requires more bandwidth and thus supports less players per game than the client-server model, certain benefits more than offset this limitation.
Because players exchange information directly, a p2p game has the potential for faster internet response than a client-server game where the signal has to travel from the client to the server and then to the other client. Some can also tolerate extremely sluggish playing conditions: Lucasarts' Outlaws, a p2p game, can fairly gracefully accommodate players with ping times up to 800 ms; client-server games generally seem to become unplayable with a ping over 300 ms.
Players in client-server games and indeed the game publisher themselves are ultimately at the mercy of uncontrolled server operators who may decide to stop hosting the game or to host game types that detract from the overall playing experience. Especially with a new game players will have a limited number of playable servers available to them and may thus be forced to play a game with settings they do not enjoy.
In contrast, players of p2p games simply require at least two players with relatively good internet connections. Because players must gather other players and discuss the type of match they want to play, p2p games naturally foster more communication between players and ultimately a stronger gaming community.
Peer-to-peer games require some sort of application interface where players can meet, chat, host and join games. While third party options such as Kali can fill this role, game-specific interfaces such as Blizzard's "Battlenet" service have proven their power to attract and hold large audiences of gamers in an interface managed by the game developer. This application can be quite simple so long as it provides a medium by which players can get together, discuss and play the game. top of section
- Character Generation
A player creates a character for multiplayer matches in the exact same way that they create a single-player character with the exception of variable amounts of spending money (see the Game Setup section following). They can even use their single-player characters in multiplayer gaming.
In fact it would bring unique depth to the role-playing aspect of the game if the engine could track single-player events and summarize them in a small character information screen that other players in a match could access to learn more about their opponents. The summary would develop from the character's overall alignment score, perhaps describing the character as "a low-down killer" or "a loyal man of the law." The summary could relate certain exceptional single-player missions the character has completed, such as "once killed six men in a single fight" or "rescued the wife of Mayor Bradford from the grip of Two-Gun Bob and his gang in Spritzville." See the Continuing Game portion of the Single-Player section for more on alignment and character careers. top of section
- Game Setup
The game host can configure the match to suit almost any desired style of Old West gunslinging:
- Level Type
The player hosting the game selects from a number of variables that determine the type of game they will start. A multiplayer match will play out in a unique area similar to those generated for the single-player game. The host will have the option to pick the type of area (large town, small village, wilderness, farm, etc.), set some variables regarding the landscape (type, ruggedness, concentration of buildings, trees, etc.), time of day, scoring type and finally the victory conditions for the game.
In choosing a landscape the host may want to generate a specific landscape that they enjoyed in a previous match. Random values in conjunction with player settings will determine the precise form of each landscape. The resulting landscape will have a unique number, the seed value, which the engine uses to create the landscape. Players in a game can see the seed value of a match and will be able to enter that value when hosting a new game, thus restoring the exact landscape previously generated. The "Worms" games from Team17 had a similar capability in generating complex 2D landscapes.
The host will see a 2D bird's-eye preview of the landscape and building layout before beginning the game. They can discard an unwanted landscape and generate a new one, alter elevations of the map with simple drawing tools and move building and objects or place new ones before the engine generates the 3D level.
The game will also support loading pre-rendered landscapes produced in a level design application. Level designers will have the capability to "hand make" their own unique maps with features and details not found in randomly generated maps.
- Game Type
Players will have multiple styles of play from which to choose. Besides the normal free-for-all "deathmatch" style the game will support team play and capture-the-flag game types, perhaps renamed something more appropriate like "Showdown" or "Rescue the Mayor's Wife." Game types could include a game where players battle for possession of an item similar to Outlaws' "Kill the Fool with the Chicken."
- Game Options
The host can select different options to further tailor the style of play:
Before entering a match a player will have to purchase weapons, items and ammunition just as they do when beginning a new single-player campaign. A ubiquitous "General Store" area will be used for this purpose, with an AI shopkeeper who can explain specific details about the various items available for sale. By default all normal items will be available and can be had in customized variants so that players can give their character's inventory its own unique touch. Because the host has the ability to change the amount of startup money available, players can store preset inventory configurations corresponding to common startup fund settings.
The host may make any specific item or weapon unavailable for characters to purchase. For instance a host of a game who wanted close-range fighting could remove rifles from the list of weapons available to the players in the General Store. The host can also limit the amounts of items and ammunition available for purchase.
- Death Penalty
Most on-line fps matches aside from one-on-one battles offer little incentive for self-preservation. The match becomes a race to kill the most people and death becomes a mere momentary setback easily remedied by pressing the respawn button.
A "death penalty" option would remove a point from a player's score each time they are killed. This one small change would instantly change the style of play from a madhouse kill-fest to a careful, tense battle of nerves usually only experienced in one-on-one and flag capture or defense situations. In fact I would like "death penalty" set as the default mode to differentiate this game from other on-line shooters. Players would learn to pick and choose their attacks, planning carefully beforehand to minimize risk.
A death penalty would also create an interesting scoring dynamic. Most scores would stay around 0 with approximately half of the players over and half under. New players joining the match would not find themselves hopelessly far behind as they do in joining late in current on-line games. The host computer would store players' IP addresses so that those with negative scores could not reset their scores to zero by leaving the game and joining again; this would also preserve scores of those players temporarily disconnected from a match.
- Victory Conditions
The host can set the game to end after reaching a certain amount of time or kills. Peer-to-peer games often begin with no victory conditions, the players simply play until they decide they would like a new match.
Most games have cheat codes in single-player mode designed to give characters more health, more weapons or ammunition, invisibility, etc. There's no reason why a multiplayer game could not implement these codes. The host would have the option of enabling cheats one at a time, for instance if the players desired a faster match the host could make ammunition unlimited.
- Single Elimination
This option would prevent a player from respawning after death. Once all players but one, or all teams but one in a team match, have been eliminated all players respawn simultaneously to start again. Many real-life paintball games operate in this manner. top of section
Players in a multiplayer game will suffer from Fatigue, Damage, Head and Arm Bob and other limitations just as in the single-player game. Multiplayer matches will go to those crafty, quick and prepared enough to survive lightning-quick encounters between suspenseful periods of sneaking and listening.
Other than objects specifically placed by the game host (see Game Setup above) multiplayer maps will not contain weapons or items useful to the player. Specially placed items will not respawn though players will drop them when killed. Because of the lack of items and realistic movement, gameplay becomes sheer battle strategy. Good players will try to worm their way to advantageous lookouts or crouch in ambush waiting for an unwary victim, preparing their weapons and waiting for the best opportunity to strike.
This is not to say there won't be a great deal of combat. A player who strolls across an open field probably won't last very long, but two players in an old house may find themselves embroiled in a grueling battle of nerves. Close-range gunfights may frequently come down to hand-to-hand combat as the combatants exhaust the bullets loaded in their weapons and switch to knives or fists rather than taking the time to stop and Reload.
A player will begin a game dismounting from his horse at a random location on the edge the play area. The gunfighter's well-trained horse stays put while the player hustles off in search of enemies. The player will want to remember where he leaves his horse however as players usually cannot effectively carry all their ammunition and items in their inventory and will almost always have to leave some behind in the horse's saddlebags. Because there are no weapons to collect elsewhere on the map player will have to return to their horse to re-arm. Players cannot see each other's horses. Once killed the player will begin again by dismounting in a new random location.
Dead players drop their current weapon or item to the ground next to their body. Other players can pick this object up provided they have an available inventory slot. However, they must use it right away as it disappears permanently once they switch to another object. Weapons picked up in this manner cannot be reloaded, thus it will be possible, but not easy, to kill a player "with their own gun." Items placed specifically by the host do not disappear and always drop to the ground when the player holding them dies even if they did not have the item selected when they were killed. See the Weapons and Inventory section for more details on inventory management.
Speed, strategy, planning and quick thinking will win matches in this game. Players will not be able to dominate a map by "camping" on a powerful respawning item or by rampaging around wildly firing off weapons as if there were no tomorrow; such a fool would quickly tire and run out of ammunition, leaving themselves easy prey for more prudent players. top of section
- Player Interaction and Interface
Players communicate by hitting the Say key to bring up a text cursor and then typing a message that will appear on the screens of other players. As with the rest of the menus a player retains mouse control while the text field is on-screen. As initially mentioned in the Gameplay portion of the Single-Player section it would be nice to have a text-to-speech (TTS) parser that would translate the player's typed message into audio speech that could only be heard by those within hearing range, forcing player characters to meet "physically" in order to talk.
As players create their own unique characters they can easily recognize each other by their in-game appearance; no more waiting to see the server's kill message to know who you were just fighting. In fact players will not see server "kill" text messages (i.e. "Player 1 killed Player 2") at all. By hitting the Score key they can call up a display of the current kills for each player with a small thumbnail view of each character's head for visual identification. From this menu the player can access the detailed information of each character that they have gained from the single-player game (see the Character Generation portion above). top of section
05/30/99 — Added a calculation for bullet speed in the "rifle" paragraph in the Weapon Types portion of the Weapons and Inventory section. This will limit the effectiveness of snipers at very long range, thanks to Axel Goldmann for the suggestion.
04/12/99 — Altered the Object Physics, Recoil and Single-Player Character Generation sections to incorporate Strength into weapon recoil based on insights from Stadel.
04/11/99 — Changed alt-fire and sighting use in the Interface portion of the Weapons and Inventory section, made sketch available for public viewing at http://paleface.net/filesketch.html
03/06/99 — HTML layout and cross-indexing complete
02/27/99 — Rough HTML complete
02/07/99 — Rough text complete
© 1999 Paleface.net