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