邀請(qǐng)國(guó)內(nèi)外知名開(kāi)發(fā)者分享自身經(jīng)驗(yàn)的
「臺(tái)北遊戲開(kāi)發(fā)者論壇(Taipei Game Developers Forum,簡(jiǎn)稱 TGDF)」今(24)日進(jìn)入最後一天,雷亞遊戲技術(shù)長(zhǎng)兼共同創(chuàng)辦人鐘志遠(yuǎn)在本日下午以自身開(kāi)發(fā)《Implosion》的經(jīng)驗(yàn)為例,透過(guò)「別太敏捷遊戲開(kāi)發(fā)」這樣的主題,分享了他一路走來(lái)的心得與想法。
鐘志遠(yuǎn)在《Implosion》中主要負(fù)責(zé)的是程式面的工作,這款以科幻題材為背景的 3D 動(dòng)作 RPG,可是花費(fèi)了 3 年半的時(shí)間才正式完工,遠(yuǎn)遠(yuǎn)高於一般手機(jī)遊戲的研發(fā)時(shí)程。
-
《Implosion》主美術(shù) QQ 的小孩也從嬰兒成長(zhǎng)到要上幼稚園了
鐘志遠(yuǎn)坦言一開(kāi)始本來(lái)以為做遊戲只要一點(diǎn)企劃,再加上多一點(diǎn)的程式以及大量的美術(shù)就可以搞定了,但實(shí)際經(jīng)歷過(guò)後便發(fā)現(xiàn)事情其實(shí)並不單純。往往企劃趕不上變化,程式寫(xiě)好了也常常要修正,連帶影響美術(shù)量產(chǎn)的格式也需要一改再改,如此一來(lái)便導(dǎo)致遊戲發(fā)售日期無(wú)止盡地往後延後。臺(tái)大電機(jī)系畢業(yè)的他,從中了解到開(kāi)發(fā)遊戲與一般的軟體研發(fā)非常不同,鐘志遠(yuǎn)認(rèn)為遊戲可說(shuō)是藝術(shù)與工程的結(jié)合,是一門(mén)高深的學(xué)問(wèn)。
由於經(jīng)驗(yàn)的不足,最初開(kāi)發(fā)團(tuán)隊(duì)使用了免費(fèi)的 Google 表格來(lái)追蹤每個(gè)成員的工作進(jìn)度,但由於過(guò)程實(shí)在太不嚴(yán)謹(jǐn),導(dǎo)致許多成員常常故意「忘記」去填表,導(dǎo)致工作效率低落,每日工作進(jìn)度與每週工作進(jìn)度無(wú)異,專案推展的進(jìn)度也總是快不起來(lái)。
而當(dāng)雷亞遊戲正式成立並開(kāi)始執(zhí)行《
Cytus》與《
Implosion》的研發(fā)專案後,
鐘志遠(yuǎn)發(fā)現(xiàn)隨著專案與團(tuán)隊(duì)的規(guī)模愈來(lái)愈大,採(cǎi)用舊的方法已經(jīng)不是一個(gè)好的選項(xiàng),因此便採(cǎi)用了知名的「敏捷開(kāi)發(fā)(Scrum)」作為公司管理專案的方法與系統(tǒng)。
Scrum 是一種從 1990 年代開(kāi)始逐漸引起廣泛關(guān)注的一些新型軟體開(kāi)發(fā)方法,是一種應(yīng)對(duì)快速變化的需求所設(shè)計(jì)出來(lái)的管理模型。Scrum 注重團(tuán)隊(duì)之間的緊密協(xié)作、面對(duì)面的溝通,以及頻繁交付新的軟體版本等。
在最一開(kāi)始,鐘志遠(yuǎn)僅單純依靠書(shū)中學(xué)來(lái)的方法來(lái)學(xué)習(xí)在團(tuán)隊(duì)中使用 Scrum 管理團(tuán)隊(duì)專案的進(jìn)度,如此一來(lái)比起以往,團(tuán)隊(duì)成員終於有了一個(gè)專門(mén)的時(shí)間來(lái)好好坐下來(lái)討論計(jì)畫(huà),也清楚接下來(lái)該做些什麼。團(tuán)隊(duì)自此開(kāi)始有了清楚的目標(biāo)去執(zhí)行,每?jī)蓚€(gè)禮拜也有會(huì)成果的 Demo 展示,讓產(chǎn)品經(jīng)理能夠確實(shí)掌握大家的進(jìn)度。
但事實(shí)上,一切並沒(méi)有那麼順利,在團(tuán)隊(duì)跑了半年 Scrum 之後,種種問(wèn)題也開(kāi)始浮出抬面。
此時(shí)鐘志遠(yuǎn)開(kāi)始檢討是不是自己對(duì)於 Scrum 不夠了解,一定是什麼地方錯(cuò)了,因此便去報(bào)名上了認(rèn)證課程,並學(xué)習(xí)了更多以往不知道可以運(yùn)用的 Scrum 工具回來(lái)。雖然部分工具確實(shí)幫助了團(tuán)隊(duì)的專案推展,但鐘志遠(yuǎn)發(fā)現(xiàn)也有許多部分為團(tuán)隊(duì)帶來(lái)更多的困擾。
-
貼滿 Scrum Board 的工作室
以「Planning Poker」來(lái)說(shuō),這代表每個(gè)成員可以輪流舉牌,發(fā)表自己對(duì)某項(xiàng)工作所認(rèn)定的工作量需要多少點(diǎn)數(shù),若是成員間所認(rèn)為的點(diǎn)數(shù)大小差距過(guò)大,就需要說(shuō)明原因。
雖然這項(xiàng)工具的立意良好,但實(shí)際上要執(zhí)行卻會(huì)碰到許多難題。若以要製作一個(gè)可捲動(dòng)的 UI 文件為例,程式可能會(huì)認(rèn)為要 20 點(diǎn),但美術(shù)會(huì)覺(jué)得這不是很簡(jiǎn)單嗎?應(yīng)該只要 3 點(diǎn)就好。
鐘志遠(yuǎn)認(rèn)為,因?yàn)閳F(tuán)隊(duì)成員彼此之間對(duì)於彼此領(lǐng)域的認(rèn)知並不熟悉,因此常常會(huì)導(dǎo)致各說(shuō)各話,產(chǎn)生無(wú)法準(zhǔn)確溝通的狀況。也因此 Planning Poker 針對(duì)每項(xiàng)工作產(chǎn)出的點(diǎn)數(shù)往往就像擲骰子一樣,準(zhǔn)不準(zhǔn)得靠運(yùn)氣。
一般來(lái)說(shuō),Scrum 可以藉由各項(xiàng)被量化的數(shù)字來(lái)估算出一個(gè)專案可能需要耗費(fèi)的時(shí)間,如圖下所示。但就如同上述 Planning Poker 的例子,在團(tuán)隊(duì)成員專業(yè)領(lǐng)域差異頗大的狀況下,很多時(shí)候這些數(shù)字無(wú)法準(zhǔn)確反映現(xiàn)況,也導(dǎo)致專案時(shí)間根本無(wú)法精算出來(lái)。
另外一個(gè)例子,是 Scrum 裡面所使用到的「檢討會(huì)議(Retrospective)」,好好使用的話可以透過(guò)團(tuán)隊(duì)成員來(lái)提出改善流程的方法,進(jìn)而增加團(tuán)隊(duì)效率。但實(shí)際執(zhí)行起來(lái),反而大家都避重就輕,沒(méi)辦法直指問(wèn)題核心。鐘志遠(yuǎn)認(rèn)為這可能是華人的民族性使然,導(dǎo)致大家不擅長(zhǎng)在檯面上互相批評(píng)與檢討。
究竟是什麼原因,導(dǎo)致 Scrum 無(wú)法如同書(shū)本上所說(shuō)的套用在雷亞的團(tuán)隊(duì)上?在尋找許多現(xiàn)實(shí)中的案例及方法後,鐘志遠(yuǎn)發(fā)現(xiàn) Scrum 並不是如同刻在石板上的真理,或是設(shè)計(jì)良好的機(jī)械,只要照著說(shuō)明書(shū)去操作,把時(shí)間和錢(qián)丟進(jìn)去就能夠生出成果。
最終鐘志遠(yuǎn)得到一個(gè)理論,Scrum 是一個(gè)成熟的敏捷開(kāi)發(fā)團(tuán)隊(duì)典範(fàn),但卻不是一個(gè)完全照著走就能成功的教戰(zhàn)手冊(cè)。團(tuán)隊(duì)學(xué)習(xí) Scrum 運(yùn)作就很像閱讀偉人傳記,從中讀者並無(wú)法藉由模仿書(shū)中案例來(lái)邁向成功人生。鐘志遠(yuǎn)認(rèn)為團(tuán)隊(duì)?wèi)?yīng)該要藉由 Scrum 的作法發(fā)展出獨(dú)特的工作模式,而不是直接拷貝,因?yàn)槿耸仟?dú)一無(wú)二的,所以人組成的團(tuán)隊(duì)也是獨(dú)一無(wú)二的。
從這個(gè)階段開(kāi)始,鐘志遠(yuǎn)便從 Scrum 的守則中取出適合的工具,再經(jīng)過(guò)調(diào)整來(lái)針對(duì)雷亞內(nèi)部團(tuán)隊(duì)來(lái)使用。例如讓團(tuán)隊(duì)成員間彼此分享資訊,互相溝通的每日會(huì)議(Daily Meeting),或是讓大家有個(gè)共同目標(biāo),定下短期目標(biāo)的 Planning 會(huì)議。
在遊戲開(kāi)發(fā)的過(guò)程中,製作人當(dāng)然也會(huì)希望檢視開(kāi)發(fā)進(jìn)度與成果,辛苦工作的成員也會(huì)希望自己努力的結(jié)晶被看到,因此就有了 Review 檢視會(huì)議。
而優(yōu)秀的製作人看到成果之後,當(dāng)然也會(huì)想要修改、調(diào)整,讓遊戲變得更好,這就是遊戲產(chǎn)業(yè)人員最害怕看到的「更改部分規(guī)格」。這近似打掉重做的過(guò)程,常常會(huì)導(dǎo)致團(tuán)隊(duì)士氣受挫,為了避免這樣的狀況太常發(fā)生,團(tuán)隊(duì)便決定要執(zhí)行更多次的 Planning 與 Review 會(huì)議,其中又盡量不更動(dòng)內(nèi)容,這樣的過(guò)程便是 Scrum 中常用的衝刺(Sprint)。
鐘志遠(yuǎn)認(rèn)為,假設(shè)一個(gè)團(tuán)隊(duì)沒(méi)有經(jīng)過(guò)反覆試錯(cuò)的過(guò)程,便直接採(cǎi)用上述的作法,便容易有水土不服的狀況發(fā)生,就像學(xué)生不會(huì)因?yàn)榭戳藙?lì)志讀物,就變成人生勝利組。但管理者常常有這樣的錯(cuò)覺(jué),管理者常常會(huì)相信只要採(cǎi)用了一套標(biāo)準(zhǔn)步驟,團(tuán)隊(duì)的效率就會(huì)突然一飛沖天。
但事實(shí)上團(tuán)隊(duì)的每個(gè)人都要有這樣的想法,才能持續(xù)地提昇效率。若是只有團(tuán)隊(duì)的領(lǐng)導(dǎo)者認(rèn)同這樣的作法,那就沒(méi)有意義。
鐘志遠(yuǎn)覺(jué)得這樣的作法,需要管理職很謹(jǐn)慎的看待,因?yàn)閳F(tuán)隊(duì)中的被管理者,很有可能會(huì)與管理者產(chǎn)生距離,像是成員若是沒(méi)辦法吐露真心話的話,就會(huì)導(dǎo)致即使團(tuán)隊(duì)發(fā)生問(wèn)題也收不到任何回饋的狀況。鐘志遠(yuǎn)以自身的經(jīng)驗(yàn)為例,表示身為產(chǎn)品經(jīng)理,就算只是一個(gè)小小的指責(zé)都可能會(huì)讓團(tuán)隊(duì)士氣受挫。像是之前曾經(jīng)有成員提了想法,但卻馬上被他打槍。但後來(lái)才發(fā)現(xiàn)自己其實(shí)沒(méi)有考量到企劃、程式等等連帶影響的狀況,導(dǎo)致自己做了錯(cuò)誤的判斷,讓團(tuán)隊(duì)很有挫折感。
-
持續(xù)慢慢改進(jìn)方法很重要
-
每個(gè)成員若是都可以觀察、找出問(wèn)題並提出改變的建議,進(jìn)而調(diào)整團(tuán)隊(duì)。此時(shí)若是每個(gè)成員也都相信改變的力量,最終便能形成正向的循環(huán),成為一個(gè)符合 Scrum 敏捷開(kāi)發(fā)的團(tuán)隊(duì)
鐘志遠(yuǎn)同時(shí)也以動(dòng)畫(huà)《閃電霹靂車》為例,表示人需要的是如同阿斯拉般,可以與主角一起進(jìn)化的系統(tǒng),而不是天才也無(wú)法完全駕馭的凰呀。
此外為了克服合作以及溝通的問(wèn)題,進(jìn)而啟動(dòng)改進(jìn)的循環(huán),鐘志遠(yuǎn)認(rèn)為建立兩好的團(tuán)隊(duì)文化非常重要,因?yàn)檫[戲開(kāi)發(fā)大多時(shí)候的過(guò)程都會(huì)需要人與人的互動(dòng),文化才是真正能影響人與人之間的東西。而若是要建立成功的文化,則必須讓團(tuán)隊(duì)中的每個(gè)成員,都必須對(duì)以下兩個(gè)問(wèn)題非常了解,而且具備自我省思的能力。
1. 專業(yè)沒(méi)有被尊重
2. 專業(yè)沒(méi)有辦法接納來(lái)自非專業(yè)的看法
專業(yè)沒(méi)有被尊重
以第一點(diǎn)來(lái)說(shuō),當(dāng)程式企劃彼此信任不夠,便會(huì)給出似是而非的建議。身為專業(yè)的人知道這些建議不是那麼好,但當(dāng)下無(wú)法反駁,其中也可能是因?yàn)槁毼徊罹嗟膯?wèn)題,但是如此一來(lái)團(tuán)隊(duì)之間便會(huì)產(chǎn)生某些負(fù)面的刻版印象,例如「製作人就是喜歡用抄的,程式就是喜歡用舊的,怕麻煩不愛(ài)用新引擎」,如此一來(lái)便會(huì)影響團(tuán)隊(duì)的速度與品質(zhì)。
鐘志遠(yuǎn)以《Implosion》為例,表示遊戲中的裝備可分為普通、進(jìn)階與卓越三個(gè)等級(jí)。在遊戲的開(kāi)發(fā)過(guò)程中,就曾有人反映最高級(jí)的武器應(yīng)該可以讓主角有著超越超級(jí)賽亞人 3 的強(qiáng)度,砍敵人就像砍菜一樣,這樣才合理。
雖然說(shuō)這樣的建議聽(tīng)起來(lái)很合理,但由於遊戲關(guān)卡有限,沒(méi)有那麼多空間將拿到卓越裝備的角色,在破關(guān)的過(guò)程中拉回適當(dāng)?shù)碾y度。此外由於《Implosion》的重點(diǎn)是戰(zhàn)鬥中帶給玩家的挑戰(zhàn),若是武器設(shè)計(jì)的太強(qiáng),後面關(guān)卡躺著也可以過(guò)的話,就違背遊戲本身的主軸,也會(huì)降低遊戲體驗(yàn)。
鐘志遠(yuǎn)認(rèn)為尊重專業(yè)看起來(lái)很簡(jiǎn)單,但其實(shí)很難。大部分的問(wèn)題都像冰山,真正浮出抬面被檢視到的不多,只有在做事的人才能發(fā)現(xiàn)冰山下面較難被發(fā)現(xiàn)的東西。
因此鐘志遠(yuǎn)認(rèn)為,尊重專業(yè)不是了解到「我要尊重」而以,而是要深深地輸入到潛意識(shí)中才行。
專業(yè)沒(méi)辦法接納來(lái)自非專業(yè)的看法
以上的影片是《
Implosion》最早針對(duì) Xbox 平臺(tái)所打造的版本,雖然畫(huà)面不錯(cuò),但與廠商交涉的過(guò)程不是那麼順利。就在當(dāng)時(shí),團(tuán)隊(duì)也剛好經(jīng)歷手機(jī)遊戲崛起的時(shí)間點(diǎn),因此製作人便提出想要改成在手機(jī)上製作的想法。
但當(dāng)時(shí)擔(dān)任主程式的
鐘志遠(yuǎn)認(rèn)為兩個(gè)平臺(tái)特性相差太多,這樣的作法根本不可行,便強(qiáng)力否決掉這項(xiàng)提議。為了改變鐘志遠(yuǎn)的成見(jiàn),團(tuán)隊(duì)中的主美術(shù) QQ 利用手頭上僅有的資源,打造了一個(gè)在手機(jī)上運(yùn)行的 Demo,證明即使在手機(jī)上也可以呈現(xiàn)不錯(cuò)的效果,也因此讓鐘志遠(yuǎn)發(fā)現(xiàn)自己下的決定太過(guò)武斷,狠狠地被打臉。現(xiàn)在回頭,鐘志遠(yuǎn)非常感謝有了 QQ 的建議,否則便不會(huì)有手機(jī)版《Implosion》的誕生。
以剛才的例子來(lái)說(shuō),鐘志遠(yuǎn)認(rèn)為當(dāng)初在討論的時(shí)候應(yīng)該好好去分析前因後果,而不是依賴直覺(jué)去下決定,這樣容易產(chǎn)生盲點(diǎn)。很多人常常說(shuō)專業(yè)是如何地不被尊重,但其實(shí)專業(yè)也是有盲點(diǎn),檢討自己也最困難。
另外一個(gè)導(dǎo)致專業(yè)無(wú)法運(yùn)作的,則是太過(guò)專注會(huì)導(dǎo)致專業(yè)人員無(wú)法接受或了解外來(lái)的有效建議,或是無(wú)法做出比眼前結(jié)果更好的決定。以下圖來(lái)解釋的話,若是從起點(diǎn)開(kāi)始往右,若是只專注在局部,那最多可能只能停留在 A 點(diǎn),而無(wú)法更上層樓至更高的 B 點(diǎn)。
許多人往往都只看見(jiàn)自己跟眼前那一部分
企劃、美術(shù)與程式都有各自想要追求的東西,鐘志遠(yuǎn)認(rèn)為這就是所謂的「局部最佳問(wèn)題」。他認(rèn)為一款好的遊戲不一定要在每個(gè)環(huán)節(jié)都追求到極致。但當(dāng)專精不同領(lǐng)域的成員在討論一件事情的時(shí)候,彼此之間提出的問(wèn)題卻可能會(huì)激怒對(duì)方,衍生出「專業(yè) vs 非專業(yè)」的狀況。
這時(shí)為了找到平衡點(diǎn),了解到什麼樣的問(wèn)題「我」才能夠提出建議?鐘志遠(yuǎn)認(rèn)為團(tuán)隊(duì)成員應(yīng)該要有共識(shí),了解到「當(dāng)非專業(yè)的人發(fā)現(xiàn)妳的問(wèn)題時(shí),並不是因?yàn)樗麄儽饶銋柡Γ且驗(yàn)槟阏诮鉀Q眼前正前方的問(wèn)題,你把背後留給他們掩護(hù)」。有了這樣的信任,團(tuán)隊(duì)才能啟動(dòng)改進(jìn)的循環(huán),讓團(tuán)隊(duì)愈來(lái)愈好。
總結(jié)
一個(gè)優(yōu)秀的團(tuán)隊(duì)並不是遵守 Scrum 的教條與規(guī)則就好,而是需要可以不停地改進(jìn)自身運(yùn)作效率,一切都操之在團(tuán)隊(duì)的手中。
遊戲開(kāi)發(fā)沒(méi)有真理,鐘志遠(yuǎn)表示只要能讓遊戲變得更好,任何方法他都願(yuàn)意去嘗試。同時(shí)他也希望藉由這次的分享,讓更多的臺(tái)灣團(tuán)隊(duì)在下週為自己的專案所努力的時(shí)候,可以思考改進(jìn)的方法,進(jìn)而讓臺(tái)灣遊戲產(chǎn)業(yè)更加進(jìn)步。