移植 gamecube 游戏到 steam

把 GameCube 游戏移植到 Steam

在 Summer Engine 里重建一款你拥有的 GameCube 游戏,并导出上 Steam 的桌面构建。模拟扳机、4 比 3 取景与记忆卡存档。

把 GameCube 游戏移植到 Steam,意思是在 Summer Engine 里重建一款你拥有的游戏,并导出桌面构建放上 Steam 商店页面。GameCube 作品很适合移植,因为它们本来就是 3D 的、由手柄驱动,而且常常已经跑在每秒 60 帧。

需要留意的具体点范围很窄,也很技术。GameCube 输出 480p,构图大多面向 4 比 3 电视。它的手柄有模拟扳机,在行程末端带一下咔嗒,还有一根并不完全等同于现代右摇杆的 C 摇杆。而存档存在一张块数预算很紧的可拔插记忆卡上。

这里没有一项是要重新设计游戏。它们是一组转换,而每一项你若跳过,都会悄悄毁掉手感。

模拟扳机与 C 摇杆

GameCube 的 L 和 R 是模拟扳机,按到底时有一下明显的咔嗒,游戏也用了这一点:半按用于瞄准或轻操作,按到底触发另一个操作。现代手柄有模拟扳机但没有那个段落感,所以你需要一个阈值配上清晰反馈,比如一段音效、一次震动脉冲,或者在旧咔嗒发生的那个点给出视觉上的跳变。C 摇杆比现代右摇杆更小、行程更短,所以按它调的镜头速度会显得很慢。重新调整灵敏度,并提供一个滑条。

宽屏显示器上的 480p 与 4 比 3

从 480p 到 1080p 是四倍多的像素,3D 资源很吃得下这个提升:提高渲染分辨率、贴图质量、阴影贴图、过滤和绘制距离。更难的是构图问题。很多 GameCube 游戏是按 4 比 3 加过扫描安全边距取景的,所以拉宽到 16 比 9 会露出比预期更多的场景。检查镜头揭示、过场取景、Boss 竞技场,以及任何靠一面墙挡住东西的地方。为电视距离设计的界面,同样需要按书桌距离重做。

记忆卡存档变成真正的文件

GameCube 存档受限于可拔插卡上的块数,这逼着游戏只做很少的存档位、压缩状态、不做自动保存。在 PC 上这些限制都不成立。加上自动保存、多存档位和 Steam 云存档,让存档跟着玩家在不同机器之间流转,也能到 Steam Deck 上。文件写进各操作系统的按用户应用数据目录,而不是放在可执行文件旁边。这是 GameCube 移植里成本最低、又最容易被看见的升级之一。

帧率、物理与 PAL 时序

很多 GameCube 游戏在 NTSC 地区以每秒 60 帧为目标,在 PAL 地区是 50,其中一些的逻辑也跑在那个速率上。如果你的原作是 30 帧或 PAL 的 50 帧,在提高帧率上限之前要核对每一个按帧计数的数值:动画长度、冷却时间、无敌帧、输入缓冲和物理步长。把它们换成按时间计的值,并使用固定物理时间步长。然后加入不限帧率或高刷新率支持,因为用 144 赫兹显示器的 PC 玩家会察觉到硬锁 60。

Steam 发行

一个 Steamworks 合作伙伴账号,以及每款 100 美元的 Steam Direct 费用,游戏产生收入后可回收。构建通过 SteamPipe 上传到 depot,并用分支做测试。商店页面需要胶囊图、玩法截图、预告片、标签和系统需求,而且必须在上线前先发布一段时间。附带一套默认配置的 Steam Input,因为 GameCube 的操作方案映射到现代手柄上并不均匀,而一套好的默认配置能让玩家什么都不用设。

常见问题

我能把 GameCube 游戏移植到 Steam 吗?

可以,前提是游戏是你做的,或者你持有它的授权。你在现代引擎里重建它,并导出用于 Steam 的桌面构建。Summer Engine 能从对原作的一段描述生成可玩场景,让你用 C++、GDScript 或 C# 编辑,并导出 Windows、macOS 和 Linux 构建。

现代手柄上怎么处理 GameCube 的模拟扳机?

现代扳机是模拟的,但在行程末端没有段落咔嗒。在接近按到底的位置设一个阈值,并在那一点加上清晰反馈,比如震动脉冲、音效或视觉跳变,这样玩家不靠实体咔嗒也能分清半按和全按。

该把 4 比 3 的 GameCube 游戏拉宽到 16 比 9 吗?

通常该,但先把游戏检查一遍。按 4 比 3 加过扫描边距构建的取景,拉宽后会露出超出预期的内容,可能毁掉镜头揭示、过场构图和 Boss 竞技场的节奏。调整那些时刻,或者保留原有取景并配上装饰性边框。

记忆卡存档拿什么替代?

写进按用户应用数据目录的真正存档文件,再加上当年被块数限制挡住的功能:自动保存、多存档位,以及 Steam 云存档,让进度跟着玩家在不同机器之间流转,也能带到 Steam Deck 上。

帧率能提到 60 以上吗?

往往可以,用高刷新率显示器的 PC 玩家也会喜欢,但要先检查按帧计数的逻辑。那些按固定速率写的动画长度、冷却时间、无敌帧、输入缓冲和物理步长,需要换成按时间计的数值,并配上固定物理时间步长。

继续探索

用 Summer Engine 创作的更多方式

AI 游戏制作器

用语言描述就能制作完整 2D 和 3D 游戏的中心。

打开

Port a 3DS game to Steam

Rebuild a 3DS game you own in Summer Engine, then export a Windows, macOS, or Linux build and publish it on Steam.

打开

Port a 3DS game to Steam Deck

Rebuild a 3DS game you own in Summer Engine, then ship a Steam build that plays well on a 1280x800 handheld with gamepad only input.

打开

Port a Nintendo DS game to Steam

Rebuild a DS game you own in Summer Engine, then export a desktop build for Steam. Mouse covers the stylus, monitors cover both screens.

打开

Port a Wii game to Steam

Rebuild a Wii game you own in Summer Engine, then export a desktop build for Steam. Pointer becomes mouse. Motion becomes a design decision.

打开

Port a PSP game to Steam

Rebuild a PSP game you own in Summer Engine and export a desktop build for Steam. One screen already fits. One analog nub does not.

打开

Port a PS Vita game to Steam

Rebuild a Vita game you own in Summer Engine and export a desktop build for Steam. Dual sticks transfer. Front and rear touch do not.

打开

Port a GameCube game to PC

Rebuild a GameCube game you own in Summer Engine and export desktop builds. A console control scheme has to learn keyboard and mouse.

打开

Port a Switch game to Steam

Rebuild a Switch game you own in Summer Engine and export a desktop build. The gameplay is ready. The platform layer is the job.

打开

平台游戏模板

从现成的项目开始,描述你想要的改动即可。

浏览

浏览所有游戏模板

从现成的项目开始,描述你想要的改动即可。

浏览

现在就开始制作你的游戏

下载 Summer Engine,描述你想要的,看着它逐渐成形。免费开始,无需编程。