D2X-XL Worklog

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

D2X-XL Tweak Guide

Here are a few hints what you can do if D2X-XL runs too slow for you. Basically the hints boil down to three categories:

  • Decrease memory usage
  • Decrease the burden put on the lighting system
  • Decrease usage of computationally intensive effects


Decrease memory usage

  • Don't use the highest texture quality for hires textures, the second highest quality really is good enough and only requires 1/4 of the texture memory.
  • Depending on the number of light sources, texture space for lightmaps can become pretty big. Usually "medium" lightmap quality is good enough and requires way less memory.
  • Another way to decrease texture memory usage is to set "-model_quality 2" in d2x.ini.


Decrease the burden on the lighting system

This category actually might be split in two subdivisions: Decrease the number of light sources, and decrease the number of "entities" (vertices) to be lit.

  • turn on hardware object lighting
  • limit light sources/object to 8
  • turn off powerups being light sources (that will result in only powerups that might emit light - like energy sparks or shield orbs - actually emitting light)
  • Set "-fix_models 1" and "-alt_models 1" in d2x.ini, as this will make D2X-XL use optimized models of the standard robots with way less faces and vertices.
  • Use per vertex lighting combined with lightmaps. That usually looks almost as good as per pixel lighting and is much, much faster. If your hardware has problems with handling the lightmaps, fall back to pure per vertex lighting.
  • Only use the weakest mesh improvement, or turn it completely off. Mesh improvement creates a lot more vertices, and with a lot of light sources around (like shots or powerups), can slow the lighting calculation down significantly.
  • If this still isn't good enough, turn off high res models and 3D powerups and use the high resolution sprites for the latter instead (they still look great).


Decrease usage of computationally intensive effects

  • Most of these are related to using effects based on D2X-XL's particle system.
  • Explosion shrapnel really can kill the frame rate. Turn it down, and if necessary off.
  • Particle light trails are also very expensive to render. Chose solid light trails instead, they look almost as good.
  • Turn off gatling smoke trails as these are also particle based (technically they are a particle trail like the one of lasers, they just don't emit light and are gray).
  • Uncheck "Disperse Smoke" in the smoke render options. Dispersing smoke is created by making the smoke particles grow and get more transparent, and lots of big smoke particles close up mean that a lot of data has to be written to the gfx cards memory, which can slow the renderer down significantly. This way, smoke particles shrink while decaying which looks almost as good and avoids the heavy overdraw.
  • Turn off explosion lightning effects, set the lightning quality to "low", the style to "jaggy" and turn off lightning plasma. Imo the lightning effects adding most to the game are "damage lightnings" (the blue static discharges creeping over a robot when it is severely damaged) and the omega lightnings. Lightnings usually also add a lot of light sources that need to be handled on top of what is already there.
  • Highest corona quality will only be fast enough on good gfx hardware, as it does some more or less advanced render buffer and shader stuff (I found it to work well on ATI Radeon X850 XT and X1900 XT).
  • Turn off real-time shadows. They may look cool, but are somewhat costly to render (and make people fire at the shadows instead of the robots anyway ... )
  • If you have a multicore CPU, turn on multithreading. This will mostly avoid framerates dropping too much when creating effects that cost a lot of CPU power.

On my system (dual core Athlon 4400, Radeon X1900 XT w/ 256 MB VRAM), I can turn on most of the stuff above and hardly ever experience lag. So contrary to what some might say, you don't need the latest high end machine to enjoy most of D2X-XL's goodness.


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.