Introduction

Get a brief introduction to what you’ll learn in this course.

What’s this course about?

Rust is an exciting programming language that combines the power of C with added memory safety, fearless concurrency, and productivity boosters. It offers close-to-the-metal power and performance, while also providing a safety net to avoid many of the more common bugs found in low-level languages. Because of its features, Rust is a very competitive language for systems and game development and has grown rapidly in use by the industry giants, including Amazon, Google, Microsoft, and many game development houses.

A great way to learn and study Rust is through game development. Don’t be discouraged by the scale and polish of big-budget titles. Small indie games are fun, and hobby game development can kickstart careers in professional game dev or unrelated development fields. Many successful game developers start small, gradually gaining skills until they can work on the game of their dreams.

In this course, you’ll learn Rust by walking through game development examples. You’ll gain knowledge and confidence in both Rust and game development as you work through a series of practical examples, building increasingly complicated games. The text emphasizes a pragmatic, learn by doing approach. Theory sections are short and are followed by concrete examples for you to try.

By the end of the course, you’ll have mastered the basics of the Rust language and be well equipped to tackle more complicated game development problems.

Who should take this course

This course assumes that you’ve some prior programming experience. It gently introduces you to Rust and game development concepts. If you’ve written anything more complicated than a “Hello, World” program in another programming language, you should feel comfortable working through this course’s examples.

This course is ideal for anyone who wants to give Rust a try; it doesn’t assume that you know the Rust language. It’s also well suited for Rust developers who would like to experiment with game development. Alongside an introductory programming tutorial, it could also be helpful to new developers.

What’s not in this course

This course emphasizes learning theory by following practical examples and explaining the theory behind the technique you learned. This course isn’t an in-depth guide to every facet of the Rust language. Instead, this course guides you to sources for this information when it introduces a concept.

This course likely won’t describe the game idea you’ve always wanted to make. That’s alright. This course teaches concepts that are useful whether you want to make the next great online board game or a shooter. These concepts are readily transferable to other engines including Unity, Godot, Unreal, and Amethyst. By the end of the course, you’ll be much better equipped to start work on the game you’ve always wanted to make.