[程式] 加速实做提问

楼主: 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