summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authoralf9310 <alf9310@rit.edu>2025-10-17 10:30:38 -0400
committeralf9310 <alf9310@rit.edu>2025-10-17 10:30:38 -0400
commite34e8bcf0a4a6ffec09375d105a0e90a5b96d40a (patch)
treeb787faf56987616b0357718f3f636cde8f2abbf5 /docs
parentgraphics: draw_fps should pull fps from info struct (diff)
downloadDungeonCrawl-e34e8bcf0a4a6ffec09375d105a0e90a5b96d40a.tar.gz
DungeonCrawl-e34e8bcf0a4a6ffec09375d105a0e90a5b96d40a.tar.bz2
DungeonCrawl-e34e8bcf0a4a6ffec09375d105a0e90a5b96d40a.zip
Proposal summary and use cases complete
Diffstat (limited to 'docs')
-rw-r--r--docs/Proposal.md32
1 files changed, 30 insertions, 2 deletions
diff --git a/docs/Proposal.md b/docs/Proposal.md
index aea91cd..4fa81c0 100644
--- a/docs/Proposal.md
+++ b/docs/Proposal.md
@@ -9,15 +9,43 @@ Team members:
## Summary Description
-A summary description of the overall goal of the project.
+Embark on a classic roguelike dungeon-crawling adventure. Players will explore
+procedurally generated, tile-based dungeon floors crafted using a Wave Function
+Collapse algorithm. Battle through waves of enemies with turn-based combat,
+collect powerful items, and push your limits to see how deep you can delve
+into the ever-changing depths.
## Additional Details
-- One or more typical “use cases”. These might include “storyboards” explaining
+### Use Cases
+
+#### Player Input
+- Directional Movement: The player can move up, down, left, or right across a tile-based dungeon map using WASD or arrow keys.
+- Combat Actions: On encountering an enemy, the player can choose to attack or use an item.
+- Item Interaction: The player can pick up items, manage inventory, and use consumables like potions.
+
+#### Gameplay Loop
+- The player spawns on floor 1 of the dungeon.
+- The map is procedurally generated using the Wave Function Collapse algorithm.
+- Enemies and items are randomly spawned on valid tiles based on probabilities.
+- The player explores and collects items until encountering an enemy.
+- A turn-based battle begins where both player and enemy take alternating actions.
+- After winning, the player collects loot and continues exploring until finding the staircase to the next floor.
+- Difficulty increases as the player descends deeper.
+
+
+One or more typical “use cases”. These might include “storyboards” explaining
how a user would interact with the program or some interesting “input/output”
examples.
+
+### Components
+
+**Dungeon**
+
- A sketch of intended components (key functions, key data structures, separate
modules).
+
+### Testing
- Thoughts on testing. These might include critical functions or data structures
that will be given `#[test]` functions. Also consider using the
[`insta`](https://crates.io/crates/insta) crate,