發條でーす
今年8月底,我在美國猶他大學的Entertainment Arts and Engineering(以下簡稱EAE)開始了自大學畢業之後,睽違三年的學生生活
如今也轟轟烈烈地結束了第一學期
因此來分享一下在這邊念書的心得,也讓有興趣到美國念遊戲開發研究所的同學做個參考(=w=)
EAE是甚麼?在做甚麼呢?
EAE,全名Entertainment Arts and Engineering,顧名思義就是跟電子娛樂產業相關的科系,講更直白一點就是遊戲設計(開發)學系
以下內容以EAE研究所(Master)為主
每個年級的所有學生基本上分成四類(Track):
- Engineer(工程):負責遊戲的程式設計,
像我這樣的打字工 - Art(美術):負責遊戲美術設計(2D、3D繪圖之類的)
- Technical Art(又稱TA,中文叫技術美術):基本上可以想成工程與美術的結合(或是擔任兩者的過渡橋梁),通常在專案中擔任特效或是Rigging等工作
- Producer(製作人...?):大概是我最不熟悉的一個區塊(=w=)學習內容好像比較偏向管理與做專案報告與行銷等等的工作,雖然也有人覺得比較偏設計師的職位(但我不怎麼覺得就是了w),不過我覺得也是人物最雜的一個組,因為有些人可能會專攻音效、UX等不同領域
除了一些共同科目外,各組都會有自己的課程
(個人是Engineer組的(=w=))
第一學期的課程有以下三堂:
- C++ Game Programming(工程專門課程):
這門課主要使用的語言是C++,教授是Unreal Engine的資深工程師,工程相關課程最終的目的是要帶我們做出一個遊戲引擎,因此這門課會從遊戲引擎底層教起
例如第一學期前半段的C++基礎課程結束後,後面開始主要環繞在記憶體使用與配置上,所以後面的作業都是在做記憶體分配的系統練習
雖然我已經很久沒有寫C++,不過如果你有經常在開發的話應該都不難上手,課程並不會刻意去刁難學生,有任何問題也都可以問教授或是助教,不過有點基礎底子的話可以讓你更好過就是了(=w=)
舉個例子,第一周、課堂也沒有教學任何C++,直接出作業,內容是要求你不能使用任何std等其他Library來做出一個簡易的小遊戲(顯示你與敵人的座標,玩家還要能移動座標),還有要嚴格的記憶體管控(不能分配超出實際要求的記憶體)
要怎麼做到呢,只能全部功能自己動手做囉(=w=)
不過本堂課也有比較痛苦的地方,就是教授很忙,然後助教很爛(應該就剛好這屆的很混),非課堂時間問問題回答比較慢這種小事之外,作業的批改速度極慢,所以有可能遇到你不確定自己作業到底是不是寫的正確的情況又開啟了新的作業累積技術債w - Game Design(共同課程):
先說這堂課每屆都不一樣,因為教授會不斷的嘗試新點子,但有個主要的目的是教大家了解不同的遊戲設計方法與理論,每周會有個文章與報告要做(我討厭寫作文...)
那麼每一屆最不一樣的部分就是會有個"全班"的遊戲專案,而且也不是電子而是桌遊的部分,例如前一屆是做賭場遊戲的桌遊,而我們這次是做一個"Cyberpunk的戰役型桌遊",全班會分成不同專長的小組(美術、系統、故事撰寫和試玩等等的組別)
看看這第一周給我們拿去研究的桌遊
這堂課大概算是很多人受盡折磨的課程(我大概是少數樂在其中(?)的人),因為大組別有非常嚴重的溝通問題,還有不少人與人之間的摩擦,所以成品當然一蹋糊塗(我每次試玩的時候都在腦袋中播放著MGSV的Quiet's Theme、Miller彷彿在我耳邊說著:"Why are we still here... just to suffer?" )
不過在專案結束的課堂上,教授也列出了我們在這個專案中遇到的情況,並說:身為一個教育者,我並不是要教導你們去解決與避免這些問題,因為這些問題在你之後的開發、職業生涯中處處上演,因此是教你們去適應與應對它們(之前在臺灣資訊公司工作過的工(社)程(畜)師早已看開了就是(X) - Rapid Prototyping(共同課程):
這個大概是個人覺得最有趣的課程,如果你是個喜歡或是常參加Game Jam的人,那麼恭喜你在這堂課能得心應手,本課大概每2~3周要做出一個遊戲雛形,每次都會有不同的主題
成品可以不用非常精緻但是要能展現遊戲的特色,每個組都分配不同Track的人,因此不用擔心出現只有工程師或是只有美術的組w
我這一屆主要使用Unity與Unreal兩個引擎互相交替,因為是要讓大家適應目前業界最常見的兩款引擎,使用前會有引擎以及Git的使用教學(但個人經驗還是覺得實戰上自學能力還是很重要),因此也不用擔心說你會完全不會使用的情況下開始作業
就如Game Jam,你會在GJ上遇到的事情,這堂課也會發生,尤其是與人合作這塊,這堂課的每個專案也是同學之間互相認識(或是衝突XD)的媒介,每個專案後還會有對於組員的評分,如果你被他人評的分數過低的話還是會被叫去約談的喔
遊戲開發並不是都是一人的事情,因此也要學著如何與他人相處合作(=w=)
學習環境怎樣呢?
開學的第一周就會帶你到EAE的研究生Lab,說是研究室不如說是網咖w
會分配給每位同學一臺開發用的電腦,美術的同學也會分配繪圖螢幕
所以不用擔心你自己的電腦太爛無法開發(=w=)
基本上我都天天泡在Lab,除了因為一些個人因素之外,你可以在這邊盡情開發跟做自己喜歡的事(打switch之類的w)
EAE定期也會舉辦一些活動,例如EAE Play會直播與訪談不同組的成果(我就上去秀了一口菜英文),就業的部分也會辦講座甚至是請美國任天堂CEO庫巴先生來參訪,另外也有特殊的Lab可以參與且與業界合作
最後來小小分享一下本學期的作品(=w=)
以下大概就是前面提到的Rapid Prototyping課程、在兩周左右製作的遊戲
Toy Planet (<-可以點擊連結直接玩喔)
這款是第一個專案,主題是挑一個古早的機臺遊戲並且改造,我們當時挑的是Lunar Landing,並改造成星球的圓形環境(我其實還設計了可以支援多星球間移動的功能,但是時間上沒辦法產生那麼多素材所以就先一顆星球了XD)
Lure
這個專案其實是要我們練習製作一個遊戲開發時常有的測試環境,因此每個職位的人(程式、美術以及其他所有)都要開發基於這個主題的機制,並且合併在同一個場景讓其他開發者一玩就能知道這是甚麼樣機制的遊戲
AR Tree Planting Simulator
這個的主題是做Serious Game(就是有某種專業用途的遊戲),我這款顧名思義就是在AR種一棵樹,藉機教導植物相關的知識(大概吧w?),花了好一段時間在研究如何自動生成Mesh還有讓它長得像棵樹(=w=)
Dungeon Delver (<-也可以點擊連結下載來玩喔)
本學期最後一個專案,也是組別規模最大的一個(大概10人,之前大概5~6人上下)
為了配合EAE Play的直播,除了這個專案要挑前面專案的某個主題外,教授要求我們遊戲要能結合Twitch指令功能,所以特別有趣(=w=)
身為主要開發者的我還被組員推上去做主要的直播開發說明人員XD
以上大概就是本學期在EAE就讀的心得,歡迎私訊或留言
感謝閱讀(=w=)