如何在手机上玩《终极任务VII》:Exult 的 Android 与 iOS 移植完整安装教程
Exult 是一个开源的《终极任务VII》(Ultima VII)游戏引擎,它能直接使用游戏原版剧情、数据与图形文件,在现代操作系统上完整运行《The Black Gate》与《Serpent Isle》两部作品。本文带你一步步完成 Exult 的 Android 与 iOS 移植安装:从 APK 安装、侧载到游戏数据导入、音乐与 MOD 配置,让你在手机上重温这款 90 年代经典 RPG。🎮
Exult 引擎简介:为什么它能在手机上跑《终极任务VII》
Ultima VII 是 1993 年的 DOS 老游戏,因使用了非标准的内存管理器,在今天的电脑上很难直接运行。Exult 用 C++ 重写了一个兼容引擎,并借助 SDL 库轻松移植到 Linux、macOS、Windows,乃至手机平台:
- 🕹️ 完整游戏支持:《The Black Gate》与《Serpent Isle》均可从头玩到尾;
- 📱 原生触屏体验:虚拟方向键、长按寻路、对象辅助菜单;
- 💾 自动存档:应用失去焦点时自动保存,防止进度丢失;
- ⚡ 性能优于原版:高 DPI 缩放、多种图像增强模式。
安装完成后,你会看到这样的主菜单界面:
说明:Exult 引擎不包含游戏本体,你需要合法拥有 Ultima VII 的版权数据文件。
Android 安装步骤:下载 APK 与启动器引导
一键安装 Exult APK
目前 Exult 尚未上架 Play Store,但官方提供现成的 APK 构建,安装非常直接:
- 从 Exult 官方下载页获取 Android APK 文件(推荐方式,免去自行编译);
- 打开文件管理器,在下载文件夹中点击 APK 安装;
- 首次启动会进入 Exult 启动器(Launcher),它会帮你完成游戏、MOD、音乐的导入,全部装好后即可从第一个标签页直接启动游戏。
启动器源码见 android/app/src/main/java/info/exult/ExultLauncherActivity.java,它提供 Games、Mods、Audio、Savegames 等多个标签页。完整说明见 android/README.md 中的 “Exult instructions for Android” 章节。
最快导入游戏数据的方法
启动器的 Games 标签页支持从多种来源自动解压并安装游戏:
- GOG 购买用户(最简单):在手机浏览器登录 GOG 账户 → 选择 Mac 平台 → 在 “DOWNLOAD OFFLINE BACKUP GAME INSTALLERS” 中下载
.pkg安装包; - 实体 CD / 其他渠道用户:把
STATIC文件夹及其内容压缩成 zip,拷贝到手机即可。
然后在启动器 Games 标签页勾选对应游戏,用文件浏览器选中刚才的压缩包,安装器会自动把数据放到正确位置。安装成功后即可删除压缩包。
iOS 安装教程:TestFlight 与 Xcode 侧载
获取 Exult 应用(App Store 之外的两条路)
Exult 目前未上架 App Store,有两种方式:
-
TestFlight 内测:联系项目成员申请 Beta 测试资格(通过 Apple 的 TestFlight 分发);
-
Xcode 侧载(推荐有 Mac 的用户):要求设备为 iOS 12 及以上。从 App Store 安装 Xcode 后,克隆源码仓库:
git clone https://gitcode.com/gh_mirrors/ex/exult打开
ios/Exult.xcodeproj,连接设备后即可签名安装到真机,这就是所谓的 “sideloading”(侧载)。iOS 端工程文件与虚拟方向键实现分别在ios/Exult.xcodeproj/与 ios/GamePadView.m。
用 Finder / iTunes 传输《终极任务VII》数据
把游戏文件整理成如下结构,注意全部使用小写(iOS 区分大小写,否则可能无法识别游戏):
game/
├── blackgate/static/… (《The Black Gate》全部文件)
└── serpentisle/static/… (《Serpent Isle》全部文件)
- macOS:Finder 中选中设备 → “文件” → 选择 Exult → 拖入 game 文件夹;
- Windows:iTunes 中选择设备 → “应用程序” → 文件共享 → 拖入。
⚠️ 务必使用 Finder 或 iTunes 的文件共享,不要用 iOS 自带“文件”App——游戏由大量小文件组成,传输极易中断导致数据不完整。想装 MOD 的话,在拖入前就把 MOD 放进 game/blackgate/mods/ 之类的对应目录即可。
安装音乐与音效包
下载 “Zipped all-in-one audio pack” 并解压到一个名为 data 的文件夹中,与 game 文件夹一起拖入文件共享——注意不要放进 game 文件夹内。另外 iOS 没有默认 SoundFont,需要自行准备一个放进 data 目录才能在设置中选择,用于 MIDI 音乐回放。
触屏操控技巧:虚拟方向键与长按寻路
手机上的操控逻辑为 Android 与 iOS 通用:
- 虚拟方向键(D-Pad):默认位于屏幕右侧,可在设置中切换到左侧;
- 点按 = 鼠标左键:直接点按屏幕与游戏对象交互;
- 长按寻路:长按某处并松手,角色会自动寻路走到位(路径可行时);
- 辅助菜单:点击对象附近会弹出操作菜单,小屏设备上特别实用,也可在 Game Input 中关闭;
- 快捷工具栏:屏幕顶部可开启 Shortcut Bar,快速触发常用动作。
绿色/红色移动光标在触屏上被隐藏,避免遮挡视野。触控 UI 的核心实现在 android/lib/src/TouchUI_Android.cc 与 ios/ 目录中。
显示方面建议在小屏设备选择 Point 缩放器并适当调整游戏区域,让像素更清晰:
💡 提示:《终极任务VII》的物品管理在小屏手机上稍显吃力,平板体验最佳;iPhone 6 及以上尺寸基本可以舒适游玩。
存档管理:自动存档与导出备份
自动存档机制(Android 与 iOS 均有)
iOS 与 Android 都会在应用失去焦点时自动存档,防止系统杀后台导致进度丢失,这是移动端移植非常贴心的设计。
导出存档到 zip
Android 端 Exult 使用内部文件存储,无法通过文件管理器直接访问,且卸载应用会删除全部存档。启动器提供了导出/导入功能:可将全部存档打包为 zip 存到下载文件夹,方便备份和跨设备迁移。存档界面如下:
常见问题速查
| 问题 | 解决方法 |
|---|---|
| Android 找不到游戏 | 确认 zip 里包含 STATIC 文件夹,并用启动器 Games 页安装 |
| iOS 未识别游戏 | 检查文件夹名是否全小写(blackgate / serpentisle) |
| 音乐没声音 | 安装 all-in-one audio pack 到 data 目录,iOS 还需自备 SoundFont |
| 存档丢了 | 定期用启动器导出存档 zip 备份 |
更多移动端细节(iOS 侧载、GOG 下载路径、MT32 ROM 等)可参考仓库中的 README 文件第 9、10 章(iOS Guide / Android Guide),以及 docs/faq.html 中的 iOS 条目。现在,拿起手机,你的艾维诺冒险可以出发了!🏹
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







