作者f111222003 (lai1003)
看板GameDesign
标题[请益] real-time游戏延迟问题
时间Sun Mar 22 00:38:15 2015
如题
小弟想做个两人对战的游戏
内容类似桌球对打 雏形做出来了
但是碰到些问题,如 因网路延迟 造成两方对球的判断不一
可能甲方把球回击後 藉伺服器把资料传给乙方
但是因为有时间差 乙方的球已经显示出界了,
是需要再同步球的位置吗? 可是感觉显示起来又会很突兀
刚刚在play商店发现一款对战桌球,
感觉大致上解决了我上面问的问题,
想请问是如何做到的
手机排版 不好意思 谢谢各位
--
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.164.90.105
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1426955897.A.C9F.html
1F:推 cjcat2266: 整场游戏在伺服器上进行,伺服器推送游戏现况给双方?03/22 01:03
这样变成甲做回球动作>资料传给伺服器>更新球 容易让能打到的球变成没打到
2F:推 scars: 复杂一点就根据延迟状况调整球速 球过去比较慢 过来比较快03/22 07:26
不太懂 是指让两方装置看起来位置不同?(我这边看比较快时,你看起来比较慢)
※ 编辑: f111222003 (42.67.31.105), 03/22/2015 08:36:41
3F:→ KanoLoa: 意思是击球的时候加个缓冲,另一端准备好接球了再给他03/22 09:10
4F:→ KanoLoa: 再加个平滑预处理就会很顺畅的感觉了03/22 09:10
5F:→ KanoLoa: 缺点为网路不顺时会整体变慢动作03/22 09:11
6F:推 cowbaying: 你可以把球的动态用向量方程式来显示03/22 11:42
7F:→ cowbaying: 或者每个loop就送一次座标03/22 11:42
8F:→ cowbaying: 更甚者 由伺服端统一sync球的位置也可以03/22 11:43
那能请问PC版大型线上游戏 不知都是如何解决这种问题的呢?
※ 编辑: f111222003 (42.70.55.183), 03/23/2015 18:56:13
9F:推 akilight: 简单一点的作法就是server送向量方程+定期sync位置03/23 21:03
10F:→ akilight: 玩家客户端自己这边判定复杂的碰撞等,server简单判定03/23 21:04
11F:→ akilight: 以上这种作法是WOW类型wsad移动会采取的方式03/23 21:04
12F:→ akilight: 如果是滑鼠点击移动,那通常都是用a*简单判定路径03/23 21:05
13F:→ akilight: 再由server送路径资料回来,这方法还会搭配区域切分03/23 21:05
14F:→ akilight: 来减轻server的负担03/23 21:05
谢谢各位大大的解说 多认识很多东西 我会在努力试试的!
※ 编辑: f111222003 (1.164.90.105), 03/24/2015 02:01:52
15F:推 akilight: 不过以上MMO的作法其实不一定适合你现在做的东西 03/24 09:52
16F:→ akilight: 主要是对於位子的容错性、补偿机制,MMO比较不在意即时 03/24 09:53
17F:→ akilight: 的精准程度,其他客户端看到的误差容忍度比较大 03/24 09:54
18F:推 akilight: 你比较需要的应该是找类似FPS之类的连线机制来看 03/24 10:00