open-sourcegamethird-personreimplementationgta type: concept 创建: 2026-04-10 更新: 2026-04-10
OpenRW
GTA III 清洁室重实现开源引擎,跨平台 Linux/macOS/Windows/BSD
基本信息
核心技术点
模块化架构
rwcore/ — 核心渲染引擎(平台无关)
rwengine/ — 游戏引擎逻辑(核心业务)
rwgame/ — 主游戏应用入口
rwviewer/ — 模型/地图查看器工具
rwtools/ — 各种辅助工具
external/ — 外部依赖管理
tests/ — 测试套件
benchmarks/ — 性能基准测试
清洁室重实现原则
- 不使用原始引擎源码,纯粹基于游戏数据文件重写
- 目标:1.0 版本前不追求新增特性,专注还原原版 GTA III 体验
- 不需要 GTA III 源码,但必须拥有原版游戏数据(Steam 可购买)
跨平台设计
- CMake + Conan 依赖管理,支持 CMake Build Options 开关各模块
- GitHub Actions (Linux/macOS) + AppVeyor (Windows) 三平台 CI
- 移植到 Linux、macOS、Windows 及多种 BSD 系统
物理系统
- Bullet Physics 刚体物理引擎
- 车辆物理(驱动、碰撞)
- 行人/角色物理
渲染架构
- OpenGL 3.x 可编程渲染管线
- GLM 数学库(向量/矩阵运算)
- SDL2 跨平台窗口/输入抽象
脚本系统
- 内置脚本机(Script Machine)用于驱动游戏逻辑
- 支持新游戏开始和存档加载
玩法特点
- 目标:原版 GTA III 完全可玩(目前尚未达到,仍有 bug)
- 进度:1.0 前的主要障碍:大量 bug 修复、功能补全
- 游戏内容:Portland、Staunton Island、Shoreside Vale 三大区开放世界
- 要求:必须持有原版 GTA III 游戏数据(PC 版),需 Steam 购买
对公司 AI 游戏的参考价值
| 方向 |
启示 |
| 经典游戏引擎重实现 |
从零重写 3D 游戏引擎的完整架构(rwcore/rwengine/rwgame 分离) |
| 清洁室逆向工程 |
不依赖原码、基于游戏数据文件重写的法律安全路径 |
| 跨平台游戏引擎 |
CMake + Conan 依赖管理、多平台 CI 设计 |
| 3D 开放世界渲染 |
OpenGL + Bullet Physics 组合处理 3D 刚体碰撞 |
| 脚本虚拟机 |
内置脚本机驱动的游戏逻辑扩展机制 |
| 游戏兼容性 |
GTA III 数据文件格式解析与原版存档兼容处理 |
补充说明
- OpenRW 是非官方项目,未获得 Rockstar Games 授权
- 1.0 版本后将可能 fork 出增加新特性的版本
- 2018 年 IRC 社区活跃:
#openrw @ libera.chat
- 不适合做商业项目参考(GPLv3 + 需原版游戏数据)