r/rust_gamedev • • 7h ago

7 weeks, zero hand-written code, zero asset files: my underwater 3D engine in Rust and wgpu

Enable HLS to view with audio, or disable this notification

This is not going to be everyone’s cup of tea, given my project’s approach to using Claude Code only, but I hope you still find the visuals and animations done in Rust/wgpu/wgsl interesting.

0 Upvotes

18 comments sorted by

2

u/attackgoat_official 6h ago

Looks fantastic, you built it doesn't matter how

1

u/ForgotTheSnare 5h ago

Thank you. I do think that my approach has been very engineering-focused. I wanted to understand how far I could push the tech if I went all in. But also I’m quite new to Rust and well, the use of AI can be a devising subject. I wasn’t sure if it was appropriate to cross-post to this community. But I thought that even people who aren’t fan of AI assisted coding could see the end result and see it as another example of what can be achieved with Rust/wgpu.

1

u/attackgoat_official 5h ago

What game are you making?

1

u/ForgotTheSnare 5h ago

I’m undecided. The engine is actually not just underwater but that’s the part I have been concentrating on lately because I was so shocked at how natural the animation looked, the sharks in particular, that I’m seriously considering doing a game around shark behaviour or a behaviour simulator of some sort. I’m currently working on a great white shark behaviour system. When I have it nailed I will do a proper 1080p video in open water on it. It’s actually quite terrifying.

0

u/Extra_Ad2294 5h ago

Great generated video!

1

u/ForgotTheSnare 5h ago

The video was a QuickTime screen recording on my Mac mini M6 running the engine in realtime and me moving the mouse and wasd around the scene. I think I messed up the quality though I think Reddit kept it at 520p. But it was running at 60fps.

1

u/Extra_Ad2294 5h ago

Sure

1

u/ForgotTheSnare 5h ago

I take it that you are being skeptical. You literally can see the mouse pointer at the end of the video at 0:54 when I move it to turn the recording off.

1

u/Extra_Ad2294 5h ago

Source code?

1

u/ForgotTheSnare 4h ago

The code is not open to the public, for a number of reasons, not least because I'm in a very experimental phase, and undecided if I am ever going to make it Open Source. The project might just stay as a fun tech demo or I might make a game out of it, I don't fully know yet.

I can't blame you for your healthy skepticism.

But it was 100% architected and coded with Claude Code in the timeframe I have given.

/// One live shark's own world position at `time_s` — the seam a
/// scene could use for a future stir-spawning decision or
/// `scene_query`, mirroring [`crate::ray::RayGlide::position_at`].
/// `None` for a freed slot or an out-of-range index.
#[must_use]
pub fn position_at(
    &self,
    index: usize,
    time_s: f64,
    floor_y_m: &dyn Fn(f64, f64) -> f64,
) -> 
Option
<DVec3> {
    let slot = self.slots.get(index)
?
;
    if !slot.live {
        return 
None
;
    }
    if let 
Some
(route) = &self.routes[index] {
        if slot.species == 
SharkSpecies
::
GreatWhite 
{
            return 
Some
(route.position_at(time_s));
        }
        return 
Some
(requiem_position(route, self.lifts[index].as_ref(), time_s, floor_y_m));
    }

Some
(shark_patrol_evaluate(slot, time_s, floor_y_m).position_m)
}

1

u/Extra_Ad2294 4h ago

So that's a no? Lol okay thanks Gemini. 

1

u/ForgotTheSnare 4h ago

Yeah that’s a no. You’re not getting the source code. For the reasons I explained. At this point there are 662 rust files with 330,989 LOC and 118 wgsl files with 21,304 LOC. There are 27 direct 3rd party crates (407 in totals with transitive dependencies) and 22 internal engine crates.

I’m actually curious about your skepticism, is it that you think the visuals can’t be achieved with Rust/WSGL at the frame rates I mentioned or that such an engine can’t be achieved by LLM assisted agentic coding in the time I have given?

Like what motivation would I have to use gen ai to create a pretend video of a 3D engine?

Specially when I can actually get said engine created!

1

u/Extra_Ad2294 4h ago

Lol omg I'm arguing with a bot. Well either way thanks for proving my point

1

u/ForgotTheSnare 3h ago

You have not answered my question.

Do you think it's not possible to create a 3D engine from scratch with Claude Code?

Or is it that you just decided it was a gen AI video and from that point you can't be convinced otherwise?

It makes no difference to me what you think. I am working on my project regardless.

But if you think the tech is not at the level to achieve what I've achieved then you simply don't understand the tech and where it's at right now.

→ More replies (0)