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