英语轻松读发新版了,欢迎下载、更新

如果用xmpp做双人对战游戏,该怎么做?

cuijin007 发布于 2014年03月12日
无人欣赏。

以两个小球为例, 小球在双方的控制下互相碰撞什么的。 如何保证两台机器的显示是同步的?碰撞什么的是同步的?

共18条回复
tinyfool 回复于 2014年03月12日

建议你去读读《游戏引擎架构

我感觉应该不是一个真的同步架构,你可以跟朋友玩玩手机上面的网络对战游戏,例如切西瓜,其实两个人不是真同步的,只是比分是真同步的

cuijin007 回复于 2014年03月12日

1楼 @tinyfool 嗯嗯。我其实在想碰撞之类的问题该如何解决呢。将一台作为主机,所有的碰撞全部发到另一台上,是不是信息量有点大,如果不这么发,又怕碰不准。导致接下来会累积错误。

cuijin007 回复于 2014年03月12日

1楼 @tinyfool 我去看看那个书先。

tinyfool 回复于 2014年03月12日

2楼 @cuijin007 不是真同步就不会有真碰撞了

cuijin007 回复于 2014年03月12日

4楼 @tinyfool 那就是一方模拟碰撞,而另一方仅仅是显示两个东西的位置么?不过照我这样想,传输的信息量有点大啊...

tinyfool 回复于 2014年03月12日

5楼 @cuijin007 你怎么还没听懂我讲的

就是说其实大多数游戏的逻辑是这么设计的

A和B联机,A的机器上,A是真的活动,B是系统模拟的,这时候,在B的机器上B撞上了一个砖头的话,那么,不用传输B的位置信息,只需要告诉A,B撞上了障碍物、扣了100分,这时候,A的机器上的假B,就开始去故意撞一个砖头了。B在B的机器上撞上了A也是同理处理。明白了么?

cuijin007 回复于 2014年03月12日

6楼 @tinyfool 恩恩。这个我明白...但是,我们这边有要求必须同步...是个展示用的东西,两边的画面在视觉范围内不能看出来有太大的差异。

有点类似于两个人拿着鼓风机对着一地的乒乓球乱吹的这种视觉效果,而且随着时间推移,可能会有更多的乒乓球加进来。是不是如果这样的话,我就得把每个乒乓球的位置通过网络发过去?

cuijin007 回复于 2014年03月12日

一开始可能我没表述清楚使用环境...

tinyfool 回复于 2014年03月12日

7楼 @cuijin007 你为啥两边一定要同步?游戏性要求有那么高么?

尼克徐 回复于 2014年03月12日

网络延迟有多大,是不是有足够大的影响呢?如果实时传递速度数据。
如果有延迟,能不能计算一个提前量,抵消延迟的影响?

cuijin007 回复于 2014年03月12日

9楼 @tinyfool 这是个艺术类型的展示,要表达两个互相爱着异地恋人的交互。其中这个是让两个人觉得就算是不在一起,也能感受到相同的气息,心跳。【蛋疼的设计师...】

cuijin007 回复于 2014年03月12日

10楼 @尼克徐 打算借用google的gtalk服务器。没有实际测延迟有多大。

cuijin007 回复于 2014年03月12日

9楼 @tinyfool tiny叔,这个是不是不太可行啊?

tinyfool 回复于 2014年03月12日

11楼 @cuijin007 那说明同步完全不重要……明白了么

cuijin007 回复于 2014年03月12日

14楼 @tinyfool 嗯嗯...

小坏Eric 回复于 2014年03月12日

11楼 @cuijin007 听你这么一说,游戏性能反而还没乒乓球碰墙高,没必要非要同步吧

cuijin007 回复于 2014年03月12日

16楼 @小坏Eric 突然明白了@tinyfool 的话。其实这东西,同步完全不重要。想实现方法走到完全同步的死胡同里面了。

qjzl2008 回复于 2014年03月17日

联网的游戏主要考虑的是自己的一个感受问题,但对于每个个体自己来看,让他认为他的所有操作是有效的,信息是相对准确的。因为网络的情况,实际位置信息总是会出现偏差,那么可以在处理一些位置信息相关都会考虑一个容错范围。只要在可允许范围内,那么就可以判定操作有效。 根据具体业务的重心和模型不同,同步策略也相对不同。体验最不好的就是所有操作都是服务器确认返回后再进行表现,但是这样信息最准确。所以通常还是会预先表现,再根据情况做强拉,插值拉扯之类的优化。 一不小心好像说了大堆屁话,简单说, 根据业务侧重点,选择相应的同步策略(验证同步,帧同步,预测同步),选择适当的连接模型(P2P,C/S),选择适当的传输协议(tcp/udp) = = 好吧。说了等于没说,可耻的逃了

本帖有18个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]