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/
請多指教 :)