Skip to content

Latest commit

 

History

History
65 lines (57 loc) · 2.17 KB

design.org

File metadata and controls

65 lines (57 loc) · 2.17 KB

Dungeon Crawl Design Document

Project Name: Rusty Roguelike

Short Description

A Dungeon crawler with procedurally generated levels, monsters of increasing difficulty, and turn based movement

Story

The hero’s hometown is suffering from a plague of monsters. Welling up from the deep, they seem unstoppable. Legend tells of the Amulet of Yala that can be used to stem the tide. After a long night at the tavern, the hero promises to save the day - and sets forth into the dungeon.

Basic Game Loops

  1. Enter the dungeon level.
  2. Explore, revealing the map.
  3. Encounter enemies whom the player fights or flees from.
  4. Find powerups and use them to strengthen the player.
  5. Locate the exit - go to 1.

Turn Structure

skinparam linetype ortho
state AwaitingInput
AwaitingInput:Poll Input
AwaitingInput:Redraw Screen

state PlayerTurn
PlayerTurn: Apply Movement
PlayerTurn: Collsions
PlayerTurn: Redraw Screen


state MonsterTurn
MonsterTurn:Random Movement
MonsterTurn:Apply Movement
MonsterTurn:Collisions
MonsterTurn:Redraw Screen
MonsterTurn:End Turn

AwaitingInput -> PlayerTurn
PlayerTurn -> MonsterTurn
MonsterTurn -> AwaitingInput

MVP

Create a basic dungeon map

Place the player and let them walk around

Spawn monsters, draw them and let the player kill them by walking into them.

Add health and a combat system that uses it.

Add healing potions.

Display a “game over” screen when the player dies.

Add the Amulet of Yala to the level and let the player win by reaching it.

Stretch Goals

Add fields of view

Add more interesting dungeon designs

Add some dungeon themes.

Add multiple layers to the dungeon, with the Amulet on the last one.

Add varied weapons to the game.

Move to a data driven design for spawning enemies.

After Book

change the graphics to ascii style

particle system

implement builder chains

scenery (grass, water etc)

levels/progression

inventory system

better combat system