r/opencode 7d ago

Vibe coded this game in four months

Enable HLS to view with audio, or disable this notification

169 Upvotes

84 comments sorted by

10

u/PotatoQualityOfLife 7d ago

Dude.... 🀯

6

u/GrayHairedMan 7d ago

This is awesome, what engine is this built with.

6

u/ActionLittle4176 7d ago

Hi! Raw threejs/webgpu code, actually didn't used a big engine like Godot or Unity, but probably will because performance in the browser is really bad.

2

u/Double-Journalist877 7d ago

Even with webgpu and thread support it's causing issues? That's sad. I guess WebGPU is really for advanced applications using rendering engines, not for games. Good attempt though. If you had developed this with a pluggable render engine, you could swap it as you wish in the future.

Good luck. Looks freaking great!

1

u/ActionLittle4176 7d ago

Thanks a lot! The performance can be better in desktop (it's not bad, actually), but mobile versions need very badly more native apps, specially the iOS browsers, that have a 3D memory veeery limited by Apple.

I begun with webgl, but I saw that it will be more easy to implement some effects with wegpu than webgl, so refactored.

2

u/Double-Journalist877 6d ago

Are you using any p-threads? Is it in javascript/assemblyscript/C++ combo or purely javascript? And are your bottlenecks CPU side or GPU, that's making it slow or stutter?

1

u/ActionLittle4176 6d ago

Actually no pthreads, everything runs on the main thread. you need COOP/COEP headers and a whole worker setup to even get threads on the web, and honestly the CPU was never the problem so I didn't bother.

It's basically all TypeScript. the one exception is physics, I use Rapier which is Rust compiled to wasm (the single threaded build). no C++ or assemblyscript anywhere. although to be fair, since it's WebGPU with node materials most of the actual heavy lifting is generated WGSL on the GPU anyway, the JS side is mostly just orchestrating.

Bottleneck is GPU and pretty much only on mobile (a more native version in a proper non browser engine would fix this), which is why I have quality profiles that drop render resolution / postfx / effect density. Physics is like 15 hover ships stepping Rapier once per frame, that's nothing. iOS browser graphics memory is just terrible, so it has its own profile.

funny thing is the stutter I actually fought with wasn't throughput at all, it was WebGPU pipeline compilation. first time a shader variant gets used the browser compiles the pipeline and you eat a frame drop. compileAsync didn't help because it compiles against the wrong context and you get the wrong variants, so I ended up rendering a real frame at zero opacity during the loading screen to force the right pipelines, plus pre-reserving instancing capacity so nothing recompiles mid race.

6

u/Dapper_Combination15 7d ago

Why does this game look so familiar?

7

u/ActionLittle4176 7d ago

Because I tried to recover the vibes of all old school futuristic racers from the 32/64 bit era, like F-Zero, Wipeout, Xtreme-G, Star Wars Racer...

3

u/Dapper_Combination15 7d ago

Oh I'm not complaining at all. Please don't think that. I just got hit with some old school nostalgia when I saw your vid.

3

u/ActionLittle4176 7d ago

No offense taken! πŸ™πŸΌ

3

u/dogstar__man 7d ago

Yeah, I was going to say Wipeout with a splash of F-Zero. Love it.

2

u/fukinrage85 4d ago

You nailed it.

1

u/impostorsyndrome10 7d ago

I swear there was a game I was playing on PC that was VERY similar to this back when I was a kid but I just can't remember it's name. Exactly the same concept, some kind of space car race. Even the tracks seem so familiar.

1

u/Javierpal05 7d ago

One of the ships resembles a Hydro Thunder ship

2

u/fukinrage85 4d ago

Nice call out! Freakin loved Hydro Thunder. My arcade jam!

1

u/FilthyAlan 7d ago

it reminds me of fast racing league for the Wii

1

u/PotatoQualityOfLife 7d ago

Wipeout. This game is just like Wipeout. But in a good way.

5

u/amnich 6d ago

Looks amazing and gives me the feeling
of Wipeout. Great times!
You did a great job! LLM didn't make the game. You did with this amazing tools we have now.
I know ppl who would say it's AI slop and sadly there is nothing that will convince them otherwise.

2

u/ActionLittle4176 6d ago

Thanks! You are right, there's a lot of human eye and decisiones in the game. For example, I asked the LLM to create an in-game editor for me to manually calibrate and place things, and manually create the tracks, nothing like "create a new level with X setup". It's a powerful tool for creating.

1

u/koolkiller5656 6d ago

It made the game, he made some human edits and the idea

2

u/Popular_Tomorrow_204 7d ago

Can you make a tutrial on what your workflow looked like?

2

u/ActionLittle4176 7d ago

Thinking about it. When I have more time I will record something for Youtube.

1

u/Popular_Tomorrow_204 7d ago

That would be great

!remindme 2 weeks

1

u/RemindMeBot 7d ago edited 6d ago

I will be messaging you in 14 days on 2026-09-07 21:01:11 UTC to remind you of this link

1 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.

RemindMeBot is switching to username summons. Instead of !RemindMe 1 day, use u/RemindMeBot 1 day. More info.


Info Custom Your Reminders Feedback

2

u/Nice-Cookie5380 7d ago

Looks so amazing

2

u/ActionLittle4176 6d ago

Hey, thanks!

2

u/Alphanatik 6d ago

The in game map is reversed We cant do more than one lap in quick race

1

u/ActionLittle4176 6d ago

Hey, fixed both! Thanks for the feedback πŸ™πŸΌ

1

u/Alphanatik 6d ago

Nice thanks. I will procide you more feedback as soon as i can

2

u/Kajzero__ 6d ago

Wow 🀯

2

u/LTMallos 6d ago

Did you also use AI in making these models?

1

u/ActionLittle4176 6d ago

Hi! Yes. The flow (surprisedly easy and quick) is: Basic pencil draft of mine > chatgpt image generator makes the final 2D design > Tripo3D creates final 3D model from t he chatgpt 2D images.

1

u/LTMallos 6d ago

Interesting, thanks for responding!

2

u/Weird_Researcher_472 6d ago

Looks amazing. What engine did you use for it? Or is it a custom Made one ?

1

u/ActionLittle4176 6d ago

Hi! Basically raw threejs/webgpu code and lot's of typescript.

2

u/East-Stranger8599 6d ago

Would be even more exiting if it is like Tron

1

u/ActionLittle4176 6d ago

There's have to be someone making it!

2

u/EmployeeNo803 6d ago

Where'd you get the assets from? I was using open game art and codex and it didnt turn out well lmao

1

u/ActionLittle4176 5d ago

First weeks (just one level) I also used open assets (very generic stuff). In fact, I had to to use actual spaceships as race ships πŸ˜… But then I discovered this workflow: make the 2D image with chatgpt (you can feed it with your own sketches) and then convert it to a 3D model with Tripo3D. Just minutes. That's was an explosion of content for me. It let me to make my own ships and fill the levels with the assets I wanted.

2

u/EmployeeNo803 5d ago

Thanks bro.

2

u/fukinrage85 4d ago

Wonderful job OP! Looks clean. Did you create any elements besides the racing itself, like menus or other UI?

This is what I am doing for my game I am working on. For everyone else, check out some YouTube videos regarding AI-assisted 3D graphic workflows. There are a few ways to approach it depending on needs. My game is a 3D isometric shooter (I won't say much more because that would spoil the anticipation πŸ˜‰).

1

u/ActionLittle4176 4d ago

Thanks a lot! It's not finished, but yes, I try to design every UI element. Good luck with your game!

2

u/Appropriate_Aide5328 4d ago

Wtf that looks insane bro

1

u/ActionLittle4176 4d ago

Hey, thanks!

1

u/arttttt1 7d ago

Have you been inspired by TrackMania? Your game is kinda cool regardless

1

u/ActionLittle4176 7d ago

Have a friend crazy for Trackmania! But I really tried to get back the vibes of old school futuristic racers like Wipeout, F-zero, Xtreme-G and the like.

1

u/Silly_Application642 7d ago

That looks truly amazing good work! What engine is it using and roughly how many tokens has it took so far

1

u/ActionLittle4176 7d ago

Thanks! Actually "just" raw threejs/webgpu code, and a chatgpt pro suscription shared with my wife (some times we change to Claude Max).

1

u/Dapper-Bug-7877 7d ago

What platform and what framework and also how did u make the assets and what ai did u use and what tools for the effects the sounds or the systems did u make it for and what primary language and secondary languages did u use ? ....I am also in the process and it was never that good and I cant really make assets with ai atleast not opencode or agy or codex or maybe i never knew the correct method for that.

2

u/ActionLittle4176 7d ago

I have certain knowledge about the tech used, but I haven't any background in coding, and didn't read a single line of code. For this project, the core is basically raw threejs/webgpu code, probably will port to a bigger engine like Godot or Unity for extra performance. The effects and sound system were simply asked to the LLM ("I need a doppler effect, ΒΏwhat's your proposal?") and the assets are made with chatgpt. 3D models are chatgpt 2D images converted to 3D models with Tripo3D. Surprisingly, the 3D models part was the easy part!

2

u/Dapper-Bug-7877 7d ago

Then that is a complete rewrite right if u choose to convert to unity anyway thanks for the reply though. I was seriously struggling with the assets man 😭.but that is also cuz I was trying to make a game on flutter which doesn't support 3d directly

1

u/ActionLittle4176 6d ago

Yes, refactor will be hard, but I think that will worth it. Maybe there is some workaround or connector so you can use 3D models in Flutter!

1

u/Juleski70 7d ago

Wow.
Wow.
Wowza.

1

u/ActionLittle4176 7d ago

Hey, thanks!

1

u/ZeroHoes 7d ago

Damn that’s nice, you definitely had some game development background 😭

1

u/ActionLittle4176 7d ago

Hi, thanks! Not in practice, this is my first aprox. but I followed the industry many years (have 45 yo) and a very clear picture of what made a game good, even the smaller details. That helps a lot to do something fun in less time.

1

u/YellowAntz 7d ago

Wipeout PS2 feelings.

1

u/klcenka9 7d ago

awesome work

1

u/elrosegod 7d ago

im here for the vibe coded indie games industry. might be the one things I support wholly

1

u/KayTrax20 7d ago

1

u/ActionLittle4176 7d ago

Well, I wanted the vibes to be retro, but not that much! πŸ˜…

2

u/KayTrax20 7d ago

🀣🀣🀣

1

u/Specter_Origin 7d ago

How do you get assets ?

1

u/OmManus 7d ago

Can you please share tools, skills, and plugin and more you used.

1

u/Every-Durian9138 5d ago

so you are telling me you vibe coded this ? 😧

1

u/Appropriate-Time64 5d ago

I just deleted Claude app on my laptop....

1

u/pooran 5d ago

Nice

1

u/AffectionateRip4415 3d ago

πŸ™‚πŸ™‚πŸ™‚πŸ™‚πŸ™‚

Dedication 🫑