戰略分析室 - 遊戲開發探究

給Unity初學者的建議(上) – 爬出低谷

小弟我三不五時就喜歡在各大社群徘徊,其中與遊戲設計相關的包括巴哈姆特哈啦版、PTT Game Design版、各大FB社團與Line群…

當提到學習Unity,常常看到些一再出現的問題,例如:

「我該先去學C#還是直接碰Unity?」

「大家有沒有推薦哪一本書?」

「我(作業/專題/畢製/案子)要用到某功能,可以直接告訴我怎麼做嗎?」

相信有在follow社群的人都可以感同身受,有時看到這些文章難免會有種「怎麼又來了」的想法

不過換個正面的角度想,這代表Unity的社群很活絡,不斷地湧入新的使用者!

我接觸Unity也2年多了,雖然跟眾多大大比起來不算久

至少我也是經歷過Unity 5一口氣推進兩千多版衝到Unity 2017的 (X

既然我平常就很愛寫廢文

然後這陣子也沒在幹什麼大事 時間蠻多的

那就寫一篇文章來彙整「剛入門那時候的我會希望看到的資訊」吧!

我打算分成三篇來談

希望可以幫助到認真想把Unity基礎慢慢培養起來的人

以下的內容對於想要速成的人可能幫不上忙QQ


前情提要

2016年11月,我已經跟著學校的課程接觸過C、C++了,

網路成癮症狀正在萌芽的我偶然在網路上看到一個直播節目

《政問S3 03 游明揚》台灣遊戲產業啟示錄:昔日領先、現在追趕、未來怎麼走?

突然激起了我一個念頭:我會寫程式,又很愛打遊戲,不如自己來做個遊戲試試吧!

(真要說的話,我做遊戲的首次嘗試應該要追溯到高中玩魔獸爭霸3的地圖編輯器)


新手村第1階段:跟著網路上的教學跑流程

經過爬文後,我發現大家普遍在使用的工具是Unity Engine

於是就往這方向尋找教學文章,找到了這個:

Unity教學 2D小遊戲製作 @ 讀樂島:: 痞客邦 ::

我照著它5個part的教學一步一腳印做出了自己的第一個小遊戲

(文章中有些介面、API已經和現在不太一樣了,但還是蠻堪用的)

這篇教學讓我對Unity的運作方式有了初步的認識

我現在還是不太清楚作者的身分

你有看到這篇文章的話 我想要謝謝你!!!

在這之後,我又接觸了幾個網路教學影片

像是2D UFO Tutorial, 2D Brick Breaker Game In Unity

跟著教學一個口令一個動作很輕鬆,但同時也是個裹著糖衣的毒藥

你以為你做了很多事情,但實際上過程中有在思考的比重可能不高

有不少新手就卡在這裡,沒有進到下一個我覺得更關鍵的階段。


新手村第2階段:試著憑空做出一個小型遊戲

看再多教學影片、把別人的code抄筆記抄下來、買實體書來讀

終究都是屬於別人的知識,我們只是被灌輸的一方

我在上一個階段也卡了很久,畢竟只要1~2小時內就會刻出一個完整的遊戲專案

這種成就感對新手來說是很誘人的,還能跟朋友炫耀說這是自己做的(?)

現在回想起來,拋開教學自己嘗試make something才是最有效的學習方式

這是我在2017年初的小遊戲,那時大概已經入門Unity 2個月。

( 對了,我始終沒有去接觸C#的基礎知識

而是直接把它當C++來用,有問題才上網查文件XD )

直到接觸這個專案,我才真正將各個Component和API的運作化為自己擁有的知識

Time、Input、Collider、Rigidbody、UI Canvas…多用幾遍就自然而然記起來了

大家做的第一款遊戲都難免很陽春、事後看起來覺得很中二

( 當時這個部落格也剛誕生

我甚至打算為這個專案錄個有配音的系列教學影片

天啊XDDD 還好錄完前言就停止了 )

但我覺得這是我收穫最多的時期,因為不再有文章或影片在旁邊告訴我下一步該做什麼

在開始做自己的專案前

你對於下列問題可能都只有很模糊的概念

●鍵盤輸入的Input.GetKey跟Input.GetKeyDown分別適合用在哪?

●為什麼2個掛著Collider的物件對撞沒有反應?

●OnTriggerEnter2D的參數是吃Collider2D,OnCollisionEnter2D是吃Collision2D(我被這件事搞過!!!)

●為什麼每次匯出成執行檔之後UI Canvas都擅離崗位?

因為教學文通常都直接告訴你結果

很少提到為什麼不能這樣寫(除非是作者自己不小心做了錯誤示範)

但只要你實際踩過一次坑,對這些事情就會非常記憶深刻!


對初學者來說,展開自己的專案想必是成就感與挫折感參半的

(我在這學期當遊戲程式設計助教的過程中特別有感)

這時候你面對困境的方式也會大幅影響你的收穫多寡

有些人很樂意被一個問題卡住好幾個小時,多方爬文之後才終於解決,頓時Filled with determination

也有人沒那麼重視思考的過程,希望可以馬上得到答案,於是到處找人求救

對於後者來說,如果總是抱持這樣的心態其實是危險的

善用資源當然是好事,能遇到願意幫你解答的人是一種福氣,台灣的Unity社群真的很溫暖

但是

你在問題被解決後是否有試著釐清自己的盲點?

還是被人從地上扶起來之後又很開心地繼續橫衝直撞,隨時都可能再摔倒一次?

這幾個小地方的差異就會造就有人一直在升等、有人只能一直戳史萊姆

不只是學Unity 對很多事來說都是一樣的

若是想要獲得成長

就勢必得試著自己往上爬,不要總是等別人幫你蓋好樓梯

養成這樣的好習慣後,我認為就已經具備爬出第一個(後面還有很多…)低谷的能力了

可以準備往下一階段邁進!

下回預告: 給Unity初學者的建議(中) – 探索更大的世界

One thought on “給Unity初學者的建議(上) – 爬出低谷

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s