一年时间,单枪匹马开发独立游戏如何改变了我的生活

2022-11-11 星期五
去年夏天,我在机核网看到了孔小菜的开发日志,关于他开发《坏小孩》的一些心路历程。
这篇文章令当时的我蠢蠢欲动,想着开发一款完整的游戏并且把自己的想法、审美、感受表达出来,真是这世界上最幸福的事情。
而彼时的我人生规划混乱无比,读着一所位置非常偏僻(大部分人听到第一反应是在国外)的大学,且专业基本只能和工地搅水泥挂钩。对于毫无期望的未来,我唯一的愿景就是就业之后继续阅读、写作,没准有一天能出版自己的短篇小说集。
“开发游戏”对我来说是一件“不可望也不可即”的事情,毕竟无论是编程、美术还是音乐,都跟我的技能树毫不相关。从头开始学C语言或者lua似乎有些太晚了,美术水平也停留在几年前的素描练习上,而音乐更是难搞。
但在读完上述那篇开发日志后,我对“独立游戏开发者”这个身份产生了极大的好奇。
我想知道,这帮逐梦者是如何克服种种现实与非现实的困难,去实现这件不可思议的壮举的呢,他们也有过我面临的这些顾虑吗?
在那个夏天,我翻阅了许多国内外开发者写的文章,从技术研讨到感受分享,从审美体系到柴米油盐,并且也接触了更多这个文化内的东西,像是game jam,pico-8,还有itch.io。
尤其是pico-8这个轻量级虚拟游戏主机,彻底为我打开了新世界的大门。
我发现很多game jam里的小体量游戏都是用这个做的,而它几乎不需要什么美术音乐技能,编程也只需要一些简单的lua语言,甚至还能直接学习别人游戏里的源码。
现在回忆起来,一整个夏天我几乎都在断断续续玩pico-8上的游戏,这些内存不到32kb的“小”游戏时常让我大开眼界,感叹复杂的玩法背后代码竟然能如此精简。
同时,我也开始动手开发我的第一款游戏《武士刀与变压器》。
最初设想的玩法是,玩家通过操作在屏幕上输入代码,然后角色砍向代码,将其发射出去攻击敌人(也算是一种物理编程)。在没有代码可用的时候,玩家可以通过控制时间(前进或倒流)来获得代码。
但一方面,国内能找到的pico-8用户不多,中文教程也非常少,另一方面,我的编程水平实在糟糕,角色每刀都能砍出新bug。(尝尝我的error刀法!)
最终,这款游戏没能面世,它的一些设计理念被继承到了后来的《鼠鼠》中。
而这次开发经历使我不得不尝试其他更加普及、教学更加完善的引擎,例如Unity、Unreal。
到了今年年初,我参加了本届Global Game Jam的重庆场,打算试试刚学到的关卡设计技能。
在现场,我和刚认识的几位大佬组成了一个临时小队,根据拿到的题目“两面性”,我们构思了一款音游-FPS游戏,即通过“流血冲突”和“糖衣炮弹”来表现“暴力”的两面性。
游戏流程分两个世界,玩家在第一个世界中需要拿着武器与阴暗环境中的怪物搏杀,而第二个世界中则需要使用花篮来收买路边的npc,正如人们在“战争”中肆意制造伤害,和在“亲密关系”中罔顾情感带来的暴力。
整个开发过程几乎是把比赛给的48小时利用得满满当当,中途经历过来不及找住宿只好在沙发上蜷缩一晚结果被冻感冒,也经历过数据出错、线下拿着硬盘千里狂奔只为传文件的窘境。
虽然过程非常非常非常之曲折,结果也或多或少不够完美,但这至少是我个人参与并完成的第一部作品。通过这次经历,我开始彻底把“开发游戏”当作一件“可行”且“优先级较高”的事情来看待。
换句话说,我把它当成了未来数年人生的主线任务,也就是标题里所谓的“一年”的开始。
到了二月份,我开始构思现在的这款游戏,《鼠鼠》,一款以复古画风呈现的,结合了“横板跳跃射击”与“视觉小说”的怪游戏。
说起来,可能有相当一部分复古游戏爱好者都是出于对童年或者早期游玩到的老式主机游戏的喜爱才开始接触这个类别。但也有不少人则是因为囊中羞涩、家境或者种种原因,在那个年代并不能亲自上手玩到那些炙手可热的大作,只能在杂志或电视节目里望梅止渴。
而我正是其中一员。
直到去年我入坑树莓派开源掌机并且学会运用各种模拟器之后,才开始玩到各种童年时代错过的好游戏,像是《寂静岭》、《星之卡比》、《放浪冒险谭》等等。当时技术限制下的画面表现力,如今在我看来则是格外迷人。
出于对这种复古美术的偏爱,在经过一番审美和可操作性的考量后,我为《鼠鼠》确立了一种较为古早的画风,也就是——CRT显示器风格。
顺带一提,这是目前我个人眼中最为性感的复古呈现方式。
与此同时,我又想让一些现代特效与复古像素风有机结合。并非只是做普通的、随处可见的“像素游戏”,而是想做一款带“复古未来主义”味道的现代游戏。当然步子迈的比较大,后面扯得很痛。
为了实现这样的风格,我搜刮了大量的关于Unity引擎渲染管线的文章和教程,还在Unity素材商店购置了许多滤镜类工具。
可以这么说,只要能找到Unity教程的社区,就能看到我活跃(提问)的身影。
在调试过程中我意识到,游戏画风的调整真是一个细致而磨人的大工程,参数稍微不对,出来的效果就会非常鬼畜。
但由于学会了渲染管线的使用,能够通过各项参数来对游戏画风进行微调,这对我来说本身就是一件新鲜感十足的事情。每实现一个新的效果,我就会很兴奋地到处发给朋友和陌生人看。
值得一提的是,在调试过程中我自己已经习惯了曲面效果带来的眩晕感,然而朋友们却被这玩意折磨得不行,纷纷表示被3D眩晕症狠狠拷打。
就这样起早贪黑对着Unity教程学,然后再尝试在自己的游戏里复现,试图用死记硬背的方式来搞懂一些常见的脚本的作用。而美术则是40%通过itch.io购买资源包,20%下载资源商店免费素材,40%自己通过Aseprite绘制。
多亏了B站上的一大堆像素画老师,我在画了一大堆不可名状奇形怪状的sprite之后,终于慢慢画出了一些可用的砖块和动画帧。
2月份到5月份之间的那段日子,我就像是着了魔一样,无论是醒着还是入睡,脑子里装的都是关于游戏开发的事情。
从乐观的角度来看,这对我程序和美术技能的提升是极大的,几乎是完成了从0-1的技术积累;但从不乐观的角度来看,无论是毕业设计、就业,还是健康状况,或多或少都受到了一定的影响。
到最后六月份,学业压力大到无以复加的程度,在疯狂熬夜赶工之后,我的毕业答辩勉勉强强通过。然而因为一些疏忽,最后一学期少修了一门选修课。于是喜提延毕,痛失毕业证。
这方面大家不要向我学习。
长时间埋头开发,使我几乎错过了毕业季所有的求职窗口期,虽然也一直在投简历,也通过了一些初面,但直到我离开学校回到成都,手上的offer数量依旧是0。
就这样全职投入开发,还是找一份糊口的工作从长计议?
家里近两年生意因为疫情受影响非常大,已经到了靠举债维持日常生计的程度,左思右想之下,我接下了十几份面试,准备继续在职场碰碰运气。幸运的是,虽然没有拿到毕业证,也没有什么有价值的实习经历,但我的游戏Demo却意外地带来了一些机会。
一位老板在面试的时候花了半个小时试玩了我的游戏;而另一位老板则慷慨地当场提供了offer,在这里非常感谢她。
于是,《鼠鼠》的开发来到下一个阶段。白天努力打工,晚上回家开发独立游戏。
与此同时,由于认识了一些志同道合的同事和网友,外加翻阅了大量外网文档,我在程序方面的一些瓶颈也得到了突破,做出了一些像天气系统、爆炸粒子系统、还有机关互动之类的有意思的东西。
原本以为6月份的版本已经足以上架,但现在看来,那时的完成度不足百分之30。越是反复游玩和测试,越是觉得游戏的细节部分还有值得完善和提高的地方。发售时间逐渐从6月底滑向了8月,然后是10月、11月中旬。
体验到了当初《2077》“跳票成瘾”的爽感。
后来,在发行商便当游戏的帮助下,实体卡带和U盘也相继面世,并在摩点上进行了众筹。
在gameplay部分基本完成之后,之前写小说时养成的习惯又回到我身上,不断地抠字眼、打磨剧情文本,直到没有一个字可以再改。距离发售还有两周的时候,我还在试图重新做一个新的对话系统,以替代原先死板僵硬的对话方式。它应该包含头像、人名和分支对话功能,这样才能让玩家在体验剧情时感到足够放松。
讲到这里大家其实或许能看出来,游戏讲的是一个较为抽象的故事,既像童话,又像是寓言。
一位太空鼠人——也就是我们的主角,迫降到一颗以硅基生命为居民的星球上。它发现这里正流行着一种被称之为“鼠疫”的怪异传染病,而“鼠疫”的诞生则与千百年前另一位降落在这里的太空鼠人息息相关。
故事的灵感来自于加缪的长篇小说《鼠疫》,而熟悉这部作品的朋友,或许能在游玩《鼠鼠》的过程中,发现一些与我们身处的时代息息相关的隐喻。
除去“鼠疫”的概念,我还在游戏中试图探讨了一些较为私人的情感。例如,当你身处陌生的环境中时,如何消解来自他人无意识的恶意,以及如何处理环境对自己观念的影响。如果身边所有人都认为这是你的错,一切都是你搞砸的,你要如何应对这份指控呢?
换句话说,这与出生于这个时代的年轻人正在经历的多少有一些相似。
或许现状令人失望,或许大环境令人时常崩溃。但睁开眼睛,勇敢地见证正在发生的一切,去探索未曾踏足的角落。或许鼠鼠终会克服眼前的困境,找到回家的路。
以上便是这一年里,开发独立游戏为我所带来的一切。
我发现了值得自己深究一生的理想,找到了氛围非常不错的工作,也交到了一些不错的朋友。最重要的是,我意识到很多时候人的限制是由自己设下的,“我不行”、“我做不到”、“时机不成熟”,这些糟糕的想法会阻止我们过上真正属于自己的人生。
放在两年前,如果有人告诉我不会编程和美术能成为独立游戏开发者,我一定会放声嘲笑。但现在,写到这里我只是觉得,如果孔小菜 可以,其他开发者可以,那我也可以做得到。同理,其他被生活里一地鸡毛困住的人们,只要有自己想做的事情,你也一样做得到。
好了,升华结束,最后厚起脸皮来打个广告。目前《鼠鼠》的开发已经基本完成,支持手柄操控,以及简中、繁中、日语、英语四种语言。
PC版将于11月14日在steam平台发售。而Switch版和Xbox版正在筹备中,发售日暂定。
这篇文章是11月10日写下的,距离游戏发售还剩4天,等到大家看到的时候,游戏大概已经在steam上发售了吧。
《鼠鼠》steam页面
欢迎大家来玩!只是添加愿望清单也欢迎!这对我来说蛮重要的,感谢!
I
原文地址:点击