作者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/cn.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