This port was intended to be as faithful as possible to the original WinQuake version. It was developed by Codex using Sol set to High. The /goal command was used and the LLM was left to run for 3 days before it was interrupted. The LLM used the PlayCanvas Engine for the renderer.
I steered the LLM on a number of occasions to address some bugs I noticed during play testing. Otherwise, it was completely autonomous. Nearly 500 automated tests were developed as part of the process. Chocolate Quake was used for visual references and pixel comparisons were made to achieve as faithful a rendering as possible.
Source is here:
https://github.com/willeastcott/playcanvas-quake
One other little easter egg you may not have noticed. There's an American flag gently fluttering in the breeze on top of a nearby building. We were discussing whether to adds some birds as well, but that never made the final cut. You ask about factoring lighting away from the scene - actually, PlayCanvas can already do relighting and shadow-casting for gaussian splat-based scenes:
Some kind of day/night toggle would have been another great feature...but again, it didn't make the final cut of the experience. Maybe a HD Remix is needed. :o)
Yes, the cars are separated out and procedurally animated. They're splats, like the rest of the scene. Easily done in PlayCanvas - simple but effective!
The SOGS compression technique works well. You can get 1M Gaussians with full spherical harmonics in about 14MB. There's a good article about it on the PlayCanvas blog:
When you say that PlayCanvas is commercial, that's a little misleading. The PlayCanvas Engine (analogous to Three.js and Babylon.js) is free and open source (MIT). The PlayCanvas Engine is where you'll find all the cool 3DGS tech. There are two further frameworks that wrap the Engine (for those that prefer to use a declarative interface): PlayCanvas Web Components and PlayCanvas React. Again, both of these are free and open source (MIT). Only the PlayCanvas Editor (analogous to a browser-based Unity) has optional payment plans (for those that want to create private projects).
It's very similar to PlayCanvas React, but with a fully Web Components-based architecture. You can use the same scripts interchangeably between both frameworks.
I'm assuming you started working on this before their React release, or was Web Components chosen for a specific reason?
I'm trying to make something that can take in real-time data and also handle some XR/AR if possible as well, but I am pretty ignorant beyond html/css/js.