作者yoco315 (眠月)
看板GameDesign
标题[请益]OLG人物走路的同步化问题
时间Thu Oct 12 20:20:26 2006
目前研究室在进行的一个专案,
是要把智慧型代理人系统放进 RPG/MMORPG,
设计具有高度自主性跟自我决策能力的 NPC。
因为现有的游戏平台都不太合用,
我们现在是在融合一些系统打造一个游戏平台,
目前实做上遇到一个困难,
就是人物走动的时候,关於人物座标的同步化问题。
以前在玩 OLG 的时候都没有注意到原来光是走路就有学问 orz
一个 server 有很多 client,
其中一个 client(玩家A) 移动的时候,
其他的玩家要能很流畅的显示他所看到的玩家A在移动。
我想这个问题想了颇久,
想到最简单的方法就是玩家A狂送封包给server,
server收到以後也马上broadcast给其他所有的玩家来进行同步化,
网路能送多快就送多快,例如每秒50~100次的同步化,
这样其它的玩家就能很即时看到玩家A在动。
当然,这是个烂方法,网路会炸。
後来当然想的就是降低同步化的频率,
例如每秒10次,就是0.1秒做一次同步化,
可是这样在别的玩家眼里看起来,玩家A的动作就像是卡卡的瞬移,
我想现在市面上的OLG都不会允许这种情况发生,
所以他们肯定有个方法克服这个问题。
不过我就是想不到怎麽样不让网路炸掉又能够维持其他客端观看我运动的流畅性的方法。
特地上来请教,
有没有前辈有过开发OLG的经验,
能不能指点一下在运动座标同步化这个地方是怎麽克服的?
万分感谢。
--
To iterate is human, to recurse is divine.
递回只应天上有, 凡人该当用回圈. L. Peter Deutsch
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.32
1F:推 StubbornLin:依具我的印相 有航海法 内插法之类的方式 10/12 20:30
2F:→ StubbornLin:就是先预测将走的位置 然後如果下次更新发现有误 10/12 20:30
3F:推 IJS: 你那个作法 然後加上插补 不就好了? @@ 10/12 20:30
4F:→ StubbornLin:就修正错误 应该说是多修一点回来之类的 10/12 20:31
5F:→ StubbornLin:我是觉得整个网路游戏 同步化是很麻烦的问题 10/12 20:31
6F:→ StubbornLin:要完全同步 不出错是不太可能的事情 10/12 20:53
7F:→ StubbornLin:我玩WOW有时就有看到好像是网路过度Lag的人 10/12 20:54
8F:→ StubbornLin:不停的重覆走一段路 一直跳回去 10/12 20:54
9F:→ StubbornLin:连WOW都没办法做到了 所以.. 10/12 20:54
10F:→ StubbornLin:同步化都有误差的 但在可接受范围内就可以 10/12 20:55
11F:推 asoedarren:大多是路径预测 同步上发生瞬移修正是难免的 10/12 21:29
12F:推 GKy:好羡慕你们的研究~ orz 可以请问是哪个学校的吗? 10/12 22:35
13F:→ GKy:提供我的经验, 就是不用 Trace Client 座标的方法,而改用 10/12 22:37
14F:推 doomleika:ID的放的Quake有原始码,要不要参考看看? 10/13 04:11