回望《Abyss》已经是四年前的东西了。这几年一直在打工,也没干什么正事,离游戏也很远。当年一起做毕设的小伙伴大多去了游戏公司,只有我这个带队的时常感到迷茫。眼看马上30岁了,想想开发游戏的日子还是很怀念。所以我决定,时不时更新一些游戏开发相关的东西,重新开始游戏之旅。
试玩(bug)链接
Baidu:https://pan.baidu.com/share/init?surl=n1TPK8QNm-Z3Kp6qKhJT7Q 提取码:my1p
立项
当时也没什么想法,正好在看动画《来自深渊》,感觉特别适合做成游戏,所以就构思了一个一直向下的生成地图结构。最早的时候就是两个概念:垂直+地图生成。然后花了大概一两周时间摸索了一下地图生成的可行性,发现还可以,采取的是Perlin Noise + UE4 自带的Procedual Mesh。团队核心人数在五人。当然,事后证明这种程度的地形生成并没有看上去那么简单,后续开发也遇到了非常多的问题。
前期
前期主要是些游戏文档,以及一些初步的艺术概念。游戏文档主要回答以下问题:
- 什么人玩:喜欢探索和解谜的
- 游戏目标(loop):收集资源 -> 合成物品 -> 探索 -> 进入更深的区域 -> 新的资源
- 玩家动作:走,跳,使用物品,战斗
艺术风格选择了low poly(因为没有美术哈哈)。其实好的low poly也是很难的。我自己完成了一些人物和场景的概念图。
大类别上,我认为应该是生存+探索+单次的体验(类Rogue)。
基调定下来以后就开始做原型,差不多一个多月的时候其实已经很接近最后的样子了。但是往后打磨越来越困难。
关于游戏设计
这其实是老生常谈的问题:项目scope和方向是极其重要的。我在立项的时候隐约知道这一点,但是想着反正是毕设又不是指着卖钱,事实上加入了太多不可能完成的想法。比如:
- 随地图动态生成的NPC及其人物关系、剧情
- 丰富的敌人种类
- 建造系统
- 随机的谜题
- (甚至有多人联机哈哈哈哈哈)
这里面每一项可以说都值得单独做一个游戏。
找一些托词的话,游戏设计是需要很专业的人的。组员都是程序员,其实并没有人专门做游戏设计。当然,我还是必须承认,项目的范围是过于庞大的。这其实大可以避免。
最后,我们把游戏目标缩减成了:
- 玩家纯粹追求更好(到达更深)的成绩,于是我们给了排行榜
- 其余部分统统收缩或者完全去掉(合成、解谜、剧情)
技术
总的来说这个项目一开始就充满了技术挑战。可以说技术问题一直是这个游戏的大问题。需要解决的问题包括:
- 动态生成地图时候的优化(由于是在玩家进入新区域时动态生成,这一部分对于计算有很高的要求,大量的面片会造成卡顿)
- 动态地图如何完成敌人的寻路(UE4自带的寻路只能用于静态Mesh)
- 动态地图保存/读取的问题(需要自己实现Mesh信息的读取)
- 其他UE4没有现成工具的(比如我们有一个道具是绳子,需要自己实现物理)
可以看到,很大一部分问题都是动态地图导致的。这些问题并没有被完美的解决,对生产力也有一定影响。我想说这些事很有趣的问题,但是我能力实在有限。
Fun Facts
有一些非常有意思的观察:
- Play Test的时候我们给了问卷,来玩的都是路人(很多小孩)。统计下来玩家最喜欢(或者期待)的部分是建造营地以及种植,而不是我花力气最多的地图生产及探索。可见喜欢模拟经营(种田)真是不分中国美国的普世真理啊:)
- 你必须预设玩家对你的游戏一无所知。测试的时候发现很多人根本无法玩下去,一些我们觉得很简单的操作(比如移动+使用道具)显得如此困难。所以优秀的引导和直觉式的设计是非常重要的(也很难)
结语
做游戏是很难的事情。如果是小团队低成本,最关键的是设定清晰的边界+追求完成度。一定要清楚,哪些东西是绝对不能碰的(比如对大多数新手,千万别考虑网络)。完成度我认为最好设定在90%以上,就是能够比较舒服的发出来的程度。这也会是我之后追求的目标。