本页目录

ScummVM 经典冒险游戏引擎(ScummVM)

scummvm · scummvm/scummvm

ScummVM 是一个用 C++ 编写的开源游戏引擎重实现,跨多平台。它替换游戏自带的执行文件,让玩家在更多设备上运行经典点击式冒险游戏、文字冒险和 RPG,但需自备游戏数据文件。项目最初为 LucasArts 的 SCUMM 引擎游戏(如《疯狂豪宅》《...

文字冒险 自研引擎 C++ 存档系统 游戏状态管理 音频系统 UI 系统 高级
★ Stars 2,890 Forks 1,488 License GPL-3.0 更新 2026-11-12

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
国内编译需准备 C++ 工具链及 SDL2 等依赖;从 GitHub 获取源码可能需镜像加速,具体依赖与构建步骤以官方文档为准(待核验)。

中文项目介绍

ScummVM 是一个以虚拟机方式运行经典冒险游戏的运行环境。README 的定位很明确:只要你自己持有游戏数据文件,就可以借助 ScummVM 游玩经典的图形点击式冒险游戏、文字冒险游戏以及 RPG。它不分发游戏本体,也不修改游戏内容,而是用自身的可执行文件替换原游戏随盘附带的启动程序,从而让同一份游戏数据在更多设备上运行起来。

项目主体使用 C++ 编写,仓库即 ScummVM 的主代码库,官网、兼容性列表、下载页、进度报告与捐助信息都汇总在 https://www.scummvm.org/。

补充说明

名字由来与支持范围

ScummVM 的名字来自两段历史:

  • SCUMM:LucasArts 早期多款著名冒险游戏(如《Maniac Mansion》与《Monkey Island》系列)都使用一个名为 SCUMM(Script Creation Utility for Maniac Mansion)的工具制作。
  • VM:即 Virtual Machine(虚拟机),指项目以虚拟机方式解释执行这些游戏原本的脚本与资源。

项目最初确实是为运行 LucasArts 的 SCUMM 引擎游戏而设计,但随着时间推移,支持范围不断扩展,逐步覆盖了大量其他作品。README 中点名的代表性标题包括 Broken Sword、Myst 与 Blade Runner,并提到还有大量不那么知名、值得挖掘的作品。完整支持列表以官方 wiki 的 Supported Games 分类页为准,页面也提醒:不在该列表或兼容性列表中标记为可通关的游戏,其已知问题无需再报。

快速上手:五步跑起来

README 为「没耐心」的玩家准备了极简流程:

  1. 从官网下载页获取 ScummVM 并安装。
  2. 在硬盘上新建一个目录,把原始介质中的游戏数据文件复制进去;每个想玩的游戏重复一次。
  3. 启动 ScummVM,点击 Add game,选择存放数据文件的目录(不要直接去选数据文件本身),确认。
  4. 弹出 Game Options 对话框,可配置该游戏的多项设置;之后随时可以再改,初次保持默认即可。
  5. 在列表中选中游戏并点击 Start。下次游玩可直接跳到第 5 步,除非还要添加新游戏。

小技巧:想一次性添加多个游戏,可点击 Add game 按钮上的小箭头并选择 Mass Add。此时同样让你选一个目录,但 ScummVM 会递归搜索所有子目录中的受支持游戏。

如何反馈问题

问题追踪使用 ScummVM Issue Tracker(bugs.scummvm.org),用 GitHub 账号登录即可。提交前请确认:

  • 问题可以稳定复现,且在最新的 git / Daily build 上依然存在;
  • 已查阅该游戏的兼容性列表,避免重复报告已知问题;
  • 该游戏在 Supported Games wiki 页或兼容性列表中已被标记为可通关。

报告正文建议包含:ScummVM 版本、缺陷细节与复现步骤(尽量附日志、截图等)、游戏语言、游戏版本(例如 talkie 或 floppy)、运行平台与编译器(例如 Win32、Linux 或 FreeBSD)、可附上的存档;如果问题是近期才出现的,请补充最后一个正常版本与第一个出问题的版本,便于通过 diff 快速定位。另外,一个 issue 只报一个问题,混在一起会难以跟踪状态。

文档、更新日志与工程实践

  • 用户文档:使用层面的问题统一看 https://docs.scummvm.org/。
  • ScummVM Wiki:查询每一款受支持游戏的信息,开发者还能在 Developer 区块找到不少实用资料。
  • 变更日志:仓库内的 NEWS.md 提供详尽的版本变更记录。
  • 静态分析:README 的 SAST Tools 一节说明项目使用 PVS-Studio(面向 C、C++、C#、Java 的静态分析器)。

学习建议

ScummVM 是一个体量很大的 C++ 跨平台项目,适合作为「引擎逆向重实现」类课题的观察样本:可以重点看它如何用统一的可执行文件替换原游戏启动器、如何组织多款游戏的兼容性配置与选项对话框,以及如何借助 wiki/兼容性列表管理庞大的支持矩阵。动手前建议先从官网下载稳定版体验一次「添加游戏 → 启动」的完整流程,再进入源码。

开源许可证与版权说明

许可证标识:GPL-3.0。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目