先来介绍一下开发背景,我们的团队一共2人,我主要负责游戏设计和程序,Jamber老师负责美术。但是这次不巧Jamber老师在忙别的事,所以最终游戏里有很多programmer art(或者说是一种artless)。
这是我们参加的第二次game jam,上一次还是年初的48h Global Game Jam。但相比周末的48h,我反而觉得这次21天的时间更紧张。时间一长自然就想拓展作品的体量,而笔者目前正在实习,只有晚上和周末可以用于开发。似乎实际开发可用时间的增长并没有跟上预期体量的增长,这导致最终游戏仍然有很多缺打磨的地方,以及在作品提交时翻车了。不过白天午休时同事朋友Ayamy会帮忙测试反馈,晚上再根据反馈修改,算是一个很好的开发循环。
背景介绍到此为止,下面我将按照时间线梳理总结这次的开发过程。本次game jam的主题是“视界限”——视觉的界限。我们做了一款3D第一人称解谜游戏,利用视差、遮挡等手段控制屏幕中的图形。
但其实在开发初期,这个游戏完全是另一幅模样。在看到这个主题时,我第一时间联想到的是最近玩的一款3D第一人称步行模拟游戏 Eclipsium (《蚀之镜》)。在玩这款游戏时,有两个桥段深深震撼到了我,而它们恰巧和玩家所见的“视界”紧密关联。一个是这里玩家无法自由移动视角,而必须直视女巨人的眼睛;另一处是这里玩家所见的“视界”被沿着画面中轴镜像翻转了。
起初我们也打算像这样做一些针对视窗所见内容的把戏,做一个体验向的机制大乱炖(顺带一提最终游戏的伪像素画面也是对《蚀之境》非常失败的拙劣模仿)。经过一段头脑风暴后,我大概得到了这几种不同的机制:比如视窗大小变化、第一人称/第三人称切换、像短视频滤镜那样的扫描线、正交/透视模式切换、类似《内陆帝国》或《Discopup》电影院场景或《史丹利的寓言》开始界面的那种画面嵌套、埃舍尔式的对数螺旋等等……
很高兴以上有两种机制我在这次jam的另一款作品《改变视界》里见到了。实现得很好,推荐大家去玩一玩~
在开赛后的那个周日,我先按上面的想法快速搓了两个原型。关卡的目标是拿到收集物,出于某种原因,可能是受到《时空幻境》的深刻影响,我把收集物定为了拼图。其中一关是走迷宫,但是可见视窗会随着逼近迷宫终点逐渐缩小;另一关是通过切换不同的摄像机位探索关卡布局,其中包括主角不可见的两段盲走,可以说是很视界限了(笑)。
游戏的标题《事件视界》也是很初期就定下来了,但其实跟游戏内容没什么关系,单纯是从“视界”发散的有端联想。但不可否认这个标题确实很帅,并且念起来很好玩(不可否认在哪里)。后面也没想到什么更好的标题,就先保留了。比较庆幸的是这个标题竟然没有和其他作品撞车,但倒是和太空题材的《远行》“梦幻联动”了。《远行》也是一部很好的作品,推荐大家去玩~
在实际做出两关之后,我发觉它们之间的关联性太低了,近乎一种缝合在一起的感觉。我想在不同关卡间引入一些不变量,目前它们共通的也就是关卡的目标了,或许可以改一下关卡目标的达成条件?
这时我想到了《见证者》的场景收集,既然主题是视觉相关的,为什么要设置物理的收集物呢?为何不像《见证者》场景收集那样,让所见即所得呢?也就是说,我们要获取的不是游戏世界中的拼图实体,而是屏幕上拼图形状的区域,而划分区域的则是颜色。显然要实现这一点需要一定的计算机图形技术,笔者修为尚浅,在AI的帮助下,到了五一才算是蹩脚地实现了这个功能。
按照新的游戏目标,我修改了之前做的两关。把迷宫关的视窗轮廓改成了拼图形状,在终点处设置了一面纯色墙用于提取拼图,并把墙壁地面换成了防提取的噪声贴图。视角切换关则在最后一段切回第一人称而非盲走到底。
但我仍然觉得不同的关卡不够统一。转念一想,现在这个达成关卡目标的机制似乎已经有足够的深度去做单独拓展,索性摒弃之前那些关于视窗变换的把戏好了。
至此算是完成了开发方向的探索,我开始以当前获取拼图的机制为锚点发散设计。提到拼图,那肯定是要把它们放到拼图板上,于是游戏目标就变成了现在的这样。但其实放置拼图的交互一开始是做成了必须右键进入“色彩捕捉模式”然后拖拽,才能把拼图放上去,Jamber老师在测试时觉得这个交互太别扭了,既然是视觉主题,为什么不直接在让拼图和槽位在视窗内对齐时就直接放上去?我如醍醐灌顶,即刻按照反馈意见修改了这里的交互逻辑,这下直观多了。
我后知后觉的发现目前的游戏机制很像 Superliminal 和 Viewfinder ,但是我在构思时并没有有意地去参考这两款游戏,大概是潜意识里的积累发力了?
接下来就是具体关卡的设计了,在教程区域从视角、视差、颜色等不同角度进行了机制介绍,主大厅一共有纹理、切割、重置、UI层4个主题各异的区域,这个顺序是开发过程中的实际顺序。其中重置区的诞生算是个偶然,它相比其他区域的视觉谜题更强调逻辑。本来游戏并没有重置功能,但是从人机交互角度出发重置功能又是必不可少的,在做这个功能的时候我意识到这完全可以同时作为一个谜题机制。但偏逻辑的谜题难度就比较难把控,做出的第一版是现在的挑战区域,nerf后的削弱版也依然比较难……但是解谜群的群友不出意外地最喜欢这个区hh话虽如此,后续会把这个区改成可选的挑战,而不至于在主线卡玩家,并且再加一些前置引导。
关卡迭代的过程比较琐碎,感兴趣的朋友们可以去我的Github上看看 提交历史 。不过有一些设计废稿倒是可以在这里分享一下。本来有个比较meta的关卡是把游戏菜单的一部分和世界中的物件拼起来组成拼图,但这个设计确实太meta了,和游戏的整体调性不符,最终就没采用。或许之后会做一个meta主题的支线区域?纹理区原本还有一关是用汉字作为“纹理”,有点《文字游戏》的意味。但实现之后觉得这关设计太弱了,也没有采用。 视频开头也提到了,这次开发的时间相对游戏预期体量还是很紧张的。甚至在DDL当日我还在做新的关卡,然后急急忙忙加了些音效,各种收尾。第一次打包的时候大概是晚上11点,但是……打包之后却发现游戏压根玩不了。墙面无法被渲染,拼图也获取不了。
折腾了一通,在第二天早上9点多才把能玩的版本提交上去。但我其实到现在还没完全理解打包后的异常是如何被修复的。我把墙体shader中的"RenderPipeline"="UniversalRenderPipeline" Tag去掉之后解决了墙面无法渲染的问题,尽管我的项目确实在用URP管线。而拼图无法获取的bug修复方法更为离奇,我把用于形状匹配的拼图贴图导入GIMP再原封不动导出一遍就好了……能发现这个解决办法是因为我发现只有某个之前用GIMP处理过的贴图是能正常工作的。欢迎各位大佬来解答我的困惑/(ㄒoㄒ)/
好啦这次的开发过程分享差不多就到这里,当前的游戏版本有很多待优化的地方,并且还有一些点子在game jam期间没来得及做出来。我们将会持续开发这款游戏期待在将来以更成熟的面貌和大家见面~
评论区
共 条评论热门最新