Web Dungeon – The Elevator Pitch
The game play is based on traditional games pioneered by Dungeons and Dragons and imitated by a million computer games since. So that gives the feel of what I’m trying to create in a nutshell.
I can imagine some of you thinking “how boring”, and right now I would agree with you. Initially the game will start off like a really crappy version Baldur’s Gate or World of Warcraft, but I have some ideas on taking things further. Okay, enough preamble from me, let’s get to tin tacks.
A game is played in a single dungeon, with one or more players, with each player controlling a single character.
The dungeon consists of rooms, corridors, and doors and contains three types of things:
Players – controls a character in the dungeon.
Monsters – have most of the same properties as players (e.g. Strength, intelligence, skills, rank) but are controlled by the game engine.
Objects – these are all the inanimate items that can be manipulated by the characters (and possibly the monsters as well). These are things like weapons, armour, clothing, treasure chest, keys, and valuable items.
A Quick Walkthrough
Players will need to create an account and provide an alias, an email address, and a real name. Also, they can choose an image as their ‘avatar’.
Since I plan on playing as well, and therefore eating my own dogfood in the grand old programming tradition, here is what my details would look like this:
A Sample Avatar
Real Name: Serge Merzliakov
Each player will be able to create multiple characters with different names.
I hypothetically create two characters now:
- Foobar, the elf wizard
- Nuffsaid, the human fighter
Okay, now that I have my characters, I am ready to go. For now, assume that I am playing in single player mode.
I select Foobar and choose one of the several dungeons on offer. I start playing and explore the dungeon. After about half an hour,I logout after saving my progress.
Characters are the player’s interaction with the dungeons and have:
- Natural Attributes
- Combat Attributes
Natural Character Attributes
Each attribute is a number from 1-20. Higher numbers are better.
- STRENGTH – No surprises here. This is the ability to lift heavy things and carry lots of loot. High strength will benefit the use of weapons like swords and axes and so on.
- AGILITY – This is a measure of how quickly the character can move, both in terms of speed of movement and avoiding attacks.
- INTELLIGENCE – This attribute determines the speed with which characters learn new things – spells and skills for now.
- DEXTERITY – This determines a characters fine motor skills – their ability to pick locks, or chop off the just the right little toe of a charging monster. High dexterity would allow a character to attack a critical spot of an opponent, rather than just bashing away in the general direction of the opponent.
- CONSTITUTION – This is the physical health and ‘robustness’ of the individual and will determine how well they cope with disease, how much physical damage they can endure, and how quickly they heal. These modify the number of hit points a character has.
I will stick with these for now. In the future, more may be added.
Combat Character Attributes
Combat attributes affect the outcomes of combat between a character and other characters or monsters.
- ARMOUR RATING – a number ranging from 0 upwards. 0 means your only armour is your birthday suit, and higher numbers means the character has better armour, or is more agile.
- HIT POINTS – once a characters hit points reach zero, the character is killed. As the hits get lower, the characters other attributes will decline as well, and will not recover until the character heals.
Each character can have one of the following races:
- HUMAN – Humans have better than average strength and constitution, but average in all other attributes.
- ELVES – Elves are tall and slender, so they lack strength, but have better than average agility and dexterity.
- DWARVES – Dwarves are shorter and stockier than humans and better than average constitution and intelligence.
Each character can only be one of the following classes:
- FIGHTER – Good with weapons and have higher constitution (all those pushups help). They are not very good at learning spells. Fighters can learn spells, but it will take a long time.
- WIZARD – Wizards are intelligent, as they need to memorize lots of spells and so on. They can use all the weapons a fighter can, but they will very bad at it.
- CRUSADER – Crusaders are a mix of fighter and wizard, but are only good at both, rather than excellent.
- THIEF – Thieves are good at sneaking around and avoid frontal attacks. They hide well in the dark and can open locks, steal things and so on. They can use light weapons well (think anything good for stabbing someone in the back – knives, piano wire, blackjacks).
Each character will be able to learn new skills and improve existing skills. Skills will include things we all are familiar with in real life and include the ability to learn spells.
- Sword fighting
- Axe fighting
- Lock picking
- First Aid
- Learning spells e.g. Fireball, Frostkill, AirStrike, and Nuke From Orbit.
Each character class will start of with a basic set of skills – so that every thief has the ability to pick locks, for example.
Character Rank (Experience Points)
Standard stuff here for now.
Each player has a numerical rank, starting at Rank 1, with zero experience points.
Each task achieved will award the character experience points and allow attaining higher levels. Higher-level characters will gain more skills, and be able to play in harder dungeons.
Also, at each level, some of character’s attributes will increase randomly by a small amount.
Ok, that’s about it for now. I will go with these rules for now. I will post some detailed game mechanics formulas later, which will detail the effects of weight on walking speed, combat and damage calculations and so on.
I will write these up and put them into GitHub under version control. These are early days and I except a lot of refinements as I go along, after I get feedback from some of you.
HTML5 Canvas and Sprites
Also, I am working on adding a HTML5 canvas to the website and I will get sprite animations working over next few days.
After I update thewebsite, I post my first code to GitHub.
- Finish sprite animation and update the website
- Setup Github repository and publish details here
- Add game play document and hopefully some sprite code to GitHub