open-sourcegameenginetomb-raiderlua-scriptingcpp type: concept 创建: 2026-04-10 更新: 2026-04-10
Tomb Engine (TEN)
Tomb Raider 1-5 引擎清洁室重实现,支持 Lua 脚本、高帧率、抗锯齿、骨骼动画、对角线几何体
基本信息
核心技术点
模块化架构
- Game/ — 游戏逻辑(Animation/Collision/Control/Effects/Lara/Misc/Items/Room/Sink/Spotcam/StaticMesh 等子目录)
- Renderer/ — 渲染管线(ConstantBuffers/Draw/Draw2D/DrawEffect/DrawMenu/PostProcess/SMAA/ShaderManager/Structures)
- Scripting/ — Lua 脚本系统(Include/Internal 分层,sol2 C++ Lua 绑定库)
- Physics/ — 物理系统(CollisionMesh/Objects)
- Resources/ — 资源管理(音频/纹理/着色器)
- Specific/ — 平台特定代码(Input/IO/Clock/Configuration/Parallel/Winmain)
Lua 脚本系统
- 使用 sol2 库绑定 C++ 和 Lua
- Scripting/Internal/TEN/ 下分为 Objects/Audio/Effects/Flow/Input/Inventory/Logic/Sound/Strings/Types/Util/View
- 暴露 Game/Level/State 三层 ScriptInterface
- LuaHandler 管理脚本执行(ExecuteScript/ExecuteString)
- MakeReadOnlyTable 模板方法生成只读配置表
渲染特性
- 高帧率支持
- 抗锯齿(SMAA 集成)
- Mipmapping
- SSAO(屏幕空间环境光遮蔽)
- 完整骨骼动画支持(Skeletal Animation)
- 对角线几何体支持(经典引擎限制突破)
Tomb Editor 配套
- 引擎与编辑器分离(TombEngine 仓库 + TombEditor 仓库)
- TombEditor 用于关卡创建和测试
- TombIDE 用于项目管理和调试
玩法特点
- 支持 Tomb Raider 1-5 的经典玩法
- 无缝关卡转换
- 无限制的地图大小
- 现代化渲染管线同时保留原版逻辑
对公司 AI 游戏的参考价值
| 方向 |
启示 |
| Lua 脚本层设计 |
sol2 C++/Lua 绑定模式,Game/Level/State 三层 ScriptInterface 可复用 |
| 渲染/逻辑分离 |
Renderer/Game/Math/Physics/Resources 完全模块化 |
| 经典游戏现代化 |
清洁室逆向 + 现代渲染管线结合的范式 |
| 工具链生态 |
引擎 + 编辑器 + IDE 三件套分离设计 |