久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

海量怪物,、單局15分鐘,,《彈殼特攻隊(duì)》開發(fā)技術(shù)分享

 秋刀錄 2022-10-11 發(fā)布于北京

本文首發(fā)“Unity官方平臺(tái)”公眾號

9 月初,由海彼游戲研運(yùn)的 Rogulike 休閑游戲,,《彈殼特攻隊(duì)》,,正式全平臺(tái)公測,隨即就成為了業(yè)內(nèi)焦點(diǎn),。該作不僅一度沖擊暢銷榜前 10,,更是實(shí)現(xiàn)了月流水破億的好成績!

圖片

《彈殼特攻隊(duì)》是一款畫風(fēng)簡潔卡通,,操作簡單的 2D Roguelike 割草手游,。玩家在大地圖中,依靠升級各類武器和技能,,來應(yīng)對鋪天蓋地而來的,、密密麻麻的怪物大軍,再輔以傷害顯示,,給玩家?guī)砹藰O具爽感的游戲體驗(yàn),。

海量的怪物大軍是爽快戰(zhàn)斗的核心之一,但隨之而來的就是性能難題,。海彼游戲是如何攻克的呢?我們采訪到了游戲主創(chuàng)團(tuán)隊(duì),,讓他來為大家解答,。

首先,跟大家介紹一下《彈殼特攻隊(duì)》的團(tuán)隊(duì)和游戲創(chuàng)意來源吧,。

《彈殼特攻隊(duì)》的團(tuán)隊(duì)成員都是在游戲行業(yè)打拼多年的“老兵”,,不過長時(shí)間從事游戲行業(yè)并沒有磨滅大家對游戲的熱情,相反讓大家對于游戲可玩性有了更為苛刻的要求,,可以說是一群對游戲有著極端熱愛的“偏執(zhí)狂”,,如果一個(gè)玩法在團(tuán)隊(duì)內(nèi)沒有得到所有人的認(rèn)可,是不可能進(jìn)入到測試環(huán)節(jié)的,,甚至老板可能都不會(huì)見到,。

圖片

研發(fā)團(tuán)隊(duì)合影

《彈殼特攻隊(duì)》的創(chuàng)意來源其實(shí)有很多,項(xiàng)目初期我們曾經(jīng)做過類似“現(xiàn)代熱兵器”弓箭傳說的玩法,,希望通過重新設(shè)計(jì)武器/技能,,調(diào)整視角關(guān)卡來給玩家截然不同的體驗(yàn)。在嘗試過多個(gè)版本后,,我們逐漸摸索出來了現(xiàn)代熱兵器戰(zhàn)斗和奇幻戰(zhàn)斗的區(qū)別,。對于熱兵器來說,戰(zhàn)況更激烈,、爽快,、火爆,,而且對熱兵器的打擊感要求很高,比如子彈命中金屬單位火花,,大量的爆炸,。整個(gè)戰(zhàn)斗場景里應(yīng)該有大量彈幕、敵軍單位,。像早期的《血腥大地》(Crimsonland )和《孤膽槍手》(Alien Shooter),,那種大量怪物不斷出現(xiàn)一直給與玩家壓力感的體驗(yàn)是我們 Demo 后期嘗試的方向,不過直到 steam 平臺(tái)的《吸血鬼幸存者》出現(xiàn)才使我們方案最終定版,。Roguelike 玩法一直是我們團(tuán)隊(duì)所擅長的領(lǐng)域,,而《吸血鬼幸存者》驗(yàn)證了“Roguelike 生存”這種模式是可以得到玩家和市場認(rèn)可的,所以方案確定下來后我們很快就做出了玩法原型,。

我們的游戲主要是面向移動(dòng)端,,在經(jīng)過 Demo 原型的分析和體驗(yàn)后,我們對玩法進(jìn)行了大量的迭代調(diào)整:

我們把單局的時(shí)長控制在了 15 分鐘,,而且加入了戰(zhàn)斗自動(dòng)存檔,,使游戲更契合移動(dòng)端用戶的使用習(xí)慣。同時(shí),,整體時(shí)間的調(diào)整也會(huì)引起其他的調(diào)整,,時(shí)長縮短后在戰(zhàn)斗節(jié)奏也更加緊湊、刺激,,讓玩家的注意力更加集中,。

圖片

我們保留了《弓箭傳說》的豎屏視角和可以單手操控的特性。為了讓體驗(yàn)更好,,我們加了很多預(yù)警,,提示等一些小細(xì)節(jié)。這樣讓玩家能夠?qū)磳⒌絹淼奶魬?zhàn)有一些預(yù)期,,不會(huì)措手不及,。

除了玩法優(yōu)化,原型 Demo 最大的挑戰(zhàn)是性能,,我們希望盡可能保證同屏怪物的數(shù)量,,讓玩家能夠體驗(yàn)到“爽快割草”、“極限求生”,。為此我們的技術(shù)嘗試了很多方向,。最終我們選擇了 ECS 架構(gòu)。在整個(gè)團(tuán)隊(duì)的努力下,,最終,,原型在性能上達(dá)到了我們的預(yù)期。

后來原型的玩法在團(tuán)隊(duì)內(nèi)進(jìn)行了很多的打磨,,又細(xì)微的調(diào)整了一些玩法內(nèi)容,。直到所有團(tuán)隊(duì)成員都認(rèn)為游戲“好玩”了,,我們才進(jìn)行了首次小規(guī)模數(shù)據(jù)測試。這次測試結(jié)果非常不錯(cuò),,但是大家有些方面并沒有非常滿意,,因此我們后續(xù)又補(bǔ)充了一些玩法和系統(tǒng),直到上線還有許多我們想要做的東西沒有時(shí)間加進(jìn)來,。不過總體來說,,《彈殼特攻隊(duì)》從確定玩法到上線測試然后推廣都非常的順利。

《彈殼特攻隊(duì)》游戲場景中有大量的 object,,請問團(tuán)隊(duì)是如何做管理的呢,?同時(shí)我們了解到,該游戲使用了 Unity 的 DOTS 架構(gòu),,可以具體介紹一下團(tuán)隊(duì)是如何使用此架構(gòu)的嗎,?

海量怪物圍過來的體驗(yàn)非常棒,但是性能卻成為了我們不得不考慮的一個(gè)難題,。所以,,當(dāng)我們定下來這個(gè)游戲模式的時(shí)候,就著手準(zhǔn)備了,。在早期版本中,,我們嘗試過用之前寫的底層來做 demo,但是當(dāng)怪物數(shù)量到一個(gè)量級的時(shí)候性能下降的很嚴(yán)重,。后來我們技術(shù)討論的時(shí)候想起了之前 Unity 技術(shù)專家來我們公司做技術(shù)分享的時(shí)候提到的 DOTS 技術(shù),,在移動(dòng)端實(shí)現(xiàn)了大量單位同屏。所以決定轉(zhuǎn)用 DOTS 相關(guān)的技術(shù)來進(jìn)行 demo 的開發(fā),。

最開始我們是非常忐忑的,從 OOP 的思想轉(zhuǎn)換到 DOP 思想,,對于我們技術(shù)人員來說是一個(gè)新挑戰(zhàn),,再加上當(dāng)時(shí)我們找到 DOTS 相關(guān)的資料也不多,所以只能一步一步嘗試,。我們當(dāng)時(shí)找到的比較完善的 DOTS 版本是 0.17,,按照最初的想法摸索搭建了一個(gè)非常小的 demo。沒想到 DOTS 給了我們一個(gè)驚喜,,新demo做性能測試時(shí),,我們把數(shù)量參數(shù)調(diào)整到幾千只,都很順暢得跑下來了,。為了驗(yàn)證我們還特意嘗試了一些 15-16 年的老機(jī)型,,雖然開始有輕微掉幀的表現(xiàn),但是也沒壓力跑完了,。雖然 demo 的邏輯沒正式版本那么復(fù)雜,,但是實(shí)現(xiàn)了遠(yuǎn)超需求數(shù)量的怪物在低端機(jī)型上順利體驗(yàn),,這是我們意想不到的。

其實(shí),,我們首次上線測試開始的時(shí)候,,才趕上最新的 0.50 的發(fā)布,但是需要做的東西太多,,已經(jīng)來不及升級了,,索性就一直在用 0.17。關(guān)于自動(dòng)更新方面,,我們項(xiàng)目暫時(shí)還沒加入,。是有后續(xù)的打算。現(xiàn)在還沒有具體的確定方案,。

圖片

我們的核心需求是實(shí)現(xiàn)大量目標(biāo)在同一場景出現(xiàn),。在設(shè)計(jì)上我們把游戲內(nèi)需要展示出的內(nèi)容拆分為 4 部分:單位實(shí)體(如玩家和怪物);子彈實(shí)體,;特效,;文字

在開發(fā)的時(shí)候我們也詢問了很多同行朋友的建議,,所以根據(jù)以上 4 部分的設(shè)計(jì)思路我們當(dāng)時(shí)嘗試了兩個(gè)方向:
圖片 Burst Job 自帶渲染管線

圖片 Entities HybridRenderer

這兩個(gè)組合各有利弊,,最開始的時(shí)候我們想用純 Entities 實(shí)現(xiàn)全部內(nèi)容,但是后來發(fā)現(xiàn),,有很多游戲內(nèi)較復(fù)雜的邏輯用 OOP 的思路開發(fā)和維護(hù)起來更容易,,再加上時(shí)間倉促,渲染方面想轉(zhuǎn) URP 有點(diǎn)來不及,。所以我們最后把這兩個(gè)方向結(jié)合了起來,,一部分邏輯內(nèi)容依然放在依然使用原有的 GameObject Monobehaviour。另一部分耗性能高的運(yùn)算邏輯則放在 DOTS 層,,充分利用 Entities 的多線程,。這種設(shè)計(jì)方式加上我們 TA 的渲染優(yōu)化,就實(shí)現(xiàn)了現(xiàn)在的游戲邏輯?,F(xiàn)在來看,,已經(jīng)有了不錯(cuò)的性能表現(xiàn),但是其實(shí)我們?nèi)匀徊挥X得滿意,,后續(xù)我們?nèi)匀粫?huì)保持對游戲性能的進(jìn)一步優(yōu)化,。

傷害飄字部分主要基于兩個(gè)方面來考慮, 一是以后可能需要圖片 文字或者其他多變的藝術(shù)化文字來豐富和迎合整個(gè)游戲的卡通化風(fēng)格,,所以需要一定的美術(shù)擴(kuò)展性,。二是希望能很少批次就能渲染所有文字,因?yàn)閭︼h字的特征是單個(gè)文字頂點(diǎn)少,但量特別大,。綜合考慮我們確定了圖片 GPUInstance 的方案,,這樣不僅滿足性能和效果的需求,還更方便我們當(dāng)時(shí)項(xiàng)目結(jié)構(gòu)的管理,。

圖片

DOTS 架構(gòu)上,,你們目前還有什么想要提升的方向嗎?在《彈殼特攻隊(duì)》后續(xù)的發(fā)布上有什么新的驚喜給到玩家嗎,?

首先還是先要贊一下 DOTS 架構(gòu)的巧妙設(shè)計(jì)和便捷,,這套架構(gòu)極大的降低了使用成本。由于 C# 作為高級編程語言封裝得太好,,所以大多開發(fā)者對 unsafe 并不是特別熟悉,,想要寫出高效且安全的指針內(nèi)存操作無疑增加了很大的難度。DOTS 架構(gòu)上手簡單,,而且在學(xué)習(xí) DOTS 框架的同時(shí)也會(huì)對內(nèi)存,、指針、尋址,、數(shù)據(jù)存儲(chǔ)方式等提供更深的理解,,有利于對計(jì)算機(jī)基礎(chǔ)的學(xué)習(xí)。

如果說還有需要提升的方向,,可能想到的是對 ECS 部分的優(yōu)化,。因?yàn)閭鹘y(tǒng) GameObject 使用的是面向?qū)ο缶幊痰姆绞剑?ECS 使用的是面向數(shù)據(jù)編程方式,,從而增加了上手難度,。同時(shí) ECS 本身存在很多獨(dú)有的寫法和命令,比如 WithoutBurst Run 操作等,,這些也會(huì)在學(xué)習(xí)初期造成一定的困擾,。所以我個(gè)人覺得如果能夠使用面向?qū)ο缶幊痰乃季S來寫面向數(shù)據(jù)的邏輯,才真真是極好的,。

圖片

比如在 MonoBehaviour 中開放一個(gè)類似于 SystemBase 的功能,,雖然沒有可以移除和添加的功能和便捷的擴(kuò)展性,但是也可以滿足一部分的開發(fā)需求,,并且可以更好的引導(dǎo)開發(fā)者將 ECS 和 GameObject 系統(tǒng)看做一個(gè)整體而不是兩個(gè)獨(dú)立的架構(gòu),從而引導(dǎo)學(xué)習(xí)和了解的興趣,。

對于后續(xù)版本發(fā)布,,驚喜肯定是有的,不過相應(yīng)的制作難度也非常大,,可能還需要玩家們耐心地等待一段時(shí)間,。可以稍微透露一下,,未來的版本中我們會(huì)加入實(shí)時(shí)組隊(duì)的相關(guān)玩法,,并且會(huì)強(qiáng)調(diào)團(tuán)隊(duì)配合和策略性,。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多