2013/12/15

Maters of Doom

書, 是去年就看完了. 但是一直沒有寫心得- - 不知道為什麼最近相關事件陸續發生, 今天索性來打讀書報告.

Master of Doom, 講FPS鼻祖id software跟創辦人兩個John的故事, 算是傳記文, 可大概是故事真的太精采了吧, 讀起來比看電影還熱血, 從兩個人的童年, 講到認識合夥, 大紅大紫, 拆夥, 前半段當考古文, 後半段有些開始跟我的學生歲月交疊, 也是別有番趣味.

必須承認我對id software的印象在大學畢業前都還是一連串支離破碎的蒙太奇, 我是有玩過Doom一代, 七八歲左右的時候吧.......結果從此對FPS有玩了會頭暈想吐的陰影= = (還有開電梯一定要先後退兩步防怪獸出來嚇人). 高中時CS當道, 那時看遊戲雜誌報導幾乎所有FPS清一色都是用所謂的Quake3引擎. 玩重返德總時, 才知道這遊戲的上一代是史上第一個FPS. 高三升大一時Doom3發行, 記得一直看到廣告叫大家升級硬體才操得動這隻怪獸, 那應該是第一款讓我覺得遊戲畫面怎麼可以好到這麼嚇人的遊戲吧. 大二修組語時cyy有拿出幾本課外教材, 提到作者是Doom的開發人員(應該是Graphics Programming black book或是Zen of code optimization吧...)大三開始有修些圖學相關的課了, 歐陽老大在講BSP tree時, 提到這是某個FPS很出名的優化技巧(那次期中考有一題是手寫build/travel BSP tree, 我還記得.......) 批踢踢上不知道在哪邊爬文提到了Quake3有段近乎黑魔法的inverse sqrt優化函式, 讀完的心得真的就像source code comment上寫的: "WTF......." 某次在圖書館讀到Times對id的訪談: "id的程式組只有十三人", "我只會雇用那些擁有我不了解的技術的人"......

綜合以上: "美國有個FPS的技術狂公司, 由某個技術狂人領軍, 規模不大, 但每次出了新遊戲都在強迫消費者硬體升級" 大約就是我對id的印象

在ETC念書, 暑假給Adrien老大打工時, 某次在討論可以用的open source game engine, Eric有提到Doom3快要open source了. 基於好奇去wiki查了一下...這個叫John Carmack的傢伙是哪個星球生出來的妖怪= =大學念兩個學期就沒念了, 然後寫出Doom引擎時沒有學過正統的3d數學, 德總的software renderer居然是ray casting based的, 土法煉鋼自己研究出stencil shadow volume.......還是個freeware的掌旗大將. 對這人一下子憑添了不少好感. 之後在ngmoco, 在bigpoint, 發現這個名字似乎在遊戲業已經是種近乎神的存在了, 每個人在講到這名字時, 都好像空氣中會有無形的挪抬(以示尊敬.......)

弄Ethereal時, 跟這些美國同學也有聊到id, 不過他們提到更多的, 是另外那一個John Romero, 以及他那個聲名狼藉的海報"John Romero's about to make you his bitch". "所以後來的結果咧?" "喔它們兩個鬧翻了, 然後Romero離開id, 出了款近乎笑話的作品Daikatana" 我是沒玩過大刀啦, 在bigpoint時的server lead Ron講到這遊戲:"oh don't even try, you didn't miss that much"........聽起來是真的挺慘的= =


一個game designer跟game programmer鬧翻, designer要去尋找以設計為核心的理想國度, 最後摔了一個大跟頭, 真的很像遊戲業午餐時段會拿來講的寓言故事......

等到把書拿起來看後, 對這個John的好感也是大增: 熱愛heavy metal跟暴力漫畫的叛逆少年, 掃台家裡方圓十里的街機記錄, 自學組語的硬派programmer, 把人家的demo遊戲拔出來放進自己hack過的改良版拿到骨灰傳奇Origin的offer.....  活脫脫就是個搖滾巨星! 另外一邊Carmack的青春, 也讓我覺得自己的青春好蒼白..... 自製土製炸藥去學校偷電腦, 柔道好手(好到可以反過來修理霸凌他的惡霸)大學中輟後就在當freelancer: "If he could simply program the computer, fix up his car, and play D&D for the rest of his life, he would be happy" 兩個人都很叛逆, 而且很有叛逆的本錢.
主持人好可憐= =


書的筆調很浪漫, 天時地利人和缺一不可, 這樣浪漫的故事要再發生一次的機會也不高. 現在沒有人需要在周六日把公司電腦幹回家做自己的遊戲, 也不會有人在湖水暴漲時游泳游到湖心小屋去工作, pizza, diet coke, rock n roll 其實加班時也是這個模式, 只是身在其中時我也沒覺得那麼浪漫. 會覺得感動, 就是這些人那種對全世界比中指, you don't like it then get the fuck out的態度, 卻真的拿出讓世界對他們俯首稱臣的作品, 我沒那態度也沒那身手, 看得痛快, 卻只能在旁邊悠然神往.

兩個人分道揚鑣的描寫, 也非常的有戲劇張力. Carmack不再是gamer, Romero不再熱衷技術, 明知道結局是怎麼樣, 隨著情節一步步的推進, 還是覺得很揪心. 然後再看Romero高調的另起爐灶, 高調的翻船, 看Carmack變成獨裁的暴君(雖然最近的訪談看起來他變得很親和, 大概是有了家庭的關係吧= =)最後跟大學對id的印象(那個技術狂公司)接了起來, 鼻頭有點酸酸的

2012 QuakeCon keynote

除此之外, 有些是有趣的考古: 在這個free 2 play歪風當道的年代, 其實早在九零年初就有類似的like it then pay more to unlock的概念了. 原來曾經有那個年代你想要玩遊戲, 得自己一個字一個字把雜誌上附的程式碼打進電腦編譯才能玩(硬派到爆表了!前陣子跟senior同事考證過後確認屬實!因為他幹過一模一樣的事!!!)原來Trent Reznor是Doom的超級迷弟, 原來那個年代你只要開個提供遊戲連線的server你也有機會撈順手財成為百萬富翁.

有些則單純是geek的熱血: "Abrash chose Carmack over Gates. The potential at id was too great, he thought; he wanted to have a front-row seat to see that breakthrough virtual world, that networked 3-D world, evolve. Furthermore, he was touched by the subtext of Carmack's invitation. Carmack seemed lonely, Abrash though, like he didn't have anyone who appreciated the beauty of his ideas." 英雄的相知相惜, 讀到這段時都快要哭出來了

有些是火鳳燎原式的驚鴻一瞥: 講到跟freeware時期的東家說再見時, 對方有個剛加盟的年輕人Tim Sweeney(Epic創辦人, Unreal之父), 世界怎麼可以這麼小!!!(看GPU gems裡面Tim寫序提到當初是受了Carmack的Doom感召, 寫出了第一代的UE, 談到software based renderer轉到硬體加速的fixed function pipeline又回到近代的programmable shader. 遙想公瑾當年,  雄姿英發~) 講到Ion Storm在E3時被另外一款後起scifi RTS修理, 那個遊戲叫星海爭霸......(跟這篇對著看效果加倍 )



EPIC Tim Sweeney, DICE Johan Andersson, Id John Carmack 三雄Nvidia論劍

也提到了Doom與科倫拜槍擊事件, 我曾經一直認為, 不要因為那些腦包玩射擊遊戲跟聽重金屬, 就牽拖這兩者有正相關. 最近看著Call of Duty一段又一段的廣告, 明星們笑著開槍, 笑著中彈, 看著MGRR中雷電把對方切成兩半的清晰斷面, 不自覺內心一陣發寒: 難道是我老了嗎.......搞不好真的是有正相關.......

2013/08/07 Carmack出任Oculus CTO
2013/11/23 Carmack離開id software
2013/12/10 Doom滿二十歲

儘管不是從頭開始看到尾, 這大概也標示了一個時代的結束吧. 因為這歷史性的一刻, 我把Doom1又拿出來品味了一下, 還是五分鐘就開始motion sick......

2013/03/22

我又看了遍亞瑟王(2010/10/24)

想要重看一遍的原因還是Zimmer. John Williams或許是老一輩的電影配樂之神, Hans Zimmer卻給了我這種小孩子'史詩'的定義. 從The Rock, Lion King, Gladiator到最近的Pirates of The Caribbean, The Dark Knight, Inception, 撲天蓋地的低頻音壓, 摩登的電子樂器點綴, 哀戚但不流於狂灑狗血的壯美旋律, 在我的耳機裡一次又一次的播放. Zimmer跟久石讓的音樂, 在匹茲堡那段時間陪我走過好多次的情緒低潮. 一首Barbarian Horde催下去, 馬上就是一陣'俺什麼都不怕, 通通放馬過來!'的豪情壯志. :P

Maximus!!

Jan在弄Ethereal的配樂時, 我在旁邊起哄"去聽Zimmer找靈感!" 幾個組員在網路上翻了下, Dan的反應最直接: "天啊! 這傢伙根本就是史詩的代名詞" 第一版的選單沒音效時, 基於個人私心偏好我放了Tell Me Now(What You See)暫時當placeholder. 點開遊戲時聽到Moya Brennan空靈的嗓音在背景繚繞, 那時真的蠻有感覺. 這張原聲帶聽了那麼多遍, 電影內容我反而是沒什麼印象了. 那陣子自從Gladiator拿到奧斯卡之後, 有段史詩片連發的流行, 只記得亞瑟王是其中一個, 只記得票房不怎麼樣, 只記得琪拉奈特莉超正.......有天在Murray經過Exchange看到一片5USD的二手片, 就買回家溫習了, 不期不待, 只是希望把旋律cue點的畫面補進腦海裡.

King Arthur主題曲Tell Me Now(What You See)

結果開場五分鐘眼淚就掉下來了= =........第一次看這片還是高中生, 對少年蘭斯洛被徵召,十五年離鄉背井沒有什麼感覺. 現在當然也沒那麼慘, 可是看到蘭斯洛父親大喊一聲Rus(google了一下, 其實就等於我們大喊'台灣人!!!'), 部落振臂齊聲那一聲雄吼, 淚腺就失守了, 突然好想家......

快轉曲目大不敬, 不過基本上02:27開始醞釀, 03:23情緒爆發

不只是開頭, 整部電影看完印象完全翻盤. 模型跟特效用現在的標準來看都相當老舊了, 七武士人字陣型縱馬衝入敵陣那畫面看起來卻還是好過癮. 克里夫歐文那種有點迷惘的憂鬱眼神好迷人, 更別提綺拉奈特莉那個野性十足的女武神裝扮了("你們要七個擋幾百個?" "八個, 你可以換一副弓" 阿阿阿阿阿怎麼可以這麼帥!!!!)  問題當然也是有, 看得出導演有努力想要經營角色, 只是大概這個人數有點尷尬, Warrior裡面表現亮眼的 Joel Edgerton在這邊完全淪為路人. 亞瑟心路轉換的過程我也覺得太硬很難買帳. 撇開這些, 娛樂性依舊在, 很享受的兩個多小時.

沒什麼新梗的故事, 偏偏我的熱血就是很容易被制約的那型, 看到只剩亞瑟一個人留下, 用膝蓋想也知道其他人會回來. 但夥伴們互看一眼, 輕輕的笑一笑, 最後勒馬並肩站在一起的那一刻, 又是雞皮疙瘩掉滿地. 可能在我的心底, 也一直在渴求這種可以互信, 共生死共患難的夥伴吧.

正翻

2013/02/24

大概是2010/8/23-2010/9/22吧

學期一開始, 之前在SV校區的三個組員在大阪展覽他們的成果, 這邊只剩Mark, Kent, Ji跟我, 為了不讓這一週空轉冗掉, 在Pennsic時大夥討論了第一個禮拜的進程: single player基本操控, 關卡menu銜接測試, 基本的combat mechanics. Advisor Chris Klug在開學前一直扮著黑臉澆冷水的角色,每當Ji生出新的concept art時,都會提出一些design decision的質疑: 怎麼做collision detection? 哪部分用shader cover? 跟環境的色調如何整合? 有沒有在控制面數? ......最後乾脆直接撂下話:先讓我看到兩個placeholder能在平面場地上互砍再來跟我談別的東西. Ji涵養好, 很禮貌的說馬上準備placeholder讓programmer有素材可以測試. 我脾氣可沒那麼好, 看到Chris這樣對Ji形同找碴的問候, 心想咱就是要幫Ji出口氣, placeholder互砍? 一個禮拜就生出來給你!

留在這裡的四個組員, 最後決定將目標設定為完成一個有bot的tutorial. 分工就定位, 各自上工. Unity真得是很容易上手的引擎, 一開始會覺得有點特別的component base scripting, 用習慣後個人相當喜歡, 很直觀的scripting做法. editor介面也比panda之前那個爛到極點的定位器好用多多多.其他的tools如terrain system, skybox, 內建的物理引擎, previewer......輕鬆到整個人都有點不自在:"怎麼可以這麼好用!這後面到底有什麼陰謀啊........"Kent比較晚開始, 兩天後也就進入狀況,一個人弄combat mechanics,一個人弄environment interaction跟GUI, 馬上弄出一個寥具雛形的小關卡, 週末順手加了一隻小怪的AI跟音效, 算是完成了跟組員討論出來的進度.


第一周進度, 簡單的教學關卡

第一次跟Ji合作, 能有一個這麼強悍的artist當後盾實在是一件很幸福的事, 永遠掛著溫和的笑容,永遠都是"沒問題",永遠都是"馬上給你".......從concept art到model到rigging到animation, 包山包海效率驚人. 再者,他的業界經驗也都給我們這些菜鳥很大的幫忙: particle的billboard應該幾塊為限, 人物的面數, FPS慣用的model擺位.....有問題都可以問他, model/animation import pipeline也完全不需要programmer操心,他都可以自行處理. 整個組對Ji只有欽佩! Kent粗曠的外貌常常會嚇到不熟的學弟妹,可跟他相處一陣子發覺他是個心地相當柔軟的大男孩,溝通時態度之客氣會讓人沒法跟他的長相聯想在一起= =, coding時垃圾話滿嘴, 加上designer Jan跟我,人稱Ethereal髒話鐵三角.他同時也是這個學期BVW wood shop的TA,掌管那間木工小屋.最意外的是......兩個組員都是金屬咖!我們常常在project room大聲放送metal radio, 惹人側目.



Ji用Kent凶狠造型合成的project海報, 相當煞氣

好像是只要有Mark在的project都會有華麗的project room. 他跟Ji在空閒時就拿一些絨布跟道具布置這間project room. 房間放了一個出氣沙包給我們拳腳交加(木刀斧頭也擺在旁邊= =), 冰箱裡面都會有定期補貨的飲料, 一罐四毛錢. 門口架著Kent跟Mark在Pennsic時穿戴的護甲及盾牌, 回頭再看那個房間, 還真的是蠻囂張的........一周後其他組員歸隊, 我們跟Chris展示了目前的進度. 雖然沒有講什麼話, 我可以感覺到Chris是有點意外的. 上一個學期受盡adviser的鳥氣, 讓這時的我對faculty態度相當不友善, 大抵上我已經不怎麼在意"他們覺得該怎麼樣"的評價. 我想去做AAA, 如果說對方跟我要demo, Ethereal就是我的demo. 所有什麼教育意義, 創新想法通通干我屁事.(講白點, 你看過幾個AAA有這些東西了?) 我只想要華麗的畫面跟玩起來舒服的遊戲, 你們沒法教我這些東西, 好我自己學自己搞. 對找工作沒有幫助的東西我為什麼要花時間去做? 


囂張

組員到齊後大致上的分工:
Dan: scripting, designer
Kent: scripting
Wayne: scripting
Martin: art
Ji: art
Jan: sound, designer
Mark: production management
嗯......大致上......學生project, 分工相當的鬆散, 我們不在意 其他人自然更不在意 有daily standup, 有daily report. 但我好像一個學期寫了不到十次. 遊戲機制通常都Dan提出來(佐以滿滿的簡報跟圖表), 我們看了討論一下大家的分工, 就各自悶頭下去做. 有version control, 沒有code review, 加上一天到晚的conflict強行overwrite, 旁邊的人看來應該會狂冒冷汗, 那時覺得很瀟灑浪漫. Dan軍人出身的背景, 很會鼓舞士氣, 我們每周都會找家餐廳聚餐, 或是看個電影, 一群人在電影院肆無忌憚的狂笑, 然後在半夜繼續回系館上工.

小梁回Pitt了, 三不五時會跑下去他的project room閒晃, 玩茂凱的公仔跟Evelyn的Nemo, 拉他出來打街霸. Project ACG經過兩周的考慮後, 棄UDK轉Unity, 我們成了友隊, 約定好每週互相試玩對方的遊戲, 這學期也來了不少講中文的學弟妹, 有聚餐有火鍋, 匹茲堡變得很熱鬧. Hugo跟Cynthia去了矽谷弄project, 跟Hugo在gtalk上垃圾話還是一直沒有少過. 小延雖然在本校區coop, 還是一天到晚回系館哈拉. 比起上學期, 真的是從地獄昇天堂, 但找工作這件事, 講來講去還是最讓人焦慮的東西.

某次亂入學弟妹聚餐

Adrian老大好心收留了我跟小延一個暑假, 也真的很感激老大教了我們很多東西. 但履歷上一些同學已經加了Disney, EA這些業界響噹噹的大名字, 那一行CMU Graphics Lab RA到底會不會讓HR的眼光在紙上多停半秒鐘還是個問號, 我很緊張, 小延應該也蠻緊張. 依舊是像台北車站發傳單那樣的投工作, 依舊給他石沉大海. 

這家Ne***ke記得是主動上來問的, 在回信表達非常樂意後開了如下回應:
A couple of questions:
o Would you be comfortable working remotely? (We don't have the means to relocate you to the bay area.)
o Do you own/access a MacIntosh
o Do you own/access Unity for Iphone
Given our timeline, it might be best to let you work with your own equipment, rather than sending out a company machine.
Drop me a note when you can.

我的回應是, 我不在意, 我可以借, 我可以買, 隨傳隨到. 然後就沒下文了......

也記得在學期初job fair時, 跟小延擠進人山人海丟履歷. 填了SCEA的表單, 從此每隔一兩個月寄來一些奇奇怪怪的位子(像是We have an opportunity for the position of Game Audio Intern-02517 that matches your profile.  Please check out the job and apply online) 也試著跟Demiurge的顧攤聊天(一個黑黑壯壯的engineer), 不知道是不是坐攤位也很無聊, 我們聊得挺開心的, 最後他的講法是"我們不大收剛畢業的學生(那你們來job fair幹嘛.......), 我覺得你OK, 會試著跟老闆談一下你" 當然, 期待回音是不太實際的= =

因為這個job fair我miss掉Animation of Natural Phenomena(以下ANP)第二堂課的前五分鐘, 照老大的講法每堂課報paper的人選是大家在黑板自決, 所以我很理所當然的被擠到了第一個 :P 這好像是第一次英文報paper......依稀記得是某篇用stencil buffer弄的collision detection, 內容不難, 準備投影片比較花心思, 在準備時Dan在旁邊給的建議: 圖片越多越好, 文字越少越好. 現在想來還是蠻受用. 過程算順, 蠻訝異自己在腎上腺素高分泌時講英文可能比平常還high還順. ANP的難度講實話比起老大的CG是真的高了挺多, 課前有人報paper, 課後有open question的分組討論加報告, 內容相當硬. 開學三十來個躊躇滿志的學生, 到學期中大概只剩十來個= =

quarter present前一晚順手拍下的照片

Ethereal的進度到目前為止相當順利, 到quarter present時, 我們已經完成1v1的一個關卡prototype, 舉辦了一場請同學跟學弟妹過來試玩的playtest. 有隔擋, 有進攻, 單這兩樣大家其實就已經玩的蠻開心了. 前一天又順手加了點motion blur跟bloom, 看起來挺像回事. 有faculty在問我們真的四個禮拜可以做到這樣? 還是暑假有偷跑? 聽了心底又再犯嘀咕: "這種廢物到底是怎麼有辦法來當教員的.......還憑什麼來給我打分數......" 茂凱私下跑過還跟我說我們給他們組長很大壓力= = 學弟們的精神領袖Ian跟Greg(well至少在學期初看起來是這樣)很熱烈的在跟Jan討論關卡設計. 甚至聽到一句, 有call of duty的fu耶.........(這太超過了) 自然, 整個小組對於這般正面回響相當開心. 樂觀派的開始提出規劃: 期中前要完成兩個關卡, 8V8, 期末四個關卡32V32! 其他還有什麼鎖定對決視角, 第三人稱過肩視角, 團戰加成氣場, 斧矛劍互剋系統......如果能再重來一次, 我希望我能鼓起勇氣出來澆冷水說我們只有一個學期, 只可惜當時雖然覺得不太對, 也不想掃大家的興. 之後發生了什麼事, 就像老梗的八點檔劇本......我們都是學徒, 我們仍然一直在從錯誤中學習.


playtest實況 這張照片看到好多一陣子沒碰面的同學了