Course Introduction
This is a hands-on course! Not only are there targeted exercises for each topic discussed, there are also a series of project scenarios that walk you through using what you’ve learned to put together playable game prototypes that work on macOS, Linux, and Windows.
These projects will make use of Rusty Engine, a game engine developed specifically for this course to keep game engine concepts to a minimum so you can focus on using exactly what you learned in this course.
Note: All of our bundles are for a one-year subscription.
At the end of the subscription period, your membership does not automatically renew.
What you’ll learn:
- How to write idiomatic, well-tested, documented Rust code
- Threads, channels, closures, iterators, code documentation, std library traits, error handling, testing, benchmarks, logging, attributes, turbofish and more!
- Rust concepts beyond the fundamentals taught in the “Ultimate Rust Crash Course”
- How to use Rust to make video game prototypes
Requirements:
- A beginner’s knowledge of Rust (taking the “Ultimate Rust Crash Course” is recommended)
- Intermediate+ experience with general programming concepts and languages.
- Rust installed and ready to use - this is a hands-on course!
Who this course is for:
- Experienced systems programmers, software developers, engineers, wizards, warriors, and hobbits
- Any developer who needs to run code fast, efficiently, securely, under tight restraints, or with a minimum of bugs
- Anyone planning to use Rust frequently
Course Outline
Module 1: Introduction
- Lesson 1.1 - Introduction
- Lesson 1.2 - Exercises Overview
Module 2: Lectures & Exercises
- Lesson 2.1 - Idiomatic Code
- Lesson 2.2 - Exercise - Idiomatic Code
- Lesson 2.3 - Documentation
- Lesson 2.4 - Exercise - Documentation
- Lesson 2.5 - Publishing
- Lesson 2.6 - Exercise - Publishing
- Lesson 2.7 - Iterators
- Lesson 2.8 - Closures
- Lesson 2.9 - Exercise - Closures & Iterators
- Lesson 2.10 - Common Traits
- Lesson 2.11 - Exercise - Traits
- Lesson 2.12 - Creating Errors
- Lesson 2.13 - Handling Errors
- Lesson 2.14 - Exercise - Errors
- Lesson 2.15 - Unit Tests
- Lesson 2.16 - Integration Tests
- Lesson 2.17 - Benchmarks
- Lesson 2.18 - Exercise - Testing
- Lesson 2.19 - Logging
- Lesson 2.20 - Exercise - Logging
- Lesson 2.21 - Multithreading
- Lesson 2.22 - Channels
- Lesson 2.23 - Exercise - Threads & Channels
Module 3: Project - Learn Rusty Engine
- Lesson 3.1 - Project Overview
- Lesson 3.2 - Configuration
- Lesson 3.3 - Engine Initialization
- Lesson 3.4 - Game State
- Lesson 3.5 - Game Logic Function
- Lesson 3.6 - Sprites
- Lesson 3.7 - Colliders
- Lesson 3.8 - Keyboard Input
- Lesson 3.9 - Mouse Input
- Lesson 3.10 - Text
- Lesson 3.11 - Audio
- Lesson 3.12 - Timer
- Lesson 3.13 - Engine & Game Structs
Module 4: Game - Road Race
- Lesson 4.1 - Common Setup
- Lesson 4.2 - Road Race
Module 5: Game - Car Shoot
- Lesson 5.1 - Car Shoot, part 1
- Lesson 5.2 - Car Shoot, part 2
- Lesson 5.3 - Car Shoot, part 3
- Lesson 5.4 - Car Shoot, part 4