summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMatthew Fluet <matthew.fluet@gmail.com>2025-10-19 22:10:34 -0400
committerMatthew Fluet <matthew.fluet@gmail.com>2025-10-19 22:10:34 -0400
commit4c35f54527a94fe4fe276a3cf3952257266b6828 (patch)
treed1c35d85ad6669502e0725d916eef5de8bcd5247 /docs
parentdungeon: refactor constructors (diff)
downloadDungeonCrawl-4c35f54527a94fe4fe276a3cf3952257266b6828.tar.gz
DungeonCrawl-4c35f54527a94fe4fe276a3cf3952257266b6828.tar.bz2
DungeonCrawl-4c35f54527a94fe4fe276a3cf3952257266b6828.zip
Feedback and grade for Proposal
Diffstat (limited to 'docs')
-rw-r--r--docs/Proposal_feedback.txt51
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/Proposal_feedback.txt b/docs/Proposal_feedback.txt
new file mode 100644
index 0000000..71dbafa
--- /dev/null
+++ b/docs/Proposal_feedback.txt
@@ -0,0 +1,51 @@
+DungeonCrawl
+
+Audrey Fuller (alf9310)
+Freya Murphy (tam2214)
+Ryan Symons (ras1178)
+Yusuf Elsharawy (yse2561)
+
+
+Good proposal.
+
+A dungeon crawler is a reasonable project. A 2D, tile-based dungeon
+format is a good choice to keep complexity to a reasonable degree.
+Unclear if the tile-based dungeon is just with respect to the sprites,
+or with respect to the movement within the dungeon (i.e., NES Legend
+of Zelda-like or TUI nethack/rogue-like); upon re-reading, it seems
+that the intention is the former, which does make for a slightly more
+complex implementation.
+
+Proposal seems to suggest a model-view-controller architecture; any
+organization that separates the core game logic from the UI is good.
+Especially so for testing.
+
+Overall organization of dungeon crate seems fine. But, think about
+how to best use Rust features. Should items and enemies be `enum`s or
+`trait`s? What are the pros and cons of each approach? Should
+`Player` be a variant of `Entity` or should `Entity` be a component of
+`Player`? Not sure how melee and ranged weapons fit into the game
+state; will an arrow or magic attack be a separate `Entity`?
+
+Good to have a graphics framework in mind. I've not heard about
+raylib or its Rust bindings before, but seems to be a reasonable
+choice. egui (https://www.egui.rs/) and Iced (https://iced.rs) are
+other popular GUI frameworks. Not sure if the input.rs is meant to be
+a thin veneer over the graphics library or something more low-level.
+Many GUI libraries do provide input functions, but perhaps raylib is a
+graphics-only library.
+
+Remember to focus on programming in Rust. That is, while it is fun to
+fine tune graphical assets, don't let that overshadow the code
+development.
+
+Similarly, the Wave Function Collapse algorithm is an interesting
+approach and procedurally generated content is often more dynamic.
+While it may require some tuning of parameters to get something that
+plays well, don't emphasize playability over code development. That
+is, better to have a project that demonstrates proficiency with Rust
+but might be less interesting from a game play perspective than vice
+versa.
+
+
+Score: 10/10