# OpenRW：《侠盗猎车手 III》引擎的开源重新实现

> 以跨平台 C++ 引擎重新实现 Rockstar Games 的《侠盗猎车手 III》（2001），在正版 PC 游戏的数据上运行。项目自行实现了游戏 RenderWare 模型、纹理和归档的加载器，提供执行原版任务脚本的脚本机，并附带可选的 Qt 数据查看器。可玩程度有限：项目的任务追踪清单只将波特兰的六个早期剧情任务标为可完成。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-20
- 原始资源：<https://github.com/rwengine/openrw>
- 一手来源：<https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/openrw-gta3-engine-case/>
- 记录 JSON：<https://awesomerea.org/resources/openrw-gta3-engine-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/openrw-gta3-engine-case/index.md)

## 使用条件与局限

- **前提条件：**README 要求使用原版 PC 游戏的正版副本，FAQ 说明项目不能分发原版素材；仓库不含任何游戏数据。rwgame 读取其 openrw.ini 配置文件中设定的游戏目录，可选的 rwviewer 也从同一份数据中打开物体和模型。
- **前提条件：**需使用 CMake 3.8+ 与 C++17 编译器构建，依赖 Boost（program_options 与 system，测试另需 unit_test_framework）、OpenAL、Bullet、GLM、FFmpeg、SDL2 和 OpenGL；工具需要 FreeType，查看器需要 Qt 5，Conan 为可选的包管理器。FAQ 将 C++17 和 OpenGL 3.3 Core 列为硬性要求，README 称已移植到 Linux、macOS、Windows 及多种 BSD。
- **范围：**所审阅的 main 快照日期为 2025-06-18；仓库没有带标签的发行版，wiki 也说明没有官方构建，因此需从源码构建 OpenRW。可玩任务追踪清单（issue #52，最后更新于 2024-07-24）勾选了六个剧情任务，全部位于波特兰，其余许多任务标注了缺少 AI、过场动画异常或操作码未实现等问题；FAQ 说明尚不支持《罪恶都市》和《圣安地列斯》。
- **测试证据：**Arch Linux、Fedora、Ubuntu 上的 GitHub Actions 任务和一个 AppVeyor Visual Studio 2017 任务运行 CTest 脚本，构建代码及其 Boost.Test 单元测试套件；需要游戏数据的测试受 TEST_DATA 选项控制，而该脚本并未启用。项目未公布与原版可执行文件的对比。
- **许可：**README 声明采用 GPL-3.0-or-later，并列出 FFmpeg（LGPL-2.1 或更高版本）、Bullet 和 SDL 2.0（zlib）等第三方许可；microprofile 与 imgui 子模块是独立项目，游戏本身的素材保留各自权利。

## 一手来源

1. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/README.md>
2. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/CMakeLists.txt>
3. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/cmake_options.cmake>
4. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/cmake_configure.cmake>
5. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/conanfile.py>
6. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/.gitmodules>
7. <https://github.com/rwengine/openrw/tree/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/rwcore/loaders>
8. <https://github.com/rwengine/openrw/tree/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/rwengine/src/script>
9. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/tests/CMakeLists.txt>
10. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/.github/workflows/build-and-test.yml>
11. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/.appveyor.yml>
12. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/cmake/ctest/build.ctest>
13. <https://github.com/rwengine/openrw/blob/5c5f266b71aa55aeec8cb4d823f19e7c4348f3bd/COPYING>
14. <https://github.com/rwengine/openrw/issues/52>
15. <https://github.com/rwengine/openrw/wiki/FAQ>
16. <https://github.com/rwengine/openrw/wiki/Getting-Started>
17. <https://github.com/rwengine/openrw/wiki/Configuration>

## 同分区更多条目：游戏

- [OpenSC4：SimCity 4 的早期开源重新实现](https://awesomerea.org/zh/resources/opensc4-simcity-4-reimplementation-case/index.md) · 案例
- [OpenTomb：《古墓丽影》引擎重实现](https://awesomerea.org/zh/resources/opentomb/index.md) · 案例
- [OpenXcom：X-COM: UFO Defense 与 Terror from the Deep 的开源克隆](https://awesomerea.org/zh/resources/openxcom-engine-case/index.md) · 案例
- [P.T. PC 版：基于行为重新实现、读取 PS4 数据的引擎](https://awesomerea.org/zh/resources/pt-pc-port-case/index.md) · 案例
- [re2ds：Resident Evil 2 的原生 Nintendo DS 引擎](https://awesomerea.org/zh/resources/re2ds-nds-engine-case/index.md) · 案例
- [San Andreas Unity：在 Unity 中重新实现的《侠盗猎车手：圣安地列斯》引擎](https://awesomerea.org/zh/resources/san-andreas-unity-engine-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
