關於課程
課程包含
課程時長
課程總人數
觀看限制
學習升級
最新消息
課程內容
2023 置頂公告
老師今年開始因為工作關係,較難逐一回覆問題,因此即日起老師不會固定回答學生問題,鼓勵同學可以透過問題討論區互相交流。造成同學不便,也請大家諒解。
你可以完整的製作一個遊戲!
這堂課和一般的程式課程不同的地方是,除了各式各樣的功能與花招,你可以學會如何從頭到尾使用 Unity 3D 製作出一個厲害的堆疊遊戲!更厲害的是,在製作遊戲的過程中,你也會同時學會許多進階的課題,包括 C# 在軟體工程的概念,以及 Git 版本控管和 Unity 視覺效果的應用,讓你以後可以利用相同的概念繼續製作各式各樣的遊戲。最後,我還會教你如何將製作完成的遊戲輸出到 Android 和 iOS 上!
過去你可能有遇過這些問題:
我只是增加一個小功能,結果怎麼整個程式很多地方都要修改了?
在越來越大的遊戲裡,程式的大小也會快速增長,這堂課會教你利用 Singleton、EventSystem 等技巧,可以把程式分割成許多乾淨且各自獨立的區塊,做出類似模組化的特性,才不會遇到牽一髮動全身的窘境。
為什麼我打程式總是特別慢,為什麼別人寫程式的我都看不懂?
這堂課會示範 Unity 預設 IDE - MonoDevelop 許多實用的快捷鍵,可以大幅減少使用滑鼠的次數,進而加快開發速度。它還有強大的 Code trace 功能,在程式規模越來越大的情況下,讓你可以輕鬆看出整體的架構。
Unity 出了新版本,該升級嗎?
先用 Git commit 一次就能無痛升級,即使升級失敗,也能輕鬆回復。Git 是一個非常通用的版本控管工具,在單人使用的情況下可以直接當作雲端備份,而在多人實作的時候又可以做到大家同時異地開發的功能。
課程架構分成兩大部分:
為了讓大家可以學到最豐富的技巧,這堂課會由遊戲製作的「主軸課程」出發,中間穿插搭配相對應的「其他必備能力」,讓你不止是紮實的製作遊戲,更將遊戲開發練習得徹徹底底!
遊戲製作主軸課程
我們會先把這套堆疊遊戲整體的架構和基礎功能完成,從環境設置開始,包含遊戲主架構 GameManger 以及其中的 GameLoop 部分,還有控制方塊的 BlockBehavior(方塊的大小、來回移動、動態裁切、物理材質...等等)。
接著進入完整化遊戲體驗,學會 CameraManager 讓畫面跟著方塊移動、完成 AudioManger、UIManger 將點擊音效、景深模糊、HDR 等等視覺效果加上去。最後,完成的遊戲就可以輸出到 Android 和 iOS 上啦!
其他必備技能
同樣是製作遊戲,要如何比以前更有效率、更精準、更方便?靠得就是這些必備技能,學會用 Singleton,EventSystem 等等來讓步驟模組化,Git 版本控管、 Coroutine、Post Processing Stack 也會在課程中一一介紹!


Unity 是什麼?
Unity3D 是一個用於建立諸如 3D 電動遊戲、建築視覺化、實時三維動畫等類型互動內容的綜合型開發工具。你可能有聽過紀念碑谷、KSP 太空計劃、SuperHot、爐石戰記,這些鼎鼎大名的遊戲都是 Unity 開發的!在 Unity 每年舉辦的 Unity Awards ,也能看到精彩強大的得獎作品!
在以前遊戲引擎還不普遍的時候,要製作遊戲要不是自己打造,不然就是使用其他公司要價上百萬的遊戲引擎。一般的獨立遊戲開發者根本無法負擔這些花費,直到 Unity 的出現,讓遊戲開發變成你我都能做到的事!
Unity 有 Personal Free、Plus、Pro 三種版本,除非商用或者是有特殊需要,否則除非銷售金額超過每年 10 萬美金才需要繳費,個人版是終身免費。這也造就了 Unity 開發者廣大的社群,以及資源豐富的 Asset Store。
多平台支援
在過去,開發可能要針對不同平台,各自創作一版遊戲。
開發 iOS 遊戲需要會 Objective-C,Android 遊戲需要會 Java,網頁遊戲需要會 PHP、JavaScript,PC遊戲要會 C#,每種平台都需要一款不同的開發軟體(IDE)。
但 Unity 的多平台支援特色讓你只用花一倍的時間開發,只需要會一種語言,即可輸出在 PC / Mac / 網頁 / iOS / Android等平台,正因為如此特性,Unity 才會成為現今遊戲製作的主流軟體之一。
Asset Store
什麼是 Asset Store 呢?Asset Store 就是在當你覺得似乎缺少些什麼?或者是軟體的功能不敷使用的時候?可以用來挖寶的天地。
許多開發者把自己做好的素材打包成 Package 上架在 Asset Store,包含:模型、動畫、音效、粒子系統、程式、著色器等,甚至有整個完整的遊戲,讓你可以直接修改成你要的內容。你可以隨時購買使用它們(有些甚至是免費的)來大幅減少遊戲的開發時間。
來自上堂課的評價
個人作品集
我目前就讀交大電機研究所碩一,致力於將 Unity 與 Machine Learning 結合,使用 Unity 建構的環境來訓練人工智慧。因為我也是自學遊戲開發的人,所以非常能夠體會大家常遇到的挫折點,因此整理出完整的課程,希望想要自己開發遊戲的大家不再慌亂、不知如何下手,而是跟著有趣的課程一步一步完成一個遊戲。
Orbit
體驗重力軌跡變化之美,建立你的太空運輸事業
Orbit 是一款以真實物理軌跡為基礎,太空運輸的經營模擬遊戲。
VR Mall(Demo版)
想要和朋友一同進入 VR 世界逛街嗎? VR Mall 正式開張!
這是一個基於 VR 與線上購物的軟體,讓你和朋友在同一個空間裡把玩商品及選購。
關於著作權
有些同學一定發現了,這和著名的手遊《Stack》不是一樣嗎?
沒錯,這堂課程最一開始的發想是希望教大家,一個能完整做出來好玩又好看、而且簡單的遊戲。想了很久,我最終決定使用Stack遊戲的機制當做基底,其中也和 Hahow 以及律師們討論了很久關於著作權的問題。
最終我們得到的結論是:如果遊戲在影像上很相似,即使是自製的畫面,也算是重製,所以有侵權的疑慮。但是遊戲機制(Mechanic)是屬於某種 idea,所以不屬於著作權保護的對象。
總而言之,即使圖像是自製的也不能和其他遊戲相同,但是你可以製作相同機制的遊戲例如(MOBA 遊戲, FPS 遊戲)
哪些人適合這堂課:
- 學生 - 遊戲相關科系,希望對於 Unity 有更進階的認識。
- Programmer - 想要藉由 Unity 瞭解一些軟體工程的實作概念。
- 其他 - 任何對遊戲開發,傳達體驗有興趣的人。
哪些人“不適合”這堂課:
因為這是一堂遊戲開發的進階課程,有修過我開的上一堂課、或是對 Unity 有些認識的同學,會比較適合上這堂課。如果是對程式還很陌生的新朋友,或是完全還沒使用過 Unity 的同學,想了解更入門的內容,歡迎參考我上一堂課程 Unity3D 遊戲開發 in 90Mins - [入門篇]。


