For this one, I did a massive pass on CPU performance in order to address average frame times that would degrade significantly over the course of a long level like E2L8. On my Ryzen 5 5600, E2L8 was taking 36.834ms per frame at the start of the level, and 52.948ms at the end... That's less than 30fps even at the start of the level, and quite a bit worse after traversal. In my defense, I didn't know what I was doing when I first started, and I've learned a lot since then. How much? Well, E2L8 now runs at 13.482ms per frame at the start, and 15.594ms per frame at the end of a long traversal run. Those are respective improvements of 56.9% and 72.2%. I'm still seeing outer frame times that dip below 60 fps at the very end of E2L8, but now it's down to GPU waits instead. The improvement in performance is dramatic.
I also did a huge pass on bugs. Thanks again to @3DMasterNL for all of the highly detailed bug reports! They have been incredibly helpful, and have absolutely made Duke-RT a better product.
New features and bug fixes:
- Added initial shader compilation and asset loading screen
- Fixed gaps in map geometry across the different episodes, and now E5L1 even looks alright
- 100% of the alien head switch texture in E1L3 now appears
- Cracks like the ending wall in E2L8 and decals like the E3L1 cupboard text now appear
- Tons more switches and buttons now emit light
- Screenshots (F12) and save game thumbnails in HDR now look normal
- Translucent forcefield and enemy transporter shine now appear
- Lots of light tweaks, additions, and fixes across levels
- Offscreen laser trip-mines clean up after disappearing now, saving bad CPU time costs
How to install/run (Windows):
- 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)
- Download the .zip file in the assets section from this release
- Unzip Duke-RT to your computer
- Run launch-duke-rt.cmd in that folder
- Give it the path to your Duke 3D install (if it doesn't find it automatically)
- Let it grab the normal maps from Duke World Tour (if that's your Duke version, will still work without them)
- Let it open your browser to grab the voxels
- Download the voxels from that site
- Go back to the Duke-RT console window and hit enter
- Let it unpack the voxels into its own directory for you
- Proceed into the game
- Always run via launch-duke-rt.cmd in the future
How to install/run (Linux):
- 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)
- Download the Linux tarball in the assets section from this release
- Untar Duke-RT to your computer
- Run launch-duke-rt.sh via CLI from that folder
- Give it the path to your Duke 3D install (if it doesn't find it automatically)
- Let it open your browser to grab the voxels
- Download the voxels from that site
- Go back to the Duke-RT console window and give it the path to your voxel zip file
- Let it unpack the voxels into its own directory for you
- Let it grab the normal maps from Duke World Tour (if that's your Duke version, will still work without them)
- Proceed into the game
- Always run via launch-duke-rt.sh in the future
Up next
- Finish off AMD support