看板 GameDesign 關於我們 聯絡資訊
timeslicing算是我進入業界一開始接觸到的技巧之一吧 非常實用且幾乎每天都會摸到 簡單來說就是有必須反覆執行的輕量批次邏輯 不用每個frame全部執行,可以分多個frame執行,分擔負擔 像是100個NPC不用每個frame都全部執行,每frame處理20個可省下80%決策運算時間 反映NPC決策的動畫層,因為與決策層中間透過介面溝通 這種幾個frame決策延遲並不會被玩家注意到 (除非你在做無法容忍延遲的格鬥遊戲,那你是要100個NPC幹嘛啦XD) 時域切割 同步/非同步 的 資料讀取輸入/儲存輸出,又有四種排列組合 本文有精美動畫供參考 :) 那就廢話不多說了(好像已經講了一堆) 連結在此 http://wp.me/p4mzke-14V 動畫生成原始碼在此 https://github.com/TheAllenChou/timeslicing 這是遊戲程式系列文的一部分 http://allenchou.net/game-programming-series/ 請多指教 :) -- Web http://AllenChou.net Twitter http://twitter.com/TheAllenChou LinkedIn http://linkedin.com/in/MingLunChou -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 104.174.112.138 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1490248946.A.C95.html ※ 編輯: cjcat2266 (104.174.112.138), 03/23/2017 14:04:36
dreamnook: 03/23 14:11
※ 編輯: cjcat2266 (104.174.112.138), 03/23/2017 14:42:49
cowbaying: 這個技巧應該一堆人不曉得 不然國產遊戲效能不會悲劇 03/23 16:53
cowbaying: 這麼長一段時間 XDDD 03/23 16:54
cowbaying: 這個技巧可以算是執行緒的延伸概念 03/23 16:55
laikyo: 有用推 03/23 17:17
LayerZ: 沒到效能瓶頸應該都不會去試這個吧XD,而且瓶頸與其在計算 03/23 17:24
沒有喔,一般是稍微有規模的系統,一開始就會用這個模式 運算資源永遠嫌不夠,所以初始規劃就要使用可以隨時調整資源使用量的設計
zseineo: 推 03/23 17:24
LayerZ: 上,傳輸上反而更大,大概是mmo/家機環境差別 03/23 17:24
LayerZ: 而且,這東西意外的讓npc有點人味,看到目標還有點反應延 03/23 17:25
LayerZ: 遲好微妙XD 03/23 17:25
文中動畫其實有故意放慢了,一般不會讓近身NPC閒置超過3個frames不跑決定邏輯 NPC最高層決定邏輯需要的較低層邏輯,可以用稍微低一點的頻率更新 像我們家的NPC每3個frame做一次決定,但一個frame只讓一個NPC尋徑這樣 真的要故意延遲和錯開行動時間點,要額外使用time-staggering(時域錯位) 之前有篇短文#1MlhsH3g提到,遊戲程式系列有計畫之後要寫篇完整的
cowbaying: 到處都是效能瓶頸阿 說真的我覺得國產遊戲真的只會硬 03/23 21:42
cowbaying: 幹所有功能 看看那精美的仙劍六 03/23 21:43
搞不好跟國產沒關係,就是剛好請到的programmer技術和經驗不夠這樣 或者是production等不及優化,趕鴨子上架 看看那個在PS4上面跑10fps還拿出來賣的Litchdom Battlemage
eugenelinrmx: 好文推! 03/23 21:44
LayerZ: 了解,一開始架構就做好了 03/23 22:17
※ 編輯: cjcat2266 (160.33.43.15), 03/24/2017 02:18:39
Sidney0503: 03/24 06:07
riveranb: 推! 03/24 06:18
Frostx: 實用推,感謝CJ花時間分享! 03/24 09:48
RadiationXen: 實用推 03/24 10:48
windkey: 感謝分享~ 03/26 00:06
※ 編輯: cjcat2266 (104.174.112.138), 03/26/2017 10:02:04
MADAOTW: 感恩 03/26 18:00
sakyer: 感謝分享 03/27 14:19
啊,batched algorithms翻成"平行邏輯"不太對 應該翻成"批次演算法"或"批次邏輯"才對 ※ 編輯: cjcat2266 (104.174.112.138), 03/27/2017 15:56:19
a83a83cjcj: 10幾20fps的 Lichdom Battlemage 太性感,難得遇到平均 05/04 16:14
a83a83cjcj: 幀率低成這樣的現代家機遊戲 之前特價直接買來當寶XD 05/04 16:14
elfkiller: AI決策跟網路同步很常用這個技術 不要太看輕國產遊戲XD 05/24 21:25