近些年來(lái),全球變暖等地球氣候問(wèn)題一直都在引起人們的關(guān)注。因此也有不少小伙伴們?cè)谧鲞@樣的設(shè)想:假如真的因?yàn)闅夂蜃兣F矫嫔仙覀兊氖澜缬謺?huì)變得怎么樣呢?
所有這些問(wèn)題在《Metropolis》這款游戲中全部成為了現(xiàn)實(shí):所有的城市都會(huì)變成水城威尼斯,高聳入云的摩天大樓變成了孤島,被海水形成的水網(wǎng)阻擋,需要通過(guò)天橋連結(jié)。而人類(lèi)想要通過(guò)這些天橋并不是一件容易的事情,他們需要解謎密碼,時(shí)不時(shí)還要面對(duì)怪物的追擊。
這次的開(kāi)發(fā)團(tuán)隊(duì)成員可不簡(jiǎn)單,不僅有計(jì)算機(jī)專(zhuān)業(yè)的大神,還有資深的建筑設(shè)計(jì)師,更有來(lái)自運(yùn)籌學(xué)專(zhuān)業(yè)、戰(zhàn)略傳播專(zhuān)業(yè)這樣的學(xué)霸。
當(dāng)這些各領(lǐng)域的優(yōu)秀人才齊聚一堂,很難說(shuō)不能發(fā)生化學(xué)反應(yīng)。更何況,《Metropolis》是一款音樂(lè)動(dòng)作冒險(xiǎn)類(lèi)游戲,包含解謎、動(dòng)作、音樂(lè)交互三種元素,簡(jiǎn)直不可思議,那么團(tuán)隊(duì)的 5 位成員是怎么樣在短暫的時(shí)間內(nèi)利用 Unity 引擎將這三種玩法結(jié)合起來(lái)的呢?
游戲建模和場(chǎng)景的實(shí)現(xiàn)
和建筑項(xiàng)目一樣,《Metropolis》團(tuán)隊(duì)在工作時(shí)也采用了相似的流程,吳同學(xué)在完成場(chǎng)景 3D 建模和迷宮關(guān)卡設(shè)定后,就將這些工程打包分發(fā)給小組的其他成員,由他們分別完成各自模塊的設(shè)計(jì)。
據(jù)吳同學(xué)介紹,在設(shè)定游戲初期,他們?cè)谝?guī)劃的城市模型中挑選了三棟樓用來(lái)細(xì)化游戲場(chǎng)景。從而將游戲機(jī)制設(shè)定為室外——室內(nèi)——室外——室內(nèi)的場(chǎng)景走向。但每個(gè)室內(nèi)與室外的場(chǎng)景都是相對(duì)獨(dú)立的。
室內(nèi)與室外場(chǎng)景的反復(fù)穿插連接形成了一個(gè)類(lèi)似于開(kāi)放世界的游戲模式,這樣帶給玩家一種超乎想象的游戲大世界。
團(tuán)隊(duì)成員通過(guò)不斷的迭代升級(jí)賦予游戲場(chǎng)景更多的細(xì)節(jié)和功能,來(lái)增加新的玩法,比如在天橋上增加地刺、迷宮、解密等更多的功能,在室內(nèi)場(chǎng)景增加 BOSS 戰(zhàn)等。
但是由于項(xiàng)目制作的時(shí)間有限,要在短時(shí)間內(nèi)實(shí)現(xiàn)如此之多的內(nèi)容和畫(huà)面效果,光靠 5 名成員快馬加鞭的加班還是遠(yuǎn)遠(yuǎn)不夠的。
好在 Unity 引擎自帶的Unity Asset Store 資源商店幫到了他們,團(tuán)隊(duì)在自行搭建模型場(chǎng)景時(shí)使用了 Asset Store 中的一些商店中的插件和裝飾模型,比如《Metropolis》游戲中用來(lái)序列化數(shù)據(jù)的 Odin 插件,用來(lái)構(gòu)建狀態(tài)機(jī)和對(duì)話(huà)樹(shù)的 Nodecanvas 插件,以及方便創(chuàng)作者實(shí)現(xiàn)動(dòng)畫(huà)效果的 Dotween 插件等等,這些便利的第三方插件,節(jié)省了非核心內(nèi)容的制作時(shí)間,把時(shí)間用在了刀刃上,豐富了游戲的內(nèi)容和可玩性。
解謎機(jī)關(guān)的實(shí)現(xiàn)
雖然市面上解謎游戲的玩法有很多,但是《Metropolis》作為一款快節(jié)奏的動(dòng)作游戲,必然要遵循快節(jié)奏的原則。游戲每關(guān)的解謎方式是不同的,躲避陷阱、走路、劈砍、操縱箱子甚至是通過(guò)開(kāi)關(guān)來(lái)移動(dòng)平臺(tái)都可以成為解謎玩法。
負(fù)責(zé)迷宮系統(tǒng)的李同學(xué)介紹,在設(shè)計(jì)移動(dòng)平臺(tái)的解謎玩法時(shí),他將三維模型轉(zhuǎn)化成二維的平面圖進(jìn)行設(shè)計(jì),每個(gè)開(kāi)關(guān)都關(guān)聯(lián)著相應(yīng)的平臺(tái)。
而在制作推箱子解謎的玩法時(shí),李同學(xué)在實(shí)現(xiàn)過(guò)程中采用了面向?qū)ο蟮姆绞剑ㄟ^(guò)碰撞體來(lái)判斷箱子與角色的狀態(tài)信息,簡(jiǎn)化了邏輯,并利用 Odin 插件制作了可視化關(guān)卡編輯器,可以快速制作更多的關(guān)卡。
音樂(lè)與建筑的交互和AI
《Metropolis》中的建筑區(qū)域有著獨(dú)特的音樂(lè)動(dòng)畫(huà)效果,這也是這款游戲的一大特色。
這項(xiàng)功能是由歐陽(yáng)同學(xué)通過(guò) Unity 編輯器用代碼來(lái)實(shí)現(xiàn),他把擁有 22000 赫茲的頻率,分為 8 個(gè)區(qū),把每個(gè)區(qū)不同的平均值求出來(lái),把他們?cè)O(shè)置為頻率比較低的音和頻率比較高的音,當(dāng)它們達(dá)到一個(gè)值的時(shí)候,就會(huì)讓它們進(jìn)入播放狀態(tài),隨即產(chǎn)生動(dòng)畫(huà)效果。由此實(shí)現(xiàn)了場(chǎng)景和音樂(lè)的交互。
而在游戲的 AI 部分,開(kāi)發(fā)者用了類(lèi)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和多狀態(tài)機(jī)交互來(lái)完成怪物的攻擊系統(tǒng)。
利用Unity Stylized Water 2插件實(shí)現(xiàn)水面表現(xiàn)
為了呈現(xiàn)出水中城的世界觀,《Metropolis》團(tuán)隊(duì)專(zhuān)門(mén)研究了Unity Stylized Water 插件的原理,李浩宇同學(xué)說(shuō):“這個(gè)插件有內(nèi)置的水位探測(cè)器,可以獲得當(dāng)前位置水位的高度值,進(jìn)而模擬物體的浮動(dòng)效果。對(duì)于較大的物體,把探測(cè)器放在邊上,可以使得效果更加真實(shí)。”
而此《Metropolis》項(xiàng)目的開(kāi)發(fā)經(jīng)歷,也使得每一個(gè)項(xiàng)目成員都積累了寶貴的項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn),尤其是在團(tuán)隊(duì)成員的分工、協(xié)作、彼此配合方面。
整個(gè)游戲項(xiàng)目,團(tuán)隊(duì)成員通過(guò)統(tǒng)一的坐標(biāo)系和事件坐標(biāo)系統(tǒng)進(jìn)行標(biāo)準(zhǔn)化管理,項(xiàng)目得到了很好的拆分,每個(gè)人的工作彼此獨(dú)立,可以同步進(jìn)行;又保持著很好的關(guān)聯(lián)性,使得整體的工作效率和產(chǎn)能都保持在一個(gè)較高的水平上,這也是《Metropolis》團(tuán)隊(duì)最突出的地方。