[请益] real-time游戏延迟问题

楼主: f111222003 (lai1003)   2015-03-22 00:38:15
如题
小弟想做个两人对战的游戏
内容类似台球对打 雏形做出来了
但是碰到些问题,如 因网络延迟 造成两方对球的判断不一
可能甲方把球回击后 藉服务器把资料传给乙方
但是因为有时间差 乙方的球已经显示出界了,
是需要再同步球的位置吗? 可是感觉显示起来又会很突兀
刚刚在play商店发现一款对战台球,
感觉大致上解决了我上面问的问题,
想请问是如何做到的
手机排版 不好意思 谢谢各位
作者: cjcat2266 (CJ Cat)   2015-03-22 01:03:00
整场游戏在服务器上进行,服务器推送游戏现况给双方?
作者: scars (scars)   2015-03-22 07:26:00
复杂一点就根据延迟状况调整球速 球过去比较慢 过来比较快
作者: KanoLoa (卡)   2015-03-22 09:10:00
意思是击球的时候加个缓冲,另一端准备好接球了再给他再加个平滑预处理就会很顺畅的感觉了缺点为网络不顺时会整体变慢动作
作者: cowbaying (是在靠北喔)   2015-03-22 11:42:00
你可以把球的动态用向量方程式来显示或者每个loop就送一次座标更甚者 由伺服端统一sync球的位置也可以
作者: akilight (OWeeeeeeeee~)   2015-03-23 21:03:00
简单一点的作法就是server送向量方程+定期sync位置玩家客户端自己这边判定复杂的碰撞等,server简单判定以上这种作法是WOW类型wsad移动会采取的方式如果是鼠标点击移动,那通常都是用a*简单判定路径再由server送路径资料回来,这方法还会搭配区域切分来减轻server的负担不过以上MMO的作法其实不一定适合你现在做的东西主要是对于位子的容错性、补偿机制,MMO比较不在意即时的精准程度,其他客户端看到的误差容忍度比较大你比较需要的应该是找类似FPS之类的连线机制来看https://www.youtube.com/watch?v=oZ7TQjWhtEw 像这个

Links booklink

Contact Us: admin [ a t ] ucptt.com