游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3185|回复: 6

请问网络赛车游戏通信内容该怎么设计?

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-3-28 20:05:00 | 显示全部楼层 |阅读模式
最近打算作一个简单的3D网络赛车游戏,仿照跑跑,但没有道具。不知道在比赛过程中,客户端与服务器端的通信内容该如何设计
目前有一点点想法,但很不成熟,因为没有这方面的经验:

游戏进行中,客户端与服务器之间传递什么信息?

⑴ 事件报文:客户端将用户的按键消息发送给服务器,服务器再转发给其他客户端(通过这种方式,应该比较容易实现漂移等动作,因为就好像是一个人在直接控制赛车,只是他在网络的那一头)

优点:

● 消息报文小,一个按键消息只需要一个字节

● 可以使用事件驱动方式,当用户按键或放开键时,才需与服务器通信。赛车进行中,玩家不会经常性的击键。

● 客户端编码容易,只需要将来自网络的消息,传递给一个控制器,由这个控制器控制某个电脑赛车即可

缺点:

● 高度依赖网络状况,因为只发送控制信息,而不是绝对位置信息,一旦丢帧,其他客户端的上的该玩家赛车状态将与实际情况不同。而且网络延迟等也要认真考虑。

   

⑵ 位置报文:客户端将自己在世界地图中的绝对位置信息发送给服务器,服务器再转发给其他客户端,客户端依据这个消息更新赛车状态。

优点:

    ● 不依赖网络状态,当出现丢帧,其他客户端仍可通过后来的消息获得该客户端的状态信息

缺点:

    ● 消息需要数据量大,需传递x、y、z三个坐标消息,还有赛车的状态信息,比如朝向,动画状态。否则赛车就会象木头一样

    ● 无法使用事件驱动方式,服务器/客户端通信每秒需要达到30帧以上,否则会卡

    ● 客户端编码复杂,需要另外编写一个接口,根据消息中赛车的状态设置赛车。

⑶ 如何对以上的通信方式取长补短

    我们可以在普通状态下使用第一种方式通信,同时在消息报文中增加一个字段计数。当接收方发现丢帧,则可以通知该客户端发送一个位置报文,以这个报文更新赛车状态后,再继续使用事件报文通信。


上面是不成熟的思想,希望大家帮我想想。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2007-3-28 20:29:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2007-3-30 00:36:00 | 显示全部楼层

Re:请问网络赛车游戏通信内容该怎么设计?

楼主的第3个方案很是可行,但还要补充两点:
1、不能从客户端发送位置信息,否则加速齿轮和外挂就泛滥了,而且直接瞬移到终点的那种肯定会被开发出来的。所以位置到底在哪就让服务器去计算,算法尽量高效,使用SSE指令。
2、每隔一段时间就要从服务器端发送一次位置和朝向信息来纠正误差。科学误差是永远存在的,即使不丢帧,时间长了误差也会很明显,因为网络总是有延时的。

59

主题

1490

帖子

1496

积分

金牌会员

Rank: 6Rank: 6

积分
1496
发表于 2007-3-30 08:04:00 | 显示全部楼层

Re:请问网络赛车游戏通信内容该怎么设计?

好象边都不靠,乌七八糟的不知道说了些什么。

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2007-3-30 13:07:00 | 显示全部楼层

Re: Re:请问网络赛车游戏通信内容该怎么设计?

6377: Re:请问网络赛车游戏通信内容该怎么设计?

好象边都不靠,乌七八糟的不知道说了些什么。

不知道你是什么意思?如果你有想法可以说出来。我首先承认我的能力很一般。

59

主题

1490

帖子

1496

积分

金牌会员

Rank: 6Rank: 6

积分
1496
发表于 2007-3-30 20:24:00 | 显示全部楼层

Re:请问网络赛车游戏通信内容该怎么设计?

哎,就不说了。。。

0

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2012-5-9 10:49:00 | 显示全部楼层

Re: 请问网络赛车游戏通信内容该怎么设计?

消息报是指UDP吗?UDP比之TCP的好处是什么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-28 12:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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