The source code for the Descent 3 PC game is now available on the GitHub repository. This is a 3D game with no up or down and you may move in true 3D. This was a challenging, but amazing game to play. Descent 3 is set around Mars and Venus, with the same 3D gameplay and six degrees of freedom to move in any direction. Moving in zero-g with a floating ship is different to playing Doom where you are stuck on the ground walking in 2.5D. Imagine making a Doom game with zero-g and using the Descent 3 engine. This source code release does have some proprietary sound libraries removed, but these could easily be replaced with something more modern to ensure that the game works on modern computers. It is great to see source code with changes dating back to 1998. The Directplay source should be fascinating. I tried to compile the source code on Alma Linux 9.3, but I did not have support for compiling 32-bit code, and it failed.
Use cmake to compile the source code on Linux. But you require support for 32-bit code in GCC.
(jcartwright@2403-4800-25af-b00--2) 192.168.1.5 Descent3 $ cmake . CMake Deprecation Warning at CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. -- Could NOT find Threads (missing: Threads_FOUND) -- Found SDL: /usr/lib64/libSDL.so (found version "1.2.60") -- Found SDL_image: /usr/lib64/libSDL_image.so (found version "1.2.12") SDL Include Dir is /usr/include/SDL Building for Linux Install will copy files to ~/Descent3/ CMake Warning (dev) at scripts/CMakeLists.txt:76 (GET_TARGET_PROPERTY): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "aigame2". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at scripts/CMakeLists.txt:76 (GET_TARGET_PROPERTY): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "AIGame3". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at scripts/CMakeLists.txt:76 (GET_TARGET_PROPERTY): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "aigame4". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. |
But this is an exciting source code release indeed.
Download the source code.
(jcartwright@2403-4800-25af-b00--2) 192.168.1.5 Documents $ git clone https://github.com/kevinbentley/Descent3.git Cloning into 'Descent3'... remote: Enumerating objects: 2945, done. remote: Counting objects: 100% (483/483), done. remote: Compressing objects: 100% (277/277), done. remote: Total 2945 (delta 253), reused 210 (delta 205), pack-reused 2462 Receiving objects: 100% (2945/2945), 19.80 MiB | 5.36 MiB/s, done. Resolving deltas: 100% (1472/1472), done. |
This should compile on Mac as well as Linux, but porting this game natively to Linux would be very nice.
This is a lot of code.
(jcartwright@2403-4800-25af-b00--2) 192.168.1.5 Descent3 $ cloc . 2289 text files. 1585 unique files. 791 files ignored. github.com/AlDanial/cloc v 1.99 T=2.17 s (730.5 files/s, 426495.7 lines/s) --------------------------------------------------------------------------------------- Language files blank comment code --------------------------------------------------------------------------------------- C++ 440 71226 287003 356371 Assembly 4 4005 7082 64943 C/C++ Header 387 14289 35243 44371 make 52 3966 4264 10931 CMake 354 1181 1001 6158 Gencat NLS 113 1525 0 4081 C 11 403 459 2590 Text 109 203 0 1569 Windows Module Definition 3 0 0 1209 Visual Studio Solution 1 1 1 257 Objective-C 1 80 61 240 TypeScript 104 0 0 208 MSBuild script 1 0 0 181 YAML 3 9 0 178 Markdown 1 14 0 16 Bourne Shell 1 0 17 7 --------------------------------------------------------------------------------------- SUM: 1585 96902 335131 493310 --------------------------------------------------------------------------------------- |
Descent 3 weapons: https://strategywiki.org/wiki/Descent_3/Weapons
Descent 3 cheats: https://strategywiki.org/wiki/Descent_3/Cheats