Assignment title: Information
Text Based Adventure Game – Background Info
Background Story
You have just been short listed for a job as a software developer for the firm “Geek Games”. The CEO of Geek Games, Mr Will Bates, has agreed to trial you for a month, after which he will decide whether you get the job or not. Mr Bates has informed you all the short listed applicants have been arranged into teams of 2 and have been given the same task to perform.
The task is to build a prototype game engine for playing Role Playing Games (RPGs), the game is to be played from the first person perspective with users typing commands at a text console and receiving information back from the game. Commands would typically allow a user to interact with their virtual world (eg: move to the north, pick up the sword, talk to the barman, attack the troll).
Mr Bates feels that this is the next strategic market for Geek Games and wants to hire programmers with a flair for this area. He suggests you research other games of this genre like Neverwinter Nights, Baldur’s Gate, Zork or any of the various MUDs (Multi User Dungeons) available on the internet.
Mr Bates has presented you with the following information to get you started:
1. An introductory story for the game, to set the scene and provide some context.
2. A series of rules to which the system must obey.
Game Intro Script
Your eyes are glassy your head is pounding that sadist of a lecturer has you pulling an “all-nighter” to get your assignment in. Despite being on your 8th can of “Guarana Max” your eyes start to close and you drift off to sleep at the keyboard…….
You open your eyes but don’t believe what you see, you must be dreaming! Instead of finding yourself in front of your computer you appear to be lying in a clearing surrounded by a dark, menacing looking forest. A campfire burns to your left and opposite you with legs crossed sits another person who begins to speak…
“Greetings stranger my name is Jonesy. I had almost given up hope, but my prayers appear to have been answered”
You are too freaked out to say anything back.
Jonesy continues, “I used to be a software engineering student just like you, but my evil lecturer sucked the life force out of me and I am condemned to suffer under his dominion for eternity.”
You say “I’m hallucinating, must be the Guarana!”
Jonesy replies, “If you are hallucinating then it is one you will never wake up from! Your only hope of returning to your normal life is to defeat my old lecturer Gregor the Butcheror”
“How do I do that?” you ask.
“Many have tried and all have failed, Gregor lives in a well guarded castle to the north, the only entrance being a drawbridge. The drawbridge is locked and only opens when the guards spot a party approaching who carries the ITECH3201 banner.”
“How can I get a ITECH3201 banner”, you ask.
“Gregor’s henchman Philip the Enforcer and his gang of thugs can be found at the Inn of the Boar each night, if you defeat Philip and his gang you can take the banner and gain access to the castle, but be warned defeating Philip is tough he never travels alone. I suggest you find some well armed friends before taking him on.”
“But where do I find the Inn of the Boar?”
“The Inn is located in the town of Mount Helenis south of here, but the woods are not safe as Gregor’s thugs are everywhere. Take my sword as I am too week to use it”
With that Jonesy tosses a sword to your feet and you bend down to pick it up. When you look up again Jonesy is gone!
Game Rules
Character
Characters have the following attributes:
• Items holding,
• Items wearing,
• Name,
• Items carrying,
• Life points, (average starting life points for a player is 20 life points)
• Armour Class,
• Strength,
• Agility
Player Character
Players have the attributes of characters but are controlled by the player
Non-player Character
NPCs have the attributes of characters plus additional attributes:
• Hostile to player (yes/no)
• Conversation
PlayerParty
The player controls a party containing:
• the player
• current location,
• any NPCs who have joined the player’s quest
NPCParty
NPCs may be grouped into a party (might contain only one NPC). Contains:
• current location,
• list of NPCs in the party,
• Moveable (does the party move each turn or stay put?)
Locations
Each location contains:
• exits,
• items,
• a description,
• any non-player characters (NPC)
Blacksmith
Some locations are blacksmith’s forges where armour and weapons can be bought or sold.
• If bought player pays as per the weapon and armour table
• If sold player receives the value listed on the weapon or armour table less 20%
Navigating the Maze
Each location can be potentially exited:
• north, south, east, west, northeast, northwest, southeast, and southwest, up or down.
• A player’s party may move from one location to another using a valid exit, exits may be locked in which case the player will need to unlock the exit before proceeding.
Items
Items are used to unlock doors, restore life points, or to solve certain problems or to buy things (such as weapons or armour). Items have
• a value (gp ),
• a weight (lb), (typically gold to the value of 100 gp = 1lb)
• description.
Weapons
Each character can be equipped with different weapons.
• At any one time a player may only be armed with a single weapon, to change weapons costs a turn
• Refer to the weapon table.
Armor
Each character may be wearing armour.
• Armor gives the player or NPC differing degree’s of protection from attack
• Players may wear armour plus carry a shield
• Refer to the armour table.
Combat
If the player’s party encounters a hostile NPC (or group of hostile NPCs) they will engage the party in combat
• A player’s party can attack or flee
• If a player’s party flees they do so through a random exit
Combat Turn
Each character in the location where combat is happening takes turns to attack:
• The player character starts the turn by attacking a single hostile character
• To score a hit that deals damage on your attack roll, you must “roll” the target’s Armor Class (AC) or better.
• If a hit is registered a damage roll is performed to determine the extent of damage
• If the damage leaves the victim with <1 life points the victim has been killed
• After the player’s turn each NPC in the room (with > 0 life points) is randomly selected and takes a turn to attack a randomly selected hostile character
Attack Roll
Melee Attack Roll: 1d20 + Strength modifier = AC hit
Damage Roll
If you score a hit, roll damage and deduct it from the target’s current hit points.
Add your Strength modifier to damage from melee and thrown weapons.
Armor Class (AC)
A character’s Armor Class (AC) is the result you need to get on your attack roll to hit that character in combat.
Armor Class: 10 + armor bonus + shield bonus + agility modifier2
Life Points
Life points represent how much damage a character can take before dying (<1 life points = dead).
d4, d6, d8, d10, d12, d20
Represents dice throws. E.g. d4 represents throwing a 4 sided die, d20 represents rolling a 20 sided die.
Reference Tables
AVERAGE STRENGTH SCORES
Strength Modifier
1 -5
2 -4
3 -4
4-5 -3
6-7 -2
8-9 -1
Average Human 10-11 0
12-13 +1
14-15 +2
16-17 +3
18-19 +4
20-25 +6
26-29 +8
30-35 +10
36-40 +12
41-43 +15
44-45 +17
> 45 +18
AVERAGE AGILITY SCORES
Agility Modifier
1-3 -5
4-5 -3
6-7 -2
8-9 -1
Average Human 10-11 0
12-13 +1
14-15 +2
16-17 +3
18-19 +4
20-25 +6
26-31 +8
> 31 +11
WEAPONS PRICE DAMAGE WEIGHT
Dagger 1 gp 1d4 2 lb.
Nunchaku 2 gp 1d6 2 lb.
Greatclub 5 gp 1d10 10 lb.
Longspear 5 gp 1d8 9 lb.
Handaxe 6 gp 1d6 5 lb.
Axe, throwing 8 gp 1d6 4 lb.
Flail, light 8 gp 1d8 5 lb.
Glaive 8 gp 1d10 15 lb.
Guisarme 9 gp 2d4 15 lb.
Sword, short 10 gp 1d6 3 lb.
Battleaxe 10 gp 1d8 7 lb.
Halberd 10 gp 1d10 15 lb.
Ranseur 10 gp 2d4 15 lb.
Warhammer 12 gp 1d8 8 lb.
Longsword 15 gp 1d8 4 lb.
Scimitar 15 gp 1d6 4 lb.
Trident 15 gp 1d8 5 lb.
Flail, heavy 15 gp 1d10 20 lb.
Scythe 18 gp 2d4 12 lb.
Rapier 20 gp 1d6 3 lb.
Greataxe 20 gp 1d12 20 lb.
Waraxe, dwarven 30 gp 1d10 15 lb.
Sword, bastard 35 gp 1d10 10 lb.
Greatsword 50 gp 2d6 15 lb.
Falchion 75 gp 2d4 16 lb.
Sword, two-bladed 100 gp 2d8 15 lb.
ARMOR COST BONUS WEIGHT
Padded 5 gp +1 10 lb.
Leather 10 gp +2 15 lb.
Studded leather 25 gp +3 20 lb.
Chain shirt 100 gp +4 25 lb.
Hide 15 gp +3 25 lb.
Scale mail 50 gp +4 30 lb.
Chainmail 150 gp +5 40 lb.
Breastplate 200 gp +5 30 lb.
Splint mail 200 gp +6 45 lb.
Banded mail 250 gp +6 35 lb.
Half-plate 600 gp +7 50 lb.
Full plate 1,500 gp +8 50 lb.
Shields
Buckler 15 gp +1 5 lb.
Shield, small, wooden 3 gp +1 5 lb.
Shield, small, steel 9 gp +1 6 lb.
Shield, large, wooden 7 gp +2 10 lb.
Shield, large, steel 20 gp +2 15 lb.
CARRYING CAPACITY
Strength Load
1 Str 6 lb.
2 Str 13 lb.
3 Str 20 lb.
4 Str 26 lb.
5 Str 33 lb.
6 Str 40 lb.
7 Str 46 lb.
8 Str 53 lb.
9 Str 60 lb.
10 Str 66 lb.
11 Str 76 lb.
12 Str 86 lb.
13 Str 100 lb.
14 Str 116 lb.
15 Str 133 lb.
16 Str 153 lb.
17 Str 173 lb.
18 Str 200 lb.
19 Str 233 lb.
20 Str 266 lb.
21 Str 306 lb.
22 Str 346 lb.
23 Str 400 lb.
24 Str 466 lb.
25 Str 533 lb.
26 Str 613 lb.
27 Str 693 lb.
28 Str 800 lb.
> 28 Str 933 lb.