I need a primer on courses for Rust Game Dev and Vulkan

This page summarizes the projects mentioned and recommended in the original post on /r/gamedev

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • bevy

    A refreshingly simple data-driven game engine built in Rust

  • After learning Rust and getting your feet wet with graphics programming, you'll find yourself at the chasm that exists between learning the absolute basics and being able to do actually useful things with the GPU. At this point, if you're liking Rust, I would recommend checking out Bevy engine. Clone the repo and build from source. Poke around, check out the rendering architecture, build a simple game, join the Discord. I know you're interested in starting "from scratch," but hear me out: Bevy is very early in development, which means 1) it's not that difficult to get acquainted with the codebase and get a very low-level overview of how a proper game engine is put together, and 2) building a game engine from scratch is so much work — wouldn't it be more productive (both for your own projects and for the larger indie dev community) to contribute to an open-source project that's very young but also has a ton of the necessary infrastructure already in place? It also means that you have the opportunity to learn from veteran engineers who actually know what they're doing. Game engines aren't just a lot of work, they're also really hard — it's not the type of thing you want to just figure out as you go, and definitely not the type of thing you're going to find step-by-step tutorials for online.

  • Fyrox

    3D and 2D game engine written in Rust

  • I'm not a game dev, but three weeks ago I was trying to use Bevy, which is a game engine for Rust. Also, there is another game engine that I'm trying, Fyrox, and it has a book, like the Rust book.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • LearnOpenGL

    Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com

  • Start with OpenGL: https://learnopengl.com/ it requires all the same math and will teach you all the same graphics programming concepts that you'll need for Vulkan, but in much less time. Even though GL is "easy," your first 3 renderers will be absolutely terrible and each new project you start will be twice as well designed as the last. Even if you only spend 6 months with it, taking the time to learn GL first will result in a net less time to learn Vulkan, since the GL concepts will all carry right over. At the very least, get to the point of understanding MDI (glMultiDrawElementsIndirect()), as Vulkan's entire paradigm is basically centered around this concept.

  • wgpu

    Cross-platform, safe, pure-rust graphics api.

  • If you really want to learn low-level graphics programming and Rust, I would recommend starting with WGPU instead of Vulkan. The Rust crates for Vulkan are either barebones, low-level bindings to the C libraries (which means they're not very idiomatic to Rust, thus not a great way to get started with Rust), or are different enough from the Vulkan API that you'll likely struggle to connect the dots between the two when you're reading the Vulkan docs. There's a pretty excellent tutorial series for Rust & WGPU floating around — I don't have the link off-hand, but Google should point you to it.

  • book

    The Rust Programming Language

  • If you don't have prior experience with Rust, start with The Book. Trust me on this one — it is the way to get started with Rust, and it's not as tedious as you're probably thinking.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts