[程式] 遊戲程式:批次邏輯的時域切割 (更正翻譯)

作者: cjcat2266 (CJ Cat)   2017-03-23 14:02:22
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/
請多指教 :)
作者: cowbaying (是在靠北喔)   2017-03-23 16:53:00
這個技巧應該一堆人不曉得 不然國產遊戲效能不會悲劇這麼長一段時間 XDDD這個技巧可以算是執行緒的延伸概念
作者: laikyo (六元)   2017-03-23 17:17:00
有用推
作者: LayerZ (無法如願)   2017-03-23 17:24:00
沒到效能瓶頸應該都不會去試這個吧XD,而且瓶頸與其在計算
作者: zseineo (Zany)   2017-03-23 17:24:00
作者: cowbaying (是在靠北喔)   2017-03-23 21:42:00
到處都是效能瓶頸阿 說真的我覺得國產遊戲真的只會硬幹所有功能 看看那精美的仙劍六
作者: eugenelinrmx   2017-03-23 21:44:00
好文推!
作者: LayerZ (無法如願)   2017-03-23 22:17:00
了解,一開始架構就做好了
作者: riveranb (River)   2017-03-24 06:18:00
推!
作者: Frostx (Naga)   2017-03-24 09:48:00
實用推,感謝CJ花時間分享!
作者: RadiationXen (Xen)   2017-03-24 10:48:00
實用推
作者: windkey (揪嚕嚕)   2017-03-26 00:06:00
感謝分享~
作者: MADAOTW (MADAO)   2017-03-26 18:00:00
感恩
作者: sakyer (石理克)   2017-03-27 14:19:00
感謝分享
作者: a83a83cjcj (馬馬虎虎)   2017-05-04 16:14:00
10幾20fps的 Lichdom Battlemage 太性感,難得遇到平均幀率低成這樣的現代家機遊戲 之前特價直接買來當寶XD
作者: elfkiller (沒有暱稱)   2017-05-24 21:25:00
AI決策跟網路同步很常用這個技術 不要太看輕國產遊戲XD

Links booklink

Contact Us: admin [ a t ] ucptt.com