Descent3

DescentDevelopersGPL-3.0活跃维护

经典射击游戏《Descent 3》的完整 C++ 源码,包含引擎与游戏逻辑,可用于学习 3D 游戏引擎实现或基于原版做二次开发。

Descent 3 by Outrage Entertainment

v1.5.0发布于 2024-08-16 21:53 UTC3,020star295fork同步于 2026-11-10 11:42 UTC

怎么上手

由 README 提炼,执行前请确认
参见 BUILD.md 中的构建说明
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Descent 3 开源游戏引擎,含社区稳定的 1.5 补丁,需自备游戏文件

经典射击游戏《Descent 3》的完整 C++ 源码,包含引擎与游戏逻辑,可用于学习 3D 游戏引擎实现或基于原版做二次开发。

核心能力

  • 开源 Descent 3 引擎,采用 GPL-3.0 许可
  • 内置 Kevin Bentley 与 Jeff Slutter 的 1.5 补丁
  • 由 Descent 社区维护至稳定状态
  • 构建与安装说明分别见 BUILD.md 和 USAGE.md

容易踩的坑

必须自备原版游戏文件才能运行,README 未给出具体构建命令,需查阅 BUILD.md

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

1 个版本v1.5.0
  1. v1.5.0最新正式版2024-08-16 · 2024-08-16 21:53 UTC

    This is the first release of the community port of Descent 3, released as open source software under the GPLv3 license on April 16th 2024.

    This release is the work of 28 individual contributors over 4 months. It fills in the gaps left in the never-released 1.5 patch of the game, and makes it more accessible and convenient to run on modern devices.

    Our focus for this release has been compatibility with modern CPUs and developer experience improvement, while keeping features mostly identical to the code initially released. The next releases will be given more latitude to improve in-game player experience. Descent 3 now runs on 64-bit Linux, Windows and MacOS using SDL2, on AMD64 as well as ARM64 CPUs. 32-bit support has been dropped.

    Important note: This open source distribution of Descent 3 DOES NOT CONTAIN GAME ASSETS. Assets must be acquired separately from an official copy of the game, and copied as described in the USAGE.md file shipped with the executable.

    Also, feel free to contribute to the collaborative roadmap to shape the next Descent 3 release!

    Complete Changelog

    Added

    • New HogMaker utility script to build platform-specific HOG files containing level scripts (#122, #143, #153, #275, #277, #298)
    • Set up gtest as a unit testing framework (#171, #251)
    • Show git hash in main menu (#224, #440, #451)

    Changed

    • Use SDL2 on all platforms (#241, #457). Upon code release, the Windows was using an old version of DirectX for input and window management, and Linux and MacOS were using SDL1.2 from the Loki port of the game. All operating systems now use a common SDL2 back-end.
    • Use a configuration file instead of the registry to store game settings on Windows, to be consistent with the other OSes.
    • Support 64-bit builds on all platforms (#59, #158, #178, #179, #192, #233, #272, #354, #356, #357, #385, #397). 32bit compatibility for existing savefiles and demos is not functional.
    • Eliminate assembly code specific to x86 (#72).
    • Add icons to Windows and MacOS bundles (#498)
    • Replace OS-specific filesystem functions by C++17 std::filesystem in the CFile and DDIO modules (#383, #443, #475, #484, #486, #499).
    • Use standard temporary directory for cache files instead of game data directory (#500)
    • Implement new byteswap functions (#85, #165, #172)
    • Build the internal level editor using MFC UI framework. The executable is not included in this release because it is still very unstable and not usable, and can only run on Windows (32-bit) (#397, #476)
    • Render the game to an OpenGL Frame Buffer Object at the game's resolution (#437)
    • Format code-base using clang-format (#13, #16, #19, #24, #51, #438)
    • Use upstream libacm 1.3 for ACM audio decoding (#135, #191, #221)
    • Implement a new MVE video decoder based on the open source implementation used in D2X (#289). MVE movies for intro and cutscenes can now be played on all platforms. OGV movies shipped with the Linux game cannot be played yet.
    • Use the "push" model of filling sound buffer for MVE playback (#491)
    • Write a new implementation of the md5 algorithm used to compute checksums. (#316)
    • Use VCPKG to build third-party dependencies not included in the code tree, such as SDL2 and zlib (#137, #430, #469, #512).
    • Set up automated build and testing using Github Actions for Linux (clang/gcc), Windows (MSVC) and MacOS (apple-clang, x64 & arm64) (#14, #28, #29, #45, #50, #60, #123, #133, #139, #155, #166, #177, #182)
    • Modernize build system: require CMake 3.20, use present-day CMake practices (#20, #63, #77, #86, #99, #104, #127, #131, #144, #220, #225, #227, #235, #256, #318, #340, #400, #407, #422, #460, #463, #482, #504)
    • Ensure compatibility with popular compilers, convert misc. pieces of code to modern C++ (#17, #20, #23, #40, #54, #58, #70, #108, #304, #328, #344, #358, #388, #405, #416)
    • Mark relevant var

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    d3 (1)

    This is the Descent 3 open source engine, licensed under GPL-3.0. It includes the '1.5' patch written by Kevin Bentley and Jeff Slutter several years ago and brought to a stable condition by the Descent community.

    In order to use this, you must provide your own game files. See the USAGE.md file for details about installation.

    To build the game, follow build instructions in the BUILD.md file.

    Build or runtime issues should be reported on our GitHub tracker.

    Contributing

    Anyone can contribute! We have an active Discord presence at Descent Developer Network. Patches should be submitted on GitHub.