我的独立游戏开发之路-大学篇(上)

2019年,我带着“成为一名游戏开发者”的梦想进入了大学。

大一

我大学就读的专业是:计算机科学与技术,俗称“计科”。然而当大一的我第一次看到课表时我异常震惊:“高等数学”、“线性代数”、“大学英语”等课程填满了课表,大一上期的计算机相关课程只有一个“计算机基础”,瞬间感觉梦回高中了。

但和高中还是有很大区别的,上了几节课后发现大学课程不会像高中那么严格,完全取决于老师的负责程度。

这时我其实就意识到了:“如果完全按照学校课程的进度来学习,‘成为一名游戏开发者’可谓天方夜谭。”于是我立刻就开始寻找游戏开发引擎的教程,打算开始自学。

当时主流的游戏引擎有两个:Unity和UE4。Unity对应的是C#语言,UE4对应的是C++语言。确实不知道该选哪个好。于是我把两个引擎都下载下来试用了一下,最终选择了第一印象较好的Unity引擎(试用比较顺手,虽然只是在里面瞎捣鼓了几下)。

于是我开始四处寻找Unity相关的教程,最终选择了B站中的这个教程(这个老师确实讲得非常好,比较诙谐幽默,整体学下来还是比较轻松的):

梦开始的地方

初见播放量还不到100w,现在居然都400w了。

至此,我终于踏上了“成为一个游戏开发者”的道路~

在学习Unity时,光看其实是不够的,好记性不如烂笔头,在电脑上进行实践操作前我都会把这些知识给记录下来,加深印象的同时以便之后再次回顾学习。

比起周围很多使用平板+电容笔记笔记的同学,我其实还是更喜欢用本子+笔的组合来记录学习笔记:

守旧派的Unity笔记本

不过整个大一上期能够利用业余时间学习Unity的机会并不多,大部分时间都被“高等数学”、“线性代数”以及“大学英语(准备英语四级)”给填满了,因此我印象中的大一上期真的不轻松。

但是却很充实。

大一上期的寒假我便开始系统学习C语言,但学到指针和链表章节就开始吃力了,于是我就打算先放一下C语言,继续学习Unity基础。

自学C语言也用的这个系列的书,不知道有没有同门师兄弟

然而大一下期开学时刚好遇上了疫情,学校决定进行线上授课。这无疑对我学习Unity有了巨大帮助,印象里只要不是高数或C语言课程,我就会开始学习Unity与C#。

现在回想起来,上网课的那段时间确实舒服。(上过的都明白,当然仅针对大学生网课)

大一下期结束时,我终于将Unity与C#的基础部分给学完了。

很清楚地记得在学习过程中产生过一个疑问:

“这些学习过的知识点该如何运用到游戏中呢?”

学习的知识点都比较散,教程中每一章的内容也基本都是独立的,联系都不算大。我真的能用这些零碎的知识点做出一款游戏吗?

带着这个疑问,我进入了大二。

大二

疫情虽然还在继续,但相比最严重的那段时间已经缓和太多了。学校也要求所有同学都要返校上课了。由于家离学校比较近(公交车半小时就到了),所以大一上完课后经常都会回家。不过疫情过后基本学校就不允许随意出校了,在学校的时间也变多了。

大二的课程相比大一少了很多,有更多的时间可以自由支配了。我也开始在闲暇之余阅读一些之前想看但是没时间看的书:

大二期间阅读过的书籍

Unity与C#的学习也在推进,但我的疑问仍然没有得到解决:

“我真的能用这些知识做出一款游戏吗?”

就在我被这个问题所困扰时,学校竟奇迹般地举行了一次“游戏开发”比赛。我知道这是锻炼自己游戏开发能力的绝佳机会,于是立刻进行了报名,打算作为独狼单人参赛。

比赛周期共两个月第一个月结束后需要提交一次作品,然后由主办方评选出进入决赛的作品。进入决赛的作品还可以进行一个月的打磨,最后参加决赛答辩。

这次比赛对游戏主题没有任何限制,但是这反而令我非常头疼:“我要做一款什么类型的游戏呢?”

就在报名临近截止的时候,我在参赛群中看到了一条消息:“大三团队,已经有4个人了,还缺1个同学,已经有策划案了。”

大二的我深知自己的能力有限,于是打算加入这个大三的4人团队,多向学长学姐们学习一下。

顺利加入团队后,看了一下策划案,其实整体和“元气骑士”比较像,带点肉鸽的味道。不过这个“策划案”其实非常不完善,叫“草案”更合适一些。

比赛就这样开始了,队内也进行了分工,我负责的内容是主角的基本逻辑(移动,血量,攻击,受伤等逻辑),但人物移动就把我给难住了:因为它需要用摇杆实现(当时的想法确实死板,非要对标元气骑士做手游,其实比赛并没有对此进行限制)。一来就涉及到了我的知识盲区,连忙开始搜索教程。但当时的能力确实很有限,写代码也是跟着教程来写的,从来没自己写过,看到这些从零开始实现摇杆的教程非常头痛。

当时确实挺着急的,特别怕拖团队后腿,但好在平时自己会经常摸索Unity,知道有“Unity Asset Store(Unity资源商店)”这个东西存在。

在Unity资源商店中有非常多现成的资源可供开发者使用(美术素材、功能插件、音乐等等),我也是连忙在资源商城中搜索了“Joystick(游戏摇杆)”:

Unity Asset Store-摇杆

是的,Unity资源商店中有很多现成的摇杆组件,只要将其导入项目即可直接使用。

导入项目稍作调试后,发现人物能够通过摇杆进行移动了!现在都隐约记得当时激动的心情~

剩下的逻辑就相对比较简单了,我也是第一次尝试自己来写代码,虽然过程比较曲折,但好在最后都成功实现了~

游戏展示

因为并不算“全职”开发,要同时兼顾普通课程的内容(数据结构、离散数学、数字逻辑等等),再加上第一次真正上手做游戏并不熟练,完成自己负责的内容共花费了两周的时间。但在此期间组内的沟通却并不频繁,当时自己也没多想,或许大家都在埋头敲代码吧。至此还剩下两周的时间。

然而,在第一个月提交节点的前一周,我收到了队内组员的消息。

他告诉我组内的几个同学都做不下去了,写不出来代码,各种逻辑实现起来都有bug。同时也表达了自己的歉意。最终只给了我一个他们拼好的地图。

得知这个消息后人直接懵了。本来还打算向组内大三的同学请教学习的,这下全寄了。难不成人生中第一个游戏项目就这样没了?无论如何都有些接受不了。

那就只有靠自己来做了。

剩下的一周内,我开始疯狂刷教程,尽力去实现游戏中的逻辑(敌人AI、人物射击、人物受伤、人物阵亡等等),对这个教程印象非常深刻:

印象非常深刻的一个教程

每天肝到宿舍断电,将笔记本的剩余电量用完才去休息。但我却丝毫不觉得累,至少在那一周,我真正体会到了游戏开发的快乐。

一种充实且满足的快乐。

一周很快就过去了,游戏也已经有了雏形,已经可以进行简单的游玩了,便将游戏提交给了主办方。说实话,就以当时的目光来看,游戏各方面都做的非常差,无论手感、玩法、美术(找的免费素材)都是不合格的,没有任何长处。不过游戏确实能够跑起来,测试后也没发现什么奇怪的Bug。

几天后结果出来了,共5个作品通过了复赛进入决赛。确实没想到,我的作品也是其中之一。

当时我真的不可置信:这种品质的作品也能进决赛??进去感觉也是凑数的......

但确实也看不到其他作品是啥样的(只能看到名字,都非常高端的样子)。离决赛还有一个月,继续加油打磨作品吧!

经过一个月的打磨,过程虽然非常艰辛(期间还要准备期末考试),不过最终还是顺利将其做成了一个完整的作品(当然还是一个人做的,组员确实力不从心):

游戏画面

这是一款2D(射击?肉鸽?我其实也不知道该叫啥好)游戏,玩家可以射出子弹攻击敌人,场景中会随机刷出资源(增加子弹的道具、恢复生命值的道具),玩家需要合理分配资源,绕过或击杀场景中的小怪,并击败地图中的三个Boss(左上,右上,右下)。

游戏地图

决赛答辩日很快就到了,终于可以看到其他小组的作品了,非常期待!然而由于临近期末,答辩日当天我还要参加一场考试......不过好在考试并不算很难,我也是提前写完交卷,匆匆赶往答辩现场。

出乎的意料的是,进入决赛的基本都是大二与我同届的同学,大三大四的同学特别少(好像只有一组),而且在看到大家的作品后我也是释怀了:原来大家都差不多啊,都是拿素材东拼西凑做出来的游戏,看起来都非常不成熟hhh(甚至还有一比一复刻的贪吃蛇,是的,完全跟贪吃蛇一样没任何拓展玩法)。

但确实也有大佬在,是真一人负责美术、策划、程序三大项。

答辩顺利结束,最终我们获得了校级二等奖(我记得还有3000的奖金)。对于这个结果总体还是比较满意的,虽然没有拿到一等奖,但是确实已经尽力了,没有任何遗憾。对于“天崩开局”而言,能走到这一步确实不错了。

获奖帧数

至今我仍然记得答辩时自己说过的一句话:“我认为开发游戏是一件非常快乐的事。”

自我成为游戏开发者以来,这个想法从来没有改变过。

当然,我大一时遗留下来的那个疑问也迎刃而解了:

“我真的能用这些知识做出一款游戏吗?”

“当然能,这不已经做出来了。”

记得赛后我跟朋友分享这件事时说过的一句话:“总体来说这款游戏的策划不是我,所以做起来的动力也没有那么足,总有一天我要做一款自己来策划的游戏,一款属于自己的游戏”。

至此,支持我一直坚持做游戏的动力是兴趣

那时的自己还不知道,《Hello World》的萌芽已经在此刻埋下了。

非常感谢您能够看到这里!由于篇幅实在较长,所以临时打算大学篇出上下两期。下期将会介绍大三大四的修行之路~希望对即将进入大学且怀揣着一颗游戏梦的小伙伴有所帮助。当然也希望能够帮到正在追逐游戏梦的小伙伴们!

路漫漫其修远兮,吾将上下而求索。

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com