飞行游戏开发记录——七月
前言
本系列是我对于正在开发的3d小鸟飞行游戏的记录,这个项目的重点是找到小鸟飞行的感觉,虽说是记录,但其实发出来其实也是为了寻得一些反馈,好让自己可以继续做下去,每个月都会发一篇看看。
另外,我对于美术方面的知识比较缺乏,目前定的画风还是lowpoly,比较想参考OuterWilds,如果你也想做一款这样的游戏,感兴趣的同好也可以与我联系。
有关立项
开始弄自己的项目,其实最开始的立项往往是最困难的,因为我们面对的是一个长期的自己一定认可的东西,虽然说很多人都告诉我一定要做短的完整的东西,但是我自己想过之后觉得感觉自己其实做过不少GameJam小玩法,今年CIGA自己也和朋友做了个小的3D游戏,程序上我大体是有信心的,于是还是打算整一个可以长期弄下去,不断迭代的项目,这也是我这段时间对游戏制作的理解:定一个方向,不断做迭代,评价成果,修正方向,循环往复。
CGJ2023-ViewToucher
为了这个长期项目,其实还是费了不少工夫,毕竟他是一个无中生有的过程,现在我要讲的是七月之前的故事。
最开始的时候我想做一个涌现式的游戏,做一个模拟游戏,希望通过定义基础规则,定义人、动物的行为,来让他们涌现出集体行为,甚至产生文化等等,畅想这些东西确实给我带来了不小的期待,建立一套万物模拟的规则,然后让玩家作为观察者代入进去,影响这个世界,想做出灵活的动态规划的AI能自己产生游戏内容。
为了达到这个目标,我研究了chaos系统、GOAP、泰南的体验引擎、游戏机制设计、塞尔达GDC以及UnityDOTS,并且找了可以参考的游戏:RimWorld、WorldBox等,把第一阶段的目标定成了复刻WorldBox。
直接说结果,这个项目在折腾了一段时间原型后放弃了,一开始研究涌现的产生还是很有意思,涌现式的机制往往输出会成为下一次输入,但是后来发现自己其实对于涌现设计的一种执着,通过阅读更多知识我改变了想法,现在更加认为现代游戏是涌现式机制和非涌现机制的结合,是离散机制和连续机制的结合,机制各有特点,作为设计师更应该是了解特点在适当的地方使用,单方面的崇拜都是不可取的,这中间遇到最大的问题还是做了一个这样的模拟、涌现系统,我们应该玩什么?
当然,能做到复刻worldbox、环世界也很好,国内其实也有不少团队在基于这类框架做游戏,这里我了解到的有:《了不起的修仙模拟器》、《大荒先民》。
在我还有这个制作涌现游戏的想法时候我还给大荒先民制作组投了简历,可惜别人不缺人,不过也借着这个投简历,我好好分析了一波我的游戏成分,同时我发现他们的定位其实非常清晰,主创也是个重度的模拟经营玩家,知道这类玩家在玩什么。
搞清楚自己的游戏成分,实际上是整个立项中我觉得最重要的部分,这次我发现我基本不玩模拟经营,环世界 20小时,worldbox 6小时,其他p社游戏,买过群星但是基本没玩进去,就连目标感清晰的开罗游戏我都会觉得有点无聊,数据量超大的模拟的游戏,光是看着资源、规划各个模块的行为,我就已经晕了,只能说是个人喜好确实只能到这里了。
我也整理了自己的游戏成分,moba竞技、ARPG、ACT、回合制、地牢rouge以及一些独立圈比较知名的:witness、gorogoa、journey、undertale、ori、outer wilds、lovechoice、极乐迪斯科。同时在这些游戏里我也找到了我目前阶段最欣赏的设计,将叙事融入进交互系统,简称 系统叙事,他们可以没有文字,但是你会觉得有一种交互有种叙事感,或者游戏主题藏在交互中,只有一遍遍的玩才能理解这些精巧的设计。
于是我决定做一款主打飞行的游戏,将我想讲的融入到飞行这个行为中,journey 、abzu 那种篇写意的画风,想到飞行主要还是直接研究涌现系统也研究了群鸟飞行,觉得这个行为很有意思,如果可以控制一只鸟,带着一群鸟飞,我会觉得很有意思,是一个我倾向于在游戏中使用的意象。
进展
目前只是定下了大方向,细分的玩法还没完全定好,画了张游戏的运行草图,中间红色是你控制的鸟,绿色是伙伴,之后越做,整个游戏会越有画面感。
我也做了一些项目的结构设计,不过这里不太好讲,等之后定下来,更多成果了再继续记录。
Unity还是Unreal
六月底时候主要在做基础的技术选型,有关3d场景下的移动组件,其实本来想用Unreal,因为感觉基于他的移动组件就能实现很多功能了,Unreal的框架也很多功能适配我的游戏类型,在上层做东西能接受其实,不过后来想到目前就我一个人,对项目的把控还是很重要,已经很久没碰过Unreal源码,熟悉程度不如unity,基于unity做些自己的模块会更加合适。
实不相瞒,这段时间我非常想用GODOT,感觉这引擎挺有潜力,还是完全开源,大概看了一周,觉得demo能看的不多,以及感觉一些工具链不很齐全(统一的gizmos开关、play in editor),完全熟悉也需要不少时间,遂放弃了这个想法。
移动组件
移动组件,研究了动力学和运动学的移动组件,可以说都能实现功能,但是我倾向于更稳定的、可控制性的移动组件,所以最后还是选择了折腾,整一个Kinematic的Character Controller,也就是业内说的KCC,研究了两个开源的插件,写出了一个简单的基本能用的KCC组件,但是遇到一些情况有很多不太满意的运动,目前是已经将自己写的版本封存,先用kcc 商店插件来实现我的基本功能,后续等有更多理解了,继续来完善移动组件。
飞行模型
阅读一些前辈的开源飞行demo,飞机、战斗机,学到很多,小鸟模型可以是这个模型的优化改进版本,主要改进的方向是控制感,完全真实模拟的飞机控制感相对差很多,想飞到一个具体的地方会相对困难,并且又大量的视角翻转,鸟类的俯仰角其实是基本90度以内,很难出现直线攀升的情况。
3C分析
整个3C的设计目的还是让玩家可以很流畅的操控角色浏览世界,同时也得保证角色的代入感。
分析了一下一般KCC人物的运动,找到了一个之前玩的超人游戏,
也看了一下风之旅人的3C,感觉他的镜头运动更有学问,有设计感的,流畅的,无缝的,电影语言的。
同时这段时间也玩了ABZU工作室的新作,很棒的跑酷游戏,跑酷是在地面上跑+跳跃+滑翔+振翅,射箭射到一些特定的东西(有辅助瞄准 可以增加跑步的体力条。
人在跑的时候鸟在周围跟着 基本上飞的很舒服。
搬家
离开上海,来到广州,生活成本相对低一点,广州我认识的朋友多些,换个环境重新开始。
第一版3C
第一版3C:目前实现可以基于两翼与风速的角度影响升力大小,基于飞机模型优化实现,之后继续完善,支持小鸟的各种动作
运动录制的Debug工具:做这个模型的时候遇到不少的BUG,因此一天左右开发了个录制回放工具,可以录制运动过程,记录中间变量
粉色线是运动轨迹,感觉光看运动轨迹形成的形状也挺有意思的
规划
八月份到中旬应该会一直完善这套飞行3C,想支持各种鸟的动作,目前做的等于是做了个滑翔动作。
困难
目前遇到两块比较大的困难,第一大困难是关于过去,时不时会有一些不坚定的想法,比如重新去找份工,好好工作赚钱,赚多一点再来,感觉上了两次班都有不少遗憾,一次是因为失去了耐心,一次是因为过于傲慢,现在都付出了代价,我也都接受,每每想到这些我就会觉得要不还是回去上班。
不过我最后还是说服了自己,怎么样我都得把这个游戏做出来,做到我满意,即使是感觉到没啥希望也要努力去做,要相信自己,有一个强烈的创作欲望在指引我。
第二大困难就是关于未来,感觉自己有知识储备上的问题,比如美术工作流,但是感觉边学边做是很正常的,但是就是要做好推翻重来的准备,包括接下来可能还要花些时间去熟悉一些模块,然后就是对项目有些不自信,容易去自己和别的项目去比,怎么都感觉自己很不入流, 你心里认为 哪怕你做出来了 也是个不如风之旅人的垃圾 没啥意思,然后就是经历了这一年感觉到以后找工作会更困难。
对于这些,可以统称为对未来自己的质疑,目前也有一位监督我项目的同伴,唤作马宝,马宝直接地指出:
这是很现实 经常会出现的情况
现实中有人会认为,不如风之旅人只是暂时的,迟早会超越
也有人认为,不如就不如,能把东西做出来我就满足了
也有人认为,我就赚钱,不管垃圾不垃圾
你把自己的作品和风之旅人放在一杆秤上去比了 甚至是,你和陈星汉 放上了秤砣比
我只会觉得能把这东西做出来就很牛逼了
如果不如说明还有上升空间,而且哪怕不如,游戏也是个木桶,有很多操作空间的
重点是明确目标,一直朝着目标迈进 这才是创作者之魂
哪怕你最终无法靠自己做游戏养活自己
你做出了东西再去上班,也是加分的 ,还过了创作游戏的瘾
后记
伴随着一些对自己的质疑,以及一些很久没有再遇到的紧张感,我上路了,这是第一个月,正经完成一次开发记录,写完也已经是夜深,明天继续做项目了。
2023.7.31