open-sourcegamefpsbuild-engineion-furyduke-nukem-3dshadow-warriorblood type: concept 创建: 2026-04-09 更新: 2026-04-09
EDuke32
先进 Build Engine 端口,支持 Duke Nukem 3D / Shadow Warrior / Blood / Ion Fury
基本信息
| 项目 |
内容 |
| GitHub |
voidpoint.io/terminx/eduke32 (官方 GitLab,非 GitHub) |
| 语言 |
C/C++ (~116K LOC duke3d/src) |
| 构建系统 |
GNU Make + CMake |
| 渲染/引擎 |
Build Engine (Ken Silverman) + OpenGL/Software |
| 许可 |
GPLv2 |
| 平台 |
Windows/Linux/macOS/Android |
核心技术点
多游戏支持架构
- duke3d/ — Duke Nukem 3D 游戏逻辑
- sw/ — Shadow Warrior 游戏逻辑
- kenbuild/ — Ken Silverman 原始 Build 引擎代码
- build/ — 现代 Build 引擎扩展
Ion Fury 原生支持
FURY=1 构建配置将 APPNAME 设为 Ion Fury
- 完整 Ion Fury 游戏逻辑内嵌(而非第三方mod)
嵌入式依赖库
- mimalloc — 高性能内存分配器
- libxmp-lite — MOD/XM tracker 音乐播放
- PhysicsFS — 虚拟文件系统
- imgui — 调试/编辑器 UI
共享 FTEQW 基础设施
- 与
[open-source-game/fteqw](/open-source-game/fteqw) 同仓库 (monorepo)
- engine/ 目录为 FTEQW 引擎代码
- audiolib、glad、voidwrap 等共享库
玩法特点
- 经典 FPS 游戏运行容器
- 高度可定制的 Build 引擎渲染器
- 支持大量原版游戏内容 (Duke3D GRP, SW GRP, Blood)
- Ion Fury 作为首选开发目标
对公司 AI 游戏的参考价值
| 方向 |
启示 |
| 多游戏架构 |
子目录分离游戏逻辑,复用共享引擎基础设施 |
| 构建系统 |
GNUmakefile 多配置(FURY/NAPALM/NAM)实现游戏变体 |
| 性能优化 |
mimalloc 嵌入式使用,避免外部依赖 |
| imgui 集成 |
调试 UI 内嵌,支持游戏内开发者工具 |
备注
- 清单 URL
github.com/voidpoint-io/eduke32 不存在,实际为 voidpoint.io/terminx/eduke32 (GitLab)
- 此仓库为 FTEQW + EDuke32 monorepo,wiki note 仅覆盖 EDuke32 部分