2024-11-23 04:12:00作者:02502攻略网
8月18日消息,Roguelike游戏是角色扮演游戏RPG的一个子类Roguelike-RPG,很多人都熟悉的饥荒就是这种类型的游戏。那么这种生成随机性很高,系统复杂,充斥各种非线性人物的游戏该怎么开发呢?有开发者分享了一些关于制作一款Roguelike游戏的设计经验。
文/Bozar
诅咒之魂:乔万尼交响曲Cursed Souls: Giovanni's Orchestra是一款网页 Roguelike 游戏。玩家需要收集并使用四种宝珠orb,打败三个头目,最终获得胜利。整个游戏从最初构思到最终完成花费了三个月时间。这篇文章记录了我在开发早期遇到并解决的问题:我想制作一款怎样的游戏?
限制条件
为了在合理的时间内,一个人设计并制作一款 Roguelike 游戏,必须想清楚这款游戏不包含哪些内容——因为先把游戏做出来,多简陋都行,再把它做好,要比做到一半中途放弃好得多。具体来说,分两步找到限制条件。
图 1:游戏主界面。
第一步,提炼 Roguelike 共有的核心要素。这一步又细分为两个阶段。作为玩家,我推荐仔细研究 Sproggiwood 和 DCSS,从探索、战斗和资源管理三方面发掘这类游戏最底层的乐趣。作为开发者,去/r/roguelikedev/读一下游戏开发教程。最后,列出你认为只要是 Roguelike,就一定要让玩家体验到、并且你绝对有能力实现的游戏要素。
第二步,根据你的业余时间和现有知识包括设计游戏的知识和写代码的知识,为当前游戏划定禁入雷区。我对诅咒之魂的限制包括——
只用 Javascript 和 库。
游戏时长约二十分钟。
地下城共四层,每层有一个必须打败的头目。
攻击必定命中,伤害是固定数值。
每层地图的尺寸仅限一个屏幕。
没有单独的物品栏界面,玩家人物的物品显示在主界面上。
主要目标和次要目标
Roguelike 游戏的主要目标可以分为两类:消灭指定敌人或者抵达指定地点。前者很常见;至于后者,不妨玩一下 HyperRogue我写过介绍文章。战胜敌人是此类游戏的次要目标,包括两种极端情况:必须打败所有敌人,或者必须躲开所有敌人。
诅咒之魂的主要目标是消灭每层的头目,是否打败其它敌人由玩家自行决定。你可以鼓励玩家战斗或潜行,或者为两种方式设计同等难度的挑战;你可以设定单个主要目标,或者组合两个主要目标,比如把消灭敌人作为抵达终点的前置条件——但是无论如何,你最好尽快做出决定,并且确保不会改动目标。
图 2:头目战。
针对以下动作:
拾取或丢弃物品
上下楼梯
开关门,拉动拉杆,拆除陷阱
使用技能
使用物品
回答两个问题:
这款游戏里是否需要某个动作?是否需要添加新动作?
每个动作对应游戏手柄上的哪个按键?
尝试把动作映射到手柄上有两个目的:帮助你剔除多余动作;把不可能或者不允许同时使用的动作合并为一个按键,便于玩家记忆。
诅咒之魂最核心的动作只有两个:移动和互动,对应五个键盘按键。
移动:四个方向键。
互动与楼梯互动,拾取物品,使用物品:空格。
图 3:按键说明。
游戏机制
目前不用专门花时间设计游戏机制,只需要整理前几个阶段的构思,提炼出若干不完整的机制链——比方说已经知道怎样计算命中,但是伤害公式还没想好;又比如想要迫使玩家在限定时间内探索地下城,不过应该用饥饿度还是不断变化的环境呢?
上文提到,诅咒之魂里只有一个互动键,由此产生两个问题:
按下空格键时,采取哪个动作?
按下空格键时,使用哪个物品?
我根据两个条件选择动作:玩家人物的位置和动作的优先级。
站在楼梯上时,按空格键“与楼梯互动”。
站在物品上时,如果物品栏内有空位,按空格键“拾取物品”。
如果不满足上述两种情况,并且物品栏内有可使用的物品,按空格键“使用物品”。
如果不满足上述所有情况,按空格键没有效果。
在最初的构思中,这款游戏的物品栏有两个特点:
玩家没法决定使用哪个物品。
物品的拾取顺序很重要。
于是,我决定让玩家只能使用最后拾取的物品。顺着这个思路,我又想到了伤害机制:受到 X 点伤害时,物品栏按照“后进先出”的原则弹出 X 件物品。如果伤害大于剩余的物品数量,人物死亡。
图 4:成就界面。
继续设计
通过以上四个步骤,你应该已经知道为什么要制作这款游戏,以及它有哪些特点。接下来,我建议做三件准备工作:
制作列表,描述人物的所有动作和对映按键。
制作列表,描述人物能够使用的资源生命值,攻击力,防御力,技能,物品等等。
制作流程图,描述资源生产、转化、消耗的过程。
从两张列表和一张流程图出发,补全机制链,最终设计出游戏原型。