[程式] 加速實做提問

作者: bearnone (無)   2016-05-07 13:01:53
請問一般遊戲內的加術技能(攻擊加速、行走速度)都是如何實現的?
知道遊戲內都有所謂的game loop並且用tickrate去決定更新速度或動作,
目前的想法是,
當偵測到發生加速事件(狀態)的時候,
就去修改目前的tickrate來達到加速的效果?
可是這樣好像是改變了整個game loop的tickrate...
希望可以用Server的觀點去幫我解說(市面上的書籍或參考大多都是Client端切入)
作者: johnny94 (32767)   2016-05-07 13:11:00
動畫本身也有 frame rate 透過改變動畫自己的 frame rate 就有加速效果
作者: cooper6334 (庫波)   2016-05-07 13:38:00
遊戲固定60f,攻擊從10f變5f就加速啦
作者: cjcat2266 (CJ Cat)   2016-05-07 14:51:00
不改變tick rate,改變遊戲內部delta time (dt)
作者: LayerZ (無法如願)   2016-05-07 17:27:00
把加速切開來分析不會改變tick rate,不然大量加速的時候效能會爆炸移動加速 每單位移動距離增加攻擊加速 攻擊延遲減少動畫演出加速 - 縮短循環時間
作者: linjack (嗯)   2016-05-07 20:33:00
該 dt 應該是比較正確的做法,除非有很獨特的需求
作者: holymars   2016-05-08 03:01:00
改dt,然後要注意某些time trigger的寫法,不要因為dt太大直接被跳過沒觸發另外不懂你說的server觀點是什麼意思,server並不負責rendering..
作者: bearnone (無)   2016-05-08 11:28:00
謝謝提供delta time關鍵字, 目前會先研究看看如何實做Server觀點是指, 我想要做了解Server的運作Client不由我負責, 所以我也不會處理繪圖相關的問題因此問題應該是Server接收到Client的加速指令後Server與Client會各自做加速的部分Server應該如何去處理加速這個議題
作者: LayerZ (無法如願)   2016-05-08 12:43:00
我說得就是server部分了對server來說只是各種時間參數依照加速微調而已----不要加時間兩個字比較好XD

Links booklink

Contact Us: admin [ a t ] ucptt.com