移植 GameMaker 游戏到 Steam

把 GameMaker 游戏移植到 Steam

GameMaker 的房间和对象能干净地对应到场景与节点。GML 必须重写,而你的精灵会跟着你走。

把 GameMaker 游戏移植到 Steam,意思是在新引擎里重建一款你拥有的游戏,并通过 Steamworks 发布那个构建。.yyp 项目和 GML 代码都没有导入器。

这些概念比多数换引擎的情况都更好对应。一个 GameMaker 房间变成一个场景。一个对象变成挂着脚本的节点。Create 和 Step 事件变成就绪与处理函数。Alarm 变成计时器。Draw 事件变成渲染器绘制你的精灵和图形。一旦看清这套对应关系,移植基本就是机械工作加调校。

Summer Engine 使用 C++ 和 GDScript,C# 除网页外处处可用。它从一个项目导出到桌面、移动、网页和主机。项目和它赚到的每一块钱都归你。

GameMaker 的概念如何对应过来

房间变成场景。对象变成节点,对象继承变成场景继承或一个共享的基类脚本。实例变量变成脚本变量。Alarm 变成计时器节点。碰撞事件变成物理或区域回调。精灵和 image_index 动画变成精灵帧或动画播放器。全局变量变成一个自动加载的单例。ds_map 和 ds_list 变成字典和数组。序列和路径需要用动画和路径跟随节点重建。

重写 GML

GML 是一门紧凑的语言,内置函数与引擎强绑定,所以它不能自动转换。用 GDScript 重写,它的气质相似而且可读;性能关键的系统则用 C++。把每一个常量都保留下来:速度、重力、摩擦、伤害数值、生成频率和帧数。GameMaker 游戏的成败通常在逐帧精确的手感上,所以要对齐原本的房间速度和步进时序,而不是估个大概。

让像素美术保持锐利

你的精灵和图块集归你,以 PNG 文件的形式搬过来。把纹理过滤设成最近邻,使用整数缩放或固定的视口分辨率让像素保持方正,并把镜头位置吸附到整像素以避免抖动。如果原作使用 320 乘 180 这类很小的原生分辨率,就把它保留为渲染分辨率再放大,而不是按任意窗口尺寸去渲染美术。

Steam 发行工作

注册 Steamworks 账号,支付每款一次性 100 美元的应用费,并填完税务和银行信息。创建仓库,用 SteamPipe 上传构建,并为每个操作系统配置启动选项。加上 Steam Input 让手柄开箱即用,加上 Steam Auto Cloud 处理存档,并在合作伙伴站点定义成就。再加上分辨率、全屏和可重映射的操作选项,即便是小型 2D 游戏,Steam 玩家也会期待这些。

常见问题

GML 能自动转换吗?

不能。GML 使用 GameMaker 专有的内置函数和运行时行为。脚本要用 GDScript 或 C++ 重写,并把原代码当作精确的规格说明。

我的精灵和房间能迁移吗?

精灵、图块集、音频和字体都作为属于你的文件迁移。房间布局要重建成场景,把房间导出成瓦片地图或坐标列表能让这一步更快。

为什么要从 GameMaker 移出来?

常见原因是 3D 需求、平台触达、导出目标的授权成本、性能余量,以及想要 C++ 级别的掌控。Summer Engine 从一个项目导出到桌面、移动、网页和主机,且不收分成。

游戏的手感会一样吗?

数值对上了,手感就一样。把移动速度、重力、摩擦、跳跃高度和时序数值直接从 GML 里抄过来,并对着原作录像逐帧核对。

Steam 收多少钱?

每款游戏一次性 100 美元的应用提交费,销售额达到 1000 美元后可回收,再加上 Valve 的分成。

继续探索

用 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 Steam

Rebuild a GameCube game you own in Summer Engine and export a desktop build for Steam. Analog triggers, 4:3 framing, and memory card saves.

打开

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,描述你想要的,看着它逐渐成形。免费开始,无需编程。