游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: skywind

其二:网络游戏同步法则

[复制链接]

6

主题

42

帖子

47

积分

注册会员

Rank: 2

积分
47
发表于 2005-6-16 10:31:00 | 显示全部楼层

Re:其二:网络游戏同步法则

上班时间灌水哦,^_^,公司下期技术交流会推选你去

4

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2005-6-16 16:34:00 | 显示全部楼层

Re: 其二:网络游戏同步法则

“神父,请问我祷告的时候可不可以顺便吸烟呢?”
“不行”
“那吸烟的时候,可不可以顺便祷告呢?”
“可以”

不是上班时候灌水,是工作的时候保持学习 -_-

16

主题

266

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
发表于 2005-6-17 09:07:00 | 显示全部楼层

Re:其二:网络游戏同步法则

不错

90

主题

797

帖子

833

积分

高级会员

论坛版主

Rank: 4

积分
833
QQ
发表于 2005-6-17 09:52:00 | 显示全部楼层

Re:其二:网络游戏同步法则

在现在的游戏中,处理同步的做法很多。我说说我现在游戏项目的做法。

1 游戏中的行走,则是一个需要同步的重头戏,当今游戏分成两种同步方式,一种是以服务器端为准,如果发现客户端的坐标和服务器的坐标不符合的话,则拉回。这点的好处是可以弥补瞬移外挂的出现,但在网络环境差的情况下,则出现游戏不流畅。

所以,我比较推荐使用以客户端计算为准的方法(当然是我因为我这个游戏对游戏流畅性要求很高),客户端向服务器发送计算好的数据,服务器经过一定的预测判断,广播给其他玩家,这个虽然是能引起和wow一样的问题,瞬移外挂,但完全可以从游戏设计方面进行根本避免。(这里就不谈策划方面的问题了)

2 游戏的战斗,战斗的同步性要求也相当高,这里我也引用楼主说的,在固定时间检测键盘,以一定频率发送攻击消息,这里有一个关键,就是服务器和客户端都进行攻击判定,即使服务器中没有攻击判定成功,但在客户端判定成功,也要播放攻击效果。不过一切计算效果以服务器为准。这是一个欺骗玩家的手段。

补充: 键盘的队列化:我并没有在游戏中加入队列化的东西,一切消息都是即时发出的,最多采取在固定时间检测键盘,以一定频率发送消息。因为玩家突然行走,或者突然攻击,队列化是一点帮助都没有的,去掉这方面的设计,可以减少一定的开发时间。

4

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2005-6-22 17:22:00 | 显示全部楼层

Re: 其二:网络游戏同步法则

哈哈,杨老说的意见真是宝贵啊,对于涉及同步问题的人来说,这些都是很可贵的经验.下面也和大家讨论点关于MMO的内容吧:

人行走:MMO中如果是鼠标点击行走传目的地+中间寻路接点就行了,服务器简单验证一下。如果是键盘控制行走的话,需要做简单的预测插值。

打怪:要看怎么个打法,客户端根本不必管服务端什么时候传来消息,直接演示动画就行了,最好把被砍的过程动画做长一点,可以在播放动画的过程中等待服务器传过来的延迟敏感事件,比如--该人已死。这样处理起来比较容易。

插值:所谓“把不同表象柔和在一起”算法很多,简单的可以参考DR,位置不同的时候可以做一次线性插值,直接把人拉扯过去,或者二次线形插值,做一条平滑的曲线修正,看具体项目选择了。

时钟:就是时钟同步,所有时钟都是以“贞”为单位的,服务器主逻辑循环可以是5-10fps,多则无益,客户端同样维持一个和服务端频率相同的消息同步贞。

时间贞:把ping值加到时间计算里面是多余的,按贞计算的话,服务端告诉客户端在n贞发生xx事件的时候,客户端收到的时候如果客户端贞数大于n,说明是发生过了的,那么做插值,如果小于n,说明是未来发生的,那么加入时间表。

还有其他一些:魔法,特效,飞行武器。。。。具体得看你游戏怎么样设计的了。

10

主题

525

帖子

525

积分

高级会员

Rank: 4

积分
525
发表于 2005-6-28 13:37:00 | 显示全部楼层

Re:其二:网络游戏同步法则

个人感觉还是“最大可能减少游戏中的数据传输”重要,不过这只能依赖经验和非常好的策划来解决!
不过与以前在DOS下面做游戏关系计算机的速度和内存不同,网络同步问题应该是一个非常难解决的问题!

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2005-6-28 14:42:00 | 显示全部楼层

Re:其二:网络游戏同步法则

打怪确实要看是怎么种打法,有些消息还是需要等服务器来了才能开始打,比如说攻击距离上的判定等等,尤其是如果是走路服务器和其他服务器是分布式结构的情况下,这点很重要。

7

主题

136

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2005-7-6 08:10:00 | 显示全部楼层

Re:其二:网络游戏同步法则

最终的解决办法还是P2P.嘿嘿
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 06:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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