撰写了文章 更新于 2018-08-08 10:23:59
[翻译转载] RPG Maker 以及电子游戏拼装套件的价值
作者:John Harris
====================================
制作电子游戏有许多种途径。
在过去的日子里,人们通过在打孔卡上手工编写指令,再将它们塞进读卡器中的方式输入程序,从而让你可以玩一盘三子棋(Tic-Tac-Toe)。
在8位机的年代,汇编语言十分常见,同时也有一些低效得令人发指的解释型语言,比如Basic。就在这时C语言出现了,并成为最大的默认选项,随后是它的继任者C++。当今时代,C#开始大受欢迎,只要看看它在Unity中的广泛应用就能知道了,不过除此之外还有Javascript,Java,Ruby,Lua,Python,InfoRPG Maker和其他一些语言。
一种当今人们更为忽视的制作游戏的方式,我们可以称为“拼装套件”(construction set package)。在8位机年代,这些东西要更加流行一些(也是我找到的这名字的来源),有不少著名的作品,像是《弹球拼装套件》(Pinball Construction Set),《冒险拼装套件》(Adventure Construction Set),《赛车毁灭套件》(Racing Destruction Set)和《射击清版拼装包》(Shoot-em-up Construction Kit)。
之后,《吟游诗人拼装套件》(Bard's Tale Construction Set)和 SSI 基于龙与地下城(D&D)的《无尽冒险》(Unlimited Adventures,UA)面世了,至今依然有许多追捧者。尽管不复当年盛况,但拼装套件还是出现在我们身边,尤其是以《RPG 制作大师》(RPG Maker)系列的形式。
(在这里我不能丢下 UA 不管,而没有仔细发掘一下这兔子洞。这里有一份 UA 的文件存档,一份 D&D 的模组列表,开源的类UA模组编辑器《打造地牢》(Dungeon Craft),以及为了完整性加上我的 MetaFilter 文章。好了!现在我们能继续下去了。)
拼装套件的广受喜爱源于长久以来人们对计算机的梦想:它使人们能不用写代码就制作一些有交互性的东西。程序员经常不了解对于一般用户来说这是多么有吸引力。他们没能看到大部分用户想的:学习写代码很难,很耗时间,晦涩难懂,并且要随时避免踩坑。
程序语言的设计把那些不愿记忆费解的指令语法的人们挡在门外。错误信息通常定位在程序编译挂了的精确位置,只会报告它是怎么出错的,对找到真正错误的位置通常毫无帮助。你一旦学会了一门语言,你会经常发现,有些你很想用的库只有别的语言中才能用。
简而言之,学代码很糟,所以为了让人通过难关,不被代码困扰,是很好的软件设计点子。这一动机驱使了YoYoGame的《GameMaker Studio》产品,哪怕它提供的功能和写代码没什么差别,只是加了拖动摆放的界面。更新的版本甚至让你把 DnD 的东西都放进来,并像 glob 那样写脚本语言。(不要觉得我在黑 GameMaker,我至今已经用它做了四个工程,并且从我的实际经验上告诉你,它可以做出许多确很厉害的东西。)
说到底,GameMaker 不那么像我指的那种拼装套件,更像是集成度更高的开发环境(IDE)。而 RPG Maker 要更接近理想的目的导向的编辑器,为特定的游戏类型而打造。在本例中,RPG Maker 面对的特定类型是16位时代经典模板下的日系 RPG。就算你不跟另一些人那样害怕代码,它也会对你很有帮助;就连专业的游戏设计师,RPG Maker 也给他们的游戏设计工具箱中提供了一条快速制作 RPG 风格游戏的途径。
制作游戏需要花费时间,想实现带有不同寻常机制的疯狂理念更会花费很久。如果你的绝妙想法像煤炭般炽热到把你的脑子都烧了个洞,你就能用 RPG Maker 以最快的速度制作一个试玩版本。大部分点子不一定能最终成功;你越早测试,在上面花费的精力就越少,你就能越早发现它到底是煤炭中央的钻石,或不过是烧完后的灰烬。RPG Maker 在这一领域,有着快速迭代的优势。你只要熟悉它的能力,知道可以用它做什么,通常想要做出卓有成效的游戏模型是不难的。
对另一些讨厌写代码的使用者……RPG Maker 其实并不能把你从代码中完全解放出来。它的事件机制基本上是脚本的另一个名称。但至少它为你保留了列表中的一系列选项,减少了你需要的记忆量。此外,就算默认系统做出的是传统的俯视视角 RPG 类型,也有人已经把自己的 RPG Maker 作品在 Steam 上发售并且销量不错。
RPG Maker 使用简单意味着很多作品看上去是骗钱货色,对于新作品来说,在它们之上被人注意,不被当做另一款低质量作品而忽视是有难度的。但是一些人已经成功用 RPG Maker 做出了令人惊讶的东西。也许你想自己做一点新东西?也许我能在这方面帮你一把。
当你只有一把锤子,如何把钉子钉进去
RPG Maker 面世已经有一段时间了。维基百科告诉我们,它的产生要追溯到1992年在日本PC-9801微电脑平台的 RPG Tsukūru Dante 98。《PC Gamer》发过一篇不错的文章(作者Glada Zavarise)讨论它的产生,它如何在西方游戏世界通过盗版和一系列非官方爱好者翻译开始流行,又如何在2000年直到今日能从 Steam 上很方便地买到。文章也提到了,尽管有些卓尔不群的 RPG Maker 游戏比如《去月球》(To the Moon)、《太空葬礼》(Space Funeral)和《OFF》,但公认看法是 RPG Maker 的游戏都是一坨堆砌素材,不过是骗你钱的玩意。
Freebird Game 的获奖作品《去月球》是用 RPG Maker 制作的游戏中显目的一例。
我能讲这些话确实有一定正确性,但情况不应该是这样的。预先制作的素材包对小团队乃至一人团队来说,都是雪中送炭,并不能说游戏本身就不够有趣了。
不管出于什么理由使得写代码成为人们想要制作游戏的一大障碍,事实上这障碍就是存在着。降低制作的障碍意味着会有很多人把没花多少精力做的东西发到 Steam 上,但也意味着有时候你能翻到一些真正的精粹之作。一些有着超卓艺术质量的优秀作品,如果没有门槛降低可能就不会被制作出来,它们很值得你花时间去玩一玩。
所以,你怎样才能用好像 RPG Maker 这样的大包呢?怎么让你的项目高人一头呢?你怎么向世界证明,向你自己证明,你的项目是同类中百里挑一的呢?
我玩过 RPG Maker 一段时间,并且在过去有一些绕过拼装包类软件局限性的经历。现在我不敢自称是专家,我能提供的只是在过去使用过的方法,我自己的研究,以及我对你转述这些时的交流方法。希望它们能帮上你的忙。
RPG Maker FES
《RPG制作大师FES》(RPG Maker FES),运行于任天堂 3DS 平台,是 RPG Maker 系列最新发布的软件。RPG Maker 中最流行的一些品牌都在PC平台,它们大体上易于使用,允许制作者们使用外部工具来创作素材。另一方面,像 RPG Maker FES 这样游戏机上的 RPG Maker 版本在内存使用上有严格限制,经常限制(甚至阻碍)了你创作自己图像声音素材的能力,并且是一个过滤你的创意的狭窄筛子。按照我们的目的,观察如何找到方法绕过工具局限性的过程,这样反而是最棒的了。
战胜局限性的第一步是了解它们都是怎么局限的。 RPG Maker FES 完全运行在 3DS 上,相比 PC 版本有许多严苛的限制,但是一旦你理解了它们的边界在哪里,你就能做一些有趣的事了。
产品文档明确告诉你它不能够做到什么是很少见的。局限性留在产品中,就像是狗在草丛里排泄,让你猝不及防地踩上一脚。有时候当你在实现一个很有希望的游戏机制途中,你才发现要做到的东西从来都是不可能的。对这类工具来说这种现象非常常见,我觉得没有办法能彻底避免,除非尽你所能地去了解软件的局限。由于软件不会告诉你局限性在哪,这就需要研究。去 Google 挖宝吧!
通过做实验,阅读游戏的内置手册(不是很有用),以及为数不少的网络搜索,我能够确定关于 RPG Maker FES 能力限制的事实了,在此处列出,以及弥补它们的方法。
地图尺寸
所有 RPG Maker 系统使用传统16位日系 RPG 风格的二维地图。FES 支持三种尺寸的地图:32、64或128图块的正方形。方便比较起见,128x128要比第一代《勇者斗恶龙》的世界地图要小。不过系统支持一个游戏内最多100张地图,因此制作者可以通过地图连接的方式绕过这一限制。
美术和音乐
这个问题比较大:你绝对没有任何办法把自己的素材带到项目中。你被限制在软件默认和 DLC 提供的人物、怪物图像、地图图块、特效、音效和音乐中。随着时间推移,发行商 NIS 会更新额外素材放入你的游戏,有为数不少的图快可供选择。你甚至能把不同套的图快混在一起使用,比如在你的奇幻游戏中混入科幻现代图像。
尽管如此,如果你玩过很多 FES 游戏,你还是会看到相同的图快一遍又一遍。确实有些素材是付费 DLC ,意味着这些资源会较少遇到,但因为可用的美术和音乐资源总量被限制了,所以你能做的事情很有限。你的角色会是各种选项中的一个,而其中只有很少一部分像传统 JRPG 主角。这意味着,赶紧习惯金色刺猬头动漫小子吧,因为他会出现在许多冒险开端。
但是从一方面来说,这也是一种福利。因为你不能使用没提供的角色素材,你就不会想去有一套。你的游戏不会因为使用默认素材而被批评,因为每个人都只能用这些!尽管很不幸,但创作素材确实是动手制作游戏需要花费最多时间和精力的一步。
你可以做些什么来缓和这一缺陷呢?当然,你能把主角定位在默认男女主角之外的类型上。你能讲述一段图像素材第三排的,带着单片眼镜老家伙的故事。因为一些理由,他决心把自己最后的岁月花在打史莱姆上。你也能使用不同图块组的主角,这方面 FES 没有问题。
这一技巧在怪物方面特别有用,因为它们不受到时代背景的限制——回忆一下,就连原版的《最终幻想》都是有机械风格地下城的。
地图对象
我们要开始更加深入了。 RPG Maker FES 的模型把地图对象分为三种类型。
- 首先是地形图块,它们是在一切之下的地面。每一张地图的每一组图块都有地形。重要的是,你能用其他东西挡住可通行的地形避免乱走,但不可通行的地形就永远不能用行走的方式通过了。(有些交通工具能够让玩家乘坐它们飞过不可通行的地形。)
- 其次是装饰图块,能够甚至以多层的形式放在地形图块的上方。它们不只是用来观看,也能阻挡通行。重要点在于,当你使用橡皮工具时,你总是会先清除叠在上层的装饰图块。当所有装饰图块都清除后,接下来的清除工作会重置地形到默认。不像地形图块,你能设置这些装饰图块的通行性,而地形图块一旦不可通行就永远不可通行了。
- 最后和最重要的,就是事件了。事件是字面意义的,除了你的队伍之外的地图上的一切!哪怕穿过一些东西,像你一样上下跳动着行走的,提供信息的 NPC,也被叫做事件,尽管看上去不那么符合这个术语。不管它是什么,只要它有效果,就算不可见,它就是一个事件。事件包括了你所有的 NPC、地点移动、宝箱、商店、旅馆和任何一组遇敌。许多事件实际上已经包含了“预先制作”的版本(在“快速创建”中),能够为你快速填充正确的事件指令。你能从这些事件中拿一个来学习,比如宝箱,可以创建一个然后检查它的构成。但是如果你自己创作事件,你就能做到更多了。
你能根据环境改变宝箱的内容。你能根据队伍中的人物提供不同的商店。你能创作出根据玩家在游戏的位置而说出多达10件不同事情的复杂 NPC。你能把游戏的重要部分随机化,来提高可重玩性。另外,你能舍弃 FES 的初始随机遇敌系统,提供地图上的明雷遇敌,当你靠近的时候怪物们会接近你。(如何做到的例子在下文,接着读吧。)
建立有趣的事件
在 RPG Maker FES 里的带感的事情,大部分是研究怎么把事件用到最大效能的过程。事件在它的种种作用里,也有着几样刺眼的缺点。在设计阶段,每一个位置只能存在一个事件。在运行时,事件既不能被创造也不能被销毁。尽管一个事件能触发战斗,但玩家打败怪物后事件还在原本的位置。没有方法删除它,所以战斗会再次触发一遍。这时候就是代码部分不可避免地出场的时候了。
每个事件有一些基础属性来提供一些基本的行为,就像是随机行走,或玩家可以通过。当默认的表现足够时,你就不需要做其他事情去控制它了。但是当要制作一些复杂的东西时,你就得把 FES 称为“内容”的东西加进去了。基本上说,这些内容都是指令。每个事件最多能有10“页”。这些事件页不只是个组织用的系统,还决定了你怎么区分事件的功能,怎么让不同的条件执行不同的指令。
对每个事件,你必须定义激活它的条件。选项有:
- “与玩家接触”表示玩家队伍试着进入事件的格子时触发,也就是开始执行事件指令。(准确地说具体执行的指令可能不同,但我们先这么认为着。)注意,如果一个事件的“通行判断”关闭了,那么玩家能直接走入事件的格子而不会被阻挡,事件要直到完全踏入格子后才能触发。
- “与事件接触”比较类似,但这时候是事件一方必须要进行相碰的移动。
- “调查”要求主角在相邻的格子里面对事件,同时玩家必须要按下“A”按钮。这经常用得很多:你能用它开始对话、打开宝箱、搜寻物品线索、转动开关,或是打开商店买卖窗口。
- “使用物品”更加深奥一些。在物品数据库中,你能创造一些玩家能在地图上使用但没有效果的“普通”物品。这和用来治疗或攻击敌人的“特殊”物品相反。所以说,这些“普通”物品的目的在哪里?对,你能把事件的触发条件设置为玩家在事件上使用物品。(确实这是很罕见的用法。我不知道为什么这一不常被使用的行为得到了被称为“普通”的赞誉。)一旦设置好了物品,就能在事件中规定玩家必须用哪个物品才能激活事件。
- 最后一个选项,“自动执行”,意味着只要玩家在地图上事件就会自动执行。它和玩家距离事件的远近无关,或者事件是否和主角位于一屏内。地图上的每一帧,(只要没有其他自动事件正在运行)自动事件都会被加载。自动事件是非常强大的,但使用起来也需要技巧。当自动事件执行任何指令时,地图引擎会忽略玩家在这一帧的输入。这意味着除非设置正确,只要一个自动事件就能卡死游戏。
注意:不同版本的 RPG Maker 在设计方面不尽相同。一些 PC 的版本增加了另一个运行事件的选项,“并行处理”,能提供自动执行功能并且不会卡住游戏。
当一个事件触发时,它会选择事件页来运行。所有事件至少第一页,它是其他条件不满足时的回退。其他的事件页能最多绑定两个条件。当一个事件执行时,引擎从编号最高的事件页开始(如果有的话就从事件页10开始,然后是9,然后8,以此类推),并且检测它的条件。如果找到了既有内容又满足条件的事件页,它就开始执行。如果事件页的条件没满足,就到下一个较低的编号用上述方法去尝试。如果到达第一页后,它就总会执行。事件一次只会执行一页,一旦它找到并且运行完,执行就会停止,直到事件再次被触发。
(为了使用自动执行,你必须保证事件页1是空的。否则由于它总是会执行,事件将会总是出现并且阻塞住玩家所有想做的事。)此处有个次要的细微差别。引擎在每一帧都会固定地检查所有事件的条件,哪怕它们没在执行的时候也会。可以看到,每一页包含的不只是指令列表,还有一系列事件属性,像是图形、它能否穿透等等。这些属性在事件没有运行的时候也影响了事件的表现。稍加考虑,你就能使用这个特性来动态调整事件的状态,而不必执行任何指令。
在样例工程(见下文)中,我们使用这一特性来在我们想要的时候,随时一次性重置所有徘徊的怪物。系统里唯一记录的,某个事件怪物是否战斗过,就保存在内置的500个开关其中之一。当我们和怪物战斗后,这个事件对应的开关就打开了。这使得怪物事件激活了第二页。因此,事件的图形就被替换成空无一物,并且让它再也不会攻击玩家了(第二页没有战斗内容)。并且它设置了队伍可以穿过的标签。当你离开这片区域时,或使用地下城存档点时,一个事件关闭了从0到100号的所有开关,那是我们保留用来描述怪物状态的开关。这一操作立即重新激活了我们战斗过的所有怪物,不仅让它们能继续攻击玩家,还能使得它们可见,并且能阻碍移动。
你不能做的事
那么,FES 的事件系统有什么不能做到呢?好吧,看上去不太走运:
- 一旦游戏开始运行,没有任何办法添加或删除事件。你能做的最好的办法是让事件不可见(把它的可见性设置为“透明”),然后在满足一定条件的情况下(一般是用开关控制)不执行任何内容。
- 事件不能获取对象的坐标,所以你不能从事件上来判断玩家有没有接近了,只能通过碰撞。
- 游戏引擎中没有办法制作自动的切场景战斗。
- 没有字符串。仅有的可用的变量类型是布尔类型(以开关的形式),和整数类型(以变量的形式)。它的一个缺点是,尽管玩家可以输入角色名字,但不能设定为任意名字,只能是开始你所设计的名字。不过,你能把物品或敌人的属性指向整数变量,让游戏事件运行中可以改变它们。
- 事件系统里的随机变量功能不足。没有什么办法能简单地让变量变成随机数。确实有办法绕过这一缺点,但需要付出很多工作。
- 说到很多工作……所有的事件指令都和事件以及它所在的位置绑定,你能复制事件来复制指令,但你不能“链接”它们。所以如果你复制了52个功能相同的事件,但发现指令中有个错误,你就只能去对每个事件做修改。所以我的建议是,首先创作一个事件,然后测试到底,保证它的运行绝对和你的想法一致。然后,只有你能确信不需要在它上面修正任何漏洞后,再开始把它复制到所有你想要的地方吧。其实你很可能之后会出于个性化的原因(比如让每个事件有不同的外表,触发不同的怪物战斗)又得去编辑它,但至少能减少做这些重复工作的次数。
RPG Maker FES 的一则明雷遇敌系统
利用上面提到的所有信息,以及13小时的繁重工作,我终于在 RPG Maker FES 中做出了一则简单的示例工程。它主要是个单地图的地下城,里面布满了四处徘徊的怪物。系统设计希望大部分怪物能“随机”战斗,也就是说,你的队伍会被预料不到的敌人攻击。让玩家看到敌人在地图上的位置有利于玩家选择要不要冒风险进入战斗或是离开,增加游戏的策略性。
在三个角色中你可以挑选一个进入地下城,然后谨慎选择战斗的敌人来练级。开始是史莱姆,然后哥布林、漂浮怪、愤怒蘑菇、恶魔女孩、巨型蜘蛛,最后是兽人,并沿途搜集财宝。你随时能来到地牢入口处的治疗点治疗角色,但这样做会复活你已经杀掉的所有怪物!不过这也有好处,因为可以给你机会赚取更多经验。治疗也给你存档的机会。当你觉得升级已经差不多了,离开地牢挑战头目兽人吧。你能打开游戏内计时器来看花了多少时间通关。
游戏工程是“未加密”的,也就是说你能在完整版 RPG Maker FES 中打开它,看我如何把游戏建立起来。或者,如果你只是想玩玩,也可以在3DS商店免费获取 RPG Maker FES player,再用编号 ci9u6rkm 下载游戏。
如果你决定自己实现一套这样的系统,我的建议是分配100个开关给随机怪物,当你离开区域时重置所有开关。在我的游戏中只有一个地下城,所以这不是很大的工作,但是如果你有多个区域,500个开关很快就用完了。因此,相比每个怪物单独分配一个开关,你能在每个地下城中重复利用这些开关,这样你就不会超出预留的开关数量。这样同时也会让你离开区域时重置所有怪物,不能保留任何信息。
资料来源
- RPG Maker FES 内置手册,尽管它实在是残缺不全。
- RPG Maker FES GameFAQs 版。上面有很多不错的信息。
- AnnaEmblem 的 RPG Maker FES 教程。
- RPG Maker FES 维基。
- RPG Maker FES的Discord 群组。
- 大量我自己的实验。
目录
汪汪仙贝 1年前
琪露诺 [作者] 1年前
发布
春娇 1年前
讲真的,我觉得rts maker 甚至垂直到moba maker可能更容易制作也更符合当今市场?类似对战平台加制作的模式,毕竟有魔兽rpg珠玉在前 笑
发布