无需编程基础,从零开始制作自己的GameBoy游戏:GB Studio

*本文经授权转载,原载于少数派,作者:TP。

GameBoy 是我们一代人的童年回忆,其像素风的画面及泛绿的屏幕效果至今仍被许多复古向游戏所借鉴。出于对游戏的热爱,制作一款 GameBoy 游戏,也成为了不少人心中的愿望。如果你也有这样的心愿未了,不妨试试今天介绍的 GB Studio,无需编程基础也能做出自己的 GameBoy 游戏。

GB Studio

认识界面

GB Studio 的界面非常直观,新建一个项目后,摆在你眼前的就是整个游戏的故事板。你可以在故事板上看到包括 Logo、开始界面在内的所有场景。点击场景或内容物即可在右侧修改其属性,或是为其添加脚本。

在窗口左上角,你可以切换到素材区来查看图像、音频素材。如果你正在制作的是一款剧情游戏,你也可以在「查看剧情脚本」(Script Review)中检查剧情是否足够吸引玩家。

简单地认识了界面后,我们就可以开始制作属于自己的第一款游戏了。在开始制作游戏前,我们需要准备好游戏的剧情和图形素材。以一个简单的冒险游戏为例,我们要一个勇敢无畏的主角,要一个邪恶的反派,还需要不同的场景让主角游历其中。

绘制素材

GameBoy 的屏幕仅支持显示四种灰度,因此在绘制素材时,我们也要谨记这一点。官方文档为背景素材提供了四种可以使用的颜色:#072821(黑色)、#306850(深绿)、#86c06c(浅绿)、#e0f8cf(白色),人物素材在这四色的基础上,删掉了 #306850(深绿),加上了 #65ff00 用于表示透明色。

在任何素材中,都只能包含这四种颜色。如果素材所使用的颜色不包含在内,GB Studio 会自动匹配近似的颜色, 但视觉效果会大打折扣。

配色参考

绘制素材的应用,我推荐 Aseprite Tiled Map EditorAseprite 是一款用于绘制动态像素画的工具,支持 Windows macOS 双平台,你可以 Steam  48 元购买到它。

Aseprite 适合用于绘制人物、UI 等小素材,对于游戏场景这样的大型素材来说,使用开源的 Tiled Map Editor 来制作会更加方便。你可以在 官网 免费下载 Tiled Map Editor,它同样支持 Windows macOS

GB Studio 在素材格式上也有一定的限制。首先,素材必须是 PNG 格式。静止的物品素材为 16px × 16px,动态物品素材则在此基础上横向扩展,但必须保证高度维持在 16 像素。绘制人物素材的时候,则需要将其正面、背面和侧面都绘制出来,并拼合起来。背景素材至少需要达到 160px × 144px 的分辨率,最大不能超过 256px × 256px。

素材大小范例

绘制好素材后,你需要将它们分门别类地放置到游戏工程文件夹中「assets」下的对应文件夹里。

编辑场景

在游戏故事板中,你可以随意添加场景,并将人物放置在上面。在添加了一个空白场景后,你可以在右侧的编辑栏中修改它的名字、背景等属性,并为其添加脚本。要想在场景上放置人物或开关(Trigger),只要在悬浮菜单中选择对应的选项即可。人物的属性设置与场景相同,你可以修改它的坐标来让它生成在不同的位置。

添加场景

此处需要注意的一点是,开关在游戏中是不可见的,并且它是地图交互的必要元素。举个例子,如果你在地图上绘制了一间房子,默认情况下你是不能进去的,只有在你添加了开关并设置脚本,才可以从门口进入。物品和人物的互动则无需这么复杂,你只要选中人物,在右侧的编辑窗口为其添加脚本即可。

由于房屋、树木及地形等元素都是直接画在背景上的,为了不让角色出现在奇怪的地方,我们需要为地图添加空气墙,用于阻挡玩家的脚步。添加空气墙的步骤十分简单,只要按下 C,随后在场景中绘制即可。

当我们将所有场景和人物都添加好后,就可以进入游戏流程的制作了。

开始制作游戏

在游戏中,所有交互和动作都是通过脚本来实现的。你可以为人物添加脚本,让他能够开口说话;你也可以为开关添加脚本,让玩家可以与地图互动。这里以「开口说话」和「与地图互动」为例,简单介绍如何为人物、开关添加脚本,在实际过程中,你可以发挥自己的想象力,做出更多有趣的效果。

要让人物开口说话,只需选中人物,随后在右侧的编辑菜单中选择「添加事件」(Add Event),即可添加事件脚本。这里我们选择「显示文字」(Display Text),并在文本框中输入需要的文字(仅支持英文)。只要玩家对着该角色按下 A 键,预设的文字就会显示出来,就像是人物在说话一样。你也可以将其应用到路标、收音机物品上。

显示文字

要添加开关脚本,你需要先添加一个开关,随后在右侧选择「添加事件」。与人物互动需要玩家按下按键,而默认情况下,只要人物站在开关上,它就会启动。因此,如果你希望让玩家在按下按键后才开始互动,则需要在脚本中加上「当玩家按下按键」(If Joypad Input Pressed),并将互动脚本放置在这个 If 条件中。

IF 条件

在游戏中最常用到的一个事件脚本就是「切换场景」(Switch Scene)。你可以为每个切换场景的脚本设置要切换的场景、玩家生成的位置、方向,甚至是切换速度。在设置了「切换场景」的脚本后,故事板中的场景也会由蓝色虚线所连接,看起来更加直观。

制作游戏的过程中,你可以随时点击右上角的「运行」(Run)按钮或快捷键 Ctrl/Command - B 来快速开始试玩。

导出游戏

当你经过努力制作出自己的游戏后,你一定会迫不及待地想要将它分享给别人吧。GB Studio 提供了两种导出形式:

1.导出为 ROM:生成一个 .gb 格式的游戏 ROM 文件,你可以在任何模拟器上进行游玩。

2.导出网页:生成一个基于 HTML5 的网页,你需要将整个文件夹上传到服务器,并定位到 index.html(可重命名),随后即可在线进行游玩。

两种导出方式各有优劣,在没有服务器的情况下,第一个选择无疑是更合适的。如果你有一个服务器,那么不妨将游戏部署到服务器,这样一来,只需要一个链接就能畅玩你的游戏。在移动平台上,导出的网页还会自动生成虚拟按键,以供玩家操作。

你可以在 GB Studio  官网 免费下载它,支持 WindowsmacOS Linux 平台。GB Studio 也在 GitHub 开源,你可以 在此 查看它的源码。如果你在制作游戏的过程中遇到任何问题,可以在 这里 查阅官方文档。

祝大家可以早日制作出好玩有趣的游戏,如果你将游戏部署到了服务器上,不妨在评论区与我们一起发分享。

热门相关:斗破苍穹   恶魔就在身边   隐婚娇妻:老公,心尖宠   丹皇武帝   闪婚娇妻:老公,深深爱