游戏开发论坛

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: square.jerry

每一个客户端如何知道服务器上的怪物和NPC的信息

[复制链接]

25

主题

304

帖子

311

积分

中级会员

Rank: 3Rank: 3

积分
311
发表于 2004-9-20 09:55:00 | 显示全部楼层

Re:每一个客户端如何知道服务器上的怪物和NPC的信息

真3D,可以调整视角.F5可以调整摄象机风格,观景风格可以随便调.
但做了限制,因为EYEPOINT进了地下,画面就不舒服了.

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-9-21 17:39:00 | 显示全部楼层

Re: 每一个客户端如何知道服务器上的怪物和NPC的信息



我来告诉你。

怪物和NPC的详细信息是保存在客户端的。。但他们的数据传输是用类似编号的形式。

1

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2004-9-23 09:59:00 | 显示全部楼层

Re: Re: 每一个客户端如何知道服务器上的怪物和NPC的信息

这里只是概念上的混淆而已
我猜楼主要问的是NPC在世界中的行为信息,而不是NPC的个体属性
NPC的个体属性(如形状、大小、颜色、初始HP、对话内容等),肯定是保存在客户端比较方便
但是NPC在世界中的具体行为产生的信息肯定要从服务器产生,发送至对其有影响的客户端
数据结构设计得好的话,流量是很小的

29

主题

99

帖子

104

积分

注册会员

Rank: 2

积分
104
 楼主| 发表于 2004-9-28 09:43:00 | 显示全部楼层

Re:每一个客户端如何知道服务器上的怪物和NPC的信息

大家讨论了这么久,最近几天我做数据包加密去了,采用的是下一代的加密标准AES,具体什么算法我就暂时不说了。我来说一下我的看法,我在这里发帖提问是希望大家讨论,智者见智,一个人的思想永远是局限的。就我看来,客户端的行为状态只是通知给服务器端,客户端不做行为传递和状态的任何计算,由服务器收到此客户端的消息来计算,找出一定的区域内需要通知的其他玩家把这些消息传递给他们。在服务器上,玩家的行为以玩家为中心来计算,NPC的行为以NPC为中心来计算(就把他当一个玩家好了)。我们所要做的,就是怎么保证这些计算能尽量的快,也就是提到的空间划割,我在这里再提 出一种想法供大家参考:采用3D引擎中显示多边型的的二叉树(如果你能采用红黑树更好)的技术思路,所不同的只是把一个玩家做一个多边型一样,需要不需要通知这个玩家由服务器来查找二叉树。这和现在很多网络游戏的做法不同。但我认为可行。

另外说明一点:客户端和NPC不是保存在客户端,玩家登录的时候需要从服务器提取属性等信息,但基本只作显示用而已,真正的计算在服务器上。服务器把计算后的更改信息传回客户端和其他玩家又是做显示而已。
在场景上划格子的方法好还是用二叉树好,大家的意见呢?

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-10-9 11:28:00 | 显示全部楼层

Re: 每一个客户端如何知道服务器上的怪物和NPC的信息

可不可用BT那样的方式

1

主题

10

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-10-18 16:44:00 | 显示全部楼层

Re:每一个客户端如何知道服务器上的怪物和NPC的信息

个人感觉天2的机制是这样的:
玩家登录进入游戏世界之后服务器会发玩家附近的NPC的行为信息,当玩家移动时,便会主动向服务器请求下一位置的场景更新(具体的是发送PositionValidate命令,会启动一个定时器,定时发送),这时服务器会返回下一场景的NPC行为信息,另外其他玩家的行为信息和NPC的行为信息一样,都是触发以后由服务器塞给事件主角的可视范围内的其他玩家的,像死亡,退出,移动,战斗,施法,选择怪物等等。
这样到底好不好那就有你们来评定了,呵呵。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-22 19:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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