D2X-XL Worklog

Notes on features and problems from the development of D2X-XL, newest first.

Smoke Again

On my never ending quest of improving D2X-XL ... errm, did I say that before? Anyway. Did you notice that ugly 'tunnel' effect when looking into the smoke trail of a missile you had fired from your ship? I did, and I didn't like it at all. I had made quite a few attempts to get rid of it, but none of them had been successful. The problem behind the issue was that the smoke particles had to be rendered according to their distance from the viewer, farthest first, and I just couldn't think of a way to sort a couple thousand particle positions so fast every frame that I'd still achieve a decent frame rate.

I found a kludge by determining whether the smoke emitting object was moving to the viewer or away, and that helped somewhat ... but not in all cases, so I wasn't satisfied. After a lot of pondering on the issue an ingenious thought struck me like a flash of lightning: The solution was not to sort the particles at all! Well, at least not as brute force as I had tried before. All I needed was a depth buffer managed by the program where I could 'stick' the particles on depending on their distance to the viewer. To keep the depth buffer reasonably small, I needed to do some scaling of the depth (Z) coordinates and implement a simple collision hashing for particles at the same (scaled) depth.

The implementation was really simple, and it proved to finally give me smoke effects in the quality I had always desired and at absolutely great frame rates. Even sorting particles at the same scaled depth according to their actual distance from the viewer didn't noteably hit the frame rate. Actually I couldn't even see it improving visual smoke quality any further, but I just left it in as an option for the heck of it.

A disclaimer: The new rendering method will not increase general smoke rendering speed. So if a system is to weak to offer a lot of fill rate, smoke will still slow down the game. But if your computer could handle smoke in D2X-XL before, it will now look much greater.

Because a picture says more than a thousand words, I have prepared around 3.75 million words (the equivalent of a 2:30 video clip at 25 fps ) for you (the low frate rate is due to video recording with Fraps):


News

A new D2X-XL update fixing broken screen resolution persistence is available

There is yet another D2X-XL update is available (the new Pumo Mines broke a few things ...)

Believe it or not: There's a new D2X-XL version online!

Uploaded updated D2X-XL and library source code that compiles with Visual Studio 19

After a really long time, another new DLE version is available

A new DLE version is available (hear, hear!) :D

A new Max OS X version of D2X-XL is available!

D2X-XL now offers a cartoon style render mode!

New D2X-XL and DLE versions are available

Blarget has got his own area in the level spotlight

New D2X-XL and DLE versions are available

A couple of levels have been added to the level spotlight

Hooray! We're finally having a new Mac OS X version of D2X-XL!

D2X-XL now features an observer mode for multiplayer games

A new D2X-XL version with improved multiplayer synchronization is available

A new D2X-XL version fixing out of sync problems in multiplayer games is available

A new D2X-XL version with many multiplayer bug fixes is available

Added high quality (ogg) Descent 1 and 2 music to the downloads area

A new D2X-XL version with important bug fixes is available

D2X-XL compiles and runs on Linux again!

Descent 1 and 2 high res textures are now available as complete downloads

A new DLE version with a ton of bug fixes and improvements is online

A new D2X-XL version is online

A new D2X-XL version with a much needed bug fix is online

A new DLE version is online

Published another DLE version with more bug fixes and improvements by Sirius

Published a new D2X-XL version

Published a new DLE version with tons of bug fixes and improvements by Sirius

D2X-XL now supports Oculus Rift 3D headsets!

Updated DLE and D2X-XL to support new level features requested by Pumo

Added an article about DLE's new tunnel generator to the worklog

DLE's new tunnel generator is finished

Added a new article to the worklog

Published a new DLE version

Added a new article to the worklog

Added two new articles to the worklog

D2X-XL and DLE-XP now support triangular segment sides!

DLE-XP has an OpenGL render and 1st person view!

New DLE-XP version available

Wrote a new worklog article

Check out DarkFlameWolf's level spotlight section!

New DLE-XP and D2X-XL versions are available

A new DLE-XP version is available

Added a worklog article about the way point feature

Added way point support to DLE-XP and D2X-XL

Posted a bunch of new screenshots

Posted a bunch of new screenshots

A New version of DLE-XP is available

New OS X version of D2X-XL is available!

Added article about lightmaps to worklog.

New article and video added to worklog.