Molecule 個人檔案:Amy Phillips
Amy Phillips 的頭銜是工具編碼女祭司,在名片上,這個頭銜確實看起來很不錯。她真正的職稱是首席工具程式設計師,雖然沒有那麼大氣,但也很重要,因為工作室中各個團隊都很需要她和她的團隊開發的工具。我們和她聊到了她對謎題的熱愛、為人們解決問題,以及經典的 Media Molecule 隨機性。
嗨,Amy!你在 Media Molecule 的工作是什麼呢?
我是 Amy Phillips。我是 Media Molecule 的工具編碼女祭司。可惜的是,那不是我真正的職稱。這個稱謂源自於我七年前去參加 GDC (遊戲開發者大會) 時的經歷。我必須準備一些名片,他們傻傻地讓我選擇自己的職稱。於是我就變成了工具編碼女祭司。其實我就是個使用工作室語言的首席工具程式設計師不過,我很喜歡女祭司這個職稱。聽起來很霸氣、很炫。
那麼你的日常工作內容是什麼呢?你是否正在努力改良自己在 Dreams Universe 中使用的工具?
不是喔,我知道你為什麼會這麼想,不過,其實玩家在 Dreams Universe 中使用的工具並不是我們負責的。基本上,工具團隊中有一個團隊,這個團隊由四個人組成,製作玩家使用的工具不是我們的工作內容,我們負責製作 Media Molecules 使用的工具。包括創造或執行方案來解決任何妨礙 Media Molecules 工作的問題。因此,我們必須跟 Media Molecules 好好談談,弄清楚是什麼原因導致系統發生問題,進而減慢了他們的工作速度,讓他們無法專心工作,然後試著想辦法來解決這個問題。因此,我們致力於製作持續整合所需的遊戲版本,每當程式設計師嵌入一些新程式碼時,系統都有辦法編譯該程式碼,並在問題發生時迅速提醒程式設計師,這超級實用的,因為這件事很簡單!這些系統能快速編譯新程式碼,並將其傳給品保或內容創作者,或者其他可能需要該版本的人。
我們還打造了一些自動化測試,如此一來,在嵌入程式碼時,我們就能對其進行一整套測試,藉此嘗試找出問題來源。這對於本地化、遊玩遊戲和翻譯新文字也有所幫助,這樣大家玩遊戲時就能使用法語或西班牙語,而且所有內容都已經翻譯好了。由於清理了原始檔控制項,到處都有大量的混亂原始資料。我們就能用這個系統來追蹤程式碼,搞清楚發生了什麼變化,以及變化的源頭為何。這個系統它讓我們能回到先前建構的特定版本,例如,我們可以重現之前發布給玩家的版本。工具之類的東西很容易被人忽視,不過正因如此,我們才有機會與其他工作室中的人多多交談,也挺好的。
你收到的工具要求是不是都差不多,還是需求各有不同?
我收到的要求往往天差地遠。因為我們與整個工作室的許多部門合作,所以我們收到的要求可能會截然不同。我們一直在努力更新各種要求文件的處理方式,因為有一些要求會重複出現。比如說,「我又因為老問題遇到當機狀況了,我想知道原因,因為我正嘗試理解到底發生了什麼事」很常見到諸如此類的事情。不過,千奇百怪的要求都有。
那麼,大家發送要求給你時,你會想出怎樣的工具?
通常,Media Molecule 必須要能快速建構。2020 那年大家開始在家工作時,大家都沒了快速的網路。在辦公室,大家能快速下載一個建構版本。但是我們都在家工作,網路連線品質不一,因此,我們不得不對我們的分散式建構工具進行一系列改良,藉此嘗試減少它使用的頻寬。我們設計了一堆程式碼,嘗試讓大家使用本機硬碟上現有的東西,只有在下載自己真正需要的東西時才會用到網路。其中有很多技術細節,不過,我是一名程式設計師,我很喜歡那些技術性的東西。我曾經是一名網路程式設計師,我處理過各種有趣的棘手問題。這些問題主要是我從事製作賽車遊戲《Burnout》,並嘗試讓賽車在網路上以相同方式運作起來時所遇到的。
網路程式設計背景的你,是如何成為工具程式設計師的?
嗯,一開始我是一個常見的程式設計師,然後我做了一段時間的 AI 程式設計師,然後才正式轉向網路程式設計。那時我們 [在 Criterion Games] 製作《Burnout 3》,並在線上發布了該遊戲。然後我轉到 Media Molecule,早期我是《小小大星球》的網路程式設計師。過了一段時間,我休了產假,回來工作後,我想每週做兩天兼職。可惜的是,網路程式設計的職位與一週只做兩天的工作不相符,所以我四處尋找其他事情做,我發現工作室中有很多大家不太重視的問題。所以我開始接手這些任務,讓大家在有需要時能有人幫忙,助他們一臂之力。
這就是我現在職位的演變歷程。這不是浪費時間,而是要找到效果不彰的東西並對其進行微調,讓其運作效率更好。這麼做的好處可不小,因為大家馬上就會將意見回饋給你。例如,如果你改良了一個建構分佈,讓 UI (使用者介面) 變得更好,你可以選擇自己最喜歡的建構方式,將它們放在清單的頂部,人們馬上就會將意見回饋給你;如果有人從中受益,他們會表達謝意,超可愛的。
你是在大學裡學到程式設計還是自學的?
有趣的是,其實我是不小心深陷其中的。本來我大學學的是數學,第一年學的就是數學相關內容,不過,那真的很難。所以我在第二年和第三年轉去學習物理,這比較簡單。不過,我總覺得自己對物理也不是那麼有興趣。所以在三年級後我又換科系了,我學了一年的電腦科學。我很幸運,我的大學對學生所做的事情沒什麼硬性規定。我學習了電腦科學,而且我真的很喜歡,不知道為什麼,我跟電腦科學就是這麼合拍。
我畢業時獲得了電腦科學學位,我的朋友希望我去吉爾福德找他,當時他在 Big Blue Box Studios 製作《神鬼寓言》這款遊戲。我週末就去那裡找他了。因為截止日期快到了,他被叫進辦公室,我和他一起去了辦公室,那裡的人都蠻友善的,我看到辦公室裡有一輛滑板車和零食,太酷了。我當時想「哦,電子遊戲,這可能蠻適合我的」。所以我就將簡歷寄給所有吉爾福德的電子遊戲公司,並得到了 Criterion 的回覆,最後,我在那裡找到了一份工作。所以,沒錯,我算是很幸運,幾乎是無意中踏入這個行業。
在 Media Molecule 工作,你覺得最有趣的是什麼?
肯定是公司裡的人啊。我非常喜歡和 Media Molecule 的人一起工作。他們是一群非常聰明的人,也非常善良、可愛,還很有創意。當你在 Media Molecule 與人交談時,他們會先把你當成人,然後才是工作對象,對談氣氛非常平等。我真的很喜歡這種氛圍,大家都可以就事情進度、自身遇到的問題和正在發生的事情進行討論。其實,身為一個工具程式設計師,這真的幫了我很大的忙,因為通常如果有人來找你說「我要這個東西」,他們很有可能不是真的想要的這個東西。所以你必須追問:「好吧,那你為什麼要這個東西?目的是什麼?來龍去脈為何?」因為了解整體背景後,你就可以弄清楚其他人是不是也想要這個東西、怎麼做才能完美符合對方的需求,以及他們真正想要的是什麼,而不是呆呆地照他們說的做。
自從你開始在 Media Molecule 工作,你最喜歡做的事情是什麼?
肯定是第一代《小小大星球》啊,因為它很有挑戰性。我們不太清楚自己在做什麼,所以一切都是在一邊摸索一邊做出來的。老實說,我真的不明白它是如何變成一個產品的,因為我們只是把所有有趣的想法,還有一堆實驗都放進去其中。那時我還是一名網路程式設計師,但我就是喜歡隨機實驗。我認為某種程度上,團隊中仍然具有這種隨機性。
這就是我喜歡 Media Molecule 的另一個原因:我們只是合作創造一些有趣的東西。不會只有一個人負責想點子。我們嘗試製作的東西有個核心,大家都能投入其中並貢獻適合該核心的東西。對一家遊戲工作室來說,每個人都有機會發揮創意,我認為這是非常罕見的。
對於想要投身工具程式設計的人,你會提供什麼訣竅或是建議嗎?
攻讀學位是有用的,因為與程式設計相關的學位會教給你一些基本概念 (比如電腦科學),當你試圖理解自己的程式碼為什麼會這樣運作時,這些概念就能派上用場。如果你能理解自己寫的演算法、正在使用的資料結構、如何使用快取,以及為什麼會遇到奇怪的效能問題,那麼要找出程式碼中的缺陷就簡單多了。
不過,我也認為遊戲派對是認識新朋友、建立人脈、嘗試新事物和發揮創意的絕佳機會。老實說,無論想不想留在這個行業,若能意識到完成一款遊戲的難度,真的會讓你大開眼界。開始製作一款遊戲很容易,但要完成一款遊戲真的很難。我想在大學裡會更容易,因為有人設計了這門課程,這門課程會教你需要了解的事情,如果你是自學者,你必須弄清楚自己需要了解什麼,然後在此基礎上自學。
Media Molecule 員工的桌上似乎有各式各樣的東西,你的桌子上現在有什麼呢?
嗯。我的辦公桌上沒什麼有趣的東西。有什麼呢?哦,我有一本謎題書「Journal 29: Oblivion」。基本上,它是一本有點複雜的謎題書,因為它本質上是情境猜謎。首先,必須弄清楚謎題是什麼才能解謎。不過,如果你喜歡謎題,那你一定會喜歡。我還收到了一位朋友寄來的明信片,我幫他更新網站,換來一本有明信片的書。桌上還有 Kindle 和隨機的 Media Molecule 別針。我辦公桌上最有趣的東西可能就是這些可愛的馬克杯吧。我的馬克杯超酷的,它叫「勇氣馬克杯」,上面有勵志名言,比如「你很能幹」、「不要害怕」、「拿出勇氣,沒什麼好怕的」、「走出自己的步調」、「你比自己想像中更堅強」。還有一隻獨角獸說:神奇又無與倫比的你。有了獨角獸,一切都變得更美好了。
Dreams Universe 使用者指南目前仍在持續開發。請持續關注後續更新,我們會隨時間新增更多學習資源。