《泰坦黎明》是通過什麼優化手段在 iOS 上達到千人戰效果的?

遊戲在沙特區的下載地址:https://itunes.apple.com/sa/app/dawn-of-titans/id911800950?mt=8

我下載玩了下,場面真的很宏大。遊戲是使用自研引擎開發的。那麼它是使用了什麼優化手段可以達到這樣的效果的呢?(同屏千人,3D,iPhone5戰鬥流暢)。 Batch?LOD?Instance Draw? Metal技術?或者是某種黑科技?

使用Unity或者是UE4可能達到這樣的效果嗎?

我知道類似的遊戲(但是要弱化一個量級)的是《啪啪三國》,它是用Unity做的,主要優化手段應該是模型batch,而不是傳統的一個小兵一個skinnedmeshrender。


更新: 我挑了幾個感興趣的點分析了下,具體見 http://qiankanglai.me/2015/09/04/dawn-of-titans/

簡要答案是:泰坦是模型,小兵是片兒(播放的序列幀

小兵的序列幀喪心病狂……


初步觀察來看,他的小兵模型是極為簡單的,應該還不是上邊說的一個方陣綁多個骨骼的處理

就是一個方陣中多個單位,骨骼是獨立的

但是方陣來處理移動 碰撞 傷害計算

單個骨骼的攻擊 死亡 攻擊 碰撞什麼的都不是真實的,表現而已

這樣圖形的繪製沒有省下來,但是由於模型簡單,應該也沒有很費

而碰撞 ai這些的計算是大量省下來了

也是因為這樣模型就太顯糙了,跟遊戲畫面的追求不符,所以他們加了泰坦這麼個玩意


沒玩過,以前《幕府將軍》前後幾代千人戰主要使用如下幾個優化方法:

1. 紋理動畫:

角色直接渲染成紋理,使用紋理動畫,billboard 一直面向玩家,每個角色就是一個三角形,渲染個7,8千人一點問題都沒有。

2. 角色 LOD:

減面評估:模型裡面所找到一個頂點,使得刪除該頂點後,模型形變最小。

動態減面:實時計算,讓該刪除的頂點隨距離平滑下移到一條直線上再刪除,看不出突變效果

靜態減面:提前內存中根據高摸計算中中模低模,跟 mipmap一樣,根據距離顯示,會輕微突變

3. 渲染優化:

還有雖然角色多,但是兵種有限,很多人動作還相同,且衣服一樣 (不象mmo每人穿不同衣服)。根據這樣的特性,優化紋理,優化模型,能讓 dp 數大大減少,所以渲染很多角色也不難。


啪啪的效果......

好吧 不扯蛋,

之前有規划過這麼一個遊戲,不過後來沒弄下去,不過技術是研究過滴。

這種做法關鍵就是 ,其實沒有這麼多人,所以drawcall很低的

一個方陣是一個人,綁了較多骨骼,這麼能解釋清楚了吧。

(人群的隨機移動是個問題,不知道這家怎麼解決的, 難道真的個個AI... 那我就只好落荒而逃了)


虛幻有類似的功能,相關文檔如下。可做參考。

UDK | CrowdSystemCH


小兵都是面片,解析度也很低,同樣兵種數十個百個兵,合併下 mesh 一個 dc 就能畫出來了,性能瓶頸還是在碰撞檢測的計算上。


1000 VS 1000算什麼?

20年前主頻只有40MHZ的遊戲機就實現過,拿這個當賣點的《鬼魂力量》被我們笑話成螞蟻打架。

一個士兵就是一個多邊形,上面加個動態貼圖就行了。

主頻上G的手機還不是閉眼就能做出來?你需要的話給你做30萬個都沒問題。


題主天真的可愛。。。一個小兵就是一個多邊形貼個圖,以現在手機的處理能力實在不在話下。。。其實你看看別的3d遊戲的場景,一棵樹一個分叉一個貼圖你都能理解為是一個小兵。。比這畫面還強的遊戲多得多了,你不覺得罷了。。。

而且小兵的動作傷害應該都不是單獨計算的,況且就算單獨計算,也不算是有多難。


進這個問題就想找個圖看看…沒找到


這個廣告 有創意、、、


推薦閱讀:

CoCos2D-X 2.2遊戲卡死調試方案求解?
iOS 如何判斷用戶是購買正版的用戶還是越獄用戶?
如何升級iOS 9?
iphone圖庫打開為什麼縮略圖不需要緩衝載入時間?

TAG:蘋果公司AppleInc | 遊戲開發 | iOS開發 | 手機遊戲 | 泰坦黎明DawnofTitans |