Log In
0% completed
All Lessons
Free Lessons (3)
Getting Started
Introduction
Rust and Your Development Environment
Managing Projects with Cargo
Creating Your First Rust Program
Using Cargo to Build, Check, or Run our Project
Finding Common Mistakes with Clippy
Package Management with Cargo
Quiz: Test Yourself on Rust Basics
Exercise: Introduce Yourself
Solution: Introduce Yourself
First Step With Rust
Introduction to First Step with Rust
Capturing User Input
Moving Input to a Function
Rust's Built-in Functions
Storing Strings in an Array
Grouping Data with Structs
Searching with Iterators using Structs
Storing a Variable Amount of Data with Vectors
Categorizing with Enumerations
Quiz: Test Yourself on First Step with Rust
Exercise: Making a Phone Book
Solution: Making a Phone Book
Build Your First Game with Rust
Introduction to First Game with Rust
Understanding the Game Loop
Bracket-Lib and Bracket-Terminal
Hello, Bracket Terminal!
Creating Different Game Modes
Managing the Player
Adding the Player
Creating Obstacles
Keeping Score and Obstacle State
Quiz: Test Yourself on Build Your First Game with Rust
Exercise: Hello Game Loop
Solution: Hello Game Loop
Build a Dungeon Crawler
Introduction to Build a Dungeon Crawler
Design a Dungeon Crawler Game
Dividing Code Into Modules
Organizing Imports with a Prelude
Storing the Dungeon Map
Adding the Adventurer
Building a Dungeon
Graphics, Camera, Action
Quiz: Test Yourself on Building a Dungeon Crawler
Exercise: Make Cats Meow and Dogs Bark
Solution: Make Cats Meow and Dogs Bark
Compose Dungeon Denizens
Introduction to Compose Dungeon Denizens
Understanding Terminology
Composing Entities
Installing and Using Legion
Composing the Player
Managing Complexity with Systems
Batched and Map Rendering System
Adding the Monsters
Collision Detection
Quiz: Test Yourself on Compose Dungeon Denizens
Exercise: Compose an Entity
Solution: Compose an Entity
Take Turns with the Monsters
Introduction to Take Turns with the Monsters
Making Monsters Wander Randomly
Moving Entities in a Turn-Based Game
Sending Messages of Intent
Quiz: Test Yourself on Taking Turns with the Monsters
Exercise: Build a Calculator
Solution: Build a Calculator
Health and Melee Combat
Introduction to Health and Melee Combat
Making Entities Intelligent
Adding a Heads-Up Display
Managing Monsters
Implementing Combat
Waiting as a Strategy
Quiz: Test Yourself on Health and Melee Combat
Exercise: Formatting Text
Solution: Formatting Text
Victory and Defeat
Introduction to Victory and Defeat
Building a Smarter Monster
Building a Map
Implementing a Game-Over Screen
Finding the Amulet of Yala
Quiz: Test Yourself on Victory and Defeat
Exercise: Implement a Trait
Solution: Implement a Trait
Fields of View
Introduction to Fields of View
Defining an Entity’s Field of View
Preparing the Entities Field of View
Limiting Monsters’ Fields-of-View
Adding Spatial Memory
Quiz: Test Yourself on Fields of View
Exercise: Use a HashSet
Solution: Use a HashSet
More Interesting Dungeons
Introduction to More Interesting Dungeons
Creating Traits
Converting the Room Builder
Creating Cellular Automata Maps
Calling Cellular Automata Maps
Creating Drunkard’s Walk Maps
Prefabricated Map Sections
Quiz: Test Yourself on More Interesting Dungeons
Exercise: Use Dynamic Traits
Solution: Use Dynamic Traits
Map Themes
Introduction to Map Themes
Theming Our Dungeon
Rendering With Themes
Quiz: Test Yourself on Map Themes
Exercise: Create a Trait
Solution: Create a Trait
Inventory and Power Ups
Introduction to Inventory and Power-ups
Designing Items
Managing Inventory
Adding Power After Receiving Inventory
Quiz: Test Yourself on Inventory and Power Ups
Exercise: Pattern Matching with If Let
Solution: Pattern Matching with If Let
Deeper Dungeons
Introduction to Deeper Dungeons
Adding Stairs to the Map
Tracking Game Level
Displaying the Current Level on the HUD
Quiz: Test Yourself on Deeper Dungeons
Exercise: Sorting and Iterating
Solution: Sorting and Iterating
Combat Systems and Loot
Introduction to Combat Systems and Loot
Designing Data-Driven Dungeons
Data-driven Spawning
Extending the Combat System
Quiz: Test Yourself on Combat Systems and Loot
Exercise: Reading a TOML File
Solution: Reading a TOML File
Conclusion
Wrap Up
Appendix
Installing Rust
Installing and Configuring Our Development Environment
ASCII/Codepage 437 Chart
Short Game Design Documents
Rust Cheat Sheet
Hands-On Game Development with Rust
/
...
/
Solution: Build a Calculator
Solution: Build a Calculator
Let's have a look at the solution of building a calculator.
We'll cover the following...
Solution
Explanation
Solution
The
...