The game called DESCENT
Descent is a 3D first person shooter that takes place in the distant future. The PTMC (Post Terran Mining Corporation) owns a lot of mines, spread all over planets in our solar system. Somehow all the mining robots become infected with a computer virus and took the human workers hostage. Your job is to infiltrate the mines, clean out the robots, rescue any hostages you find, and lastly destroy the infected mines by destroying its reactor. You control a small anti-grav vessel called a Pyro-GX, your only hope in this metallic nightmare.
Descent was developed back in 1995 by Parallax Software and published by Interplay. It was a milestone in computer-gaming because it was the first game to truly take advantage of all three dimensions in the virtual space and had enemies that were not simple 2D sprites, as in Doom, but real 3D polygon models.
In 1996 Interplay released the second part of the successful saga. Developed by Parallax again, Descent 2 was one of best games in that year.
This time, your job is it to clean up the PTMC deep space mines outside the solar system. There the player encountered over 30 new, deadly robots in 30 new mines with new textures. The Gameplay was the same as known from Descent because it uses the same engine.
As the game is already a real old-timer, it has – like Descent, too – a huge and strong community full of fans who love the saga and still play it as on the first day.
1997 and 1998 the Source code of Descent and Descent 2 was released by PARALLAX under the flag of a non-commercial Open Source license. As a result, LDescent, D1X (Descent 1 eXtended) and D2X (Descent 2 eXtended) were developed. These initially introduced sound output via SDL, OpenGL rendering, UDP for Multiplayer and many overall improvements to the original games.
However the development of LDescent stopped when D1X came out and D1X itself fell asleep some day and D2X followed later on.
But it’s the nature of Open Source that the torch will be passed and never be extinguished…
In September 2005 I started the write some small installer scripts for some older Linux binaries of the latest versions of D1X and D2X. Pretty fast I noticed that with the Source I had more possibilities I could ever imagined.
As Linux-user and enthusiast of the Open Source-movement it was only a logical step the provide my work to everyone loving Descent and Descent 2 as much as I do.
I had no experience about programming but I had the “my way or the highway”-attitude. So I learned and in January 2006 I provided my very own binaries of D1X and D2X for Linux and Windows.
While not having it’s own features or improvements, I now had my own ports of the games:
D1X-Rebirth – for Descent
D2X-Rebirth – for Descent 2
Together they form the DXX-Rebirth project.
As time went by, I worked a lot on DXX-Rebirth and a lot changed. While still maintaining my own Philosophy about the original Feeling of the games, I introduced new features, fixed old glitches and little annoyances and as well cleaned up a lot of the old code. Some helping hands joined the team and enrich DXX-Rebirth with their own skills and ideas.
And this process still goes on – it always will – since finished Software is dead Software. The world of IT is a fast-paced and we keep the project on track.
To support a lot of Hardware and maintaining a portable code base, a lot needs to be done.
Therefor, we use the the full potential of Open Source to provide a reliable and stable piece of Software
a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
and DXX-Rebirth makes full use of it.
With SDL_mixer we support many new Audio formats to improve and extend the musical experience of the games.
The rendering is done via OpenGL to provide a fast rendering and smooth graphics.
PhysicsFS fully supports Descent and Descent 2 HOG files and movie formats and provides a portable, flexible file i/o abstraction.
Using Valgrind we check our code to find memory corruptions and leaks, improving the games stability and reliability.