Skip to content

B3W/RoguelikeGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rougelike Dungeon with Equipment and Updated Combat Mechanics
  CPP implementation contains all latest features
  C   implementation has not been updated for a while
  
  The purpose of this program is to procedurally generate randomized dungeon
  levels. This dungeon contains rooms, corridors, and monsters. Monsters have
  attributes that consist of intelligence, telepathy, tunneling, erratic, unique,
  and boss. Intelligent monsters use a shortest path to the player, telepathic
  monsters always know the location of the player, tunneling monsters are able
  to tunnel through rock, erratic monsters have a chance of moving randomly,
  unique monsters can only have one instance present in the dungeon level at a
  time and if killed cannot be respawned for the remaining duration of the game.
  Monsters can have none, all, or some combination of these attributes. Monsters
  now also have hitpoints and damage. The dungeon contains an assortment of
  objects. The types of objects vary and include, armor, weapons, and scrolls.
  Players now have an inventory and equipment slots. Objects can also be destroyed
  and removed from the game. The player can progress through levels via the stairs
  located within the dungeon. To win you must defeat the boss!

  Additional Features of the program:
    - Pathing via Dijkstra's Algorithm for intelligent creatures to find the player character
    - Status updates based on user input and dungeon events
    - Custom monster and object creation

  Key Mappings:
    7, y, KEY_HOME - Attempt to move PC one cell to the upper left
    8, k, KEY_UP - Attempt to move PC one cell up
    9, u, KEY_PPAGE - Attempt to move PC one cell to the upper right
    6, l, KEY_RIGHT - Attempt to move PC one cell right
    3, n, KEY_NPAGE - Attempt to move PC one cell to the lower right
    2, j, KEY_DOWN - Attempt to move PC one cell down
    1, b, KEY_END - Attempt to move PC one cell to the lower left
    4, h, KEY_LEFT - Attempt to move PC one cell left
    5, ., space, KEY_B2, - Rest for one turn
    
    > - Attempt to move down a staircase to the next dungeon level
    < - Attempt to move up a staircase to the next dungeon level
    
    m - Display the monster list (doesn't count as a PC turn)
      KEY_UP - Scroll monster list up when needed
      KEY_DOWN - Scroll monster list down when needed
      Escape, F1 - Close monster list and return to character control
    Q - Quit the game 

  Additional Key Mappings in CPP version:
    , - Pick up an item
    w - Equip item
    t - Unequip item
    x - Destroy item and remove from current game
    I - Inspect item
    i - List inventory
    e - List equipment
    L - Inspect monster
    T - Display the tunneling distance map
    D - Display the non-tunneling distance map
    H - display hardness map
    s - Display the normal game dungeon
    f - toggle 'fog of war' on and off
    g - teleport player
      r - teleports player to random spot within the dungeon
      g - teleports player to spot denoted by '*'
      Normal movement keys for moving spot to teleport to
    
  Within the dungeon, meaning of currently diplayed characters is as follows:
    ' ' - Denotes rock
    '.' - Denotes room
    '#' - Denotes corridor
    '@' - Denotes player
    '<' - Denotes stair case going up
    '>' - Denotes stair case going down
    '*' - Location of  player when teleporting
    Objects:
      '|' - Melee weapon
      ')' - Offhand
      '}' - Ranged weapon
      '-' - Wand
      '[' - Chest armor
      ']' - Helmet
      '(' - Cloak
      '{' - Gauntlets
      '\' - Boots
      '=' - Ring
      '"' - Amulet
      '_' - Light
      '~' - Scroll
      '?' - Book
      '!' - Flask
      '$' - Gold
      '/' - Ammunition
      ',' - Food
      '%' - Container
      '&' - Stack of items

Implementation
  This implementation succeeds in meeting all of the required specifications.
  Item interations are now possible as well as monster inspection. The combat
  system was updated. Weapons now have damage and attacks subtract from the
  character's hitpoints until they die.  

NOTE
  If using PuTTY, navigate to Connection -> Data and make sure 'Terminal-type
  string' is putty. There has also been some weird keypad behavior when using PuTTY.

Author
  Weston Berg (weberg@iastate.edu)

Date
  November 14th, 2018

About

A Rougelike dungeoning game implemented in C++

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors