返回资讯中心
外部精选
软件工程
#开发者实时流

开发者将《黑暗之魂:重制版》移植到 PlayStation 2

来源标题:A Homebrew port of Dark Souls Remastered to the PlayStation 2

一项自制项目把《黑暗之魂:重制版》移植到了 PlayStation 2,需玩家用自己购买的 PC 版游戏自行构建,目前可在 PCSX2 模拟器中运行。项目基于 ps2dev 和 gsKit 的 C 引擎,配合 Python 工具转换地图、角色、动画、碰撞、AI 与菜单。这仍是早期原型而非可玩游戏:仅前几个区域能加载,多数系统缺失或只完成一部分,真机运行尚未测试。

Hacker News 最新nazgulsenpai2026/11/5 · 今天30 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

将《黑暗之魂 重制版》自制移植到 PlayStation 2 的项目。这是一个用 C 语言为 PS2 编写的引擎(ps2/proto,基于 ps2dev 和 gsKit 构建,包含手写的 VU1 微程序),外加一套 Python 工具(tools/),用于读取你自己购买的 PC 版游戏,并将其地图、角色、动画、碰撞、AI 脚本和菜单转换为适合 PS2 尺寸的文件。你需要用自己购买的游戏副本来构建它,它在 PCSX2 模拟器中运行。在真实 PS2 上运行的配置已经就绪,但尚未测试。

这是一个重度开发中的项目。它只是一个早期原型,并非可玩的游戏:目前只有最初几个区域能够加载,游戏的大部分系统缺失或只完成了一部分,而且情况每天都在变化(甚至损坏)。预计会遇到 bug、崩溃、缺失的音效,以及尚不匹配 DSR 的视觉效果。项目页面上的浏览器内转换器尤其处于实验阶段(参见快速开始)。

已可运行(部分功能,参见 notes/PLAYTHROUGH.md) 尚未完成 传火祭祀场、不死镇和不死院作为同一个世界,之间可以无缝行走(无加载画面)。每个区域的场景从光盘逐单元流式加载,最近的优先 其他所有区域;部分场景从光盘读取时仍会出现延迟弹出 战士:行走、奔跑、翻滚、冲刺、R1 攻击、坠落 锁定、格挡、弹反、魔法、双手持握、升级 敌人拥有自己的 AI 脚本和导航网格路线,能够造成和承受伤害,死亡时触发布娃娃效果 视线检测、防御、物品掉落、大多数敌人类型 事件脚本:宝箱、物品拾取、雾墙、门、拉杆和闸门、事件传送(从不死院到传火祭祀场的乌鸦)、Boss 雾墙和血条(已在牛头恶魔上测试) 与 DSR 一致的 Boss 战、NPC 对话、商店、过场动画 篝火:点燃、休息(HP、原素瓶和敌人重置)、从休息菜单进行注火和逆转活尸化 在篝火处升级、记忆法术和传送 死亡:YOU DIED,玩家变为活尸状态并返回上一个篝火,血痕保留丢失的灵魂和人性 活尸外观、死亡时完整重载区域 击杀获得的灵魂和人性、人性物品、HUD 人性计数器(活尸状态下显示为灰色) 战斗、戒指和其他 SpEffects 使用的属性 DSR 自身的开始菜单界面:装备、物品栏(使用/丢弃)、状态和系统,包含游戏内的物品名称、帮助文本和图标。DSR 的加载画面 标题画面、物品拾取提示、其他菜单 在记忆卡上保存和加载 后台保存 音效、按地板材质区分的脚步声、音乐、Boss 音乐和区域环境音 更高采样率的音效(目前为 8 kHz)、混响、语音 HUD(生命、耐力、原素瓶、灵魂、人性)、在 PCSX2 中 30 fps 在真实 PS2 上测试 截图 在 PCSX2 中运行的移植版: notes/PLAYTHROUGH.md 列出了完整通关仍需要的每个系统及其状态。 notes/TECH_DEBT.md 列出了该移植版与原版游戏所有已知的差异之处。 本仓库不包含任何游戏数据:没有来自《黑暗之魂 重制版》的纹理、模型、地图、声音、文本、脚本、参数或可执行代码,也没有任何衍生自它们的内容,除了上面的两张截图和顶部的 logo(《黑暗之魂》logo 重新着色并添加了 "PS2")。它也不包含任何反编译代码。你需要自己合法购买的 PC 版《黑暗之魂 重制版》(Steam)。构建过程会读取该副本,并将所有游戏衍生的文件写入 build/,该目录已被 git 忽略。切勿分享或提交 build/ 中的任何内容。 Dark Souls 是 FromSoftware / Bandai Namco 的商标。本项目与它们无关联,也未获得其认可。 notes/EXE_FINDINGS.md 仅记录关于游戏可执行文件的事实(地址、偏移量、字段名、常量、公式),每项均附有来源。 有三种方式可以获取最新 main 分支的光盘映像(ISO)。它们都会读取你自己购买的游戏副本,生成的 ISO 仅属于你本人:切勿分享。 浏览器内转换器是一个重度开发中的项目。它在 WebAssembly(Pyodide,其 C 辅助程序由 tools/native/build-wasm.sh 构建)中运行移植版自带的 Python 转换器(tools/convert.py),并使用 tools/iso9660.py 将 CI 生成的、不含游戏数据的 ELF 打包。它速度很慢(大约 10 到 20 分钟),每个 worker 需要最多约 2.5 GB 内存,在内存较少的 PC 上可能失败,它生成的 ISO 目前没有声音(游戏的 MP3 音效库无法在浏览器中解码),并且当原生构建发生变化时,它可能滞后或损坏。如果它失败了或结果异常,请改用 ./build-iso.sh,并请报告所发生的情况。 已在 Linux 上测试。步骤假定使用 Linux shell;Windows 用户应使用 WSL 或 Linux 虚拟机。 所需 说明 《黑暗之魂 重制版》Steam PC 版 经过检查的是 Build 10943698 的英文数据版本。python3 tools/verify_game.py 会列出支持的版本。 ps2dev 工具链及 gsKit 从 https://github.com/ps2dev/ps2dev 获取 ps2dev 发行版。ps2/env.sh 会在 ~/tools/ps2dev-2.0.0/ps2dev 中查找它;如果它在别处,请设置 PS2DEV=/your/path。 Python 3.10 或更新版本 工具需要 Pillow 和 numpy(第 3 步)。 gcc 首次使用时编译几个小型原生辅助程序。 libmpg123 为音效包解码游戏的 MP3 音效库(Debian/Ubuntu 为 libmpg123-0,Fedora/Arch 为 mpg123)。 PCSX2 2.x 运行脚本使用的是 Flatpak 版 net.pcsx2.PCSX2。 内存 首次完整导出需要数 GB 内存。 2. 告诉构建过程你的游戏在哪里 游戏文件夹是包含 DarkSoulsRemastered.exe 的那个文件夹。通常你不需要做任何事: tools/gamepath.py 会搜索常见的 Steam 库(原生、Flatpak 和 Snap 版 Steam,以及 libraryfolders.vdf 中的每个库)。如果你的游戏在别处,请使用以下方法之一: export DSR_GAME="$HOME/.local/share/Steam/steamapps/common/DARK SOULS REMASTERED" 或者在仓库根目录的 config.local.mk(已被 git 忽略)中写入 DSR_GAME = /path/to/DARK SOULS REMASTERED,或者传递 make DSR_GAME=.... python3 tools/verify_game.py 它会哈希 exe 和导出器所需的数据文件。未知版本会中止构建并给出提示;设置 DSR_ALLOW_UNSUPPORTED=1 可以继续构建,以便尝试更新的补丁。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →