前情提要:(2021.06.19)

有鑑於這篇文章的瀏覽數慢慢增高,

我決定要在文章開頭加一點說明。

遊戲程式設計、學習Unity、C#是我的興趣,

至今能做出很短、結構不大的小遊戲,

仍然是一個新手村的程度。

撰寫這篇文章的初衷,

是想要記錄自己的學習歷程,

也因此我會每隔數月更新一次(2021.12.26起暫停更新),

同時也希望讓同好、想了解如何自學的人,

從我這裡或多或少得到一點經驗參考。

 

不過想要強調的是,

我尚未從事過遊戲業的工作,

也還不是這塊領域的專家,

因此我的學習經驗、方法,

絕對不一定會是最好、值得參考的,

尤其如果你的目標是從事相關工作的話,

這篇的分享內容,對你的幫助可能就有限。

同時因為我想很真實地記得我每個階段的心情、感想,

因此內容會偏向雜亂、隨筆,

不會刻意整理歸納出有用的重點和資訊。

如果看到這裡你仍然有興趣,

歡迎繼續了解我的Unity學習歷程~

 

正文開始-------------

e54bf10c6dc9c8c9f77bf17016ef68e65e9fed0d.jpeg

這一年來(2019) 開始自學接觸Unity這個軟體

原因無他,就只是很想要能自己做出遊戲(電腦或手機的)

自己本身是完全沒有程式背景、念社會法律的人

所以就是一個從零開始摸索

目前大概半年了

雖然只是用一些有限的閒暇時間去學

才只摸懂一點基本概念

不過想寫個紀錄

一方面提供一點自己自學上找到的資源和心得

另一方面也是給自己一個紀錄

激勵自己繼續往前學和持續更新

 

自學大約從2019年1月開始

以下就照順序呈現我嘗試過的不同資源和方法

 


階段一:免費資源

 

1. 看了大概2、3堂的免費教學影片

https://www.youtube.com/watch?v=OZH7GSsLgaE

 

2. 免費教學網站亂試一些看得懂的功能,但感覺靠自己只能理解一些皮毛

http://www.cg.com.tw/Unity/

 

 

3. 書:Unity實戰教學 

在學校圖書館借書,

但只看了一小章,

做了一個2D角色動畫

感覺有很多東西,

只能用預先有的prefab(資源包中預先製作好的物件)去做,

完整做法無法得知

另外因為忘了借資源片,就先放棄了

 

4. C#學習

https://www.sololearn.com/Play/CSharp

因為覺得不會程式的話,

還是很難去做出自己想要的規則和互動,

所以開始在網路免費課程學C#,

有支撐到more on classes的部分。

 

但因為這是純C#的學習,

比較難直接和Unity、遊戲做出連結,

學起來動力就比較低,

也沒特別想到自己想試著做出來的練習和東西,

結果就是越學到後面,懂的東西就越少,

加上是每週學一點的模式,

缺乏練習的情況下也忘得快,

就發現成效不佳,只好先停下來。

 

5. 官方的2D Game Kit教學

https://learn.unity.com/project/2d-game-kit?courseId=5c8bcd60edbc2a0020e41e6d

有完成,也自己用資源包做了一個小遊戲

可以熟悉Unity介面,還有物件之間的關係,

可以對於Unity整體的認識清楚許多。

不過程式和美術,都是碰不到的部分,

還是受限於只會用已經存在的prefab,

不過比較快速會有成品和成就感。

 

但也因為這樣,想要學得更深入,

就沒有往3D game kit繼續,

因為覺得後續如果要學更完整的東西,

那還是會重複到,不如直接上更完整的課程。

 

到這個時候開始想要買更完整的付費課程,因為時間因素,比較偏好彈性的線上課,就參考了這篇:

10 Best Unity Tutorials, Courses, Training & Certification Online [2019 UPDATED]

https://digitaldefynd.com/best-unity-courses/

 

然後就買了第一、二名的Udemy中的Ben Tristem, Rick Davidson的課程

在2019暑假的七、八月看了一點2D課程的部分,

目前是覺得整個節奏滿不錯的,

也會把過程教得滿清楚完整

等到之後完成度更高,再來繼續更新

 

 

階段二:線上付費資源

 

1. Udemy Complete C# Unity Developer 2D

2020年五月更新:

買了前面那個課程到現在,又過了大半年,

自己也開始工作、申請研究所等事情

中間擱置過很久

到了現在終於慢慢爬到快一半,

第93課的地方

 

不過更重要的是,

到了最近這一兩個月,

終於養成每天至少完成一堂課的習慣,

也因為每天碰一點碰一點,

終於開始對程式比較有感覺,

有時候即使還沒教的功能,

如果比較簡單的,

就可以自己先想出來怎麼寫,很有成就感

 

基本上我目前覺得這個課還滿值得的,

因為每堂課都有小練習小挑戰,

他也會慢慢調升難度,

所以只要照實跟著做,

我是覺得有很踏實地進步。

 

唯一要注意的是,

他每堂課影片長度是十幾分鐘左右,

但實際上還有自己要暫停影片完成的練習,

所以加起來,加上有時要卡關,

一堂課可能花個30分鐘都有可能,

自己要先做好心理建設,

不然會覺得自己怎麼上這麼慢很有挫折感

(至少我一開始是這樣)

所以後來我就設定一天完成一堂就好

就會覺得不知不覺就前進了~~

 

https://community.gamedev.tv/u/kanmuri

這是我在課程論壇的個人頁面

會放一些自己的小作品

我覺得這也是這個課程很好的地方

有空間展示作品、甚至得到回應時

會給自己繼續前進的動力

 

(文章接下來是我業餘自學Unity緩慢前進的紀錄,

也有上線上課的心得、成果、雜感~

每隔一段時間會更新,

有興趣可以繼續看下去~)

 

UnityClassHalf.png

2020.05.22 成功完成一半課程了!

在完成了一半2D課程之後

我決定自己試做一個小project

想看看自己到底有沒有辦法

把所學整合起來做出自己想要的東西

 

Untitled.png

我做了一個以海龜和海洋垃圾為主題的遊戲

玩家控制不斷前進的海龜在海中移動

想辦法吃到食物、避開垃圾

生命值/飽足感會不斷降低

要靠吃食物增加

但吃到垃圾的話

會佔胃部的空間

一旦胃被塞滿了

就無法進食會慢慢死去

 

基本上所需的程式和課程中宇宙飛船、打磚塊教過的東西都有重疊

因此自己也確實能看著寫過的程式碼

重新修改成想要的功能

一些卡關bug的地方

也開始能透過查網路資料、自己實驗調整找到解決方法

這部分其實是滿有成就感的

也真的能看到進步

 

不過完成遊戲主要的核心程式後

就發現很多東西

例如胃部被吃到的垃圾塞滿、海龜的游泳

都需要自己對美術素材有更高的掌控才能做到

而且也還沒學到2D動畫的建立

所以很多東西都還是做不出來

就少了動力把程式連上弱弱的UI

停滯了一個月左右

 

但剛好最近剛從工作離職要去讀書

距離研究所開學也還有一個月

就又在Udemy買了新課程

2D Game Artist: Design Pixel Art From Scratch

決定與其拚命上完2D課和3D課

不如一次先掌握好2D遊戲的設計

希望在開學前能上完目前的課和新的pixel art課程

至少能對設計2D遊戲有更完整的能力

後續繼續嘗試做自己的遊戲會更順利一些

 

會決定這麼做也還有個原因是

更加意識到遊戲設計牽涉到的層面又深又廣

3D遊戲需要的投入

很可能比2D遊戲還要更繁複(我目前的認識啦)

因此靠自己獨力開發遊戲的話

不如先從2D開始著手

或許會是更務實的選擇

並且應該也能夠實現我目前的想法和需求

接下來就等著看看我一個月的學習成果囉!

--2020.08.03

 

--2020.10.07更新

之前八月時,規劃了為期六週的上課進度,

大概成功完成了三分之二!

雖然沒有全部但也算不錯啦,

目前Unity2D課程幾乎要完成了,剩下大約15堂,

而2D pixel繪圖的部分,則是上完了三分之二,

主要是遊戲icon、基礎動畫的部分,

之後還剩下角色設計。

這邊順便來曬一下過程中畫得比較滿意的作品XD

還很基礎所以大多是小圖

DoubleSword.png

(火焰劍)

HUD Finished.png

(格子中的icon是自己畫的,代表遊戲的各種技能)

SeaSunset.gif

WallAnimation.gif

SBGFInal.gif

雖然還有很多進步空間,

不過至少比原本多懂了許多~

 

九月開學後,因為在各種和文本奮戰XD,所以停滯了兩三週

最近決定先降低門檻,努力讓自己每天接觸個五分鐘!五分鐘就好!

相對就比較容易至少會去做

這麼做也是因為最近剛好聽到一句話:

You can rest, but don't quit.

如果停下來放棄了會覺得遺憾,不如就想盡辦法繼續吧,即便每次只是一點點也好

有時累了難免會想休息,想追劇玩遊戲~ 其實也沒關係,充電好後再上路就是了~

 

相對比較有空的星期日,

也緩慢地再繼續做之前的海龜遊戲,

之後告一個段落再放上來~

另外因為學校的課程之後可能會碰3D遊戲 

(雖然應該不會弄到Unity這麼複雜)

所以或許會先開始多接觸3D的部分~

心裡也想到一些想做的遊戲~

 

原先覺得先學好2D再說,

但後來覺得其實也可以隨興點,

現在對哪個部分有興趣,就去做做看,

說不定學起來更有動力。

剛好學校上課時學到敏捷開發的概念,

強調快速做雛形、快速蒐集反饋,

現在稍微有一點基礎後,

或許可以用這樣的方式,

快速做點小東西、小修改,

再蒐集他人回饋,應該會更有意思~

至少目前找家人玩玩看遊戲時,

也滿歡樂有趣的~

會讓自己更感覺做出東西的樂趣~

 

2021.03.18更新

這段時間趁寒假空檔,

雖然完成了2D Unity的課程,

還有大概七成的美術課,

但真的要應用在自己的project,

還是感覺好困難,

常常做一小段就停滯許久,

也因此產生許多自我懷疑,

想說繼續堅持學這些真的有用嗎?

我能做出成績嗎?

花了這些時間,如果沒結果未來怎麼辦?

是不是應該花時間做些別的?

我能不計較成果,單純享受做遊戲這件事情嗎?

因為這樣也經歷了快一個月的掙扎、停滯,

之後可能會再整理成其他文章。

 

糾結到最後,

我還是決定要繼續往前走,

主要原因有二。

一個跟自我探索、釐清自己的想法有關,

總之是排除外界眼光的期待、和他人的比較下,試著聽到自己想要的,

很複雜在這先不贅述。

 

另一個和做遊戲比較直接相關。

找身邊的人討論自己的煩惱時,

有人說:「會不會是你對自己有不切實際的期待?才會覺得很挫折懷疑自我?」

這句話點醒了我,

雖然學習做遊戲至今看似很久,

但一直只是用閒暇時間下去做,

認真算頂多累積了一百小時左右,

我卻希望能順順利利做出一個想要的、很棒的遊戲,

心中這樣的期待其實和現實落差太遠,

才產生了這麼重的挫折感。

 

想到這裡,我也想起線上課程講師,

總是鼓勵大家多分享自己的作品到社群,

(雖然一方面應該也是要衝討論區的人氣啦XD) (後來覺得其實收穫最大的是自己!)

想說不試白不試,

之前一直覺得不夠好,

應該還要做更多修改才發佈上網的海龜遊戲,

乾脆就把bug修好就上傳吧!

於是我就這麼做了,

真的也沒抱什麼得到回應的期待,

因為就覺得超不完整的。

結果在課程的社群得到了一則很用心的遊玩回饋!

對方很認真地說明他覺得好和不好的地方,

也很喜歡我的理念!

另外在巴哈姆特發文,

也得到了比平常多很多的贊助支持!

 

這些鼓勵真的讓我很感動,

尤其是在這種快要放棄的時候,

它們真的有非比尋常的鼓勵意義,

真的很感謝這些給予鼓勵的人們,

還有建議我把遊戲上傳的人們。

所以真心覺得如果你在做遊戲上遇到瓶頸,

就別想太多,先把你的想法和這個世界分享吧!

也許能獲得意想不到的回饋呢!

在這邊也附上我的遊戲連結:

https://sharemygame.com/@Kanmuri/sea-turtle-adventure-v1

如果看到這邊的你,

有正在做的小遊戲想分享,

歡迎po在留言區一起交流吧~

 

2021.07.08更新

幾個月又過去了~

剛好也是一個學期的結束。

這段時間我轉為開始上3D的Unity課程,

其實上起來意外地愉快XD

因為不少東西是2D時已經有了基礎概念,

這次就像複習一樣,

更可以專注在創造一些變化、添加自己想要的功能,

當然課程還是有不少新學到的部分,

但相對因為Unity、基礎程式概念已經較熟悉,

學起來比較沒那麼勞心勞力,

卡住時也比較能找到解決問題的方法。

 

到這個時候才忽然更感覺到,

之前付出的努力不是白費,

自己真的有慢慢在進步,覺得很開心!

在3D課程進展到大約四分之一時,

看到開課單位有舉辦一個類似遊戲黑客松的活動 (Game Jam)

就覺得阿不然來參加一下好了XD

對自己也沒什麼大目標,

這次只要能把遊戲做出來參賽就可以!

 

活動的方式是在一開始公布一個主題,

然後接著給大家兩週的時間,

把自己的遊戲做出來上傳,

接著再互相遊玩評分,

決定最終的獲勝結果。

這次我也不求什麼名次,

只是希望自己能上傳一款有頭有尾,

就算簡短,至少要有完整遊玩流程、玩家指引的遊戲。

 

為了達到這個目標,

在題目公布後,我就選擇了3D課程練習中製作的遊戲雛形,

開始更改和加新功能、增添場景和適當的玩家UI等,

給好友簡單的試玩蒐集回饋,

最後就順利地在截止前上傳參賽!

 

然後接著很棒的事情發生了!

在互評的時間裡,

真的慢慢有人來遊玩、回饋,

在評分結束前,得到了16個評分、10個留言評語,當中還有好幾個有詳細的建議、鼓勵話語!

十幾個聽起來好像沒很多,

但至少是我做遊戲至今收過最多的回饋了XD

而且裡面還有人把遊玩過程直播錄下來,一邊講心得,

第一次看到陌生人玩自己遊戲的過程,真的有莫名的感動!

 

接著我把人們給的回饋整理成清單,

開始修改和優化這個遊戲,

看著真實的回饋,

也許是感受到背後的真心和期待吧,

會更有想要把遊戲做好的心情和動力!

同時在這次的過程中,

我也發現把要開發的功能先全部整理一遍,

按照優先順序排出進度,會滿有幫助的!

(例如星期一要做出角色的移動功能、星期二要做出攻擊的功能之類的)

能夠更好地避免自己覺得很難想放棄,

也比較不會一邊做、一邊又被不重要的花俏功能吸引而分心XD

 

總而言之在這個過程中,

我終於將遊戲做到一個更完整的狀態,

並且重新發布在平台。

不管當初的玩家是否會再來玩,

但至少我感覺沒有愧對他們的遊玩建議~

也很感謝有他們,我才會這麼認真把遊戲更新好、挑戰原本不會的功能。

如果想玩玩看,可以點這裡

在網頁上可以遊玩,但會稍稍卡頓,

下載執行檔的話會運作比較順暢。

或是也可以觀看這個Demo短片:

另外我也為這次的過程寫了一篇開發筆記

希望更完整紀錄這次的經驗!

 

2021.12.26 更新(但接下來應該會暫停)

在2021的最後這段時間,

收到讀者很鼓勵的留言:D,

想起了這篇文章決定來更新一下。

之前有了想要將寫程式真正轉化為工作技能的念頭後,

做了一些搜尋,考量到學習資源和工作機會等,

找了專注於網頁開發的轉職課程投入。

因此這半年來比較專心在網頁開發的學習,

以及龜速進行中的碩士論文😂

總而言之Unity的學習就沒有太多的推進了,

因此如果有很期待我繼續更新的讀者們,

先說聲抱歉了~

也祝福閱讀到這裡的你,

能在你的目標中持續前進~

一起加油 :)

arrow
arrow

    Kuan北海魚 發表在 痞客邦 留言(4) 人氣()