作者bearnone (無)
看板GameDesign
標題[程式] 加速實做提問
時間Sat May 7 13:01:53 2016
請問一般遊戲內的加術技能(攻擊加速、行走速度)都是如何實現的?
知道遊戲內都有所謂的game loop並且用tickrate去決定更新速度或動作,
目前的想法是,
當偵測到發生加速事件(狀態)的時候,
就去修改目前的tickrate來達到加速的效果?
可是這樣好像是改變了整個game loop的tickrate...
希望可以用Server的觀點去幫我解說(市面上的書籍或參考大多都是Client端切入)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.200.180
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1462597315.A.E32.html
1F:→ johnny94: 動畫本身也有 frame rate 透過改變動畫自己的 frame rat 05/07 13:11
2F:→ johnny94: e 就有加速效果 05/07 13:11
3F:推 cooper6334: 遊戲固定60f,攻擊從10f變5f就加速啦 05/07 13:38
4F:推 cjcat2266: 不改變tick rate,改變遊戲內部delta time (dt) 05/07 14:51
5F:→ LayerZ: 把加速切開來分析 05/07 17:27
6F:→ LayerZ: 不會改變tick rate,不然大量加速的時候效能會爆炸 05/07 17:28
7F:→ LayerZ: 移動加速 每單位移動距離增加 05/07 17:32
8F:→ LayerZ: 攻擊加速 攻擊延遲減少 05/07 17:32
9F:→ LayerZ: 動畫演出加速 - 縮短循環時間 05/07 17:35
10F:推 linjack: 該 dt 應該是比較正確的做法,除非有很獨特的需求 05/07 20:33
11F:推 holymars: 改dt,然後要注意某些time trigger的寫法,不要因為dt太 05/08 03:01
12F:→ holymars: 大直接被跳過沒觸發 05/08 03:02
13F:→ holymars: 另外不懂你說的server觀點是什麼意思,server並不負責 05/08 03:03
14F:→ holymars: rendering.. 05/08 03:03
15F:→ bearnone: 謝謝提供delta time關鍵字, 目前會先研究看看如何實做 05/08 11:28
16F:→ bearnone: Server觀點是指, 我想要做了解Server的運作 05/08 11:30
17F:→ bearnone: Client不由我負責, 所以我也不會處理繪圖相關的問題 05/08 11:31
18F:→ bearnone: 因此問題應該是Server接收到Client的加速指令後 05/08 11:31
19F:→ bearnone: Server與Client會各自做加速的部分 05/08 11:33
20F:→ bearnone: Server應該如何去處理加速這個議題 05/08 11:34
21F:→ LayerZ: 我說得就是server部分了 05/08 12:43
22F:→ LayerZ: 對server來說只是各種時間參數依照加速微調而已 05/08 12:43
23F:→ LayerZ: ----不要加時間兩個字比較好XD 05/08 12:45