2010/04/08

會師!GDC2010!

"I haven't even packed my luggage, fuck!"

Gtalk上John隨口murmur了一句,我看看旁邊也還是空的行李箱,凌晨三點半......大概也是最近飛習慣了,都拖到最後一刻才把東西亂丟亂塞進去。這幾天不是project demo就是CG作業,一直到這一刻,都還沒開始研究到了GDC要去聽些什麼東西:三天的main conference,項目從audio, program, design到production, visual art, business,所有你想的到的遊戲相關議題都網羅進來。Hugo這兩天就開始研究那密密麻麻的schedule,題目看起來都很有趣:"Designing for Performance, Scalability & Reliability: StarCraft II's Approach","Physically Simulated Clothing in Eve Incarna Using NVIDIA APEX","Go With the Flow! Fluid and Particle Physics in PixelJunk Shooter"主講從B社,EA,Square-Enix到Sony,Nvidia,Intel軟硬都是響噹噹的大牌名字........還真不知要怎麼選起........

早上跟同班機的林童碰頭,中午人又在飛機上了.......閒著拿起書把stencil buffer跟動態貼圖的部分在這段航程中翻了一遍,兩個都是做real time shadow的偷吃步技巧,趁著剛做完FBO手感正熱,看起來特別快,腦袋裡又浮現出2000初期的那幾款標榜即時光影的遊戲(第一個想到splinter cell,最新作在GDC也有主題開講),又想起之前跟Loga他們憑著fixed function pipeline硬尻出來的anaglyph遊戲:"早期的3d遊戲陰影也就是在角色下面貼個黑色圓盤而已........"中間也才隔了幾年........進步的速度快到跟不上啊..........
宅男高峰會GDC
抵達LA後東道主Angela就過來接應啦!上次西岸行原本要碰面沒碰到,這次來叨擾大表姊三天。當天晚上聊得蠻晚,她聽著我對一些project上不平衡的抱怨,最後說了句:"well......很有趣的是,在我們公司,亞洲人都是在負責很底層的硬活,但是每次在報告的時候他們也都很低調,所以美國人往往相對比較起來都比較亮眼"可我最討厭的就是空口說白話,不事失產出一張嘴......."你現在是在美國人的地盤,你必須學會出一張嘴,如果你討厭空口說白話,那你應該要要求自己又能辦事,又能漂亮的展現給人家看!"......還是一句話,在人家的地盤,就照人家的遊戲規則來.......就算是有主場優勢,好!芭某人也沒再怕的!

第二天到了會場Moscow Center,領了通行證,沒多久就看到了久違的立衡跟陳喆,好像都瘦了.......日本不是應該吃好喝好的嗎= =,真的見了面,也有點不知道要聊什麼,兩個人現在都滿口日文垃圾話,立衡這次還帶了剛弄好的demo reel跟新版履歷準備進攻Pixar。時機差,景氣壞,intern特別難找,看他一挑就直接挑這種大尾的魔王,也只能說祝他好運(截至目前為止,78位同學找到intern的才剛滿十位,聽說去年只有九位.......)。剛投出去的Insomniac考題(寫一個memory pool manager)當晚也就收到了reject的通知,這丟履歷跟發傳單一樣的頻繁,像Insomniac還有回應給題目考試的算不錯,有些是真的丟出去後就再也沒有消息了,學期已經過了一半,真找不著,下一步又應該是什麼?
太久沒出現 讓我上上鏡頭
第一場,立衡去聽Pixar,我去聽Blizzard。主講是SC2的引擎首席工程師Dominic Filion,一開始講的東西還蠻詭異的:Blizzard的核心價值觀。當我心裡還在納悶這種東西甘引擎開發屁事時,他話鋒一轉,情勢瞬間急轉而下:首先秀整個performance monitor,再直接比開了monitor的效能差(幾乎不到10啪,他說超過10啪monitor的數據就沒有意義了= =),bottleneck的hotspot還原機制,連timing的組語指令是200-300 cycles,不准開lock影響threading的效能都考慮在內,針對六年前到現在最新顯卡play test的數據,即時生成的memory fragment html報表,現在已經火如荼進行中的全球封測(Dominic:不是實際去廝殺得來的play test data,跟沒有一樣= =)。整個人看得目炫神馳,被嚇得一愣一愣的:之前立衡他們參觀B社時,說只有放放預告片就打發掉了。這邊突然這樣的刀光一閃,彷彿在跟你昭告:這就是業界第一流的水準。出來的時候延通也是一臉失了魂的樣子:"我覺得以這種標準,窮極一生之力我大概也進不了B社,差太多了........."

接下來的進程,基本上就是一連串的瘋狂軍備競賽,"C++ is bad programming language for game development, what should replace it"是個open的論戰擂台,一堆沙場老將滿嘴各種沒聽過稀奇古怪的scripting language,聽到一半實在聽的完全沒頭緒,中途開溜= =,下午跟喆爺去聽Just Cause2的引擎,有些node reparent的東西聽起來很酷炫,可是講到animation方面rag doll, IK與物理引擎(Havok實在有夠紅)之流的,又是被轟炸的頭暈腦脹。想說連聽這種hardcore programming講座廳三天鐵定抓狂,終於挑了一場比較軟的來聽:Make It A Standard, And Stick to It,暴雪D3,WOW,WC3,ST的王牌企劃Rob Pardo主講,game design這種東西:大學問,可是沒有細部配套形同唱高調。B社這種世界第一等級的,講這東西對我來講就是多了強大遊戲背書的公信力:"gameplay first", "easy to learn, hard to master", "control is king"這種形同標語的東西,讓他拿B社歷屆遊戲出來比較佐證(從SC的英雄到WC3的英雄,從D2的技能樹到WOW的技能樹),聽起來沒壓力也有趣味。所以之後的模式就變成:聽program聽累,就去聽場design的蓄力休息一下。
B社的"核心價值"
第一天最後一場給了Sony Santa Monica的God of War3: Shadows,想說昨天才剛復習完,聽這應該比較聽得懂,結果.......gosh!ray casting, stencil map, baking texture, SSAO,LOD連環交替出招Cg碼一篇接一篇放(相機聲此起彼落),反鋸齒加拼速度的陰影演算法把人整個震傻在那邊,聽個三四成懂都被嚇成這樣,Hugo這種行家出來講話都帶點興奮得顫抖了。此刻手上那份空虛單薄的履歷,在這邊根本沒膽投出去.........

當晚又是一場校友聚餐(結果連顆花生米都沒喀到= =),意外的遇到了Hugo的學長RH,他在Neversoft做了幾年,最近又回台灣工作了。看到吉他英雄(Metallica, Van Halen, Aerosmith, 4.5,6)製作團隊在面前,整個興奮的都有點抖(RH:你喜歡Metallica啊?哀 可那片是賣最差的,大概音樂太重了......Aerosmith就賣得很好)。稍微問了一下我intern有沒有著落,我跟他說能投的都投啦,目前仍是掛蛋,他也安慰了一下:"沒關係啦!台灣我那屆同學沒找到intern的,畢業都去了dreamwork跟pixar"我也想到西岸行遇到那位在做Call of Duty的學長,他也是說他那年暑假沒找到intern,所以就自己練自己的。是啦!來這邊看了一趟,真的才發現原來遊戲界是這麼恐怖的廝殺戰場,真找不到intern,也只能說技不如人,實力差距太大了.........有很多東西希望暑假能好好重練一下:資結,演算法,很多東西希望學起來:DX, XNA, C#,讓自己留在匹茲堡潛心修練一個暑假,也不是什麼壞事。沒有本事,又怎麼能指望人家要你呢?
GOW3:原聲帶由KsE, DT, Trivium一幫猛將連袂出擊
第二天,早上聽了Nvidia的即時流體模擬,微積分狂噴,直接繳械投降= =。只記得很正的印度正姐工程師嘗試把敵人打爆秀出particle effect,打了半天打不到(果然好的game programmer跟game player是兩碼子事lol),中午聽文明地國的design聽到一半,就被Deepak的手機叫出會場:我倆是PandaSE代表,準備跟從未謀面的客戶Bei開會。Bei跟他老闆Mark在門口跟我們會了面,拉我們去吃飯一邊談,我在點了白開水時Mark突然開口:"你確定嗎?今天我請喔"= =

Bei給我的感覺蠻像VFX, rendering授業恩師CYY:年輕,幹練,身材魁梧..........大至聊完project的部分(Disney的立場是希望我們好好收尾,把document做好.......但如我上篇所講,各家勢力有各家的算盤,黑暗政治,很多東西Deepak也叮囑我略過不提= =),身為ETC校友的Bei也關心了一下我的學習狀況,我就坦白跟他說了:ETC沒教我什麼東西,我都得靠自己學。Bei聽了露出一副不意外的表情:是啊!那大概就是ETC教會你的東西,自主學習!又問我未來的打算,也跟他老實回了:engine programmer我大概吃不消,希望是做graphic programmer或是game scripter。他又問了我對shader有沒有經驗,"嗯 寫過一些簡單的,希望在多寫一些自己練習一下" "像什麼?normal map? stencil buffer? shadow map? bloom? HDR? deffered shading? refraction?"報菜名一樣噴了一串shader,芭崎被嚇到緩緩點了點頭時,他又爆出一聲大笑:"haha!all the old school classic!"笑完後認真看著我:"想做game scripter,那是競爭最激烈的地方,graphic programmer,吃力不討好錢也不好賺,如果想賺錢,可以朝web programmer的路線走,全LA有資格稱為web programmer的,不到五位!"

本來就知道我們這位客戶是行家,也知道他講的是真話。但我......還是希望能夠朝我想作的方向走, 當初選圖學這條路,就是因為我是個視覺動物,一切看的見為準。我真的就是愛做這東西,web programming對我來講就是還好.........well........多謝學長的提醒,但還是讓我........試試看自己到底夠不夠格闖這一行吧!跟客戶說了再見後,Deepak就一路直衝會場徵才的攤位,畢業在即,Deepak不像我是抱著開眼界的心態來GDC的("我現在是一隻獵捕工作的獵犬,所有演講,課程,跟求職無關的,我不放在眼裡!"),連履歷都是用上好的皮紙印製,我則就像是個見習生一樣看著他逐家公司投,逐家公司問。他求的是正職,我求的是intern,中間預到延通,兩個人也試著投。但真的,我此行沒有想過投履歷這件事,那份舊版的履歷很多地方都沒修,雖然請立衡幫我印了幾分,自己都沒什麼信心的東西投出去也完全沒存什麼指望。機會在眼前,你有足夠的實力跟氣魄去要嗎?我承認,在此刻我真的沒有= =
求職攤位真的蠻恐怖的,投履歷都投得蠻有壓力
下午先是聽了FF13的企劃講story的部分,同步口譯品質有待加強,整場霧煞煞。巧遇喆爺又聽了UFC2009的物理引擎,animation的部分實在是一門要從CG裡面獨立拿出來講的東西,儘管對一般的graphic pipeline, render已經有了基本的認識,動畫這塊完全是門外漢,看著最多三十不到主講在台上侃侃而談,我好弱..........本日最後一場給了昨天把我嚇破膽的GOW3,不過這次講得比較輕鬆:model, animation的生成流程(偏美術那部份的)。旁邊又是這方面的行家茂凱,不懂時就戳戳他問一下。concept artist生出概念圖,modeler, rigger在那邊靠邀:"這是要怎麼rig啊",於是又回去改又拿回來討論,奇美拉,Kratos的個性如何影響他們的動作(蛇師羊三種個性的攻擊型態,Kratos沒有仰面趴的動作,因為他絕不退縮),一個combat designer配一個animator(這實在很誇張),新人剛入行先餵他們一堆暴力片:"這樣得砍殺效果是我們要的"。聽起來很有趣,美術那方面也是勞心又勞力,茂凱他們的ETC project這次在GDC也有展出,以他的身手此刻卻還是intern掛蛋,artist方面的競爭,可能比之programmer來得更高啊........

晚餐中台10,11兩屆學生(Lynne抽到了一台PS3!!!!!!!!!!!超賺!!!!!!!!!!!!)及部分校友在一家中國餐廳聚餐(真得是中國餐廳,不是匹茲堡的偽中國菜!道地的味道吃得好感動)。陳喆一直教Leon講北京話,一邊學台灣的垃圾話,熱熱鬧鬧得吃了快四個鐘頭,最後又遇到了Charlie一行韓國同學,Charlie剛被Lucas film打槍心情很鬱悶,如果以graphic programmer或TD的角度來看,Charlie也是整個把我電翻的程度,他找不到,我是在指望什麼呢?幾個人之後又找了間bar續攤,喝著喝著,立衡看上去是累了,散會。
小梁這次也有投Sony,希望有好消息
第三天的凌晨五點,整晚不見人影的Angela把我搖醒,睜眼只看到她一身勁裝:"我要去滑雪了,保重!"哈哈!我表姐真的是帥呆了的財經悍女:妳不會整晚沒睡就要去滑雪吧!想想最後一天的conference,之後又要馬上去搭飛機,索性就把行李打包拖到陳喆他們下榻的旅館。隨著大家越來越大,越來越忙,像小孩子一樣整天膩在一起的日子大概不會在有了吧!Angela妳也保重!

第一場聽的是Brutal Legend的特效組,09最metal的遊戲,要不是沒有PS3我也真的很想搞一套來玩玩。他們的graphic programmer相較於前兩天GOW之流的偏執技術狂,多了一分搖滾樂的狂氣跟瀟灑:"用Bezier curve來模擬有些許誤差,who fuckin cares?","UV distortion+spec map大家就會傻傻得被騙:以為是動態貼圖 哈哈","美術組來跟我們要shader,我們又說:行啊!那邊一堆,高興要哪個自己挑",廣告片段聽著Mr. Crowley當背景音樂整個熱血沸騰,都可以想像這個team在工作時一邊高分貝metal放送一邊互相嗆聲的畫面:我好想在這種地方工作啊~~就算技術不是最頂級,但真的有開心在"玩"的感覺!第二場是今年GDC大贏家Uncharted 2的TD工具組,一些拆UV修佈線的工具,我不是modeler也覺得這些工具真好用哈哈。午餐Hugo帶著大家走個老半天的路去吃brunch(John:"Hugo,要吃brunch不用走半小時去吃吧.........."),San Fransisco真得是很舒服的城市,真的蠻希望能在這邊找到工作的,生活機能方便,形形色色什麼都有,更別提鞭團故鄉Bay Area就在附近,搞不好練團都會預到Metallica走出來(作夢中)........
這個motion capture三天在會場到處走透透
下午在書店買了紀念品,想想Chris給的折價卷不用有點可惜,買了本資料結構回去複習一下。書店裡琳瑯滿目電玩開發相關各種技術書籍,行行都是大學問啊!小時候打電動時,己曾想過電玩產業是這麼技術密集的一行.......GDC最後一場,送給了頑皮狗Uncharted2當日第二發:HDR,前面半小時就是VFX複習,gama correction跟tone mapping,後半段混上SSAO後越來越刺激,講到SPU優化的部分:"compiler太笨,沒辦法幫我門做八核優化,所以......我們得自己來!"八核心的assembly language手動優化..........我的媽啊!!!地球真得太危險了,趕快滾回火星去吧!!!最後一頁投影片:誠徵graphic programmer彷彿在向大家示威:"我們敢招,你們有膽來徵嗎?"XDD
Cg碼一出,相機聲此起彼落
震懾於這一堂的餘威,一直到在會場門口跟Mark, Kent會面時,仍是一副心有餘悸的表情........下學期的pitch team Ethereal終於在漁人碼頭的Hard Rock Cafe會師了!Martin, Jan, Dan.......好久不見!整個開會的過程非常令人振奮,感受到了每個人此時都對這project充滿幹勁:拜託!幫你們賺錢賺了一個學期,下學期讓我們做些對自己找工作有意義的project吧!除了第一輪的檢討與第二輪的沙盤推演,Dan釐清跟修改了pitch的訴求重點,成了:"將寫實模擬類型遊戲導入social game模式的行為研究"。講的這麼好聽,哈哈,在場的每個人都心裡有數:"只要pitch一過,接下來隨我們搞!我們自己來作主!讓我們做一個真正稱得上遊戲的像樣東西!"

晚上立衡跟陳喆送我到車站,老話一句,保重!下學期,大家都會在匹茲堡在相聚了,希望立衡的pitch team也能順利挺進,希望大家暑假的intern都能找到著落。凌晨七點,回到匹茲堡,在28x上跟Hugo討論著glowing shader的作弊技倆,準備在期中present的demo施展出來。回到家,整個累得癱在床上倒頭就睡,一趟旅行見識到真正的業界標準,我只希望:在我畢業前,能將現在這巨大的差距拉到越小越好。
大陸同學延通,腳踏實地的真男人
本文事件的真實時間,3/11-3/13,今天是4/24,這篇文斷斷續續寫了快一個月才生出來.......到底要到什麼時候,我寫的東西才是日記不是回憶錄= =

2010/03/17

一個多月了?

最新版本panda compile中,Andrew被Ruth拉著在討論Max egger的優先任務,沒有新版本東西寫不下去,距離midtem presentation的前兩天,暴風雨前的詭異寧靜。

我猜這篇今天是不可能去打完的,左右現在處在一個意外的真空狀態,紀錄一下已經快一個月沒有更新的生活(週刊->雙週刊->月刊.........what's next?)。

該從什麼地方開始講起呢.........一個月前的暴雪吧.........quarter present前,下了一場猛烈到誇張的暴風雪,一個晚上,雪積到了膝蓋以上。次日清晨,走到門庭前,整個世界被覆蓋在一片白色的大棉被下,所有停在路旁的車子變成一堆一堆隆起的白色沙丘,教堂的下半身整個消失...............幾個人在大馬路上直接拿著滑雪板開始滑起雪來(當時的狀況根本沒辦法通車)。在這之後,連續停課三天,待在匹茲堡超過四年的同學都在說四年來從來沒看過這般大雪,之前在雪天裡說東北的雪比這大多了的大陸同學現在也是直呼嘖嘖,聲稱:比東北的還大還兇猛!

整天窩在家裡,事情還是得幹,我跟Andrew一邊在gtalk上討論,一邊遠端連學校的電腦趕進度(好佳在走前電腦沒關掉),一個texture copy feature搞了這半天沒搞出來已經搞到有點毛起來了。code短短不到一百行,就是在選要放進去的地方一直折騰,雖然也不是說code多就好,但這種慢吞吞的碎活就是讓人幹得心浮氣躁,最後high poly的薩爾達林克model在被我把貼圖到處亂放後,看到egg出來的成品還是乖乖的把貼圖都抓到放到egg檔旁邊,pview時一切正常,也是長吁一口氣,暴雪假後的meeting該是有交代了。

大哥你拿著滑雪板是要幹啥?

loop subdivision完全是資料結構大考驗,一變四,四變十六,給你玩個四五輪資料就破百倍了,點線面交替reference,哪種方法才有辦法省時省空間,大學時學的演算法跟資結給我丟到哪去了........以前的coding習慣又不好,常常直接開個大空間慢慢用,寫ACM玩時還可以這樣睹睹玩玩,這次要給它資料穠纖合度的動態塞進空間裡,出來跑總是要還,大學欠的,在這邊補回來吧。看到粗糙的兔子模型一按個鍵立刻變得光滑細緻,跑出來還是一個爽字,期中考前看到了half edge的資料結構做法,卻又是大嘆一口氣:用這個做法就是最速最佳解啦!我為什麼想不出來........學而之不足,整個學期一直都有這種感覺。

quarter,presentation表現自我感覺良好,只是Deepak說texture copy不用特別細講也不用秀,只講些無關痛癢的東西仍是有點掛懷。MK聽完present後直接跟我來個擊掌:HI FI!Wayne!present 之後的一個中午,組員一個一個被叫到Advisor房間給成績,我拿到個:B........Mike跟Ruth問我有沒有意見時我只差沒有髒字直接問候出來,兩個人一直說這是在鼓勵我繼續努力,看到我有點失望知道我會做得更好,聽一句心理問候一次娘親。原本還在想說是不是只有我遭到這種待遇,當天下午Deepak就開了一場會,整組氣氛凝重,看起來大家都覺得評分有被虧待。幹點不是那個B,都已經研究生這學位也應該是我在念的最後一個學位,去他的GPA,不爽的點是我並不覺得自己不用心,做的事也不會比別人少。除了Andrew沒有人要做egger,被分到這組我也是乖乖學乖乖做,這就是人家看待我在做的事嗎?
踏雪尋梅,千山我獨行
Hugo聽我在吐苦水時隨口說了一句:可這feature感覺就不是會有人要用的東西啊.......都會用command line的人還會這種texture絕對路徑當相對路徑的笨事嗎? 我當然知道這東西感覺很沒用啊.......可我們客戶要求啊。就好像我們說關掉auto shader generator時texture color會爆炸時,跟客戶反映,客戶回說:阿那個沒關係,我們工作時只需要vertex color(後來還是修好那個bug啦,openGL該死的alpha value),那是客戶的要求!!!把客戶服務的高高興興不是本來就是做服務的基本嗎?

客戶?Deepak得出一個結論,雖然說名義上我們的客戶是Disney,實際上我們的隱藏客戶包括panda comuniy以及CMU ETC本身,Max egger那東西ETC要Disney不要,shader generator那東西community要Disney不要。所以,我們得自己找客戶要求以外的東西來做,而且要是能滿足其他兩邊客戶的東西。
你沒看錯!左邊那棟房子只剩上半棟!
Present時Ralph就再嚷說:這些東西.......你們computer science出來的人當然都知道,但我們完全聽不懂啊.......有沒有什麼影片之類的東西,直截了當,像Deepak你之前的Pandai不就有很多有趣的影片嗎?Disney給我們的評語:肯做髒活,不怕在黑幕底下幹事。advanced shader input只是幫助你寫shader方便,並沒什麼辦法給你更棒的shader,revamp egging process是幫你消除掉egging的惱人臭蟲,也不會幫你egg出更漂亮的model,你想看什麼漂亮的東西?客戶覺得我們辦事迅速其他人嫌我們辦事不力?

這作業還是要看格線圖才有那種爽快感
well,都已經過了快一個月的東西現在寫起來還是莫名其妙幹意往上湧,修養還是很差........我不介意做髒活,但我不喜歡人家在我在做黑手時要求我把東西打扮的漂漂亮亮的,然後用漂不漂亮來評斷我為這東西投下去的心思。客戶滿意了。給成績的不滿意,所以現在要想辦法去滿足給成績的。做這邊的東西又不能讓客戶覺得我們不務正業,因為他們希望我們專心弄documentation(panda的manual出了名的殘破不齊),不大希望我們接新的feature(他們說蠻訝意比預期的快,半個學期就幾乎做完一個學期的任務了)。什麼時候這些東西也要遮遮掩掩了?(開會時跟他們說我們這週專心做documentation,不要提auto shader generator的東西!)當學生也要耍政治啊~
方塊酥變成甜甜圈也很有喜感就是了

大約一個月前,Dan從Silicon Valley突然打了一通電話過來,久沒聽到這個第一輪戰友的消息,接到時也是頗為開心,問他怎麼打電話過來: "I need a programmer for the pitch team project, would you like to join us and be the programmer?"呼,還以為你是要來找sound designer的,這麼看得起我?"I'm serious Wayne! You are the most self initiative people I've worked with in the BVW, I really expect your contribution to our team!"心裡那時感覺是真的頗溫暖的:人活著就是拼那一口氣啊!你們想pitch什麼樣的project?"一個中世紀第一人稱寫實肉搏戰遊戲,在webbrowsrer上操作並加上microtransaction機制!"聽到這裡又開始笑了:前半段真標準的Dan Driscoll風格,龍劍騎士硬派格鬥,後半段八成是那次的西岸旅行現學現賣。聽起來很有意思,之前又好像也沒什麼人做過,可是要在webbrowser上跑這種東西你確定吃得消嗎?"我們想用Unity3D引擎,他有一個plug-in可以把遊戲直接buildup成網頁格式!"

OK,看了一下Unity的網頁,感覺是真的相當威猛的引擎,值得一試!還有哪些同學想要跟這project呢?"Ji, Katherine, Martin, Jan, Kent, Mark"聽了到這名單也是嚇了一跳:前兩位基本上就是ETC這一年最強的3D跟2D Artist,還擺了個專們搞生意的製作人,四個有program能力的programmer(有兩個要去當Design),這陣容會不會太噁心了?"沒錯!我們就是要做到驚人嚇死人到噁心的地步,你跟不跟?"好!我跟!

之後除了現在這個project team,我們開始準備這個新學期team的pitch,Dan真的是個硬派角色,敢說敢作,勇於實踐。當天晚上他馬上把腦袋裡的概念弄成投影片,包括世界觀,角色設定,分工圖表,靈感,特色,又自己錄了一段pitch的影片。我們在pitch前又開了一兩次會把內容潤飾了一下,大家主要在意的,還是:"這對ETC有什麼好處?沒有好處,他們根本不會讓我們過"Deepak在聽到我們pitch的點子後,馬上表達:"很困難啦!ETC根本就不在意遊戲這塊領域,五成的faculty從不玩game,九成的faculty不care,你們這種陣容,等於拿掉一個(或是兩個,因為人數實在太多)幫他們接project賺錢的組別,我之前也pitch過一個MMORPG的project,他們壓根沒興趣"所以,又到了政治時間了,明明知道根本不是那回事,還是要講成:遊戲是為了蒐集"人類網路行為研究資料","微交易模式分析"的一個"手段",我跟Mark在討論到這裡時,忍不住罵了一句:"It's fuckin bullshit, fuckin artificial!"Mark:"well, it's politician's world, you got to get used to it!"
Project Ethereal希望二輪順利度過.......
pitch當天,砲火之兇狠超乎預期,雖然早就知道不會很好過,但Jesse跟Drew問題辛辣的程度一副就是要把你釘死在台上:"microtransaction的第一人稱遊戲你沒玩過?" "你沒玩過這game,你跟我pitch這idea?" "點在哪裡?你確定你們這東西真的有任何創新之處嗎?"不是MK在旁邊緩頰擋子彈(MK是我們這輪pitch的champion),死都不知道怎麼死.......走出conference room時感覺背上都是冷汗,每個人都是灰頭土臉,正當我們想說就這樣結束吧,卻又收到我們過了第一輪的消息(有點像金旋那年PO挺進決賽的狀況),絕處逢生之下,當下也不知要怎麼去進一步讓這項pitch更具有說服力,下一步,就是在GDC與矽谷校區的組員們會師啦(講這話實早就已經會完了,這篇文章真的有夠晚生出來),有什麼要講,到那裡在講,現在也沒什麼時間去煩惱那東西了。

當Federico把shader input一個人幹掉,GUI/phong shader bug/texture copy做完之後,Disney的要求算是告了一段落,what's next?讓給分的教授們高興。怎麼讓他們高興?做他們喜歡的東西,讓ETC臉上有光的東西:讓panda社群稱讚ETC的feature。所以我們開始到panda論壇徵詢用戶們的意見:你們希望有什麼新東西?做這件事真的實在有夠恐怖,論壇上臥虎藏龍,隨便一個都可能一隻手指把我電翻,現在跑到這種地方說:我能為你效勞嗎?一直很怕會被直接回嗆:"你們ETC又能幫什麼忙?"中間寄信聯絡panda社群第二把交椅rdb時更是得知一項超恐怖的真相,這個接近包辦五成以上panda1.7.0新feature的妖怪,居然是個剛滿十八的大學新鮮人。聽了真的在想我的大學到底時間都花到哪裡去了= =

customizing auto shader generator,這應該是我下半學期要接的任務了。是的,我又被調組了,在春假前一周我被告知先去弄期中presentation要用的demo,Federico打算做個一千盞燈的demo來展示advanced shader input的power,之前的panda3D不支援array的input,用手去餵包你餵到死(後來發現其實有deferred shading這招,也是可以做出類似的效果,只是也是吃效能吃很兇的招式就是),anyway,我跟Panda之後就被分來弄這個千燈demo,如果用panda3d內建的打燈(openGL的產物,餵的參數名字都取的一模一樣= =)極限就是八盞,用shader"理論上"可以達到無限盞(其實用這種硬加的蠻幹方法大概三十盞shader就開始哭了= =),Ruth再看了初步的implement結果就說:如果需要的話,她的tech demo裡面的場景可以借我們來用。好消息!那個tech demo幾乎就是為了挑戰panda的極限而生,充滿了各式各樣的glow map, spec map, normal map跟high polygon模型,如果使用shader的話,可以產生跟原始場景天壤之別的效果,有這麼的東西撐場,真的是再好不過了!

接到Panda把八盞燈點好的初步場景,我開始有種既興奮又有點害怕的感覺:"這麼棒的材料,我能夠把它的美發揮出來嗎?"美術組已經出盡全力了,程式組能拿出相對應的program把場景的"威力"完全釋放嗎?剛彈吉他的小孩子馬上給他一把PRS,他禁受得起嗎!!!!!!(最後一句大概大家比較能理解= =)。其實這問題之前也有跟梁立衡聊過,遊戲的畫面應該是誰負責?現在這個狀況,沒有把東西搞漂亮就真的是你自己的責任了......per-pixel lighting雖然是shader基本到不能在基本的入門程式,但是的確是可以把shader跟fixed function pipeline距離拉開的範例。看到使用自己的shader將場景照出一道微光(attenuation設很大,因為假設會有千盞光 )後,就開始在想:要怎麼讓這盞燈更像一盞燈呢?

還沒有經過"魔法"處理的per-pixel lighting
如果要讓人看到燈產生"炫目"的感覺,要用lens flare,光源暈開,要用glowing shader,光線軌跡,要用volume shader,同一個時間CG的第三個作業toon shader也是一連串布幕下的黑箱作業。直到這一刻,我才發現遊戲裡要打出一盞漂亮的燈有多不容易........在non real time rendering還沒辦法變成real time的現在,原來有這麼多種近似"作弊"的手法,怪不得TD組裡有專門負責這們學問的專人!這段時間,CG用的是GLSL,project用Cg,手頭有的中文參考書(歐陽老大好久以前的學生的著作)主力是HLSL,同時間三種shader langage攪在一起,有種三國大混戰的錯亂感.......
這時要跟人家說那些白點是光誰都不會信= =
CG期中考,啊~~我已經多久沒有聽到這個名詞了......多久沒有考試了........題目其實不會很難,觀念有通都還算好答,只是大概真的是太久沒考手感有點鏽掉,一題parametric function還來不及寫完就交卷。晚上跑到Panda跟小溪家裡去吃鍋,詭異的點是:湯底居然是外國人(Mark)買的,喝了一點小酒,開始漫無邊際的殺人遊戲跟扯淡,這種片刻的悠閒自在,還是很舒服。
再會了!我在亞德利亞海散漫的歲月

週六週日,開始鑽研FBO的用法,有的時候真的覺得openGL有好多難以理解的voodoo knowledge,卡了半天的東西,最後都是用一些很詭異的方式修好(depth_component改成depth_componet32這個最經典!),第一次率先破台完成基本分要求,感覺就是一個爽!( John: OMG! Wayne has finished the project! Everybody just go ask Wayne how to do that!(轉頭)Sit here! You'll be here for a while XDD)歐陽老大!學生謝謝你當年的教誨,學生不希望在國外丟台灣的臉!台灣人不會比外國人差!看著吧!
這句話是拜倫說的? 不!我說的!
講了半天一大堆宛似現在式的東西,我們還在過去式,流水帳又臭又長打不完,GDC一定要分出來獨立講(整個是震撼教育!),好吧!我們現在補到春假開始四天的進度,下一天下一站,舊金山電玩高峰會Game Development Conference!

2010/02/05

Back to the root


"老七,這已經是七日之前的消息了" ~火鳳燎原

這已經是一個月之前的事了!!!一口氣補一個月的進度!!!

回到匹茲堡後,學期也正式開始。第一天旁聽了MAYA(這是聽興趣的,只是希望能夠每週固定花些時間操作一下這隻model神兵,讓自己稍有一些modeling的概念),下午就到了project room報到,Andrew Gartner(他是MAYA的助教.......)已經在那邊清理打掃房間了,Andrew說兩位二年級組員(Deepak, Ferderico)都會晚幾天到,所以現在只有我們加上Panda三位一年級生。把自己的電腦接上後,馬上收到Deepak跟指導教授Mike Christel的信件,除了更新一下聯絡資訊,課程規劃,Mike希望我們馬上先build up最新版的panda3d source code,然後決定project專攻的項目。Deepak強烈希望不要去碰egger,已經參予panda相關計畫兩個學期加一個暑假,他是說那東西是Disney永遠擺不脫的痛,可Andrew當初進來這project最想做的東西就是這個,所以........留待之後Deepak回來再商量..........

這段空窗時間,能做的就是架好工作環境,trace code跟收集論壇上提到的bug資料。我program時最怕的就是架工作環境這檔事.......manual跟你說的標準程序絕對不是標準程序,不是漏裝一個package就是少reference某個路徑,剩下這些都得靠一些神奇的方法補完,然後每次補完下次又忘掉,要在別的地方架時又得再研究一遍。經過一番手忙腳亂(包括source code五小時前的更新把building在99%時crush掉),兩天後總算架起一個可以運作的版本,Deepak也總算到了系館(印度飛美的班機誤點........),我們跟advisor Mike跟Ruth也終於開了第一次的advisor meeting,相較於Deepak的立場,Mike跟Ruth則是強烈希望我們把egger revamp這個topic收拾掉,因為.......這是客戶的top 2 urgent requirement,按照Disney的說法是希望我們幫忙解決兩個requirement,另外一個討論結果是Advanced shader input。講老實話也沒什麼好討論,除了Andrew以外所有人都是衝著shader來的,根本就是自動代入。

在這次開會前Andrew問過我跟Panda到底想做什麼,我的回答是都OK,客戶交代什麼我做什麼,Panda則是希望去做shader effect(她好像誤以為我們這個project是要做advanced shader.......差一個字天差地遠啊.........從GPU programming變成data structure苦工活.........),所以現在要把小組再拆成兩個team分工這兩項topic時,我已經有預感我會去egger組(剩下一個還沒到的Ferderico在這學期CG教授Adrian那邊co-op,跟Siggraph論文死線搏命中,這種graphic魔人沒理由不把他丟到shader組),果然當Mike問Andrew希望哪一個跟他一起搞egger時,Andrew回道:"probably Wayne!"兩邊講老實話都是data structure苦工,只是跟我預期要來做的東西還是有差別,如果說shader我還有一丁點的basic knowledge,egger這邊就幾近是零了。這個panda專用的model format,上學期身為modeler的Andrew跟他打了一學期的交道,我則只有一次好奇打開來看一看資料的結構。所以分組後幾天,幾乎都是Andrew在帶著我,教我去看哪些相關的資料。

Andrew Gartner,自稱Jack of All Trades,跟Hugo差不多,是一個全才型的角色。拿了Computer Science的學位後,又在動畫學院,文學,音樂學院(這個音樂學院就是傳說中的Berkeley College of Music.......ya! DT跟Steve Vai念的那間.........)都待了一段時間。幫他打個廣告,他的個人網頁http://www.andrewgartner.com/,有興趣可以去看看他rigging的作品,本來以為這一手ETC一年級生只有Ji跟Hugo會,後來才發現自己的隊友也是這方面的高手,同時寫MEL script也蠻有心得,一開始跟著他弄是真的壓力頗大,有種踏進別人的絕對領域的感覺= =,想要幫忙,又一直動作慢人半拍像是在扯他後腿,好不容易人家請你幫個忙,在還沒搞清頭緒時他又已經解決了........有一天林燕跟我聊到這事,她一聽到我的狀況就笑了:"我BVW有跟他同組過,跟你感覺一模一樣,因為他很有經驗,做什麼事都很快,偏偏我也是個慢慢磨的作風,所以很有壓力,不過我跟他學了蠻多東西,你如果在她旁邊邊看邊學,應該會學到很多!"
Andrew Gartner,身材比例高瘦到很像卡通人物XDD
Andrew真的教我蠻多東西,當我在trace code看到眼花撩亂時,他主動過來分享他看扣的心得:"don't be scared, Wayne~~fold down those bullshit declare and API, it's not as big as you think~~"這句話我受益良多,畢竟我這輩子看過最大規模的code大概就是這隻大熊貓,source code檔數量破萬!又不知道這十多年經過多少人的修改添加,找個definition常要向上翻個三層四層,call的API也是亂七八糟什麼都有(每個cpp檔include的表頭大概都塞了一個螢幕的長度= =),不用這種"望文生義"的方式trace code找到天荒地老什麼都找不到........看著看著,慢慢自己也看出了些心得,想到以前學Object-Oriented時教授講到:"現在你們腦袋裡很難有物件導向的概念,主要就是碰到的程式還不夠大........."這下好了,這次真的看到一隻大尾的了!最近跟Andrew在討論時,我發現我漸漸能跟上他的步調,甚至有些時候能比他早點出要修改的位置,自己也是頗感欣慰:我應該是有進步的!
大陸女同學Panda,works for Panda

暫時跳出project,這學期另外一門課我去修了資工系的CG,這邊也是有夠刺激!理論跟實做的份量差不多是把歐陽老大的CG跟CYY的redering打包在一起的量(我覺得實做應該還超過),五個project,第一個openGL的基本操作直接把歐陽老大的所有作業撂倒(讀模型,算動態mesh,繪圖投影,矩陣transform,打光材質,一次就是紅皮書兩百多頁的份量),第二個是現在開始要動手的loop subdivision演算法+texture mapping,第三個: GPU programming,第四個:ray tracing +photon mapping(當時修rendering時兩個人寫一個photon mapping就期末project的量了........),第五個:crowd simulation,期中期末作業另計,光修這門就飽了........可是也覺得:如此花錢來這念書有價值。真的把這課好好修完,像吞了大補丸,可以功力大進吧!同時也對在CMUCS念完四年的單洋跟John敬意大增,能在這種負荷下操出來的學生(他們說系必修OS跟演算法才是最恐怖的東西= =),難怪能在BVW馬上展露出驚人的實力!

project1基本上憑著一己之力把它解決掉了(我跟延通一至的心得:大學用過的openGL在這個project已經全部用完了........),近來越發覺得:"同學沒有義務教你,你自己沒有下功夫,又憑什麼去問人家?再者,你真得比人家差嗎?卡在bug上是很痛苦(尤其是當你發現那是很蠢的bug時),但那種痛苦,應該就是變強所必須經過的路吧........如果每次卡住都馬上有人跟你講你是哪裡有問題,那你永遠不知道自己的盲點在哪!"甚至是在解assignment時也是(這邊理論方面的數學也是超靠杯),John那時笑著跟我說我解出第五題他拿一到四的解答跟我換,原本心裡想說:幹!你John都解不出來了指望我解出來?可反過來想想,這不是直接自己先承認自己比別人差了?為什麼不試試?事實上最後是解出來了,當然中間還是掙扎了一段時間,可是在解出來那一刻,我真的覺得我沒有比較差。我想說的是:我現在也是CMU的學生,為什麼要覺得自己低人一等?拿出態度啊!都已經是研究生了!變強一點好不好!

跳回去Panda,跟客戶陸續的meeting(他們都直接用電話meeting的,可像Hugo他們已經飛了一次西雅圖,最近又要再飛一次,Luc他們也是飛了趟芝加哥,宛似企業飛人!)也將任務內容慢慢具體化了:egger組期中前的任務是:switch of phong shading auto generation, texture copy feature, stand alone GUI, strip off bad normal and mesh,現在就是Andrew做一三(三剛好是他另一門課Design Studio的project,一理論上不難),我做二,其時分工分量上也算公平,當Andrew說三整個交給我時,也讓我覺得:他是真的把我當隊友看待,而不是跟班!三討厭的點在於panda那個很貼貼補補的先天不良,要修改path name跟texture copy要在四個layer間穿梭,然後因為跨平台的考量不能call Win API,花了一段時間找到panda自己的API後,昨天終於成功的將texture自動複製到新建的目錄中,應該這週可以把整個feature完成!
  看到這個水波的網格在動態飄動時,爽了大概五分鐘
看到成品時反而還沒那麼興奮


插曲是,現在的project team風格......公務員很多,一天到晚都在開會,report,更新task board。說真的我是覺得這種東西蠻浪費時間的,可也就是覺得,Ferderico直接就跟製作人Deepak槓上,弄的前兩天空氣中感覺都有股火藥味。諷刺的是,Ferderico昨天憑著一己之力把期中前shader組的目標:one advanced shader input幹掉了!又該說什麼?兩邊的立場我都能理解。某些東西講難聽點就是表面功夫,做給外面人看的,但沒有東西表面功夫做再漂亮也沒用。那現在最有意見(指導教授眼中的問題人物)的偏偏是出力最大的,當製作人的能說什麼?出社會老闆要哪一個?well.......我不知道........也不只我們這組有這種問題:Deepak還是programmer,有些組的producer真的是純producer,就一天到晚被酸:"那個只會出一張嘴,又什麼都不懂的廢物"huh.......Deepak在那次爭論時,說道:這裡不是Computer Science,請不用那邊的方法做事!"難道來ETC,也是要教我所謂"社會"的作業模式?這模式真的比較好嗎?

Untitled from memecs on Vimeo.


Ferderico的graphic研究,真魔人一隻!

哩哩雜雜亂打一堆,一直寫流水帳,打完也懶得修了!一句話:前四個禮拜,我覺得很充實!希望這學期結束,我真的能學到一些東西。

2010/01/17

ETC West Coast之旅


..........好啦!我不是從人間蒸發了!只是最近真的比較忙.......以後大概要改成雙週刊了(富奸魂).......

再次回溯到兩周前!聖誕假期在台灣,該碰到的朋友(克萊曼之後來美國找我吧)也差不多都碰到了。充飽了電,新的旅程也要開始了!機場上遇到了Hugo,兩個人一起飛LA,開學前一週有一個全系的西岸之旅,參訪娛樂產業的各方大老,跟業界學長姐networking,算是個超華麗的behind the scene吧。比較遺憾的是:因為gmail轉信的問題,沒填到preference調查,所以Blizzard跟Underground都去不成,那兩天會跑去參觀別的公司。下了飛機等shuttle時遇到Yang Shang,一進shuttle,Carlos, Andrew一幫同學學長登時映入眼簾,一瞬間真的有種久違了的感覺(明明才兩個多禮拜......)。Embassy Suit裡面,幾個同學已經在酒吧裡小酌,點了一杯酒,就開始跟同學們聊起來:下學期的project,要修的課,假期........YA!已經準備好要回去大幹一場了!

下學期Microsoft team台柱,左為Hugo右為John
這週的室友是之前提過的Mike Honeck跟大陸同學胡特,住進房間後,晚上被Cynthia他們約去BK吃晚餐,梁立衡過了一陣子,帶著MK一幫人浩浩蕩蕩進來BK。結果到最後,你跟Apple還是選了Osaka的project,所以說,這學期續留匹茲堡的台灣同學只剩四個人了.......在這頓飯中,更是聽到了一個不得了的八卦:陳喆這趟回大陸.........結婚了!!!才22歲就結婚了!!!!!!!回旅館時剛好遇到陳喆正在check in,一幫人起鬨叫他請客!這趟西岸行之後,他也要去日本了(跟立衡同組,這兩人也真是有緣),看他手上戴了戒指,哈哈,宅男如我仍是只有在旁邊靠邀的份。時差,回去旅館倒頭就睡,第二天:迪士尼一日遊!

Old School最高!
上次來迪士尼,已經是十三年前的事了......早上九點把所有同學送進迪士尼,玩到晚上十點,MK特別指明Jesse設計的Toy Story Mania:非玩不可!一開始都是在新建的園區內跑,Hollywood Studio大概是我印象最深刻的地方,這地方比較像懷舊區,裡面的東西幾乎都是我國中前的迪士尼卡通:美女與野獸,獅子王,阿拉丁,風中奇緣,花木蘭........那些經典的旋律一響起,所有的回憶都湧上來了!素描教室裡,在老師一步步帶領下,芭崎居然也畫出了一隻有模有樣的高飛狗。看著裡面一張又一張的concept art跟剛上映的青蛙王子預告,又有種說不出的感慨:2D卡通還有可能回到過去的風光嗎?還是也要跟著我的童年塵封到歷史裡了?



真是令人懷念
Pixar在園區裡面開疆拓土,Toy Story, A Bug's Life, Monster Inc.都有了屬於自己的遊樂設施,摩天輪,自由落體這些經典款我已經有點吃不消了........Jesse的Toy Story Mania真的........很Jesse style.......梁立衡跟Apple痛電我跟延通.......走進舊園區,之前的記憶就銜接上來了,依稀還能記得之前走過哪些地方,晚上在水池邊看著經典的水舞秀,煙火秀,走在龐大的紀念品商店街裡,仍是要不自禁的嘆弗:迪士尼就是迪士尼!如此龐大規模的娛樂產業,幾乎想的到的項目它都有包攬到.......這個宛似夢一般的樂園,到底又投注了多少人的心血(在入口的地板上,每個磚塊上面都有刻著一位Imagineer的名字 Apple:來找找看MK跟Jesse有沒有在這裡面........),上巴士後整個人睡死,這一天幫忙改時差幫很大.......


左為芭崎右為小梁,日本行保重

1/4,上午是Bob Baker木偶戲,又是一個擁有精湛技巧,但也快要失傳的娛樂產業。老闆都已經八十歲了,還一首包辦木偶的製作跟編劇演出,看著看著,腦袋又遙想著:幾百年前,這可能就是最為令人享受的娛樂吧.......下午Exposition Park,這邊動線規劃還蠻鬆散的,加上東西似乎也很久沒更新了,看了一場立體海洋生態記錄片(寒假才剛複習完openGL, accumulation buffer看上去格外親切,但這片實在玩過頭了,所有人都在猛喊頭暈.......),最後就是在花園的板凳裡跟同學話家常,悠閒的呆了一個下午。


嚇死人的阿伯隊
1/5,從今天開始兵分三路,遊戲公司的,主題樂園的,電影產業的,分成了三輛巴士。芭崎走遊戲公司,早上是出過Uncharted跟Jak的Naughty Dog,兩個Game enigineer出來跟大家談談工作經驗跟生態,也許因為時差精神特別旺盛,聽的蠻享受,延通偷瞇了一下有看到XD。下午是Insomniac(Resistance跟Rachet&Clank),兩間公司都有提到不少徵才的標準,嗯........基本上這種console game的公司分工都很細,要求都是:你必須對你擔任的工作"非常專業",跨領域的通才 .......不大需要...........因為對他們來講,什麼都會,大概也意味著什麼都不會。儘管之前也大概有個譜,聽到業界人士斬釘截鐵的這樣講還是有種失落的感覺:我就是那種什麼都會也什麼都不會的角色........如果要找到工作,就是要"會人家不會的!","做得比其他人都好!"(Naughty Dog那邊說到徵人標準:"find someone that can kick our ass!"),我自己本科CS的專業,能禁得起業界的標準考驗嗎?另外有些同學真的積極到讓人怕,Chris在離開前硬把履歷塞到人家手上(儘管人家都跟他婉拒說他們有標準的徵才程序= =):"如果你們有要找graphic/logo design的人,找我就對了!"雖然說我還是無法接受這種很剽悍的美式作風,但換成是我,我有:"要找game programmer,找我就對了!"這樣的自信跟能力嗎?

這建築物實在太可愛
兩家公司都帶我們繞了一下他們工作室,除了燈光都很暗(有這麼省嗎= =)之外,那種感覺就真的是我想要工作的環境:幾乎所有人都是T-Shirt牛仔褲,有的人還是睡衣睡褲軟拖鞋,至少三個工作螢幕一邊coding或建模畫圖一邊load到alpha版裡測試,桌上都是機器人公仔玩具海報雜誌,一群人西裝筆挺參觀這種隨性的工作環境,也有種詭異的違和感,出來接待的人都還是穿拖鞋手拿咖啡杯.......XD

晚上跟校友餐會,當來自各個公司的學長姐們介紹完自己,馬上就被蜂擁而上的同學圍起來social,亞洲同學都比較害羞得躲在一桌,MK後來乾脆直接拉一個學姐過來跟我們聊。這時候就真的覺得自已很孬,為什麼都沒種主動上去找人攀談........立衡跟我又不知哪根筋不對連問了幾個很尖銳的問題("你後不後悔來ETC?","在ETC有沒有接過很鳥的project","有做project作到很無力或搞砸過嗎?"),感覺弄到最後學姐也不大知道怎麼回答.......之後找到了一位也是台大資工畢業的學姐Riva,聊到說我上學期再做Sound Designer,她露出了很困惑的表情:"資工出身幹嘛做sound designer?你出社會是希望做那個嗎?"這個反應其實我也已經不算陌生了,我自己也都問過自己好多次到底上學期接這個位置對自己有沒有意義。多接觸不同的領域是好事..........嗎?感覺這些出社會的學長姐回答都是:"NO!加強自己的專業才是最重要的",說真的當天最後走回房間,心情是真的蠻沮喪的.......但同時,這學期擺在眼前的project,也更讓我有想要好好幹一番的念頭:當我他媽是真的不會coding就是了,這學期全都是coding,就讓老子摳給你們看!

Apple妳也保重
1/6因為前面講的收信事件,Blizzard沒了........最後跑去Nexon跟Cafefx。Nexon就是做跑跑卡丁車跟楓之谷那家,出來聊的是個韓裔美國人,我對泡菜遊戲一向非常感冒,本是抱著姑且一聽的心態,但是當他講到microtransaction,在地化,quality vs accessability的想法時,突然覺得:這些一天到晚自己抄自己的泡菜遊戲原來有一套這樣的哲學,雖說不能完全接受,但也是聽到了另外一種跟我的理念完全相反的想法(而且有他的道理在),算是蠻意外的收穫(蠻多老美就不能接受啦........Tom:這是我他媽這輩子聽過最蠢的點子!)。蠢點是,下午的Cafex突然喊卡(原因不明),所以司機只能在我們到Santa Monica的海岸溜搭........好啦.........海岸也是比想像中的好玩,也是N百年沒有踩在沙灘上,林燕小溪幾個女孩子索性鞋子脫了到淺海玩起來(更蠢的點是,我們現在還是西裝筆挺.........林燕:我們是被解雇的公務員,準備集體跳海........),胡特拿著相機拍著十分漂亮的海景,芭崎就真的是公務員襯衫,腳踩皮鞋在吹風(芭:"你不覺得看到這般海景,人生計較那麼多又是為何?我們不過就是幾粒沙土,隨海浪紛飛罷了........."Tom:"Wayne你在講哲學嗎.........玩Death Metal的人講這些話實在沒有什麼說服力耶........")

偉哉!迪士尼!

海灘吹完風,又去機場準備飛舊金山(我的媽啊.........坐飛機快跟坐車一樣頻繁了..........),Mark再等飛機時拿出他的木吉他把玩,小溪在旁邊嚷著要學,SK一邊彈鐵媽媽一邊問我說有沒有聽過,我跟林燕一人solo一人riff在彈Fade To Blak,又是別有一番趣味的經驗,過一陣子去Blizzard的一行人也來到登機門前,聽起來跟傳說中差不多:超跩,放的都是已經公布的預告片,徵人條件也是超高,直接包了整棟樓。well.......只能自我安慰其實錯過也沒太糟吧........

瀟灑帥氣的Mike Honeck..........我拍的

1/7NG:MOCO跟Zynga,前者是iphone APP的開發商,後者就是鼎鼎大名的開心農場,Mafia之鄉。這兩天的行程其實都是跟我希望走的路子相反的公司:小規模,生產週期快,標榜創意跟薄利多銷。就是聽著他們在闡述自己的理念時,也跟自己的想法比對一下,確定一下自己的立場是不是真有自己想像的那麼堅定。Zynga據說之前挖角了google的廚師,員工伙食一級棒,老闆很有.......草莽氣息,正在積極擴編中。在跟公司裡面校友餐敘時,終於鼓起勇氣跟他們談起來........有一就有二,之後去裝熟就比較敢一點了(在台灣同學都會覺得裝熟是件很討厭的事情,現在卻是處在一個必須拼命去裝熟的環境........)

晚上一夥人坐火車到舊金山市區閒晃,去Underworld的立衡跟Hugo好心幫我要了些Guitar Hero的胸針當紀念品(Hugo:Van Halan的畫面進步超多!!!)。漁人碼頭,相隔兩年舊地重遊,又是一股說不出來的感覺,幾個人坐在兩年前坐著的位子,啃著新鮮的海產,在車站旁吹著涼風,Hugo又跑去便利商店買酒,John跟我在聊音樂(呼!他聽得比我想像中的廣且雜很多!昨天參觀zynga時,他聽到公司裡放著radiohead,突然轉頭問我:你喜歡他們的哪一首歌? 把我嚇到一下........),最後幾個人在Hugo房間看球賽,沉沉睡去。

1/8EA跟lightswitch,本來對EA期待不高,想說B社都已經跩成這樣了,EA豈不是鼻子都長到眼睛上頭........結果只能說:這是我這趟看得最過癮的一站!首先是整個環境,整個華麗到讓人目瞪口呆,遊樂場,電玩間,餐廳,籃球場(牆上都是EA Sports的封面.........),健身房,衛浴設備.......擺明就是要員工乾脆住進來算了.........(Paulwei:當你在這種地方工作時,你反而會希望有機會走出這裡透透氣的),說明會這邊,他們說因為知道ETC各領域的人都有,所以乾脆製作人,美術總監,企劃,工程師全都出來談一談。出來的是Dead Space的開發小組,這遊戲我有看Martin玩過,經過他們商品店(PC game一片十塊,Mike趕快掏出手機問他弟有沒有要買哪一款XD)時Dan也在跟我推薦(芭:會很恐怖嗎? Dan:嗯.....一開始沒槍時還蠻恐怖的...... 芭:那算了......我喜歡虐殺敵人 不喜歡讓敵人虐殺我........),之前都還不覺得如何,直到製作團隊細細得將開發概念(目標:史上最恐怖遊戲)跟流程,影片端出來,立衡跟林燕馬上在低呼:"剛才真應該要買這一片的!"也終於讓我看到我所嚮往的團隊作業模式(國際化,大規模,大資本,長時間),Rachel被嚇到完全不敢睜眼去看(Rachel:怎麼會有人想要做這種遊戲.........又怎麼有人會想要去玩..........芭:他們一定會以妳這句評語為榮的!)之後跟製作人問了他們跟企劃的定位問題,也算是釐清了長久以來的困惑。

喆爺你是在想老婆了嗎......

工程師講了一句話蠻值得深思的:"要做這項工作,你必須對你的工作充滿熱情!"這句話之前幾家公司也都有講過,但他補了一句:"你說你有熱情,秀給我看看!如果你是個programmer,你真的對Dead Space有熱情,有沒有辦法implement一個符合這遊戲情境恐怖光影的shader?"光說不練傻把式,這才是業界的標準!有本事!就秀給我看看!

下午的lightswitch是家非常家庭式的燈光設計公司,這是Luc的專業啦!外行人,也只能在旁邊看熱鬧。經過金門大橋時,全部人下車留影紀念。晚上又一場校友餐會,跟幾個學長聊天的結果,還是那句話:"如果要當game programmer,就去磨好自己的專業,其他的,講老實話沒什麼幫助"這次沒什麼沮喪了,普世的價值觀是如此,不夠種去打破,就要在這套遊戲規則中探頭!抱歉啦Angela,來到妳的地盤卻一直沒空跟妳碰面...........有機會的話,三月的GDC希望能去登門拜訪。走出會場時,有種好累的感覺(比較意外的是,一向讓我覺得外面很吃得開的Amy,居然跟我說social實在是一件很煩人的事):如果說這就是你們要的,那就來吧!這個學期,我不是programmer的副手或附屬品,我就是個programmer!

次日早上,跟要去日本或矽谷的同學道了別,上飛機!轉機時大delay臨時換機,出登機門直接被送到小車載到另一台飛機上,趕場刺激度直逼Call of Duty= =。晚上十一點走出卡內基機場,漫天白雪鋪天蓋地,零下十度的匹茲堡,不知為什麼有種莫名的親切感:回家了!新學期!GO!

2009/12/24

碟評-精密殺人機械-Beneath The Massacre


http://www.myspace.com/btm

紀念一下訂片最長等候紀錄 2008年初到2009年尾 近兩年整 偉哉傑笙!
(Robin:我真的中間有進過兩次 一次你在當兵 一次你在國外 我說的是真的!= =)
Beneath The Massacre-Mechanics of Dysfunction
當初無意間看到這個影片的時候
整個人被嚇傻在螢幕前:妖怪啊~~~~~~這些傢伙是人嗎..........

2004年成軍的加拿大Technical Brutal Death
截至目前發行兩張full length 手上有的這是第一張
play鍵一放下去 排山倒海的riff就這樣劈頭蓋臉砸下來
宛似永無止盡的diminish跟chromatic點弦掃弦輪撥 一個浪頭過去在一個浪頭
鼓手的表現讓人懷疑他是不是鼓機(現場證明不是= =)
完全超出人體極限的blast beat跟單點輪鼓
腳下雙踏全程輔佐伺候 反正不是在搞機歪的對點
就是給你一直線的光速風火輪
breakdown(!沒錯 有breakdown!不喜歡的可以按end了!)難度高到誇張
一堆反人體工學 密密麻麻的反拍對點 一陣陣的抽搐
像是一隻機器人醜怪得轉動機器手臂 不把你的耳朵打爛誓不罷休
吉他音色digi味超重 鼓的音色超冰冷
連環點弦跟大鼓對點的橋段 那冰涼涼滑溜溜的感覺
第一次聽忍不住打了個寒顫:這根本不是人在演奏的音樂吧
而且我覺得他們根本就是故意把音色搞成這樣的
Necrophagist,Decrepit Birth之流演奏嚇人歸嚇人 還能讓人感覺是......有機體
這團擺明就是要做完全沒有一點感情的音樂
套句金屬百科的評語:Emotionless, unmerciful, mechanical
30分鐘下來 如冬天洗個冷水澡 一種自虐的痛快

85分 有新意 有技術 只是我還是個人 比較喜歡人演奏的音樂
扣的15分是個人偏好問題 但真的是一個相當特殊的聽覺體驗

補個現場 主唱大概是整團最像正常人的東西吧= =

2009/12/07

虛擬世界毀滅之旅3

"芭崎!起來了啦!這般好時光就是要拿來打街霸(大陸管快打旋風叫街霸)的啦!陳喆剛才用隆五連勝,換了五個角色都拿他沒轍!"

睡眼迷濛中,看到陳喆跟立衡笑嘻嘻的走進lounge,看了一看時鐘,凌晨5:30,忍不住白了梁立衡一眼:"你就是為了打街霸把我叫起來嗎......." "沒啦!其實是那個level1data有些座標要修,還有陳喆請你幫忙對一下字幕的時間,因為用adobe audition抓時間比較準"兩個人各找了個位子就坐了下來,開始一些天南地北的閒談,這一輪我們開會的次數不多(梁大製作人覺得開會是很浪費時間的行為.......),大多數時候決定都是在這類閒聊中達成共識。我問到立衡到底有沒有時間做魔王關,他還有片頭的圖片,關卡地圖的旋轉,中段休息的稿子,Jesse的大臉卻還沒動工,讓人感覺機會渺茫.......立衡終於臉色認真的開始考慮,一小段的沉默:"不做了!把關卡完美的呈現出來,that's all!"

陳爺與Randy Pausch Bridge合影
也好!反正我們這個關卡能呈現給觀眾的東西其實已經很多了!就算拿掉一個魔王關,還是一個很讓我引以為傲的作品,我們有惡趣味的梗,high efficient的program,漂亮的背景,眼花撩亂的model......."還有超棒的音樂跟音效!" "對!我們的聲音方面絕對是一流的"看到兩個隊友這麼挺我的東西,不禁有一陣溫馨安慰的感覺,如果說round5有最讓我記憶深刻的時刻,應該就是凌晨在lounge的這一幕吧!這個team,是我這學期合作過最棒的一個team! "喔喔!終於要起來啦!" "給你們兩個吵了這半天,想睡也睡不著了啦......."我終於翻身起來,走出了lounge,上工吧!

全中文軍團的little asia聚餐,有種回到台大吃合菜的兇狠fu

把座標修了一下,又想到結局既然沒有魔王關了,就把之前的錄音在稍微剪了一下,加了一些.......讓觀眾自行想像的帝國崩壞音效。剪完試聽之後覺得還頗有畫面感的,就把東西給了陳喆,接下來........就是結局啦.......莊嚴悲壯的greyson開頭,來個和平中微帶憂傷的結尾。腦袋裡模擬了一下那個畫面,最適合的氛圍是前In Flames時期每張必有的民謠風演奏曲,最後是選了Colony裡面的Pallar Anders Visa。耳機裡這首曲子不斷的replay,我慢慢把結局的稿子定了出來,又把立衡抓過來看一下,確定沒什麼問題後給了小溪(當天team11全部都住在系館啦,我連住兩天,立衡連住三天)請她弄個結局的字幕卷軸。然後.......我這sound designer好像完工了!

說不下雪.....不下雪.....真得開始下雪了.......
時間大約是在下午一兩點,其實很多組已經都全數完工了,系館在deadline前10小時有股詭異的優閒氣息,有人在打電動,有人在看電影,我進去圖書館裡借了快克殺手出來看,休息了兩個小時。想想其他組員還在水深火熱,這樣子實在有點不夠義氣,就問立衡需不需要幫忙他分攤一些東西,結果就是bonus任務:剪片頭影片。有之前饒舌對嘴的剪片經驗,這種timming problem根本是一塊蛋糕,可是queue點是立衡的source:他一邊畫,我一邊剪(兩個人又笑了一下:這就叫pipeline),倒數第二次play test,還只放了開頭30秒的片段,想想還是有時間的壓力,加上我本來就是個心臟很小顆的角色,倒數六小時,還是覺得心跳加快,手心出汗,晚上九點半,最後一次play test,片頭完全上去,可是結局程式還沒load進去。立衡的好鄰居Mike Honeck看了一下中間過場立衡的稿子,認真跑過來說我們的東西需要修一下:"美國人看得懂你們在說什麼,可是還是會覺得怪怪的,就.......不是美國人的英文.........."全中文軍團最吃虧的點果然還是在這裡..........

這張雪景還蠻漂亮的
倒數兩小時,立衡跟文膽Mike Honeck, Michael Capristo, Jan Stec修稿子,我跟陳喆在解決一個音效crash掉程式的詭異bug,最後給我用了一個很詭異的方法修好,事後推想應該是Panda3D引擎裡面自己的bug........倒數30分鐘,所有assets全數上傳,沒有心臟的男人陳喆一個人殿後.......片尾load上,fraps錄好。11:59,deadline arrived。整個系館突然爆出了一陣歡呼:"BVW is over!",所有人交互擊掌拍肩,又是另一幅動人的畫面,可惜手機已經因為苦撐三天掛點了,不然真的應該記錄下那一刻.......

次日,Jury,所有報名甄選BVW Show 2009的world(包括前四輪)在一天之內全部present給評審,光想就是一件超恐怖的疲勞轟炸。上午是第五輪的所有world,下午前四輪,看著梁立衡揮舞著兩隻巨大的拳套,順著音樂節奏將model一個個打飛出去,全場隨著故事劇情歡呼,鼓掌,狂笑,好開心:我以我的round5為榮!下午看著之前看過的world一個個重現,腦中又出現了:結束了!的念頭,不管怎麼說,我都花了相當多的時間在這門課上面,它佔據了這四個月大半的回憶,現在想想開學前在Freddie家裡的烤肉,都好像還是昨天的事,現在,真的快要結束了。晚上,Dan邀集了所有同學前往Southside的Hoffbrau慶祝,將近五十個人聲勢浩大的闖入餐廳,舉杯同歡,大概也嚇到了不少的客人。(在這邊有個有趣的插曲,David Teot突然問我說:"有件事我想問好久了,Wayne,你到底是哪裡人啊" 芭:"台灣人啊........" D:"我一直以為你是日本人........." 芭(一口酒差點噴出來):"我是日本人........你沒有看到我跟Leon一天到晚在聊天嗎........." D:"啊.......可是我看其他台灣同學都沒有像你那樣瘋瘋癲癲(crazy)的樣子,事實上.......我印象中會瘋瘋癲癲的亞洲人好像只有日本人的樣子........." 芭:"...........................")

酒酣耳熱之際,Chris突然舉起手機嚷著:"Jury的結果出來了!"所有人一瞬間安靜下來,96取14,難度時在頗高,Chris一邊宣布結果,人群一邊爆出歡呼與鼓掌,最後入選show的14組:
1.
Violin World (audio sensors, 1 screen)
2.
Cow Corral (HMD / 1 screen)
3.
Stagehand (PM - low)
4.
Business Bunny (Pandaphone / 1 screen)
5.
Space Airship (PM - high / 1 screen)
6.
Loony Balloony (PM - high / 1 screen)
7.
Wormhole Workout (HMD / 1 screen)
8.
Statues (HMD / 1 screen)
9.
Hopper's Escape (PM - high / 1 screen)
10.
Bananarama (Wiimotes, AI / 2 screens)
11.
Oreo and Raisinet (Wii / 1 screen)
12.
Spare Parts (HMD / 1 screen)
13.
The Intruder (PM - high / 1 screen)
14.
Joust! (HMD x 2, 3 screens)

我之前說過很感人的Statues
就像考試放榜,幾家歡樂幾家愁,我們round5的孤注一擲沒有中啦。說不落寞是騙人的,畢竟我們花在上面的時間這麼多,梁立衡仍是憑著Spare Parts的優秀表現中選,我是五輪盡墨啦........只是想想我們偉大的陳爺跟Ji也是全數槓龜,他們大概比我還要落寞.......而且看著這份名單,明顯強調多元性跟show味,或許我們也不是差,只是剛好不適合放在show上面吧。恭喜所有中選的同學,show上加油,我們會去幫忙的!虛擬世界毀滅之旅,在此也正式畫上句點了!


我還是很喜歡它 我以它為榮!

2009/11/27

虛擬世界毀滅之旅2

interium後開會的結論是:砍掉一首ATR,專心搞好BSC,把之前提到的要素一一implement出來。共識是有,但接下來這一週又是個外務繁忙的一週,Visual Story小組花了兩天出去拍片,剪片這次由我來把關,等於是又額外花了一些時間。最後一個Visual Story作業是拍MV,搞怪惡人組Martin跟Michael決定要下海去唱rap。取景地點散落在Walnut Street的Apple Store,維多利亞內衣店,Giant Eagle,公園,系主任Drew的辦公室。拍片時還被維多利亞跟Geagle店員踢出來(好險被踢出來前都已經拍好了......)這兩個人饒舌對嘴的準度精準到誇張,我在剪片時一直在笑,color correction算是比較有心得了,色調比上次國語版old school拿捏得好很多。

Graveyard from Miramax on Vimeo.

上次的史詩拍片過程作業成品

剪片剪到一半時,正在UCSD苦戰的鍋貼突然丟水球過來,說他快要崩潰了,AI, Advanced Compiler, OS三門CS殺手級重課同時砍下來,用自殺去形容都不為過........當鍋貼問我是不是也過得很慘,實在不知道該怎麼跟他回答........(我.......正在剪片子,待會要請同學幫忙錄音..........),在拍片時也有跟Martin聊到類似的話題:如果我現在是在UPenn的CGGT,應該跟我現在的工作內容相差十萬八千里吧......孰優孰劣,我不知道.......現在的狀況是樣樣都會一點,樣樣都不精,CS專業能力相較於在煉獄走過一回的玉潔跟鍋貼,已經完全看不見他們的車尾燈了。但這學期我真的覺得是我求學生涯最有趣的一學期,也讓我學到很多以前在CS時沒學到的東西。值不值得?要下斷語蓋棺論定,可能要在等一會兒.......下學期應該也會回去coding了,修的課沒意外應該是CMUCS的CG,據說異常充實!如果project能選到panda3D的引擎補強,就等於回去老本行拉!兩邊都看看吧,我真的也還不確定在這塊產業裡到底應該往哪個方向前進........沒辦法.......我就是個優柔寡斷,缺乏決斷力的角色。

剪片結果系上反映蠻好的,早上到學校時從來沒講過話的Kim居然主動過來說她很喜歡我剪的成品,也是讓我樂上了一會兒(真好滿足......),當所有MV在課堂上播完,Visual Story這門課也在此畫下句點了。感謝Ralph教授,現在在看電影時,讓我可以稍微略窺內行人運鏡,構圖,打光的門道,真得是蠻意外的收穫。

Hiphopopotamus vs. the Rhymenoceros from Miramax on Vimeo.

ETC饒舌二人組

Visual Story, Assignment 6 from 2009.3 - Warner Brothers on Vimeo.

最誇張的一組......主角是ETC第一programmer Walt犧牲色相演出.......

回歸BVW戰場,在這最後的一個禮拜沒有任何別的障礙阻止我們奔向終點了,衝!陳喆的實力真的讓組員覺得深不可測!我跟他說我加了一個新參數,希望他幫我加個新的function,通常兩個小時內大概東西就寫完了,coding速度快到驚人。Combo技,HUD面板資訊,分割螢幕,particle effect,上字幕,model的旋轉,分類,當內容一個個的implement, modify,週圍的同學開始感興趣了:這已經不是interium的那個單調打番茄遊戲了。各種之前同學做的model飛過來時都引起同學們的狂笑。配合的音效跟舞台貼圖(這是後來的點子,不只用之前的model,我們把之前的音效跟場景貼圖也整合進來了)形成一種異常詼諧的趣味(Mike Honeck: you guys really pull it off!),當發現測試時因為combo中斷會感到有些懊惱時,這遊戲真得開始好玩起來了!

跟立衡生出來的劇本自己都覺得很欠揍,當晚請大叔Jim Doughty幫忙配敘事者的配音時,他一直忍不住笑場(認真嚴肅的搞一件很白癡的事就叫作惡搞......)更有趣的一點是,中間有些邪惡大魔王的對話,我們想了半天還是寄信給Jesse問問他願不願意幫忙錄,當時完全不抱任何指望,我找了系上的全能喜劇配音員大Tom幫忙飾演"The Boss Jesse",錄出了一份整組人員都相當喜愛的版本(當天半夜把那段錄音用喇叭在牛棚中放送,整個牛棚的人笑翻在地),誰知第二天Jesse真的寄給我們一份他自己錄的配音,讓我們好生感動。最後還是沒有用到Jesse的聲音啦,因為Tom當壞蛋的笑果太好了(Tom:I'm definitely the better Jesse!),只是Jesse的氣度真得是令人相當佩服,作為BVW的教授,他真的是一位教學認真,又不失親和的好老師。敬禮!

整個學期為了BVW所做出來的道具也是一絕:Dan完全展現硬漢作風,在他這次得騎士刺槍對決世界中,他真得親手生出了真實世界比立大小的長槍,Jan幫著搞出一個被撞到就會自動振動發出巨響的盾牌,上面還有Kim的騎士家徽彩繪,馬甲,鎖子甲,長劍,琳瑯滿目..........超級誇張!!!倒數第二天的晚上,我們幾個組員蹲在地上用瓦楞紙板作breaker的拳套,想起峻甫問我在這邊的生活,我跟小溪笑著說:應該把這段畫面錄下來給他看看,我從小學畢業之後可能都沒有在這樣作勞作了.........

Dan Driscoll自製馬甲
友情客串配音的King Tom!
正港motion capture加持的駿馬模型
當日深夜,我們算算還有多少東西還沒做時,卻驚覺目前的內容已經超過了DEMO的時間了,魔王關的錄音跟音樂已經弄好了(音樂後來又生變數,變成Hans Zimmer風的史詩交響風),但立衡有沒有空把model生出來,生出來有沒有空DEMO完?經過了一番激烈討論:捨魔王關,全力做好BSC,凌晨四點,我再次走進lounge小睡,Deadline倒數16小時。