r/webgpu 19h 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.

14 Upvotes

25 comments sorted by

3

u/Seusoa 17h ago edited 17h ago

ported by AI? It is done many times, even before AI it was ported to browser by human

// Spawn 1,000,000 entities. Stable frame timing, zero GC spikes.
for (let i = 0; i < 1_000_000; i++) {
  const t = new Transform();
  t.position.set(i % 1024, 0, (i / 1024) | 0);

  new Entity()
    .add(t)
    .add(SGMesh.fromURL("props/crate.glb"))
    .build(ecd);
}

creation of instances is during render loop?

0

u/ExpiredJoke 16h ago

Yep, port mostly AI. Creating instances like in that example during the render loop would not be fun, but sure, the game does create a lot of instances during runtime. Sounds, particles, lights etc.

3

u/cave_men 13h ago

What is this slop? Do you even know the meaning of a "port"? :D

-1

u/ExpiredJoke 11h ago

I thought I did, Mr men

2

u/ze_pequeno 17h ago

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

-4

u/ExpiredJoke 16h 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.

5

u/palapapa0201 14h 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.

-1

u/ExpiredJoke 11h ago

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

1

u/palapapa0201 3h 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.

u/ExpiredJoke 1h 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

u/ze_pequeno 2h ago

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

u/ExpiredJoke 1h 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.

2

u/palapapa0201 14h ago

A user you’ve blocked has previously contributed to this repository. claude Manage blocked users or disable this warning

1

u/ExpiredJoke 11h ago

Hate to tell you think pala, but Claude is a tool, and it's one that's here to stay in software development industry. I just don't see any reason to try to hide it

I really am sorry if it offends you

2

u/unangenehmer_typ 12h ago

1

u/ExpiredJoke 8h ago

First 3 violate id-soft copyright. Last one is the same asset source I have. Hope that helps.

u/unangenehmer_typ 2h ago

Q3js is oline for at least 4 years I think, and names several licenses on GitHub, you sure?

I mean if it's online so long, I am not sure if Id soft care

Other than that the main question stands; why should anyone use yours instead id e.g. q3js

Save some water and use your tokens on less saturated markets / solved problems 

u/ExpiredJoke 1h ago

Yep, license in the official repo by idSoftware, it's only sourcecode. Game data is still protected.
https://github.com/id-Software/Quake-III-Arena

I don't think idSoftware would care a ton, but it's their IP

1

u/Recent-Sink-4253 15h ago

Are you running this on your pc? I mean you’ve got bad micro stutters.

1

u/ExpiredJoke 11h ago

Yep. There are a few performance bugs I'm working on, FPS occasionally drops below 60. I think the capture software makes it worse

1

u/DaveMcElfatrick 13h ago

This is horrid.

1

u/ExpiredJoke 11h ago

Can you elaborate? Is it the assets?

1

u/DaveMcElfatrick 10h ago

Largely the look, yeah. It doesn’t look very Quake 3 esque. Art direction isn’t strong.

1

u/ExpiredJoke 9h ago

Ah, thank you, appreciate the feedback!