Course link: https://github.com/amethyst/rustrogueliketutorial
Status: π§
- Install WASM-related components
rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli
[Optional]
Install system dependencies for native target:cmake
,c++
,fontconfig
# For Fedora
sudo dnf install cmake g++ fontconfig-devel
[Optional]
Installsimple-http-server
for file serving
cargo install simple-http-server
cargo run
Build
cargo build --release --target wasm32-unknown-unknown
wasm-bindgen target/wasm32-unknown-unknown/release/*wasm --out-dir wasm --no-modules --no-typescript
Serve
simple-http-server -- wasm
... or use Python for serving
python3 -m http.server -d wasm
Open http://0.0.0.0:8000/
- π - a link to a book page
- βοΈ - a link to an
.rs
file (code) - π· - a page under construction in the course
- π§ - not finished
- π Introduction
- π 1. Building for the Web
- π 2. Section 1 - Hello Rust
- π 2.1. Entities and Components
- π 2.2. Walking A Map
- π 2.3. A More Interesting Map
- π 2.4. Field of View
- π 2.5. Monsters
- π 2.6. Dealing Damage
- π 2.7. User Interface
- π 2.8. Items and Inventory
- π 2.9. Ranged Scrolls/Targeting
- π 2.10. Saving and Loading
- π 2.11. Delving Deeper
- π 2.12. Difficulty
- π 2.13. Equipment
- π 3. Section 2 - Stretch Goals
- π 4. Section 3 - Generating Maps
- π 4.1. Refactor Map Building
- π 4.2. Map Building Test Harness
- π 4.3. BSP Room Dungeons
- π 4.4. BSP Interior Design
- π 4.5. Cellular Automata Maps
- π 4.6. Drunkard's Walk Maps
- π 4.7. Mazes and Labyrinths
- π 4.8. Diffusion-limited aggregation maps
- π 4.9. Add symmetry and brushes to the library
- π 4.10. Voronoi Hive Maps
- π 4.11. Wave Function Collapse
- π 4.12. Prefabs & Sectionals
- π 4.13. Room Vaults
- π 4.14. Layering/Builder Chaining
- π 4.15. Fun With Layers
- π 4.16. Room Builders
- π 4.17. Better Corridors
- π 4.18. Doors
- π 4.19. Decouple map size from screen size
- π 4.20. Section 3 Conclusion
- π§ 5. Section 4 - Making A Game
- π§ 5.1. Design Document
- π§ 5.2. Raw Files, Data-Driven Design
- π§ 5.3. Data-Driven Spawn Tables
- π§ 5.4. Making the town
- π§ 5.5. Populating the town
- π§ 5.6. Living bystanders
- π§ 5.7. Game Stats
- π§ 5.8. Equipment
- π§ 5.9. User Interface
- π§ 5.10. Into the Woods!
- π§ 5.11. XP
- π§ 5.12. Backtracking
- π§ 5.13. Into the caverns
- π§ 5.14. Better AI
- π§ 5.15. Spatial Indexing Revisited
- π§ 5.16. Item Stats and Vendors
- π§ 5.17. Deep caverns
- π§ 5.18. Cavern to Dwarf Fort
- π§ 5.19. Town Portals
- π§ 5.20. Magic Items
- π§ 5.21. Effects
- π§ 5.22. Cursed Items
- π§ 5.23. Even More Items
- π§ 5.24. Magic Spells
- π§ 5.25. Enter the Dragon
- π§ 5.26. Mushrooms
- π§ 5.27. More Shrooms
- π§ 5.28. Ranged Combat
- π§ 5.29. Logging
- π§ 5.30. Text Layers
- π§ 5.31. Systems/Dispatch
- π§ 5.32. Dark Elf City 1
- π§ 5.33. Dark Elf Plaza
- Some of my thoughts are prefixed with
NOTE(DP):
- Example:
// NOTE(DP): Algorithm complexity: O(n)
- Example:
- Resolved course TODOs are prefixed with
DONE:
- Example:
// NOTE(DP): ^ Uncomment the above 2 lines to see the compiler error
- Example:
- Other comments copied from the course
This project uses Gitmoji for commit messages