游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8709|回复: 30

讨论一下关于网游里的行走同步问题

[复制链接]

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
发表于 2007-1-20 00:08:00 | 显示全部楼层 |阅读模式
我现在的基本理解就是:
需要同步的状态分为若干个层次,比如:
位置,姿态
线速度,角速度
线性加速度,角加速度
下一层都是上一层的导数,下一层+时间就可以算出上一层的变化。
所以行走同步就是以一定的频率来传送这些数据,在传送的各个时间点之间,使用下层的数据来推测上层数据的变化,并在下一个时间点进行修正和更新。

现在的问题是:应该以怎样的频率来传送它们?
下层和上层,哪一层的频率应该更高呢?是否可以在数量上确定它们频率之间的大致关系?
[em5]

10

主题

219

帖子

236

积分

中级会员

Rank: 3Rank: 3

积分
236
QQ
发表于 2007-1-20 04:06:00 | 显示全部楼层

Re: 讨论一下关于网游里的行走同步问题

sjinny: 讨论一下关于网游里的行走同步问题

我现在的基本理解就是:
需要同步的状态分为若干个层次,比如:
位置,姿态
线速度,角速度
线性加速度...


简单问题复杂化...

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2007-1-20 08:54:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

某不才,某先撤了。。。

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2007-1-20 14:13:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

@_@!
为什么说是简单问题复杂化?一般RPG里只需要传送位置和速度,但是如果模拟宇宙飞行或者赛车之类的就需要传送加速度这些了,所以这些数据的传送是饶不过去的啊……

我目前是这样考虑的(仅以“位置-线速度-线性加速度”为例):

一种极端的情况:只在一开始传送一次位置位置和线速度,以后每次同步都只传送一次线性加速度。这样假如网络足够快,客户端计算足够精确,不考虑客户端作弊的问题,那么这样也就可以做到比较好的同步了,而且每次同步都只需要传送加速度这么一个向量。所以考虑到网络和计算引起的误差和错误,就每隔一段时间传送一次位置和线速度,以修正误差和错误。因此线性加速度的传送频率高于位置和线速度。同理,因为可以根据线速度计算位置变动,所以线速度的传送频率会高于位置的传送速度。
结果就是fa>fv>fp。fa是线性加速度的传送频率,fv是线速度的传送频率,fp是位置的传送频率。

但是如果从其他的角度考虑,就会得出不同的结论:
由于每次图形渲染时,只有位置会在画面上得到直接的体现,所以我们最关心的其实只是位置。因此位置的传输频率应该最高(因为它最重要)。只不过因为这个频率再高也肯定低于客户端画面刷新的频率,因此在两次位置更新的时间点之间,客户端需要推测位置的变化,因此才需要知道速度。这样,线速度的意义只是“弥补”位置传输频率的相对不足,所以它的频率不需要太高。线性加速度与线速度的关系也是类似的。
结果就是fp>fv>fa。fa是线性加速度的传送频率,fv是线速度的传送频率,fp是位置的传送频率。


我从两个不同的角度考虑,得出了两个完全相反的结论……所以想找大家讨论一下,结论到底应该是怎样的……或者是问题的条件不足?  T.T

0

主题

23

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2007-1-20 20:48:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

网络同步从来都是NP问题,在不同的情况下都有不同的解法
一方面,与网络同步最直接相关的是游戏类型,online类如果是RPG类一般只考虑位置即可,最多再加一个方向来辅助碰撞检测和方便绘制,ARPG要考虑速度,往往采用的是转折点更新即可,并非每次同步都要传输,SPT类如街头篮球这种就需要全部的速度,加速度信息,所以这类游戏相对前两类对网络的要求就要高得多了。而NetBattle类的同步就比较简单,例如CS这种,因为局域网一般可以认为传输无限,所以往往采用最大化信息同步策略以取得最精确的结果.
另一方面,同步方式的选择和网络拓扑模型也比较重要,星型更强调效率,环形更强调同步速度等等
普适的解决方式是自适应的网络同步方案,根据不同的网络状态自由选择精确程度和更新频率,对位置信息采用双传输即定时的同步信息用无连接方式完成,重要转折信息用连接方式确保,不过这样写起来就比较复杂了

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2007-1-20 20:49:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

不是吧……为什么都没人来讨论呢…… T.T
我顶~

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2007-1-20 20:51:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

晕,刚顶完发现有回帖了……
嗯,我想问的是,我上面那两个截然相反的分析结果,到底哪个是合理的呢……

0

主题

23

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2007-1-20 20:53:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

简单来说你开发WOW后面的合理,开发街头篮球三个频率一样最合理,前面那个结果很少有人这样用的

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
 楼主| 发表于 2007-1-20 20:59:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

哦,谢谢~呵呵

59

主题

1490

帖子

1496

积分

金牌会员

Rank: 6Rank: 6

积分
1496
发表于 2007-1-21 11:23:00 | 显示全部楼层

Re:讨论一下关于网游里的行走同步问题

哎,对我们从来没有经验的人来说还是跟没有说一样哦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 08:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表