阅读视图

发现新文章,点击刷新页面。

第二部解谜游戏作品开发记录 (上)

第二部解谜游戏作品开发记录 (上)

前言

Image title

当前作品已经经历了 2 个月的制作,算上前期策划时间,大约为 2 个半月。本来计划 3 个半月做完,但因为工作量比预期大了不少,所以先记录下前半部分,从前期策划到游戏体验验证,再到美术资产制作。剩下的放到下一次日志中。

1. 确定方向

在上一部作品基本完成后,总结了一下遇到的问题以及优势、劣势,这次算是有了一些经验,不会像上次制作的过程中那样产生大量研究。相对来说,上一部作品故事简单,多以与场景中的物品交互为游戏体验,这次就想着增加一些角色与文本。当然,考虑到开发周期,还是以比较小的空间为核心,只是角色增加了不少(这也大大增加了制作时间)。

经过几天来回选取,最后选择了侦探类解谜方向,主要是满足我需要的多 NPC+文本解谜+讲故事。

确定大方向后,又去重新回顾了阿加莎·克里斯蒂的一些作品,有了大概的计划和目标:一场发生在酒店顶楼的凶案,主角是一位侦探,需要去破获这个案件。

2. 策划谜题

依据大方向,开始针对谜题进行策划。说实话,虽然有了之前的经验,但策划这部分还是花费了不少时间。经过一番梳理,最后确定为 3 个步骤:寻找案件矛盾,排查在场人员,复盘案件过程。

基于这 3 个步骤,最终成功整理出我需要的游戏基础流程。

游戏的核心解谜逻辑被确定为:寻找证词与证词/证物之间的矛盾/印证。

制作上一款游戏的时候,以为策划得很完整,但做到一半发现有个细节有问题,所以这次决定先在地图上对流程进行推演,确定解谜部分不会在后期冒出问题(实际上后来还是优化、调整了一些细节)。

Image title

基本确定流程没什么大问题后,开始对制作计划进行规划。

3. 规划制作周期

我个人比较看重时间,应该是以前参与一些项目时留下的习惯,会为项目制作比较详细的周期拆解。这里就简单写一下,主要是根据每个制作步骤需要达到的目标来确定。

第一阶段:确定游戏流程的体验和可实施性,制作一个简单的 Demo——只考虑核心解谜部分的体验,同时也是为了验证自己的程序能力是否真的可以做出来。这部分不考虑任何美术实现,基本完全就是文本+方块图,为期大概 2 周。

第二阶段:制作美术资产,生成最终需要使用的所有美术资源。这部分很花时间,我本来计划的是 1 个半月,但实际上花费了 2 个月,因为工作量比预期的大了很多,后续会详细说明。

第三阶段:最终合成,把之前 Demo 测试的东西和后续美术资源结合在一起,形成最终的版本。这个步骤基本就是搬砖,因为需要制作的已经大致完成,剩下的只是把东西组装到一起,保证别出问题,然后将诸如保存、音效控制等其他功能开发出来。

确定制作步骤以后,就开始执行。(上)篇日志只覆盖前 2 个阶段的制作过程。

4. 游戏流程的验证

对我来说,这个步骤其实蛮有挑战,计划用一周来确定程序的写法,一周用来制作样本。因为程序能力确实不怎么样,所以决定在正式开始制作之前,先确定核心玩法部分到底能不能写好。这次跟上一次完全不同,类似地图移动、开启界面什么的,上一次都做过,就不需要来回验证。第一周真的很重要,来回测试了至少 3 种写法,最后在老哥的帮助下找到了一种确定可以执行的方案,并且可以量产,为未来如果还开发这类作品留下了可能性。

这个制作过程,基本就是完成最简单的 UI 界面+谜题设计。也参考了一些其他作品的 UI 布局,不过后来发现大家都差不多。

Image title

界面右边为寻找到的证词、可以提的问题,以及对应的角色头像。

Image title

当开启了分析界面就会变成这样,可以将左边的证物卡片拖动到右边,与角色的证词进行交互,形成新的结果。

确定这些后,也把当前作品所需要的解谜部分的证词界面全部规划出来了,为第二周制作基础框架的 Demo 做准备。

Image title

不建议观看细节,避免剧透

大概都准备好,就开始制作核心游戏体验的 Demo。这部分用经过验证的程序逻辑去搭建还是比较快的。

Image title

搭建的框架的零件数量比我想象中多了不少,不过因为优化过程序脚本,其实搭建过程就是体力活。

Image title

运行起来大概是这样,因为没有什么美术效果,只简单截取一小段,总之就是把整体都变成了一个可运行的程序。

这个步骤完成后就比较放心了,因为确定自己可以实现当前目标,同时也把最终流程细化了一遍。

Image title

将文本细节之类的修订 2 次,确定最后运行的版本。

同时也测试了一下全流程,完全靠点击,纯操作时间为 5 至 6 分钟,跟预期中差不多。加入地图移动、探索后,纯操作时间应该可以到 15 至 20 分钟。根据上一部作品积累的经验,玩家的可体验时间估计能到 45 至 60 分钟(与计划中的规模体量一致)。

5. 美术资产制作

上一部作品中,需要制作的资产只有 8 个房间。这次的工作量接近上次的 3 倍,考虑到还要提高画面质量,所以还是先制作一个房间为标准。

Image title

先简单制作了一个白模,主要是测试场景中的物品摆放及比例,后来发现还是有点拥挤,但大概的氛围和逻辑应该没问题。场景风格方面,我希望更现代一些,而不是太复古的酒店设计,所以就找了一些现代的真实酒店作为参考,同时扩大了房间比例,重新制作第二版。

Image title

制作过程中,也开始尝试研究场景色彩搭配。现在市场上的游戏太多,这次想做出不一样的感觉,拉开距离产生识别度,所以参考了很多奇怪的画作的配色(其实我个人也不是说多喜欢这种配色逻辑,但可以理解它带来的大概感觉),找一些基础参考方向:

Image title

我并不知道这是谁的画作,我的模仿也不算一致,原画作要更好看一些,我只能在合理的情况下尽量靠近。

基于这个模式,制作了一个贴图版本场景,融合了一些绘画感的笔触和漫画感的网格点,我还是蛮喜欢漫画的。

Image title

我个人对这里的效果还是比较满意,不过后续制作时又修改了一些,因为量较大,没办法每个细节都做得那么精致,不然渲染可能会非常慢(看到后文就知道原因了)。

场景逻辑基本确定下来,就开始去匹配引擎效果。但这次发现,基于镜头的 Normal 输入出了问题,我用了这么久 Arnold,居然不知道怎么输出这样的图,因为以前都是渲染角色,不需要去解决偏场景的技术问题。来回搞了一天也没解决,因为现在用这种老流程的确实太少,也想了一些骚操作是否可行,比如 Substance Designer 之类的,但问过一些 SD 大佬好像也没啥好办法。最后是找到一位有丰富行业经验的朋友求助,他提供了一个方法,基本算是解决了。

大概就是输出如下这样的图(其实现在很多渲染器可以直出,我也不知道为什么用 Arnold 那么麻烦)。

Image title

下面这张是 Arnold 默认渲染的效果,但导入 Godot 中结合使用会出问题,因为角度是按空间正方向去渲染输出的

Image title

最后这个问题解决完,导入 Godot 中可以模拟部分 3D 场景的氛围,到时候在引擎中实现场景氛围的一些变化。

以下是在 Godot 中测试法线效果。

Image title

基本确定后,就开始正式制作后续场景。

这个阶段留存的过程图不多,因为已经有了经验,基本上是直接边做边调节:先解决大的区域框架,再细化里面的“零件”。

Image title

一点一点进行完善(场景里的模型是用之前测试时制作的那些,摆上去,然后加入一些新的模型,装点细节)。

接下来还有楼下和楼顶 2 个区域需要制作。

Image title

最终效果如下:

Image title

Image title

人物是后来放进去渲染的,下文会提到

场景工作基本敲定后,开始制作角色。这次希望角色没那么写实,相对有点卡通感,所以最初规划时是想让每个角色都拥有相对比较有特点的比例。接着简单画出大致比例。

Image title

画得虽然一点都不好看,但也确实丑的无以复加。

自己看得懂就不错了,其实我有很久没画东西,都是直接 3D 起稿,这次为了可以让角色拥有不同的身材比例,才在前期有所规划(其实后续也没太用到,只是稍微有点区别,不然跟场景中的物品匹配会出一些问题;但有点差别总是好的)。确定好这些事以后,就开始在 ZBrush 中去制作每个角色的草稿。

因为以前练过几百个模型速写,所以制作这样的东西还是比较快,大概花费了一周多时间,把需要的 12 个角色的草稿+比较精细的头部全部做完(一些身体体块差不多,可以直接改,鞋子也基本上都是一个模型,所以就是体型加头部)。其中一些手部、鞋子或者头发,其实是用以前做的素材,或者从素体拆解,所以也不是很费事,更多是修改。想了一下,如果结合 Daz 生成应该会更快,主要是卸载 Daz 太久,一直不太会装,感觉很费时间,就自己做了,后续如果考虑走量还是多用这类素材软件会更好,不然确实累。Character Creator 也可以考虑,输出人头应该很快。

Image title

这个过程中,也顺便确定了大致配色,先用 ZBrush 简单上个色,后续用 Substance Painter 详细处理。

接着将头部单独细化一下,其实有一些也没详细弄,后续制作最终版本时还修改了一些,然后也 PS 了不少。

Image title

完成上述步骤后,开始针对这些模型进行整理、输出,本来是想着好好做的,但干了 1 天才做出一个,感觉工作量太大,而实际上,场景中的人物比较小,布线之类的再好看也看不到,所以就干脆不细化了,直接身体全部合并在一起,然后扣一下细节转折,搞得干脆利落一点。直接 ZRemesher 开路,后续用 Unfold3d 展开也方便,模型面多一点问题也不大,因为我是渲染序列帧,而不是直接导入到游戏中去使用。

接着大概耗时 3 天,全部整理完毕,因为我的草稿也是注重大色块,没有太多去追求细节,合在一起后开启色彩保留,就可以直接按一开始区分的色块进行布线,做起来还算方便。鞋子也稍微做了几种,然后简单差异化。

Image title

为了后续做贴图可以偷懒,也直接把色彩输出了一份,不然到时候又要重新画。每个角色 2 个象限,用 Substance Painter 的 UDIM 直接处理就可以了。

自己搭建了一个绘画风格的 SP 滤镜,然后把所有贴图处理了一遍,顺便处理了粗糙度和金属度的问题,让信息量变得稍微丰富了一些。不过话说回来,最后还是一个小人,其实只是稍微多一点点信息,如果详看细节还是有不足,但不重要。

Image title

完成后,放入 Arnold 渲染,基本上可以满足这个视角下的观看了。

然后渲染一下头部图片,之后进行一些合成和 P 图,为所需的角色全部给出一个头像。有 2 个角色用不到头像,就没有专门去做,因为这个步骤比较费力,不少地方都得自己手动补,基本上就是把模型减面以后丢失的细节修整干净,再优化颜色、画一些高光之类的。

Image title

有一些后来发现的模型比例问题也 PS 了一下,不过也没完全处理掉笔触留下的一些东西,更多还是清理。后来想想,理论上也可以直接 AI 输出,但一是现在不少人比较讨厌 AI 创作,二是我也不太会用某些 AI 工具,不然其实都可以不用做头部,直接大概输出一个放上去,反正缩小了也看不到。

为了确定这件事,我还研究了一下《极乐迪斯科》,我发现他们的模型是 3D 的,很小,基本看不到细节,当然也是因为减面。头像则是直接画的,如果是直接用纯 2D 头像,我觉得还可以更快完成制作,这次也算是没这方面的经验。

到这里,需要的美术资源基本都做完了。后续动画部分用当前模型丢入 Mixamo 中直接去输出就可以,我测试过,经过减面后,每个角色模型为 10W 面,Mixamo 可以带动,虽然有时候会有点卡。所以我就没再继续减面了,这种体力活还是干不习惯。

Image title

做完后迅速测试了下,发现之前为了看效果,角色的手有点靠近身体,会出一些问题,所以后来整理的时候都特意摆得更靠近 aPose 一些。

基本要素都确定后,也顺便更新了 UI 界面,最终还需要再优化,现在只是把当前有的资源都放进去测试一下效果。

到这里,日志(上)篇就结束了。后续要开始把做的东西输出后丢入引擎,因为很多地方要结合引擎检查和测试,所以就一起放到(下)篇~~~

第二部解谜游戏作品开发记录(下)

第二部解谜游戏作品开发记录(下)

接(上)篇

阅读(上)篇:第二部解谜游戏作品开发记录 (上)

Image title

完成前序美术工作后,我开始在 PS 中整理美术资产,以便更好地放置到引擎里面去。

1. 场景效果落地

前期渲染时,也对当前物品进行了拆分,大概的拼接过程如下图所示。

Image title

全部放入引擎里花费了不少时间,而这次还想做一些上一部作品没做到的事情——全程没有场景切换的“断裂”,体验起来感觉是一体的。

所以,除了简单的出入门口场景切换以外,还需要处理搭电梯、爬梯子、翻窗户这几种情况。

最终实现的效果如图,虽然距离“真实”还有不小差距,但整体衔接的体验还算不错。

Image title

Image title

Image title

Image title

整个场景基本都是由这样的动画衔接、合并在一起的。

由于较长不方便以图像形式展示,完整视频可以查看以下录制版。

人物的寻路和状态切换依然是使用地面格子的读取信息。

我给地面格子都打上了编号,如果走到不同的区域发生变化,就同时切换状态。

Image title

上下楼是通过切换地面的 TileMapLayer 来实现。

每一个单独的状态内部,都可以独立设置对应区域需要启动的东西:包含图块、摄像机是否跟随、摄像机位置、开关、碰撞体、NPC、灯光.....等等,这样写好以后,只需要把每个零件单独设置进去就可以,比较通用。我最后的场景里大约有 3K 个零部件,设置也花费了很多时间。

Image title

为了可以做到这些事,我给主角人物制作了大量的序列帧。

Image title

依然是使用 Mixamo 的素材,只不过这次把一些动作拼接起来,形成了此前没有的动作效果。

因为制作时采用 3D 流程,所以最后还是尽量兼顾了灯光效果,其实对解谜本身没什么影响,更多是增加游戏的代入感和可行度(当然还是因为不用感觉好亏)。

Image title

这里制作了两个层次的光线,一是匹配外面玻璃窗透射与物品交互形成的光线,另一个是范围的(单独影响人物)。因为与物品交互的光本身有形状变化,如果直接给人用会很诡异,所以单独做了一个过渡柔和的光,当人物走过去的时候会明显变亮。

2. 核心玩法:收集、比对、破解

由于为场景添加了很多绘画元素,所以在制作拾取物品的提示框时,也加入了涂鸦元素(后续会用到更夸张一些的),鼠标放置在上面比较有趣。一开始画的比较夸张,但测试以后发现还是不能太大,所以缩减了很多,最后控制在了一个比较明显但又不过分的状态。

Image title

传统的这类视角的解谜游戏,有时按一个键就提示场景中有哪些东西可以拾取。我单独设计了一个提示系统,需要玩家靠近物品才会有提示,这也是为了模拟更靠近现实的感觉。

Image title

当玩家控制人物点击拾取后,会走过去进行拍照,头顶也会显示出拍摄结果(后续可以在档案里查询)。

Image title

最后,一共设计了大概不到 30 个线索,大部分都是从场景中获取,还有一些是从 NPC 那里获取(下面展示部分)。

Image title

所有图片都经过了绘画风格处理,因为直接用渲染出来的,局部效果确实不太行,一开始做的时候没太考虑特写效果。

拾取物品后,可以在文档中进行解谜交互,两个有关联的线索可以直接合并成一个,或是与有冲突的证词交互。

Image title

Image title

如获得新的疑问,还可以继续去询问对应的人物,获取更多信息。

这就是游戏的核心玩法。

一开始找了一些朋友测试,他们觉得提示比较少,需要自己去尝试才可以得到结果,不够明确,所以就做了一个简单教程,把游戏中涉及的所有交互都用图文方式表达了出来。

Image title

使用了绘画感比较强的画风

3. 修补与调整

经过前面的整个流程,每位角色都会有一个对应的结果,这里不做过多剧透,最终大概会是一个比较完整的审核版面。

但之前帮忙测试的朋友还反映了另外一个不足:游戏缺乏乐趣,不好玩,正反馈少。

这确实是个问题,我之前也没意识到会遇到这种情况,因为这次本来是想尝试做一个文本量相对更多、更严肃一些的解谜游戏,但可能是解谜部分过于严肃了,导致最后变成了“脑力劳动”。当然,这是游戏策划阶段的失误,到现在确实很难再修改。所以,为了最后收尾的时候稍微多一点正反馈,我加入了复盘机制。

当所有谜题都解开,玩家大概会知道是谁干了什么事情。然后就进入复盘阶段,需要完整地走完前晚的作案过程。使用的方法是在地面上放置标签,同时会切换到前晚的会议画面。

Image title

彩色是现在,黑白是过去(参考记忆碎片,还有个原因是我认为黑白画面还蛮有感觉的,所以想到了这个用法)。大致的动态效果如下图,走过去的时候会有点状提示,点击后会变成昨晚的状态,后续再点击还可以浮现现在的画面。

Image title

随着走动距离的变化,显现出来的涂鸦提示图也会发生颜色深浅度变化,走远了就会消失,也算是一个小设计。

最后大约制作了 14 个步骤,用以复盘前晚的事件全程,只有一个画面是没有作案人的,为避免剧透就不多做展示,放个小图。

Image title

说实话,这个步骤比我预想的耗时多很多,因为每一个人物动作都需要单独摆放,且不止一个人物,来来回回折腾挺久。未来做这类实现还是要提前预估一下工作量。

4. 外包装

因为这次比上次更有经验,一开始就选择了相对好把控的方法去编写程序,所有很多数据都是从最初就整理好的,只花了几个小时就写完了保存,设置部分也几乎是直接沿用上一次的代码。

这次的一部分新工作,是把 UI 界面调整得更符合当前的美术风格,为此添加了很多绘画感。

Image title

还把玩法说明直接塞到了游戏中,我感觉白色底更好看,不过黑色也可以接受。

Image title

剩下的就是本地化问题。我所用的都不是文本而是图片,所以需要在后续制作中直接替换图片。功能实现我已经“研发”完毕,不过需要等朋友翻译完,才可以换上去。

因为一开始就考虑到可能会有翻译需求,所以把图片都变成了一个个封装好的图块,后续换的时候,直接图块相互绑定就可以完成。

Image title

Image title

很多文本都是以这种方式拼在一起的, PSD 都在,后续可以直接换成英文输出图片,位置也可以对上。

末了还做了一个进入游戏的界面,添加了一些笔触绘画风格。

Image title

与第一部作品一样,点击一下门,就会打开,然后进入游戏,也算是一脉相承。

最后还剩下音效没做,目前还在寻找办法。核心功能倒是跑了很多遍,感觉没有 QA 是真不行,自己玩多了有点恶心/(ㄒoㄒ)/~~之前朋友测试发现了一些 Bug,相应进行了一点点修复,后续估计还会有,这确实不是一个人可以完整完成的。

我自己录制了一遍完整流程(几乎忽略阅读时间),大约就有 16 分钟,之前给人测试时,游玩时间大约为一个半小时。

这次算下来,至少项目体量接近上一次的 3 倍了(地图体量、游玩时长、工作量),最终比预期多工作了 2 个月,有些低估工作量。下一次估计也不会再制作这样玩法的作品。

估计等 BGM 和翻译解决以后,会免费放到 Steam 商店,具体时间暂无法确定。

感谢大家看到这里~

❌