游戏开发论坛

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

网络游戏中buff、AI的管理方式

[复制链接]

1

主题

14

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2012-4-28 13:02:00 | 显示全部楼层

Re: 网络游戏中buff、AI的管理方式

buff这种可以让客户端计时服务端只记录一个时间点信息,客户端计时到时间向服务器请求,服务验证是否到时间(在此要允许一些误差)。遍历这种事情我认为尽量少在服务器搞,服务器尽最大可能简单,只做验证工作。
至于AI,如果真像楼主有那大量NPC怪于需要,可以独立一个进程做AI服务器,本身NPC就是与玩家同样是一个场景物件,所以逻辑上是与玩家同级,可以通过正常的网络协议登陆到游戏中与玩家进行交互。AI服务器要设计成可随意增减服务器数量。

在现在的环境下,程序的性能已经是要靠扩展性了

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2012-4-28 15:09:00 | 显示全部楼层

Re: Re: 网络游戏中buff、AI的管理方式

第一,buffer在服务是有定时器的,因为如果是客户端记录时间驱动服务器,那么外挂就很可怕,debuffer的驱动封包就不发送给服务器触发。玩家的buffer可以用客户端来驱动哪npc的buffer呢?所以完全把服务器当校验是不可能的,安全漏洞会非常多。
第二,“独立一个进程做AI服务器”,并不是独立起来的服务器效率就会高,如果以mmorpg为例,会有三方面的问题,一,IO交换的开销很高。二,数据在一个进程,多个逻辑在不同的多个进程中,如何保证并发访问数据的安全。三,一个逻辑的相关代码被分散在多个工程中,如何保证开发的一致性。
当然开发桥牌游戏的话就没有说的上述问题,我说的话就是多余的。下午安好^^
ybbqy: Re: 网络游戏中buff、AI的管理方式

buff这种可以让客户端计时服务端只记录一个时间点信息,客户端计时到时间向服务器请求,服务验证是否到时间...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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