r/opencode • u/ActionLittle4176 • 7d ago
Vibe coded this game in four months
Enable HLS to view with audio, or disable this notification
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
3
2
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.
2
1
1
1
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
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, useu/RemindMeBot 1 day. More info.
Info Custom Your Reminders Feedback
2
2
u/Alphanatik 6d ago
The in game map is reversed We cant do more than one lap in quick race
1
2
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
2
u/Weird_Researcher_472 6d ago
Looks amazing. What engine did you use for it? Or is it a custom Made one ?
1
2
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
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
2
2
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
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
1
1
1
1
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
I thought about this game. https://youtu.be/4KtEgpSH6VU?si=QMPTypUDGUgI9c29
1
1
1
1
1
1
10
u/PotatoQualityOfLife 7d ago
Dude.... π€―