diff options
| author | Matthew Fluet <matthew.fluet@gmail.com> | 2025-10-19 22:10:34 -0400 |
|---|---|---|
| committer | Matthew Fluet <matthew.fluet@gmail.com> | 2025-10-19 22:10:34 -0400 |
| commit | 4c35f54527a94fe4fe276a3cf3952257266b6828 (patch) | |
| tree | d1c35d85ad6669502e0725d916eef5de8bcd5247 /docs | |
| parent | dungeon: refactor constructors (diff) | |
| download | DungeonCrawl-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.txt | 51 |
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 |