和小伙伴一起创作的《火鸦》终于放上了steam了。
这是一个让我自己非常满意的,“脱胎”于经典战棋游戏解谜类游戏。
想做战棋并且坚定地想创新,引发了我们的一些纠结——最初我们想做一个类似《火焰之纹章》系列或者是《陷阵之志》那样的战棋游戏。但是,我们并不想做一个基于这些游戏的“改进”玩法,也就是所谓的“微创新”。毕竟我们因兴趣聚在一起用爱发电,是真正意义上的“独立游戏开发团队”,就应该“放纵”自己去创作。
经过一番分析,我们发现,我们最想要的战棋元素,是「棋盘」的感觉。棋盘为“问题”带来的逻辑性,是十分迷人的。所以我们决定把《火鸦》定义为一个基于战棋棋盘性质的解谜类游戏——
他不需要血攻防构成的战斗,它只需要基于棋盘产生“问题”,基于棋盘给玩家解决问题的“知识”,由玩家自己运用自己的理解和“知识”来“回答问题”即可。
于是我们思考了主流游戏中「棋盘」的用法,总结为以下三类:
这是最主流的做法,代表大作有高级战争系列、火焰纹章系列、机器人大战系列、梦幻模拟战系列等等等等数不胜数,甚至不少galgame也都是这类战棋游戏。
这类游戏对于棋盘的用法很简单——即单元格之间决定了可以互相攻击的关系,同时也决定了单位交通关系,因此单元格在玩家不同的理解下,就会产生不同的价值,占领玩家认为好的单元格,是获得胜利的关键。
而争夺一个单元格的方法也非常简单,正如标准的棋类一样——要不你先走进去,要不干掉早已蹲在里面的单位,然后走进去。
也正是因为棋盘的作用是决定开战和交通的,所以它的核心可以转化为“谁能打得过谁”,也就是符合格子攻击关系的单位之间比拼谁更强的方法,因此带有RPG性质的游戏系列要做战棋,也都会选择以这个模式去做,这样可以给数值系统更大空间的去发挥。
机器人大战系列中,数值已经和棋盘同样重要了,不再是高战这种更类似标准器类的游戏,以棋盘和棋子为核心的设计思路了。
第二类是以《陷阵之志》为代表的,将棋子位置调整作为核心玩法的战棋类游戏。这类游戏中最强调的并不是通过血攻防来消灭对手,而是通过使用各种棋子的位移技能手段(特有权限)来导致棋盘上的多枚棋子位置发生变化,从而改变其有利性,使敌人从有利位置变成不利位置,而我方从不利位置变为有利位置。
陷阵之志中,改变敌人位置和自己的位置是核心策略,击杀敌人只是一种辅助手段,尤其是在最高难度下,击杀变得几乎不可能的时候,这个“改变位置”的核心玩法显得非常突出。
这种玩法也是极大程度的使用了棋盘的单元格以及其坐标性质的,而且玩起来也特别有意思。同时,实现起来比较简单,适合独立游戏小团队去制作。但是我们还是没有把《火鸦》做成这个样子,因为《陷阵之志》就是这类玩法的天花板和标杆,我们怎么做都会被认为是这游戏的仿制品。(请不要责怪我因为不想被看作某个游戏的仿制品而放弃这个挺有乐趣的方向,这是我作为设计者的一些「傲慢」,或者我认为的「正义」。)
A* 是一个基于Dijkstra的寻路算法,利用了棋盘的单元格位置关系,默认将周围4格(或者8格)作为next node来使用。这类玩法用A* 来命名,是因为它利用单元格的邻接关系产生效果。顺带一提,它们大多不是战棋类。
这个玩法的代表类型是《背包英雄》,在游戏中玩家整理背包,就是在tilebased基础上(表现上可能是网格,类似战棋的棋盘),把东西有序地放入背包。所谓的有序,包含两点要素——其一是能够放得下,类似俄罗斯方块塞方块一样,尽可能紧凑而大量的把道具(棋子)送入背包(棋盘);其二是道具会影响到周边的道具效果,比如“使得周围的武器攻击力增加”——这样的特殊处理,正是利用了棋盘坐标系的玩法,它就如A* 一样有趣。
背包英雄里,玩法核心是经营屏幕上方的背包,塞什么道具、怎么塞、塞在哪儿,是玩家要“解决的问题”,也正是游戏性所在。
分析整理完上面三类「棋盘」的玩法,也有了些思路。我们又思考讨论了棋盘运用的性质和各类玩法,发现了一个有意思的玩法方向——它已经被中国象棋、国际象棋等棋类游戏运用至今了, 只是电子游戏里面这么用的我们还没见过(当然这并不等于他们真的没有)—— 棋盘上,棋子间互相牵制的玩法。
什么是「棋子间的互相牵制」?
以中国象棋举例:在中国象棋中有一个典型的“当头炮”开局,当头炮直指对方中兵。由于小兵在自己一侧的时候不能横走,所以这个小兵几乎是必死无疑了,下一回合炮就能吃掉它。但是对手可以用“马来跳”对抗,由马保护兵——因为炮吃掉了兵,就会被马吃掉,得不偿失,所以就有了要不要吃的决策。
马来跳的走位,正是一种对炮当前位置的牵制——确切地说,棋盘上的每个棋子都埋下了对棋盘很多单元格的牵制效果,以至于每一步都需要思考如何改变这种牵制关系。
这种“潜伏在深处、在算计中”的牵制关系,是一个非常有意思的点,布局和算局也充满了智慧,这也是象棋之所以好玩的原因(当然玩法再多最后都是有穷尽的,所以当你达到棋谱水平的时候,象棋内容也就玩完了,就没劲了)。
基于这个思维,我们得到了火鸦最初的概念:
我们要在棋盘上玩游戏,最简单的一个小目标就是从某处移动到某处,就像战棋里面移动一个角色一样。
而如果棋盘上加入一些牵制会变得有意思,最初概念是:在每回合移动中,某些行和某些列是被封锁的,因此不能进入对应行和列。
基于这个概念推敲,得出:如果地图上有3个点,他们所在的行和列被封锁了不能进去,只要我们移动力是4或更多,就一定有办法从起点到达终点,无非是每个回合多走点少走点。
如图所示,从起点走到终点,每个回合我们能走4步,那么3个蓝点和他们造成的浅蓝色封锁线是无法阻挡我们移动到目的地的。
在这个玩法上想要定胜负目标,如果只是“最少步数达到终点”,运气占比就太高了——“运气”的核心,是每回合这三个蓝点的位置。这三个蓝点如果全是随机产生,每回合从空地随机挑三个点,就变成一个看运气的游戏了。
我们应该让这三个蓝点的运动有规律,因此我们附加了这个规则——这三个点每回合的最大移动力是3,他们会在x或者y轴上尽量接近我们,如果y距离>x距离就会先在y轴和我们对齐,否则会先在x轴和我们对齐。
有了「蓝点的运动规律」概念之后,牵制关系就更清晰了——我们知道如何诱导这些蓝点和蓝条, 以至于自己最快达到终点。
但是这个玩法仍然存在问题。这样的谜题非常无趣,因为它太过简单了,毕竟起点和终点最佳走法肯定是一个劲走最大值就完事儿了,于是解决第一个问题的方法就“简单出炉了”——我们在地图的不同区域都有一个目标点即可。
当起点终点不再是2点的时候,就不能以“走最大格数”为目标了,因为在经过每个点的时候还需要考虑跟蓝点“拉扯”关系,毕竟蓝点总是想瞄准我们的。这个做法使得谜题一下就有了巨大的进步,游戏变得好玩起来了。
困难也随之而来,我们测试玩的时候,感觉很多情况下难以获胜。我们意识到,需要有东西躲一躲,哪怕只是躲一下。于是障碍物就出来了——障碍物可以阻挡1到2次攻击(浅蓝色区域)。
起初黄色是可以阻止玩家的,但是发现这样一来,反而难度(不可能通过关卡的概率)直线上升,于是还是确定了“黄色可以通过,但是黄色阻挡浅蓝色次数有限,且只有当蓝色的敌人在x或y和玩家对齐的时候,才可能会向玩家所在的那一个方向(而非原来的4方向)发射浅蓝色射线”的概念。
因为有了敌人往一个方向发射射线的概念之后,可以更具象的去想这个玩法,比如我们操控的是一个逃跑中的小机器人,而敌人是发射激光的邪恶机器人,这是一个能成立的题材。
当思路进一步打开之后,我们就这个具象又进一步追加了一些规则——那就是既然敌人发射激光,不如直接发射子弹(以避免一些表达问题),子弹之间互相无法抵消,毕竟不是坦克大战也不是模拟那种武林高手手接子弹。
互相对射的机器人也应该有机会把对方击毙,也就是敌人之间会有一种“内讧”关系,只要他们开枪了,子弹不长眼,命中自己人或者玩家,都是一样的消灭。
而经过实际的试玩体验之后,我们发现这个设定不仅还不错,而且还进一步加深了这个“牵制”的概念,“牵制敌人”确实不应该只有简单的“我布局等敌人跳进去”而应该还有“诱骗敌人布局干掉敌人”K之类有趣的东西。同时我们还反思了“布局”,于是加入了玩家一侧可以通过阻挡获得陷阱材料,并且布置陷阱,虽然陷阱不能杀死敌人,但是可以阻挡敌人移动,也算是一种有趣的布局。
随着这个玩法被验证以及投入使用,一个新的边界问题出现了,也就是「敌人在我到达目标点前全灭」的可能性。
尽管3个敌人不太容易造成敌全灭,但是依然存在这样的逻辑可能性:
尽管敌人都在玩加一条线(才有可能互杀),但是上面的情况是,1号肯定会存活,而下面的情况则是玩家会被击败而GameOver,但是将来如果我们设定一些技能让玩家可以躲避一次子弹又会如何?因为这样的扩展性的具体用法,在设计阶段是不应该浪费时间去论证可行性的,于是我们先认为这个技能是存在的(留给将来可能性),所以我们假设敌人是可以全灭的,并定义了一个新的规则——由于敌人全灭之后,我们只要大摇大摆走到终点,这相当于一个垃圾时间,就把敌全灭,也列入了胜利条件。
当有了敌全灭的概念的时候,我们想再引入新的元素。
因为我们不赞成玩家可以攻击敌人,不然就跟普通的战棋没区别了,但是我们允许玩家间接攻击敌人,也就是说玩家应该有权自主选择“走过所有终点”还是“消灭敌人胜利”。
想到这里,我们首先想到的是场景换成森林里,阻挡是大树,被攻击后会倒塌,树上的树枝锯下来丢地上也可以绊倒地面移动的敌人机器人(我方因为可以跨过大树,所以是飞行机器人,有个小螺旋桨的)这一切都说得通。
既然阻挡的是大树,可以有办法弄死大树和敌人,还有说得通可以“引着走”的就是火焰了。火焰在树林里蔓延开之后,不仅会消灭掉阻挡子弹的大树,也会消灭追杀我们的敌方机器人,同样也会把我们烧死,这样才有意思。
但要是火焰占领了终点,不是输定了吗?于是我们想了个更简单的方式,把终点变成敌人需要守护的建筑物,我们的目标改成摧毁这些建筑物,并且可以诱导敌人开火或者火焰蔓延来消灭这些建筑物。而此时此刻,由于为了让火焰烧死敌方和我方更说得通,我们想到了把敌我角色都变成血肉之躯。
于是,能飞过大树、叼起树枝陷害敌人、还能惹你生气的大聪明,就是乌鸦了!整个游戏的概念雏形就此完成。
因为市面上太多的解谜游戏都是类似“密室逃生”的类型,即便是塞尔达这种带有解谜因素的大作,其解谜元素也都是“密室逃生”,但是“密室逃生”最终只是一个一次性的小玩意儿,不能像真正的游戏一样被人反复游玩,因为玩过一次就没意思了。
游戏就应该可以反复玩,并且每次玩都一样有趣。
何谓“密室逃生”?就是2012年左右流行过一段时间的一类flash小游戏,这些游戏的特点就是有一张图片构成关卡,玩家需要从中按顺序点击图片内的元素,以得到推进游戏所需要的关键道具,在得到一些关键道具之后才能和一些内容有交互。这类游戏中比较经典的也包括《机械迷城》等。
这样的解谜游戏,在第一次玩的时候因为“没玩过”或者“不知道”所以还有一定的悬疑性,你必须从策划布置在场景中的一些线索,去揣测出策划想让你怎么解这些谜题,但是玩过一次之后,也就是“知道了”以后,游戏能带来的乐趣几乎就化为了0,因为玩几次都是一样的,只有知道了和不知道的区别。
这样的游戏是没有反复可玩性的,当游戏的内容被玩家玩过一次以后“知道了”,就不再拥有任何游戏价值了,游戏很快就会被透支掉,同时玩家再次重开一局,就会有一种空洞和失落的感觉,因为“谜题”对他们来说已经不是问题了。但是好玩的游戏,比如麻将、俄罗斯方块、足球等,都是可以反复反复玩的,并且每次反复玩都会有不一样的谜题,因此都会有乐趣。
为了确保玩家想玩始终有玩,就得保证他们面对的内容(关卡等元素构成了游戏的内容)总是“新鲜的”。若是已经玩过的,则可以通过记忆过关,就不那么有趣了。所以若是要做一个密室逃生,我们得花费海量的经历去精心构造一些玩家可能几分钟就解出来的谜题,大多这样做的游戏最后产出量完全都是不够玩家消耗。
最初我们打算跟大多游戏一样,采用随着关卡推进而增加一些元素的带来新鲜感的方法,比如到第7关开始引入汽油桶,第16关开时再引入旋风等,不断将“新的知识点”(也就是新元素)带给玩家。然而这并不能在本质上解决问题——
我们不想通过完全堆砌内容,让玩家通过我们精心设置(setup)的提示,来揣测我们精心设计的“谜题”,因为这样做并不游戏。游戏的本质是让玩家发挥自己的智慧,在一个规则下随心所欲地解决各种同一性质但“谜面”不同的问题。
在开心消消乐中,随着关卡的推进,会引入越来越多的新鲜元素,作为新内容的推进,同时也会不断的人工配置关卡提供给玩家玩,但始终内容产出远不如消耗来得快。
而战斗过程中的随机因素(比如造成的伤害随机浮动,再比如敌人的ai随机选择目标)也被我们否决了。因为解谜类游戏——设计上他就要求不能有一样的走法带来不同的结果,因为只有玩家的走法和结果是绝对对应的关系,才可以预算出怎么带来胜利。而怎么做到这些预算,正是玩家智慧所在,也正是游戏的核心乐趣所在。所以我们不能在游戏的规则层加入随机性,也不能再决定胜负的点上加入随机性。
所以我们想到了在地图上加入随机生成,并思考其规则。正如足球、扑克牌、麻将和各种棋类游戏一样——我们想做的也是一套规则,基于这个规则可以有无数种初始局面的可能性(对于我们的游戏来说初始局面就是第一回合时候的地图),在任何一个初始局面(地图)上玩家都能玩游戏。
只是可能有些超级简单有些超级困难,就像是象棋的残局,又像是每一次新开一局麻将,你面临的是随机且不同的“谜面”,但是用你自己喜欢的思路都可以去玩出自己的花,得到属于自己的游戏过程和结果。
我们知道——所谓的随机,并不是漫不经心的无脑随机,而是建筑在一套规则之上的随机,这套规则约束了随机结果的可能性,正如用扑克牌玩争上游,你每次拿到的手牌都是随机的,但是你不可能一次拿到5张A,因为一副扑克牌就4张A,这就是约束。于是我们根据自己游戏的性质写了一个随机算法,使得游戏有了至少3的64次方种随机地图,并且因为游戏规则的关系,以至于每一个地图都是可以通过的,只是有些真的非常简单,正如有些非常困难一样。
我们正在打磨这部分内容。在正式版本中,我们将利用随机关卡做一个剧情之外的核心玩法给大家,敬请期待!
目前,《火鸦》正在进行上线前的最后测试。并且,我们决定以“先行体验”的方式发布游戏。在这个版本中,您将会体验到绝大部分剧情关卡,预计能够带来3~4小时的游戏时间。
所以,喜欢《火鸦》就去前往STEAM添加愿望单哦!
EE GAMES 社区游戏介绍链接:https://www.eegames.com/Games/GameDetails?gameId=200053