關於遊戲設計專業院校,你所不知道的 #4:側重圖形學的 UPenn CGGT

引言

有鑒於國內行業的不良狀態,出國留學接觸更為先進的遊戲設計理念、切實提高遊戲設計實力,並且為自己贏得更多可能成為了不少開發者的選擇。當然,出國學習遊戲設計與學習其他專業沒什麼不同,擇校總是必不可少又糾結萬分的環節,然而,當我們攤開學校列表的時候,的確會發現這樣一個問題,即我們想像之中的遊戲設計相關專業並沒有那麼多,而面對課程大綱與項目概要,我們很難真正了解一個學校之中的某個專業究竟是何種模樣。

以上即是 indienova 策劃這一系列專題的背景。我們希望通過與已經參與過專業學習的留學生的真實接觸,幫助大家了解遊戲設計專業海外留學的現狀,不同學校偏重的特色,以及其他相關的問題。也歡迎對這個策劃有興趣的朋友與我們聯繫,分享你們的經歷。

本期為大家帶來的是 Upenn CGGT(賓夕法尼亞大學 (University of Pennsylvania)計算機圖形和遊戲技術(Computer Graphics and Game Technology)) 項目,邀請到曾就讀於該專業的狄學長進行採訪,相關信息也可以參考這一條知乎問答。

問答

請簡要介紹一下自己吧。

  • 知乎:@狄學長;
  • Github: @shrekshao;
  • LinkedIn: @shrekshao;
  • 個人主頁: shrekshao.github.io。

本科東南大學計算機,碩士 UPenn 以 CGGT 入學,第二學期已轉 CIS (General CS)。

之前一段時間項目的主要方向是實時圖形 API(WebGL, OpenGL),GPU 編程。

一個平庸的程序猿。n

為什麼選擇了遊戲程序?

最早接觸編程是遊戲相關(Flash, 文曲星的 GV Basic),對遊戲設計 & 美術 & 開發有興趣。

本科入學早期在榮譽學院對其他計算機方向視野受限。

大四去伯克利交換接觸了圖形學。n

為什麼選擇了 CGGT ?

碩士申請時申請了一眾General CS 項目,外加 USC CS 下的 Game Development 和 UPenn 的 CGGT 兩個遊戲相關項目。只中了兩個遊戲相關。

因為已經交了占坑費,USC 的項目要求七月入學時間不太方便,選擇了CGGT。

我的碩士申請比較隨意,準備工作做得較少。n

簡單講講 CGGT 區別於其他院校的特點?

只憑我個人的經歷沒有辦法給出準確的橫向比較。

依據網上其他項目同學分享的經歷,簡單來看,CGGT 的技術課程集中在圖形方面:

  • 560 OpenGL,
  • 561 離線渲染
  • 565 GPU(CUDA)/WebGL,
  • 563 Simulation,
  • 562 Linear Algebra(Matrix, IK, FK),
  • 660 Siggraph paper + Maya plugin。

CGGT 有一個耦合的本科生項目 DMD(Digital Media Design),主要是為 Animation Studio 輸送 Technical Director,會多修一些藝術課程。

相比 CMU 的 ETC,在遊戲方面(只有腐朽且軟體技能缺失的 Stephen Lane 一人),與遊戲業界合作方面差距很大。

在技術課程之外有 Entrepreneurship, 3D Modeling(Maya), Digital Imag(我沒上過,藝術方面課)的必修課。n

從你的知乎回答來看,課程包括必修課程安排較多,選擇範圍較窄,能夠簡單講講具體的課程安排嗎?

根據2016年已知的一項改動,所以目前的課程學位要求如下:

CIS 560 Interactive Computer Graphics (OpenGL)

n原本科生 CIS 277,所以應該比較基礎。對沒接觸過圖形API的同學應該會很有幫助。授課為一平庸 Lecturer 和一新 DMD 和 CGGT 畢業生。

CIS 561 Computer Graphics (Offline Renderring)

n我因為在伯克利上過 CS184 Computer Graphics,所以沒上過該課程。不過看過同屆同學的 project,所以還算比較了解。個人認為質量比伯克利的高。

這門課程全面且系統地介紹圖形的各種理論和演算法: BRDF,Ray Tracing,Path Tracing,BVH,Photon nmapping 等。Project 有比較完善的 base code 和良好的難度梯度(之後的作業常常會在之前一次的基礎上做功能擴展)。

授課為 Norm Badle人,也是很有名望的正統圖形學教授。

CIS 562 Computer Animation(Linear algebra, IK, FK)

n因為我在伯克利的 Computer Graphics 上過相似的內容,所以個人覺得比較基礎。授課為 Stephen Lane,此人是背景是航天器博士,上這種本質為數學的課能力還是可以應付的。

有一些鞏固概念的小作業,以在 base code 里補充演算法核心部分為主。

CIS 568 Game design practicum (Unity3D, Unreal, VR)

n3 個遊戲 project:Unity3D 個人自學基礎遊戲,3 人組 Unity3D/Unreal 遊戲,3 人組 Unity3D/Unreal VR/AR 遊戲。

授課為 Stephen Lane;此人與遊戲界的交集為早年開過遊戲公司當 nCEO;然而我絲毫看不出他有任何實質的遊戲設計經驗,更別提開發經驗。對 Unity3D, Unreal n的使用完全沒有任何有附加值的幫助,等同於自己自學。如果之前接觸過Unity3D,應該會覺得這課幾乎毫無幫助。

Lecture 部分質量幾乎為 0,極為膚淺地介紹一些所謂的遊戲設計理念。

VR方面,他並沒有任何開發經驗。就是拿學校的經費給你一個 Oculus DK2,leap motion 開發,然後上課弄個 hololens給你玩一下。

CIS 660 Advanced Computer Graphics Topics (Siggraph Paper, Maya plugin)

n簡單的 Maya Plugin 教程作業,最後 project 為找一篇 siggraph 文章實現 Maya plugin。

授課為Stephen Lane,Lecture 為學生自己完成,輪流做 siggraph paper 的 presentation。

商學院的 Entrepreneurship

兩門藝術課, 一般為:

3D modeling (Maya)

Digital Image

選修CS技術課程 2門,一般為:

CIS 563 Physical simulation (simulation, particle, math)

n原授課為 Ladislav Kavan,此人已離開 UPenn;上學期授課為一 CGGT 新畢業生,此人現也已離開。課程質量是可以的,然而前途未卜。

CIS 565 GPU Programming and Architecture (CUDA, WebGL, Vulkan)

n以 project 為主、代碼量很大的課程。2016 秋學期(我為 TA,編寫 project base code)的 project 有:

  • Intro: N-body / flock (CUDA)
  • Parallel algorithm implementation: parallel reduction, radix sort, etc. (CUDA)
  • GPU Path Tracer (CUDA)
  • GPU Rasterizer (CUDA)
  • WebGL deferred shader / forward + shader
  • Vulkan, OpenGL Compute Shader practice
  • 歷時半學期的學生自選topic(有topic pool)的final project

Lecture 教授 GPU 結構,並行演算法,性能測試,以及為 project 服務。授課為Patrick Cozzi。此人是工業界程序員兼職,活躍在圖形社區, glTF 標準起草人之一。

很多目前在圖形相關業界的學生都因在此門課中做的 project,學的知識而而收穫改變職業軌跡,收穫頗豐(目前在 Autodesk 的 Nop 原話翻譯),這與 Patrick 常將學生連接到工業界前沿技術有關。

除了上述課程之外,還有一些 independent study 和 seminar 等,這與訪問學者和業界話題等有關。當然,也有不少學生學 CIS 的課程,畢業之後去找 general cs 的工作。

CGGT 的教學環節中包括遊戲項目的開發嗎?

有且只有CIS 568。對此課的吐槽見上和我的知乎回答。

在課程無力的影響下,吸引不到除了需要必修以外的同學,導致的學生很少(我那學期就9個人),並且由此陷入面窄、出不來好作品這樣的惡性循環。n

有人認為 CGGT 的課程較為理論化,你同意這個觀點嗎?

應該說較為偏重圖形領域。畢竟遊戲方面實在是不堪一擊。

561 Computer Graphics 和 563 Physical Simulation 是很正統的計算機圖形學方面的知識課。

565 GPU 完全是偏重 project 和實踐,並且與工業界聯繫非常緊密的課程,不能說完全理論化。

申請的過程是怎樣的,有沒有要特別注意的地方?

不需要項目經歷,不需要作品集,與一般碩士項目申請無異(項目本身也屬於計算機學院)。

據我目測,國際生(主要是中國)的平均質量一般;相當比例的單純地想轉 CS 的學生;(道聽途說錄取率 CGGT 25%,CIS 10%)。

CIS(Computer & Information Science)就是正兒八經的計算機的碩士,圖形學相關的課(都是計算機學院的課)都可以選並算作畢業學分的。n

在你開始學業之前,你對於遊戲程序的理解是什麼樣的?有嘗試性地做過遊戲嗎?

我從小學閃客帝國時期接觸了 flash,也做過一些簡單的交互遊戲;一直有畫卡片,桌游,設計遊戲的愛好。

中學時期曾用文曲星 gv basic 寫遊戲,高中三年斷檔,大學用 flash 寫過兩個 flash/air 遊戲,以及發起了智能體編程遊戲《機甲帝國》,這是包含網站,c++ 邏輯核心,flash, unity3d 畫面展現的綜合項目。

PennApps(賓大主辦的全球學生 hackathon)以之前的《機甲帝國》為素材做了一個 Unity3D 機甲射擊遊戲,用了 EA 的一個實驗 API,使用了 Node.js 可以用手機訪問。

這些在我的主頁都能看到。

我還是對遊戲持續關注和嘗試的,雖然不能和知乎上輪子和葉老師比。n

這段學習生涯給你帶來了怎樣的改變?學到了什麼樣實質的技能,或者理念有哪些改變?

我不具有代表性,第一年上了 GPU(一般為第二年)課程,覺得這是一個參加與否會使得 CGGT 成為兩個截然不同的項目的好課。

我這一年 CGGT 的收穫幾乎全部來自於 Patrick。除了GPU課,在 Patrick 的幫助下,我在第一年寒假開始了一個 WebGLn 2 Samples Pack 的開源項目,也以此認識了 WebGL n社區的業界牛人,與他們也產生了合作。這對我對整個圖形社區的理解和視野拓展很有幫助(原來還有這麼多除了遊戲之外的領域可以讓WebGL大展拳腳)。

所以主要是 GPU,WebGL 這塊的收穫。遊戲方面真的沒覺得自己有什麼長進。n

能看出來 Patrick 對你的影響深遠,你可以詳細談談這點嗎?

n往屆優秀的 project,都會被 Patrick 發在 twitter 上。不少都被業界大牛點贊(Brandon Jones, Eric nHaines, IQ),另有一些優秀的 final project 會順帶發文章(Accelerated Stochastic nProgressive Photon Mapping On GPU)或業界技術博客(tile based webgl deferred nshading)。

在這門課之外,Patrick 春季會帶 independent study,有實現論文,也有今年開始往業界開源項目靠近的兩個項目(WebGL 2 samples pack, glTF pipeline)。

我個人跟著Patrick的收穫:一個是 GPU 課上的種種,特別是 performance analysis,這是很多學校 toy nproject 涉及不到的;另一個是之後的一學期的 independent project 做的 WebGL 2 Samples nPack。因為這個項目,我獲得了去 2016 GDC Khronos session 做簡短 talk 的機會;被邀請去 NYC n的一個WebGL Dev meetup;在知乎上回答 WebGL 2 的問題和國內 WebGL / n遊戲的兩個資深程序員加了微信聯繫,還被他們給了 offer 的邀請;暑期與 Eric Haines 合寫一篇技術博客 Move WebGL 1 nEngine To WebGL 2(還沒發)等等。

這是為什麼我覺得我一年 CGGT 的體驗,碰上 Patrick 和沒碰上他堪比兩個不同的項目。n

畢業之後都有什麼選擇,這些選擇的發展是怎樣的?

主要是潑冷水:

首先說明 DMD/CGGT 的最主要培養目標就業職位是 Animation Studio 的 Technical Director,而 Animation Studio 基本不會招國際學生。

第二,大部分國際學生就是靠刷題進一些大 IT / 金融公司的程序員職位,CGGT 的身份基本沒什麼幫助(這裡面還包括一位因為導師離開只能拿碩士學位的清華本科博士)。

然後再列一些與圖形、遊戲相關比較知名的公司中國留學生可能去到的職位。 ——

n同時這裡面倖存者偏差,我所能知道的(特別是前幾屆)肯定都是比較優秀的同學,所以千萬不要認為來了這個項目按部就班就能去這些地方。

注意以下職位不局限於中國留學生,還包括了美國本科生和有工作經驗的同學,括弧內為我知道的人數:

  • Autodesk (2)
  • Nvidia (2)
  • Google chrome GPU team (1)
  • Blizzard (2)
  • EA (1)
  • Zynga (1)

這裡面其實 Zynga 和 Blizzard 的其中一個做的還都是網路方面的工作。n

CGGT 的氛圍如何?生活成本大概是什麼樣的?

與其他碩士項目沒什麼差別。$6000 一門課,畢業一般修 10 門課,再加上一些學校的費用。3 門課的一學期大約是 $19000。上一屆不少外國人都是一年半修完,這樣也可以減少一點開支。

費城這裡房租每月 $500-1500 都有選擇。日常吃飯有 $5 的餐車,$10 以內的很多東西,以及人均約 $20 的中餐館等等。

學校所在城市的遊戲設計氛圍怎樣?獨立遊戲開發氛圍呢?

不清楚。

n不過不清楚應該就說明並不濃厚吧。

n至少我個人是這樣感覺的。n

感謝你的時間。我的問題就到這裡啦,你還有什麼需要補充的內容呢?

對於新的本科畢業生,我是真不推薦來這個項目,不論你是熱愛遊戲,還是只是想轉計算機找工作(這課選計算機自由度比 EE 還小),理由基本可以參考我的知乎回答。我也已經把一個新生說跑到 USC 了。

在我看來,CGGT 這個項目,有很多 Stephen Lane 為了一己私慾而搞的東西(這個項目就是他申請創立,他自己的課無論多麼爛都必修)。大家別就因為一個賓大常春藤的牌子而來到這個項目。遊戲方面幾乎是空白。

獨立遊戲方嚮應該 CMU 的 ETC 是很好的。我有一個本科同學在那裡,我去看了他的 portofolio, 你可以看到他一年內都是在課程內完成的遊戲作品,基本都是他們的 BVW 課的。質量是很不錯的,在遊戲方面我是很羨慕他們的。

如果是已有工作經驗想提高自己的獨立遊戲開發者,我覺得如果你有志於往引擎,圖形的底層開發走,有閑錢,又想來美國大學看看,這個項目的課程還是值得考慮的,應該比較好申請。

除了一個已經在 Google Chrome GPU Team 的同學(我的項目也是和這個 team 合作的),還有今年實習有在 Epic Game(就是做 Unreal 的那家),有 Play Station 的,工作內容都是開發的圖形、引擎方面的東西。n


推薦閱讀:

哪些遊戲中的風景,連景觀設計師都說好?
胡思亂想之關於遊戲維度的一些想法(未完)
關卡設計嘗試-戰鬥方塊劇場
如何在遊戲設計中傳達面臨危險的情感體驗,卻又不因此使遊戲變得難以進行?
BI研究院︱如何做三消遊戲的策略性研究?——以Candy Crush系列為例

TAG:游戏设计 | 计算机图形学 |