https://bfnightly.bracketproductions.com/rustbook/chapter_0.html 1. Introduction 2. 1. Building for the Web 3. 2. Section 1 - Hello Rust 4. 1. 2.1. Entities and Components 2. 2.2. Walking A Map 3. 2.3. A More Interesting Map 4. 2.4. Field of View 5. 2.5. Monsters 6. 2.6. Dealing Damage 7. 2.7. User Interface 8. 2.8. Items and Inventory 9. 2.9. Ranged Scrolls/Targeting 10. 2.10. Saving and Loading 11. 2.11. Delving Deeper 12. 2.12. Difficulty 13. 2.13. Equipment 5. 3. Section 2 - Stretch Goals 6. 1. 3.1. Nice Walls with Bitsets 2. 3.2. Bloodstains 3. 3.3. Particle Effects 4. 3.4. Hunger Clock 5. 3.5. Magic Mapping 6. 3.6. REX Paint Menu 7. 3.7. Simple Traps 7. 4. Section 3 - Generating Maps 8. 1. 4.1. Refactor Map Building 2. 4.2. Map Building Test Harness 3. 4.3. BSP Room Dungeons 4. 4.4. BSP Interior Design 5. 4.5. Cellular Automata Maps 6. 4.6. Drunkard's Walk Maps 7. 4.7. Mazes and Labyrinths 8. 4.8. Diffusion-limited aggregation maps 9. 4.9. Add symmetry and brushes to the library 10. 4.10. Voronoi Hive Maps 11. 4.11. Wave Function Collapse 12. 4.12. Prefabs & Sectionals 13. 4.13. Room Vaults 14. 4.14. Layering/Builder Chaining 15. 4.15. Fun With Layers 16. 4.16. Room Builders 17. 4.17. Better Corridors 18. 4.18. Doors 19. 4.19. Decouple map size from screen size 20. 4.20. Section 3 Conclusion 9. 5. Section 4 - Making A Game 10. 1. 5.1. Design Document 2. 5.2. Raw Files, Data-Driven Design 3. 5.3. Data-Driven Spawn Tables 4. 5.4. Making the town 5. 5.5. Populating the town 6. 5.6. Living bystanders 7. 5.7. Game Stats 8. 5.8. Equipment 9. 5.9. User Interface 10. 5.10. Into the Woods! 11. 5.11. XP 12. 5.12. Backtracking 13. 5.13. Into the caverns 14. 5.14. Better AI 15. 5.15. Spatial Indexing Revisited 16. 5.16. Item Stats and Vendors 17. 5.17. Deep caverns 18. 5.18. Cavern to Dwarf Fort 19. 5.19. Town Portals 20. 5.20. Magic Items 21. 5.21. Effects 22. 5.22. Cursed Items 23. 5.23. Even More Items 24. 5.24. Magic Spells 25. 5.25. Enter the Dragon 26. 5.26. Mushrooms 27. 5.27. More Shrooms 28. 5.28. Ranged Combat 29. 5.29. Logging 30. 5.30. Text Layers 31. 5.31. Systems/Dispatch 32. 5.32. Dark Elf City 1 33. 5.33. Dark Elf Plaza 11. 6. Contributors 12. 7. Licensing * Light (default) * Rust * Coal * Navy * Ayu Roguelike Tutorial - In Rust [ ] Introduction --------------------------------------------------------------------- About this tutorial This tutorial is free and open source, and all code uses the MIT license - so you are free to do with it as you like. My hope is that you will enjoy the tutorial, and make great games! If you enjoy this and would like me to keep writing, please consider supporting my Patreon. Hands-On Rust --------------------------------------------------------------------- Every year, the fine fellows over at r/roguelikedev run a Tutorial Tuesday series - encouraging new programmers to join the ranks of roguelike developers. Most languages end up being represented, and this year (2019) I decided that I'd use it as an excuse to learn Rust. I didn't really want to use libtcod, the default engine - so I created my own, RLTK. My initial entry into the series isn't very good, but I learned a lot from it - you can find it here, if you are curious. The series always points people towards an excellent series of tutorials, using Python and libtcod. You can find it here. Section 1 of this tutorial mirrors the structure of this tutorial - and tries to take you from zero (how do I open a console to say Hello Rust) to hero (equipping items to fight foes in a multi-level dungeon). I'm hoping to continue to extend the series. I also really wanted to use an Entity Component System. Rust has an excellent one called Specs, so I went with it. I've used ECS-based setups in previous games, so it felt natural to me to use it. It's also a cause of continual confusion on the subreddit, so hopefully this tutorial can shine some light on its benefits and why you might want to use one. I've had a blast writing this - and hope to continue writing. Please feel free to contact me (I'm @herberticus on Twitter) if you have any questions, ideas for improvements, or things you'd like me to add. Also, sorry about all the Patreon spam - hopefully someone will find this sufficiently useful to feel like throwing a coffee or two my way. :-) --------------------------------------------------------------------- Copyright (C) 2019, Herbert Wolverson. ---------------------------------------------------------------------