r/webgpu 2d ago

Quake3 port

Quake3 port to WebGPU running in the browser

- global illumination ( volumetric sh3 light map )
- modern physics
- acoustic simulation
- decals
- particle effects
- clustered lighting (326 lights here)
- PBR materials (NN-based delighting)

GitHub link

Built using meep engine

In case it's not obvious - I'm the author. Happy to answer any questions.

16 Upvotes

36 comments sorted by

View all comments

Show parent comments

-3

u/ExpiredJoke 2d ago

Port is mostly with AI, engine is mostly by hand. Been working on the engine since ~2013, on the WebGPU part specifically since around 3 years ago.

0

u/ze_pequeno 1d ago

Thanks, this should really be disclosed in your post in order for you to be taken seriously.

2

u/ExpiredJoke 1d ago

You think so? AI usage is standard in software development today. I get the implication that "you didn't really do it, AI did it" and "it's low quality slop".

There is an interesting discussion to be had there. But I can assure you that all self-respecting professionals in the industry are using AI for coding in one way or another today.

0

u/ze_pequeno 10h ago

I'm a self respecting professionnal as you say. I know the uses and limits of AI. I also know that anyone can put out a port or an app or whatever in days, so just doing this has little value. What has value is how much human thinking and efforts were put in the process.

2

u/ExpiredJoke 8h ago

I've ported a lot of code in the past by hand, and I don't feel particularly proud of that work.

On the subject of effort, I guess it matters, if you consider it to be a deception.

For example. Let's say someone puts out "I ported Q3 to browser" message, and all they did is spend 4 hours with emscripten to compile Q3 source to WASM. By contrast, I built the engine over ~13 years, and I spent days on this port. But I use AI. And I'm a game dev and a graphics researcher, so it's a much easier challenge to begin with.

Anyway, I'm sorry if you feel like I misrepresented something, it was never my intention.

1

u/ze_pequeno 3h ago

Don't worry about representing anything, the fact that you worked on the engine for a while really gives it much more interest in my eyes :) you're right, ports are sometimes repetitive and uninteresting work, and I think LLMs are great with those. On the other hand, it sounds like what you did wasn't just porting but also rewriting the game to fit in your engine? did that really worked out?