Hands-on Rust: Effective Learning through 2D Game Development and Play
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters – and what better way to learn than by making games. Each chapter in this book presents hands-on, practical projects ranging from “Hello, World” to building a full dungeon crawler game. With this book, you’ll learn game development skills applicable to other engines, including Unity and Unreal.
Rust is an exciting programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters. With Rust, you have a shiny new playground where your game ideas can flourish.
Each chapter in this book presents hands-on, practical projects that take you on a journey from “Hello, World” to building a full dungeon crawler game. Start by setting up Rust and getting comfortable with your development environment. Learn the language basics with practical examples as you make your own version of Flappy Bird. Discover what it takes to randomly generate dungeons and populate them with monsters as you build a complete dungeon crawl game. Run game systems concurrently for high-performance and fast game-play, while retaining the ability to debug your program. Unleash your creativity with magical items, tougher monsters, and intricate dungeon design. Add layered graphics and polish your game with style.
What You Need:
- A computer running Windows 10, Linux, or Mac OS X.
- A text editor, such as Visual Studio Code.
- A video card and drivers capable of running OpenGL 3.2.
Acknowledgments Preface Who Should Read This Book What’s in This Book What’s Not in This Book How to Read This Book Conventions Used in This Book Online Resources Wrap-Up Part I. Getting Started with Rust 1. Rust and Your Development Environment Installing Rust Installing and Configuring Your Development Environment Managing Projects with Cargo Creating Your First Rust Program Using Cargo to Build, Check, or Run Your Project Formatting Your Code Finding Common Mistakes with Clippy Package Management with Cargo Wrap-Up 2. First Steps with Rust Creating a New Project Capturing User Input Moving Input to a Function Trimming Input Storing Strings in an Array Grouping Data with Structs Storing a Variable Amount of Data with Vectors Categorizing with Enumerations Wrap-Up 3. Build Your First Game with Rust Understanding the Game Loop Creating Different Game Modes Adding the Player Creating Obstacles and Keeping Score Wrap-Up Part II. Building a Dungeon Crawler 4. Design a Dungeon Crawler Adding Headings to Your Design Document Wrap-Up 5. Build a Dungeon Crawler Dividing Your Code Into Modules Organizing Your Imports With a Prelude Storing the Dungeon Map Adding the Adventurer Building a Dungeon Graphics, Camera, Action Wrap-Up 6. Compose Dungeon Denizens Understanding Terminology Composing Entities Installing and Using Legion Composing the Player Managing Complexity with Systems Adding Monsters Collision Detection Wrap-Up 7. Take Turns with the Monsters Making Monsters Wander Randomly Moving Entites in a Turn-Based Game Sending Messages of Intent Wrap-Up 8. Health and Melee Combat Giving Entities Hit Points Adding a Heads-up Display Implementing Combat Waiting as a Strategy Wrap-Up 9. Victory and Defeat Building a Smarter Monster Implementing a Game Over Screen Finding the Amulet of Yala Wrap-Up 10. Fields of View Defining an Entity’s Field of View Limiting Monsters’ Fields of View Adding Spatial Memory Wrap-Up 11. More Interesting Dungeons Creating Traits Creating Cellular Automata Maps Creating Drunkard’s Walk Maps Prefabricating Map Sections Wrap-Up 12. Map Themes Theming Your Dungeon Rendering with Themes Unleashing Your Imagination Wrap-Up 13. Inventory and Power-Ups Designing Items Managing Inventory Wrap-Up 14. Deeper Dungeons Adding Stairs to the Map Tracking Game Level Displaying the Current Level on the HUD Wrap-Up 15. Combat Systems and Loot Designing Data-Driven Dungeons Extending the Combat System Adding More Swords Wrap-Up 16. Final Steps and Finishing Touches Packaging Your Game for Distribution Making the Dungeon Crawler Your Own Additional Content Wrap-Up Part III. Additional Resources A1. ASCII/Codepage 437 Chart A2. Short Game Design Documents Make a Note of Every Idea Why You Need a Design Document Design Document Headings You Aren’t Gonna Need It Wrap-Up A3. Rust Cheat Sheet Bibliography
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.