High-level/Functional requirements

  1. The system shall take the player to the character selection screen when they click the play button
  2. The system shall generate a random world when the player starts a new game
  3. All enemies will have a drop rate for all their equipped items.
  4. The system will keep track of players’ scores and other statistics
  5. The system shall have a button that opens a link to a website where the player can file a bug report
  6. The system will contain links to our portfolios on the credits page
  7. The player will be able to click a play button on the start screen
  8. The player will use the mouse or keyboard for movement and gameplay
  9. The player will be able to create a new character or delete/resume a previous character
  10. The player will be able to select an existing character or new character on the character selection screen
  11. The player will be able to select a starting character’s equipment and name
  12. The player will be able to click save and exit buttons from the pause screen
  13. The player will be able to interact with the items on the screen
  14. The player will be able to equip items to the character from the inventory
  15. The player will be able to create loadouts that include equipped active and passive items
  16. The player will be able to switch between loadouts
  17. The player will be able to adjust settings like windowed/full screen mode, sound, music, brightness, resolution, etc.
  18. The system will require minimum specifications of a low-end processor with integrated graphics and 512 MB of RAM.
  19. The player can equip 10 items in each loadout.

Domain model

Use-cases(diagrams)

Robustness diagrams

Sequence diagrams

Class diagram

Schedule

Week 1 - Feb. 1-8

  1. Settings Screen (sound/music volume, fullscreen, resolution, key rebinding, etc.)
  2. Character Select Screenn
  3. New Character Overlayn
  4. Credits Screenn
  5. Game Screen

Week 2 - Feb. 8-15

  1. Hardcoded world
  2. Create Character (basics)
  3. Character (basics)
  4. Item base class
  5. Terrain base class

Week 3 - Feb. 15-22

  1. Town
  2. Walls
  3. Start inventory
  4. Finish New Character Overlay
  5. Starting items/enemies/terrain

Week 4 - Feb. 22-March 1

  1. More items/enemies/terrain
  2. Item pickup overlay/name
  3. Item tooltip
  4. Finish inventory
  5. Loadouts
  6. Inventory Overlay

Week 5(Spring break) March 1-15

  1. Game over screen
  2. Basic saving
  3. Escape overlay
  4. Transition between worlds/Go to a new world/World size
  5. Basic bosses
  6. More items/enemies/terrain
  7. Sfx + Music

Week 6 March 15-22

  1. Finish items/enemies/terrain

Week 7 March 22-29

  1. Randomizing (World Generation etc)

Week 8 March 29 - April 5

  1. Actual Saving / Database
  2. Statistics
  3. Randomizing

Week 9 April 5-12

  1. Winning Temple/Go to new world
  2. Balancing/Polishing/Bonus(Personal Best Overlay, Controller Support, Screen Shake, Lighting, Key rebinding, etc.)

Week 10 April 12-19

  1. Balancing/Polishing/Bonus(Personal Best Overlay, Controller Support, Screen Shake, Lighting, Key rebinding, etc.)

Week 11 April 19-26

  1. Make game video + Website