github postmemetic/Duke-RT 0.4.1
Even more speed and smoke!

4 hours ago

For this release, I tweaked settings and did yet another perf pass. On my RTX 5070 Ti, I reclaimed a couple more ms per frame on GPU! I also did a bunch of work on smoke to improve the way it receives light as well as get it performing a lot better. There are now smoke settings with low, medium, high, and ultra profiles. Don't use ultra.

19

How to install/run:

  1. Purchase and install Duke Nukem 3D: 20th Anniversary World Tour (or otherwise have it installed on your computer - you need a commercial version of Duke 3D to use with the Duke-RT engine fork)
  2. Download the .zip file in the assets section from this release
  3. Unzip Duke-RT to your computer
  4. Run launch-duke-rt.cmd in that folder
  5. Give it the path to your Duke 3D install (if it doesn't find it automatically)
  6. Let it grab the normal maps from Duke World Tour (if that's your Duke version, will still work without them)
  7. Let it open your browser to grab the voxels
  8. Download the voxels from that site
  9. Go back to the Duke-RT console window and hit enter
  10. Let it unpack the voxels into its own directory for you
  11. Proceed into the game
  12. Always run via launch-duke-rt.cmd in the future
24

New stuff:

  • Attempted a fix for black screen on transition to maps
  • Fixed issue where voxel actors would flicker out of existence for a single frame while a voxel variant loaded (really evident on switches)
  • Lighting pass
    • Brightened up E1L2 opening
    • Brightened up parts of E1L3 and added a light to the chapel
    • Made E2L3 elevator foyer brighter
  • Smokestravaganza
    • Smoke now has different quality profiles that map to amount of work done per frame
    • Gunshot muzzle smoke and impact smoke generate analytic carriers that get simplified lighting and don't exhaust world smoke grid volume
    • World smoke gets compacted on look-away to avoid permanent work scaling
    • Added cool looking smoke all over E1L1
  • Removed REBLUR from denoiser options, as there might be some issue with the inputs I'm feeding it, resulting in extreme graininess
  • Now building map chunk identity more directly from engine for better caching and reuse
  • Stripped material payload CPU waits for new voxel variants out of the hot path
  • Added a whole smoke system with grid-based densitites, temperatures, buoyancy, albedo, etc.
    • Smoke includes a very simplistic fluid sim that will cause smoke to migrate based on heat and density over time
    • World-space radiance pooling that lets smoke take light from all sources
    • Temporal accumulation for radiance affecting smoke
    • Added a bunch of rules for smoke triggered by things like fire, rocket projectiles, explosions, etc
  • Added a map smoke editing system, so I could start adding atmospheric smoke emitters to maps
20

What's coming next:

  • More smoke and lighting tweaks across the three main episodes
  • Water and other fluids
  • Complete overhaul of spatial partition management
    • The current approach mostly gets Build portal behavior working with BLAS/TLAS-driven ray acceleration
    • But it includes a bunch of band-aids and has some weird issues, like unlit areas from room-over-room encroachment in E1L1
    • And it precludes neat features like smooth ray transport between spaces above and below water, preventing refraction
    • I just want to fix it once and for all and stop fighting with it
    • I already have a branch where it's kinda working but the additional indirection in the ray tracer is screwing up perf

Don't miss a new Duke-RT release

NewReleases is sending notifications on new releases.