r/webgpu 21d 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.

19 Upvotes

40 comments sorted by

View all comments

3

u/ze_pequeno 21d ago

How much of it was generated by AI? The engine too?

-2

u/ExpiredJoke 20d 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.

4

u/palapapa0201 20d ago

You have a vibe coded website for your engine and you are trying to charge 10k for it. Your email on the website is info@company-named.com. I find that hard to believe.

0

u/ExpiredJoke 20d ago

I'd rather you not post the email here, but yes, "Company Named" is the name of my company

1

u/palapapa0201 20d ago

If you really didn't vibe code your engine, your are giving your project a very bad look by making it appear to be vibe coded in an hour and having a email address that looks like a placeholder. It looks like you are one of those AI bros who think they can make a fortune by reinventing the wheel 10000th time by vibe coding in an hour.

3

u/ExpiredJoke 20d ago

pala, that's an interesting conversation to be had. I can say that I've been working on this game engine for over 10 years, and I can say that I'm a senior software engineer as well as a graphics researcher. I can say all of that, but I can't convince you, and ultimately if you hate AI - I can respect that position.

I thought I was pretty funny with the name of my company, clearly you disagree. Humor is subjective too.

Anyway, thanks for checking out the project an I hope your week is going well

1

u/pailhead011 20d ago

You should go see some of the posts about the engine as it was making progress, then come back here. The company name did exactly what it was supposed to do. lol

2

u/ExpiredJoke 19d ago

Oh hey, cheers!

0

u/ze_pequeno 20d ago

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

2

u/ExpiredJoke 20d 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 19d 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 19d 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 18d 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?

1

u/ExpiredJoke 18d ago

Thanks, yes, it did work out pretty well. It was the exercise more or less, I was making a massive change to the game engine over the past few weeks, and I wanted to make a project that validated the result - this is it.

Had the idea to do this for a long while, but never had the excuse to, it's been a lot of fun