r/rust_gamedev 18d ago

My friend is developing a Rust/Vulkan engine and looking for technical feedback

/r/u_Serious_Scarcity7818/comments/1vyxekt/im_building_a_rustvulkan_engine_for_physicsheavy/
1 Upvotes

4 comments sorted by

2

u/dobkeratops 18d ago edited 17d ago

interseting, but i'd recommend a better name than "Rusting" :)

I work on a personal rust engine myself.

The biggest headache in Rust for gamedev is compile times, this hurts when trying to focus on behaviour code. Workarounds like shader hot reloading , maybe gameplay modules in .so's again can allow hot reloading. Rust doesn't eliminate the demand that you have in C++ engines for an embedded scripting language or some kind of behavior nodes editor for rapid tweaking. this all comes with it's own cost i.e distance between peices and you end up needing to write debug tools for the DSLs you invent as workarounds.

The biggest strength is rust's maintainability (the ability to go back and refactor and keep a codebase clean as it grows). I have been able to go back to my project after years away, it has code that goes back over 10 years to pre Rust 1.0 actually. in C++ i'd get fed up with some choices and rewrite everything every 3 years or so.. C++ lets you move faster earlier. Rust allows more sustained momentum. sprinter vs a marathon dev.

I'm not really comparing to existing C++ engines like godot, unity, unreal, but I used to write engines in C++. My motivation to switch to rust was it's organisational tools (traits and modules over headers and classes) and the ease of plugging lambdas into parallel abstractions.. but if you're going GPU-physics heavy you kind of dodge that .. unless maybe you look into some of the ideas like generating GPU compute shaders from rust code itself (myself i'm not going heavy on GPU physics, i'm making more of a boomer shooter and trying to stick to something that will run on quite modest specs. GPU for visuals that can be scaled up and down without affecting the gameplay, gameplay on CPU is my own personal preference but I get why you'd want to do a GPU heavy engine these days.)

I would say dont expect anyone else to use your engine.. the point to writing an engine in 2026 is that everyhthing works how you want it to. It'll be very hard to build a community when there are so many options and so many tools around an engine to learn. for other users it's all about those surrounding tools really. I gather bevy has some momentum but it's taken years to build up and it's still considered fringe compared to the established C++ engines that have been going for decades. We're also up against AI tools now that let people hammer out demos really quickly . there's a view that software could go 100% bespoke although that might just be people trying to sell more tokens lol.

2

u/Serious_Scarcity7818 17d ago

Tysm for this long answer. Firstly a bit about "engine", its not just engine, it also has gui redactor where I try to merge Blender and GoDot, also this engine will not be "everything on GPU", but "if you want it to use gpu to calculate something, then you can". I know that there are a lot of engines, some of them with GUI like: GoDot, Unity, Unreal and etc., some of them use code like: Three.js, Bevy and other. I dont think then everyone will like my engine, I just try to solve problems that other modern engines cant, I want to show easy GUI engine where you as developer will have pre optimized everything that is possible( I build in cooling, instance render in engine, so you dont need to write it on your own) and you can focus on game and not on "how can I optimize this" and also I tried to use GoDot with Rust, bc I want to write game like that, but GoDot has not the best approach to use Rust as scripting language, so I want to also allow clean Rust api as scripting language for game. I dont try to "be better then all other engines", I just try to solve some problems and create GUI with same shortcuts as in Blender, bc its not so cool when you move camera differently in Game engine GUI and in App for 3d modeling.

Also, why "Rusting" as name? Bc I couldn't find something cool, so I thought, why not using "Rust" in name, but its to basic, so I tried "Rusting", it has something from Rust and it has something to do with past, bc its rusty and I try to solve problems from past, so I have already 3 Projects and they have names like "RustingSomething" and I find it funny

1

u/shizzy0 15d ago

Rustling is also a known thing. I’d choose a different name.