A refreshingly simple data-driven game engine built in Rust
Bevy is an entire game engine for creating 2D or 3D games in Rust. It uses wgpu for rendering everything, and a few other dependencies - mostly their own crates. It’s not “fully featured” like Unity or Godot since it’s so early — but it’s jam-packed with a lot of great functionality (like most recently — compute shaders).
exploring wgpu for Rust
TLDR?: Here’s the final code.
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
Fast prototyping 3D engine
Before I set off on the journey of refactoring, I looked for other wgpu projects to see how they structured their app architecture. I found 2 great examples that I primarily referenced - both with “b” names funnily enough: baryon and bevy.
Guide for using gfx-rs's wgpu library.
baryon is a lightweight toy renderer for prototyping 3D applications in Rust. It uses wgpu to render 3D elements, hecs for an ECS system (to make a scene with “entities” like 3D models), and winit for handling cross-platform window management (just like the wgpu tutorial). It also allows for setting different “render passes”, like a Phong (”cartoony”/fast) vs PBR (”realistic”) pass.
Read in a DynamicScene without Handle/AssetServer in Bevy (0.9.0)
1 project | reddit.com/r/rust_gamedev | 22 Jan 2023
Attempting to wrap my head around scenes(?) in Bevy
1 project | reddit.com/r/rust_gamedev | 20 Jan 2023
Scaling Bevy Development
3 projects | reddit.com/r/gamedev | 18 Jan 2023
Tutorial or documentation for multiple worlds or sub-apps?
1 project | reddit.com/r/bevy | 15 Jan 2023
failed to link with cc
1 project | reddit.com/r/bevy | 2 Jan 2023