DDraceNetwork(DDNet)——免费合作闯关 2D 平台跳跃游戏
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...
stuntrally3 · stuntrally/stuntrally3
一款带科幻元素的 3D 竞速游戏,用 Ogre-Next 3.0 渲染、VDrift 车辆物理,内置自家赛道编辑器;本仓库为主仓库,包含源码与游戏数据,采用 C++ 与 CMake 构建,涉及 Bullet 物理、GUI、多人、Linux 等主题。官网提供下载及赛道/车辆浏览...
DDNet(DDraceNetwork)是围绕 Teeworlds 模组生态发展起来的免费合作型 2D 平台跳跃游戏。README 将其定位为“我们自己的 DDRace 风味”,也就是在 DDRace 这一 Teeworlds 模组基础上的独立项目。它不只是一个提供源码片段的示例,还包含可实际游玩的客户端与服务端,是一个持续维护的完整游戏工程;官网提供下载入口,Steam 上也有发行版本,开发讨论则在 Quakenet 的 #ddnet 频道和 Discord 开发者频道进行。
玩法层面,DDNet 以合作闯关为核心:玩家在 2D 平台场景中共同面对关卡障碍,强调配合与操作。项目名称中的 DDRace 来自 Teeworlds 模组传统,DDNet 在这一基础上形成了自己的规则、社区与发行渠道。对于玩家而言,它是一款免费、可联机游玩的平台跳跃游戏;对于开发者而言,它同时是一个长期迭代的开源游戏项目。README 中提供了官网、Steam 页面、代码浏览器、源码文档以及构建、调试、贡献指南等入口,方便不同角色进入项目。
技术实现上,DDNet 主体使用 C++ 编写,采用 CMake 作为跨平台构建系统,并在构建流程中依赖 Rust 工具链(cargo/rustc)。README 列出的依赖覆盖图形、音频、网络与测试等多个方面,包括 SDL2、GLEW/OpenGL、Vulkan、FFmpeg、Freetype、libpng、Ogg、Opus/Opusfile、WavPack、SQLite、cURL、OpenSSL、libnotify、x264、glslang、SPIRV-Tools 与 GoogleTest 等。渲染方面项目同时涉及 OpenGL 与 Vulkan 后端;在 Windows 上使用 Vulkan 后端需要额外安装 Vulkan SDK,且该后端默认关闭,可通过构建选项调整。
平台与构建方面,DDNet 官方说明支持 Windows、Linux 与 macOS。Linux/macOS 下可以在源码根目录执行 cmake -Bbuild -GNinja 与 cmake --build build 完成编译;Windows 下既可使用 Visual Studio 的 CMake 集成,也可使用独立的 MSVC Build Tools,并需要 Python 3 与 Rust。仓库的依赖策略比较灵活:官方构建把常用库放在 ddnet-libs 子模块中,本地开发则建议优先使用系统包管理器安装依赖,也可以通过 -DPREFER_BUNDLED_LIBS=ON 选择捆绑库。README 还给出了多种克隆方式及相应体积,例如带子模块的浅克隆约 700 MiB、不带外部库的浅克隆约 150 MiB,并说明可用 git submodule update --init --recursive 补齐库。
文档与社区方面,README 链接了代码浏览器、源码文档、构建指南、调试指南和贡献指南,并提到翻译通过 Weblate 协作;仓库带有 GitHub Actions 构建状态、Codecov 覆盖率与翻译状态徽章。这些材料让新贡献者可以从构建、调试到源码阅读逐步进入项目。需要注意的是,DDNet 的依赖数量较多,Rust 版本也有最低要求(README 提到 rustc 1.85.0 及以上),部分发行版需要 rustup 或额外软件源;国内网络环境下从 GitHub 克隆 ddnet-libs 子模块、拉取依赖或访问 Steam/官网下载,速度可能受网络影响,建议结合镜像、系统包与本地缓存处理,具体情况需以实际环境为准。
适合学习的地方在于:它是一个跨平台 C++ 游戏工程,包含客户端与服务端构建目标,涉及 CMake 工程组织、第三方依赖管理、OpenGL/Vulkan 渲染后端、SDL2 窗口与输入、音频与网络库集成、自动化测试与持续集成等实践。读者可以沿着 README 的构建与调试指南先跑通项目,再通过代码浏览器和源码文档定位模块。由于项目体量较大、平台依赖复杂,不适合作为零基础的第一份 C++ 工程,但适合作为研究完整开源游戏如何组织构建、发布与社区协作的案例。
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
open-goal/jak-project 是面向 PS2《Jak & Daxter》系列的开源逆向工程与反编...