COMP345 project description fall 2013

From Dr. Joey Paquet Web Site
Jump to: navigation, search

Contents

A simple role playing game based on the d20 rules

The project is about writing a C++ computer game that allows the user to play a simplistic version of a Dungeons and Dragons role playing game. The game must absolutely follow the d20 gaming rules (see the d20 rules reference below). A particularly good (an free) example of a game following these rules is Dungeons and Dragons Online (see a link to the official page below).

It should be fairly obvious that it would be a Herculean feat to implement the complete set of rules within a single semester course. One of your early goals is to define what subset of the d20 rules that you can implement given your limited available resources, and that makes a complete set of game rules and features by itself. Below are given some guidelines as to what is expected as mandatory features, as well as suggestions for alternate features, and features to be avoided due to their complexity or lack of absolute necessity in the game. Additionally, as this course does not have any computer graphics prerequisites, only a simplistic window-and-mouse user interface is expected.

Mandatory game features

The following describes the mandatory goals of the project in terms of game features. The main idea is that you should have a character moving on a map. That character can enter combat (either as being the attacker or by being attacked) with existing hostile beings (hostile characters or monsters) on the map. All game mechanics, characters, items and actions must follow the d20 gaming rules. More specifically:

  • Rendering of a grid map consisting of squares where characters (players or computer) can move. Allow for interesting maps to be created, i.e. corridors and rooms by simply disallowing movement in certain squares.
  • A map editor that allows to create maps and place chests and opponents on it, along with a save/load feature.
  • A set of pre-generated maps are offered at the beginning of the game, from which the user chooses or lets the computer chose from randomly.
  • A set of pre-generated characters are available at the beginning of the game, as well as a set of pre-generated opponents (i.e. hostile characters or monsters), from which the user chooses or lets the computer chose from. Characters or monsters need only to be minimally graphically rendered, i.e. a simple symbol in a map square is sufficient. Animation is not a mandatory requirement.
  • A character editor that allows to create player characters and opponents.
  • Treasure can be found in chests or on bodies of fallen characters or monsters. Upon searching a chest or body, its content is put in the searching character's own inventory.
  • A player has an inventory panel where he can view all his items, including those that are worn (armor/shield/weapon/belt/boots/rings/helmet), and those in his backpack (i.e. not worn). This panel allows the player to select and wear some equipment from his character's inventory. Only items that are worn can be used or have an effect on the character.
  • Movement and targeting should be limited to a certain range. Valid target squares for movement and targeting should be highlighted in order to help the player selecting a target.
  • Mandatory class is Fighter, which can attack using either a bow (or other ranged weapon) or sword (or other melee weapon), and wear light, medium or heavy armor and a shield.
  • All the game is turn-based (as opposed to real-time), where all turns all begin with an initiative roll, then taking an action based on the board situation current at each actor's turn. Each action is limited by the movement/attack ranges of the character and the chosen weapon, taking into consideration obstacles and map configuration.
  • The game is single-player, and the actions of computer-controlled characters should be kept to an absolute minimum of complexity or intelligence.
  • Combat mechanics should strictly follow d20 rules, i.e. use proper dice, hit points, ability modifiers, armor class, attack modifiers, etc.
  • A console window should be available, where a log of relevant game information are output and can be used to properly demonstrate game rules being followed. Clarity of the log is of prime importance. All important game information should be appearing in the log window in order to explicitly demonstrate that the d20 rules are being followed as the game is played.

List of mandatory d20 gaming rules to be implemented:

  • character requirements:
    • ability scores (strength, dexterity, constitution, wisdom, intelligence and charisma)
    • armor class
    • hit points
    • attack bonus, including multiple attacks
    • melee weapons (longsword, mace, etc)
    • range weapons (longbow, crossbow, etc)
    • movement
    • fighter class
  • objects/items
    • armor (light/medium/heavy/shield)
    • weapons (minimum requirement: longsword/longbow)
    • potion (minimum requirement: healing potion)
    • belt/boots/ring/helmet

List of game facilities to be implemented:

  • Map editor
  • Character editor
  • Merchant
  • Character going on an adventure on a map.

Proposed features to consider not to include

  • Complex magic items.
  • Complex spells, such as with area of effect, flying/teleport, etc.
  • Debilitating effects, i.e. poisoning, sickness, feebleness etc.
  • Complex combat modifiers, e.g. concealment, etc.
  • Complex character classes (e.g. prestige classes, multi-class characters) or monsters.
  • Special attacks and special abilities
  • Psionics
  • Skills and feats
  • Alignment
  • Carrying capacity

References