MEGALOVANIA MEGALOVANIA

游戏开发中

目录
CPKA开发日志 其三十/三十一/三十二/三十三/三十四
/      

CPKA开发日志 其三十/三十一/三十二/三十三/三十四

工作日志

很久没复盘了,一方面是心态爆炸了,另一方面是觉得自己工作的内容不是有那么必要每天都写出来.心态的问题上其实也跟制作的内容有关,今天这篇复盘会详细记录下目前遇到的问题和反思.

战斗系统

首先谈谈战斗的问题.在制作了"推开"和"快速反应"之后,我觉得整个游戏的战斗乐趣还是不太清晰.我想要简洁爽快却又有一定策略深度的战斗模式.但是具体玩起来的感觉却并没有让我感受到这一点.

于是我花时间给自己列了很多战斗能做的深度内容,也参考了一些游戏的设计思路:< 孤星猎人 >.然后大概列出了下面几条.

其实是两套思路,一套是针对战斗中的角色分类克制关系的.一套是针对整体机制下的战斗节奏的.

战斗角色分类

先来谈战斗角色分类.我把目前这个版本的战斗问题总结为"玩起来不够丰富".所以我尝试多加入不同的角色类型来丰富战斗的体验.并且希望给角色之间克制关系来强迫玩家来思考角色之间的策略内容.

解释来说的话,我希望有这样的克制关系:战士克制刺客,刺客克制法师,法师克制战士.具体的角色的做的方向和内容上面都有些,就不展开了.

当然和专业策划聊了一下,给我提供了一些思路.

首先他不认为这种分角色是一个好的做法.因为如果要在战斗中提前定义这些东西,其实意味着远超战斗系统需要处理的内容.比如说整体战斗角色的提升曲线,整体给出敌人的配置比例,整个战斗中主角团能够上场的角色数量,这些都会和战斗角色分类息息相关.

所以这个方案被我否定了.

战斗节奏问题

孤星猎人的分享:

https://www.bilibili.com/video/BV1rp421y7U4/?spm_id_from=333.788&vd_source=fac8a31b7aac66f52e0568883e6013c7

这里是看 < 孤星猎手 > 的一个分享看到的,看他们是如何改进自己的战斗系统的.简单来说就是通过加入 Break 系统,来让整个游戏的节奏变成 打破防御阶段-> 打破防御后集中火力输出阶段 这样的节奏变化循环.所以我在这里想到了 Persona 系列里的 Break 倒地追击的机制,来提升战斗的乐趣.

这个算是一个解决现在问题所在的思路.但是问题在于,我觉得这个破防的机制还是有些太强.或者说我不是很确定倒地破防的这个防御值到底是用什么值来做决定.

这时候我发现了一个问题.对于现在的原型,我的希望是在这个原型中体现每个游戏部分的主要循环.但我在做这个战斗系统的时候,我一直都觉得"不好玩".这基本上也成为我这段时间道心破碎的主要原因之一.

真正的问题

于是和专业策划聊了一下,发现问题了.事实上我的"推开"和"快速反应"这两个系统并不如我想的那样无趣,稍微做一些扩展便可以变得有趣:比如推动的距离由重量或者力量来决定,比如加上我一直不敢加的"撞墙伤害",比如可以有推动了之后掉落到陷阱中的打法.这些都可以让这个系统变得足够有趣.

于是我明白了我这段时间的问题所在:我一直在尝试去找那个"决定性的机制"来挽救我糟糕的游戏体验.但是当我真的写完代码写出来一个机制以后,我并没有辅以能够充分展示这种机制的数值设计和关卡设计或者是附属机制设计.

事实上也许并不存在那样完美的机制,只要加入了,马上就能让整个游戏焕然一新.某个机制一定是要伴随关卡和数值的设计的.这里并不是说一定要按照成品的那种级别去调整,而是在确定了某个机制之后游戏制作才刚刚开始,之后重要的是顺着设计目的去调整一版数值和关卡.如果没有做这个过程,自然就很容易简单地做下判断:这个机制不够有趣.然后就会反复再去寻找所谓新的机制,之后就是这种痛苦的无限循环了.

另一方面,单独专注于某个机制而不注重内容实现(这里指的是关卡和数值)会导致在制作功能的时候更多只是考虑单个部分的逻辑,很难把不同的子系统或者不同的机制联动起来.这样整个游戏最后就像是一个毫无联系的缝合怪,体验起来自己很难给出好或者不好的意见.

事实上,我工作遇到的巨大阻力一般都来源于此.实现困难对我来说并不是最挫败的部分,最挫败的部分往往来自于这种不确定性.多亏了专业的策划指点迷津,才跳出了这个怪圈.

当然这个理论也不一定是完全正确.做游戏做到现在我最大的感受是:纸上得来终觉浅,绝知此事要躬行.也许几个月之后我会发现现在的理论也是不完备的.我能做的就只有把这套修正后的理论再付诸实践,然后再回顾,交流,复盘.

总结一下就是:即使是原型,做内容也是很有必要的.哪怕是一个最小的原型,但是一定是有经过配置性质的数值和关卡来体现这个机制的设计方向.不然就会陷入到自我怀疑的黑洞中反复.

游戏设计

我算是一个游戏设计的新手.在经过和专业策划的交流之后,我仔细思考了一下我的不足之处.感觉我很难系统性地去思考整个项目.比如前面举例的战斗角色的问题,其实这个问题并不是战斗的问题,而是游戏关卡数值成长的问题.我只看到了冰山一角,却忽略了冰面下巨大的冰山.

同样的问题适用于我思考 Rouge 系统里的宝箱,武器,道具.我发现一种与我不同的思路是:在思考这种设计的时候,会连带后续的系统一起考虑.

举个例子,在思考装备到底是主动消耗类型还是被动刷数值类型的时候,其实需要一起考虑的是战斗关卡数值成长的问题.如果是后者,那么其实这种思路本质上还是战斗力的问题,不管套什么样的皮,本质上还是在挑战-> 数值成长-> 奖励-> 更强的挑战中度过.但是如果是主动消耗类型的,其实更看重的是"面对 Boss 的时候需要收集足够多的道具来渡过难关".这两者的设计思路和体验其实是截然不同的.但是如果只是独立性地思考这个问题,就只能想到"主动消耗有点弱","被动装备数值像是刷数值的游戏"这种比较粗浅的结论.

其实我觉得我这种偏向体验派的设计思路会更容易犯这个错误.我把做游戏当做是"感觉",并没有倾注过于多的"逻辑".在某些领域也许这是对的.但是从商业化的角度来说:我当然知道大家厌恶商业化的数值游戏,但是,我认为独立游戏和商业游戏之间就是需要取长补短的.我对于体验的形容更像是"我脑海中有着一个看似柔弱的少女在黑暗阴森恐惧的环境中大杀四方",然而偏向逻辑系统的描述则更像是"角色初始拥有非常强力的数值来确保玩家能在环境中拥有数值上的自信"这样的感觉.

我太过迷信感觉这回事,感觉对于游戏仍然非常重要.但是我需要从两个角度来思考问题,并且在思考逻辑方面的问题的时候,系统性地去思考问题.

新的想法

顺着这个角色的装备去想,既然装备有"被动数值装备"和"主动消耗装备".那么其实就是两条截然不同的游戏道路了.我本心选择的是后者.因为我不太想做一个数值性质的刷刷刷的游戏,我更希望这个游戏偏向策略和随机应变.

这时候专业策划为我提出一个问题,他提出的问题是,如果是后者,那么玩家在到达 Boss 房之前必须攒够足够多的道具.那么这么一定会强制要求我的随机关卡分布上能够满足这一点.尽管我提出了几个借口来搪塞这个问题:我的主角数值很强,我希望给那种"你需要保护你的队友"那样的体验.但是我心里明白我逃避了这个选择下带来的问题:那就是我需要让玩家在战斗前攒足道具.

这时候他为我提了一个很牛的想法,那就是让玩家的道具变成随机房间中可以互动的物品.比如房间摇摇欲坠的吊灯,你可以把它击落砸碎下面的敌人.甚至房间道具之间还有连锁,比如水与电之类.这不仅仅考验玩家的手牌,也考验玩家对环境的观察和理解.

我一下感觉整个思路开阔了.其实上一个问题主要在于:我的道具获取仅仅来源于翻牌.但是一旦我可以在房间随机的基础上加上玩家可以利用的内容,那么这个机制一下就立体多了.甚至他直接解决了我原来战斗匮乏乐趣的问题.如果有场地可破坏可互动道具的加入,那么"推开"就不再是毫无意义的,我也并不一定需要加入"快速反应"和"撞墙"来处理现在的问题.这里真的非常感谢他,帮我瞬间理清了我的问题和思路.

虽然我知道每个做出来以后让人发呆叹气的机制在萌生想法的那一刻都是金光闪闪的点子.但是这个点子着实为我现在困境提出了一条解决之路.我觉得更重要的是给我从另一个角度来思考:如何解决一个重要系统(比如战斗系统)不够有趣的问题.一个有趣的答案是,创造另一个与之相互影响的系统.

当然这句话太模糊了.如果要详细列出来思路历程应该是:

选择"卡牌给予主动消耗型装备"-> 为了让能够过 Boss 战斗,需要让玩家囤积足够多的对策牌-> 玩家很可能拿不到那么多道具-> 需要让道具变多-> 扩散道具的概念:让道具本身可以出现在本就会随机生成的场景中.

Hook,Loop,体验

其实这周还看了一些有趣的开发视频,比如这个独狼开发者关于独立游戏开发的一些建议:

https://www.bilibili.com/video/BV1Sm41127fR/?spm_id_from=333.999.0.0&vd_source=fac8a31b7aac66f52e0568883e6013c7

他的每一条建议其实都很重要,但是我这里暂时只谈一个就是这个 Hook,Loop 的问题.关于视频内容我不会重复赘述.

Hook 其实经常会和 Loop 被人混淆,但事实上他是完全不同的两个概念.其实自从去年开始,b 站上自称独立游戏开发的人一抓一大把.有非常多的人投入了数年的时间以及大量的金钱(几十万,上百万的都有)然后可能只能做一个看起来青春版本的商业游戏.我觉得就是没有充分把 Hook 的重要性发挥出来.

说实话,我每天都在害怕我的游戏没有 Hook,或者说我幻想中的 Hook 其实是不被大家接受的.但是平心而论,这个世界上的玩家们可能是最友好的一批消费者了.他们永远都想要玩到"好游戏".这里不想展开什么是好游戏,但是我觉得一个好的 Hook 至少会让你的游戏"看起来有趣".这并不是说你的画面,你的玩法多么新奇,而是你一定要有一个点或者几个点来吸引你的玩家.

这位博主的思路是从 Story,Mechanical,Visual 三个方面来思考游戏 Hook,跟我的思路不谋而合.这也是为什么我会给自己的原型留这么长的时间来做,其实就是我希望在 Hook 的方向上明确我的游戏想要什么样的 Hook.

当然现在接近一个月的时间过去,我不认为我达到了我的目标.事实上,程序员思维一般会害我在一个系统里疯狂钻营,忽略整体和游戏的 Hook.(做游戏真的不是只有程序员就 OK 的)我需要把我的原型变得更加精简,但并不精简我的内容.我可以精简我的体量,但是必须填充内容.在这个过程中始终思考 Story,Mechanical,Visual 这三条 Hook.Hook 代表了游戏的"感觉".

在确定 Hook 的情况下,你需要按照顺着你的 Hook 来处理游戏的逻辑部分,其实就是要完成你的 Loop:玩家玩游戏的时候大部分时间在干嘛?可以干嘛?

我过去经常把体验等同于"感觉".这导致了我觉得游戏"体验就是一切"被我误认为成"感觉就是一切".现在从设计的角度而言,我的理解是,体验是游戏的全部.但是体验=感觉 + 逻辑,缺一不可.

其他的工作

这里其实还有一些其他的工作.主要是最后决定放弃了不太好用的 DialogueSystem.转向自己用 UniTask 写一套简单的导演系统.并且决定导演的脚本用 lua 来写.大概写起来像这样:

 1-- 屏幕由黑变白
 2this:ShowBlackMask(false)
 3this:ShowBlackMask(true)
 4
 5-- 镜头移动,向上移动两个单位
 6this:MoveCamera(0 ,2, 2)
 7
 8-- 这里希望直接输入的就是字符串,通过某种查找方式来直接查找到对象
 9this:CameraFollowActor("player")
10this:CameraFollowActor("npc1")
11
12-- Camera恢复位置,相当于每一次操作都是一个栈,Rewind就是反向操作上一个元素
13this:RewindCamera("npc1")
14
15-- 应该还有展示选项,但是目前的游戏里我不希望它有任何的选项破坏沉浸感,所以暂时先不做
16-- this:ShowChoice("1","2", "3")
17
18this:SetTalkType("talk")
19this:SetTalkType("middle")
20this:SetTalkType("pop")
21this:Talk("芙蕾", "今天我必须跟你说明一件事")
22
23-- \.   显示文字时等待四分之一秒。
24-- \|   显示文字时等待一秒。
25-- \!   等待玩家按键。
26-- \^   文字显示完成后不等待输入。
27
28this:MoveActor(0 ,2)
29this:WaitUntilMoveEnd()
30
31-- 拿到一个Vector3
32this:GetActorPos("player")
33this:GetActorPos("芙蕾")
34this:MoveActor("芙蕾", pos)
35this:ActorLookAt("芙蕾", pos)

战斗其实做了很多东西.但是我明白自己一直在逃避核心的那个游戏设计上的矛盾,一直在处理表现上的一些内容以及一些微不足道的 bug 之类的.当然这些问题我在前面已经讲得足够清楚了.

项目节奏

其实明显我需要重新规划我的项目进度节奏了.

首先,"脑内所想的感觉"演化出的游戏原型设计是非常荒谬的.他其实意味着我给自己固定死了填充的内容,而这是原型所不看重的.但是因为是原型所以想要快速完成,又会忽略对"内容"的填充.区分"体量"和"内容"对现在阶段的我很重要.

原型需要完成的任务是:

  1. 确定游戏的 Hook,Loop,体验的方向
  2. 制作一定的游戏内容,摸索 Demo 的制作方向
  3. 体现游戏最核心的循环

所以我需要重新规划进度和任务.游戏可以中间没有复杂的串联,但是每个独立的 part 都拥有足够完整的内容(只是体量没那么大)

如果要我重新定义整个游戏的开发流程目标,我现在会这么写:

  • 原型阶段:思考 Hook 方向,确定基本的循环.独立的完备内容 ,小体量
  • Demo 阶段:5-15 分钟可玩.完成级别的系统和素材.联立起来的完备内容
  • 量产阶段:在 Demo 的基础上增添内容,追求发布级别的游戏体量
  • 维护阶段:修复 Bug,推出新的内容.

优化事项

总结一下这几天痛苦日子下来的经验教训:

  • 游戏设计没有银弹
  • 思考设计问题的时候,系统性地去思考.一个战斗中的角色不仅仅意味着克制,也意味着关卡数值设计,阵容组合配置系统等问题.不要只看到冰山一角.
  • 任何游戏机制要想验证必须要制作内容,即便是一个原型.不要过分乐观,也不要过分悲观.
  • 利用系统性思维思考问题.有时候不一定要在系统内部解决这个系统的问题.思考每个选择会带来的影响以及带来的问题,利用解决问题的机会来适当引入新系统.
  • 时刻思考这个问题,你游戏的 Hook 是什么?从 Story,Mechanical,Visual 这三个角度考虑.
  • 区分内容体量.先追求完备内容,小体量.
  • 体验=感觉 + 逻辑.缺一不可.

标题:CPKA开发日志 其三十/三十一/三十二/三十三/三十四
作者:matengli110
地址:https://www.sunsgo.world/articles/2024/04/29/1714404148963.html