I have a few plans for an updated Quake engine for the Dreamcast. This time, focusing on speed rather than extra features. It would still be rendered via software, but with my current level of knowledge it should be significantly faster than the latest Dreamcast versions of Makaqu.
Here's a to-do list:
- Faster BSP z-buffer rendering
- Faster texture rendering (for BSP, SPR & MDL models)
- Faster surface cache drawing
- Lightmap dithering on surface caches - this is only calculated when lighting changes, so the impact on performance won't be noticeable
- Faster sky rendering (with no blending and no fading)
- Proper high-res underwater screen warping (this may not make much visual difference, but is also faster)
- High-res turbulence on liquid surfaces
- Stippled translucent liquids (water & slime only)
- No alpha blending of any kind (to simplify the code and reduce RAM usage)
- No cel-shading and no outlines (same reason as above)
- A proper 8-bit video mode, through a twiddled 8-bit texture buffer.
So far I'm planning to use the Makaqu 1.3.1 source as a base, backporting the DC controller code improvements & 50Hz support from Makaqu 1.6 and several speed optimizations from Retroquad (my current wip PC Quake engine) listed above.
I'm not sure how fast it should get, but there's a plausible chance of 640x480 being playable (at least on slower games such as Codename: Envenom and Prydon Gate), with 320x240 being well suited for fast-paced action. Maybe even fast enough for people interested in developing DC games using it (although the unfiltered software-rendered look can be off-putting). The speed improvements I've got in the PC are very significant, enough to make this kind of improvement possible in full HD: before & after lighting smoothing, and a texture smoothing comparison. Per-pixel dithering would slow down the DC too much, but lightmap dithering on surface caches can at least help on a per-texel level and is fast enough for the DC to handle.
The question is, I'm not sure if there is a community interest in this kind of project anymore. There will always be a couple of people interested, but I'm not sure if there's more than that. I've got a strong bad feeling about this.
The Quake single player community has been releasing many great maps in the last years, and several of them could work in the DC. I once helped to put together a pack of 300 Quake deathmatch maps for the DC, and something similar could be worked on for this engine, this time using single player maps & episodes. There's always new Quake maps coming out.
My next months will be busy, but I may get most of this engine work done by the end of the year. I'll leave this thread here to see if there's any interest.