我的獨立遊戲開發之路-大學篇(上)

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