一种模拟多个游戏角色的群体自组织行为的方法

文档序号:7899139阅读:269来源:国知局
专利名称:一种模拟多个游戏角色的群体自组织行为的方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种模拟多个游戏角色的群体自组织行 为的方法。
背景技术
在网络游戏的开发过程中,经常需要对正在开发中的网络游戏进行相应的游戏测 试,以验证服务器或者客户端的系统功能的正确性和稳定性。在网络游戏的测试过程中,一 般都希望能有一定数量级的游戏角色(即网络游戏中由游戏用户操作的游戏角色,也可称 为玩家角色)参与测试,以提高测试的准确性。但是,在开发过程中通常无法频繁而有效地 组织外部的游戏用户参与这样的游戏测试,而开发公司内部的测试人员的数量有限,无法 同时操作数量较多的玩家角色完成测试。在这种条件下,一种模拟游戏用户操作游戏角色 的机器人模拟技术应运而生。
在现有技术中,比较常见的实现方法是预先设置多个机器人,每一个机器人都分 别模拟一个在网络游戏中由游戏用户操作的游戏角色;然后,通过一个控制系统同时控制 所有的机器人,逐个计算网络游戏中的每个游戏角色的状态,然后根据计算结果向各机器 人发送控制指令,控制各个机器人按照计算结果运行,从而完成对网络游戏的测试。
但是,在上述的方法中,由于是在同一个控制系统中实现所有机器人之间的群体 交互管理,每个机器人只能被动地执行控制系统发送的群体交互命令(即控制指令),而不 能与控制系统进行交互,而且机器人之间也不能实现互动与交流,因此机器人所模拟的游 戏角色的行为呆板,缺少差异性,各个模拟的游戏角色之间无法产生群体组织行为,因此难 以模拟大量游戏角色之间的复杂的群体自组织行为(即游戏中各个游戏角色之间的各种 交互行为,例如,聊天、组队、共同战斗、结婚等),从而难以满足游戏测试的需要。另外,在现 有技术中的上述方法中,上述控制系统的集成度很高,不易修改,可定制性差,因此也无法 满足多变的游戏功能测试需求。发明内容
有鉴于此,本发明提供了一种模拟多个游戏角色的群体自组织行为的方法。通过 使用上述方法,可以模拟大量游戏角色之间的复杂的群体自组织行为,满足游戏测试的各 种需求。
根据上述目的,本发明的技术方案是这样实现的
—种模拟多个游戏角色的群体自组织行为的方法,该方法包括
预先设置包括一个黑板数据中心和至少两个独立的游戏角色模拟终端的游戏模 拟系统;
所述游戏模拟系统中的每个游戏角色模拟终端分别与所述黑板数据中心建立TCP 连接;
所述游戏角色模拟终端通过与所述黑板数据中心的TCP连接,并根据存储在所述游戏角色模拟终端中的交互策略,与所述游戏模拟系统中的其他游戏角色模拟终端进行群 体交互。
所述与所述黑板数据中心建立TCP连接包括
所述黑板数据中心在启动时或之后,监听服务器IP地址上的端口号A ;
每个游戏角色模拟终端在启动时,向预先指定的服务器IP地址和端口号A发送 TCP连接请求;
所述黑板数据中心根据从所监听的服务器IP地址上的端口号A接收到的TCP连 接请求,与发送所述TCP连接请求的游戏角色模拟终端建立TCP连接。
所述根据存储在所述游戏角色模拟终端中的交互策略,与其他游戏角色模拟终端 进行群体交互包括
所述游戏角色模拟终端根据存储在所述游戏角色模拟终端中的交互策略,通过与 黑板数据中心的TCP连接向黑板数据中心发送携带有操作信息的数据包;
所述黑板数据中心通过分析获知所接收到的数据包的类型,并根据数据包的类型 以及数据包中的操作信息对黑板数据中心中存储的群体交互信息进行操作。
所述游戏角色模拟终端通过与所述黑板数据中心的TCP连接,并根据存储在所述 游戏角色模拟终端中的交互策略,与其他游戏角色模拟终端进行群体交互包括
所述游戏角色模拟终端通过与黑板数据中心的TCP连接向所述黑板数据中心写 入群体交互信息;
或者,所述游戏角色模拟终端通过与黑板数据中心的TCP连接从所述黑板数据中 心读取所需的群体交互信息;
或者,所述游戏角色模拟终端通过与黑板数据中心的TCP连接从所述黑板数据中 心删除群体交互信息。
所述游戏角色模拟终端通过与黑板数据中心的TCP连接向所述黑板数据中心写 入群体交互信息包括
所述游戏角色模拟终端通过与黑板数据中心的TCP连接,向所述黑板数据中心发 送携带有群体交互信息的写入信息数据包;
所述黑板数据中心接收到所述写入信息数据包后,获知所述写入信息数据包的类 型;
所述黑板数据中心从所述写入信息数据包中读取群体交互信息,并将所读取的群 体交互信息存储在所述黑板数据中心中。
所述群体交互信息中至少包括信息类型、信息索引和信息内容。
所述写入信息数据包中包括数据包大小字段、数据包类型字段、字符串大小字 段、信息类型字段、信息索引大小字段、信息索引字段、信息缓存大小字段、信息缓存字段; 其中,
所述数据包大小字段,表示数据包的大小;
所述数据包类型字段,表示数据包的类型;
所述字符串大小字段,表示信息类型字段的大小;
所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;
所述信息索引大小字段,表示信息索引字段的大小;
所述信息索引字段,用于区分同一信息类型下不同的信息内容;
所述信息缓存大小字段,用于表示所述信息缓存字段的大小;
所述信息缓存字段,用于携带群体交互信息。
所述黑板数据中心获知所述写入信息数据包的类型包括
所述黑板数据中心根据所述写入信息数据包中的数据包类型字段和数据包大小 字段的内容,获知该数据包的类型为写入信息数据包。
所述黑板数据中心从所述写入信息数据包中读取群体交互信息包括
所述黑板数据中心从所述写入信息数据包中的信息类型字段、信息索引字段和信 息缓存字段中读取群体交互信息。
该方法进一步包括
在所述黑板数据中心中设置一个信息类型哈希映射表和至少一个信息内容哈希 映射表;
其中,所述信息类型哈希映射表用于存储群体交互信息中的信息类型,所述信息 内容哈希映射表用于存储群体交互信息中的信息索引和信息内容;所述信息类型哈希映射 表中的每一条记录对应于一个信息内容哈希映射表;所述信息内容哈希映射表中的每一条 记录对应于一条信息索引以及与所述信息索引相对应的信息内容。
所述黑板数据中心将所读取的群体交互信息存储在所述黑板数据中心中包括
所述黑板数据中心根据所读取的群体交互信息中的信息类型从自身存储的信息 类型哈希映射表中查找对应的信息内容哈希映射表;
所述黑板数据中心根据所述群体交互信息中的信息索引从查找到的信息内容哈 希映射表中查找对应的信息索引,并使用所述群体交互信息中的信息内容替换查找到的信 息索引所对应的信息内容。
该方法还进一步包括
当所述黑板数据中心未能从信息类型哈希映射表中查找到对应的信息内容哈希 映射表时,所述黑板数据中心将所读取的群体交互信息中的信息类型加入到在信息类型哈 希映射表中,并根据所述信息类型新建一个信息内容哈希映射表;将所读取的群体交互信 息中的信息索引和信息内容存储在新建的信息内容哈希映射表中。
该方法还进一步包括
当所述黑板数据中心未能从查找到的信息内容哈希映射表中查找到对应的信息 索引时,所述黑板数据中心将所读取的群体交互信息中的信息索引和信息内容添加到所述 查找到的信息内容哈希映射表中。
所述游戏角色模拟终端通过与黑板数据中心的TCP连接从所述黑板数据中心读 取所需的群体交互信息包括
所述游戏角色模拟终端通过与黑板数据中心的TCP连接,向所述黑板数据中心发 送读取信息数据包;
所述黑板数据中心接收到所述读取信息数据包后,获知所述读取信息数据包的类 型;
所述黑板数据中心根据所述读取信息数据包,从所存储的群体交互信息中读取游 戏角色模拟终端所需的群体交互信息,并将携带有所读取的群体交互信息的返回信息数据包发送给该游戏角色模拟终端;
所述游戏角色模拟终端从接收到的返回信息数据包中,获取所需的群体交互信 肩、ο
所述读取信息数据包中至少包括信息类型、信息数量和信息索引。
所述读取信息数据包中包括数据包大小字段、数据包类型字段、字符串大小字 段、信息类型字段、信息数量字段、信息索引大小字段、信息索引字段;其中,
所述数据包大小字段,表示数据包的大小;
所述数据包类型字段,表示数据包的类型;
所述字符串大小字段,表示信息类型字段的大小;
所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;
所述信息数量字段,表示所需读取的群体交互信息的数量η ;
所述信息索引大小字段,表示信息索引字段的大小;
所述信息索引字段,用于区分同一信息类型下不同的信息内容。
所述黑板数据中心获知所述读取信息数据包的类型包括
所述黑板数据中心根据所述读取信息数据包中的数据包类型字段和数据包大小 字段的内容,获知该数据包的类型为读取信息数据包。
所述黑板数据中心根据所述读取信息数据包,从所存储的群体交互信息中读取游 戏角色模拟终端所需的群体交互信息,并将携带有所读取的群体交互信息的返回信息数据 包发送给该游戏角色模拟终端包括
所述黑板数据中心从所述读取信息数据包解析出所需读取的群体交互信息的信 息类型、信息索引和信息数量;
所述黑板数据中心根据所述解析出的信息类型从自身存储的信息类型哈希映射 表中查找对应的信息内容哈希映射表;
所述黑板数据中心根据所述解析出的信息索引和信息数量,从查找到的信息内容 哈希映射表中读取群体交互信息,并将所读取的群体交互信息携带在返回信息数据包中发 送给该游戏角色模拟终端。
该方法进一步包括
当所述黑板数据中心未查找到对应的信息内容哈希映射表时,所述黑板数据中心 向所述游戏角色模拟终端发送所读取的群体交互信息为0的返回信息数据包。
所述黑板数据中心根据所述解析出的信息索引和信息数量,从查找到的信息内容 哈希映射表中读取群体交互信息,并将所读取的群体交互信息携带在返回信息数据包中发 送给该游戏角色模拟终端包括
当所述解析出的信息数量η > 0时,
所述黑板数据中心从查找到的信息内容哈希映射表中读取η条包括信息索引及 其相应的信息内容的记录,并将所读取的记录携带在返回信息数据包中发送给该游戏角色 模拟终端;
其中,如果所述信息内容哈希映射表中的记录的总数小于η,则所述黑板数据中心 读取所述信息内容哈希映射表中的所有记录;
当所述解析出的信息数量η为0时,
所述黑板数据中心将从查找到的信息内容哈希映射表中查找与所述解析出的信 息索引相对应的信息内容;
当查找到与解析出的信息索引相对应的信息内容时,黑板数据中心读取该信息内 容,并将该读取的信息内容携带在返回信息数据包中发送给游戏角色模拟终端;否则,所述 黑板数据中心向所述游戏角色模拟终端发送所读取的群体交互信息为0的返回信息数据 包。
所述返回信息数据包中至少包括信息类型、信息数量、信息索引和信息内容。
所述返回信息数据包中包括数据包大小字段、数据包类型字段、字符串大小字 段、信息类型字段、信息数量字段、信息索引大小字段、信息索引字段、信息缓存大小字段、 信息缓存字段;其中,
所述数据包大小字段,表示数据包的大小;
所述数据包类型字段,表示数据包的类型;
所述字符串大小字段,表示信息类型字段的大小;
所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;
所述信息数量字段,表示所需读取的群体交互信息的数量η ;
所述信息索引大小字段,表示信息索引字段的大小;
所述信息索引字段,用于区分同一信息类型下不同的信息内容;
所述信息缓存大小字段,用于表示所述信息缓存字段的大小;
所述信息缓存字段,用于携带群体交互信息;
其中,当η > 0时,则所述返回信息数据包中将包括η个信息索引大小字段、η个 信息索引字段、η个信息缓存大小字段和η个信息缓存字段,分别表示所携带的η条群体交互fe息。
所述游戏角色模拟终端从接收到的返回信息数据包中,获取所需的群体交互信息 包括
所述游戏角色模拟终端根据所接收到的返回信息数据包中的数据包类型字段和 数据包大小字段的内容,获知该数据包的类型为返回信息数据包;
所述游戏角色模拟终端从所述返回信息数据包中的信息数量字段、信息索引字段 和信息缓存字段中解析出信息数量以及所需的各条群体交互信息的信息索引和信息内容。
该方法还进一步包括
所述游戏角色模拟终端将所获取的群体交互信息存储到一个信息数组中。
所述游戏角色模拟终端通过与黑板数据中心的TCP连接从所述黑板数据中心删 除群体交互信息包括
所述游戏角色模拟终端通过与所述黑板数据中心的TCP连接,向所述黑板数据中 心发送携带有所需删除的群体交互信息的删除信息数据包;
所述黑板数据中心接收到所述删除信息数据包后,获知该删除信息数据包的类 型;
所述黑板数据中心从所述删除信息数据包中解析出所需删除的群体交互信息的 信息类型和信息索引;
所述黑板数据中心根据所解析的信息类型和信息索引,从所存储的群体交互信息中删除所需删除的群体交互信息。
所述删除信息数据包中至少包括信息类型、信息索引和信息内容。
所述删除信息数据包中包括数据包大小字段、数据包类型字段、字符串大小字 段、信息类型字段、信息索引大小字段、信息索引字段;其中,
所述数据包大小字段,表示数据包的大小;
所述数据包类型字段,表示数据包的类型;
所述字符串大小字段,表示信息类型字段的大小;
所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;
所述信息索引大小字段,表示信息索引字段的大小;
所述信息索引字段,用于区分同一信息类型下不同的信息内容。
所述黑板数据中心接收到所述删除信息数据包后,获知该删除信息数据包的类型 包括
所述黑板数据中心根据所述删除信息数据包中的数据包类型字段和数据包大小 字段的内容,获知该数据包的类型为删除信息数据包。
所述黑板数据中心从所述删除信息数据包中解析出所需删除的群体交互信息的 信息类型和信息索引包括
所述黑板数据中心从所述删除信息数据包中的信息类型字段和信息索引字段中 读取所需删除的群体交互信息的信息类型和信息索引。
所述黑板数据中心根据所解析的信息类型和信息索引,从所存储的群体交互信息 中删除上述所需删除的群体交互信息包括
所述黑板数据中心根据所解析的信息类型从自身存储的信息类型哈希映射表中 查找对应的信息内容哈希映射表;
如果未查找到对应的信息内容哈希映射表,则停止执行后续的步骤;
如果查找到对应的信息内容哈希映射表,则黑板数据中心将从查找到的信息内容 哈希映射表中查找与所解析的信息索引相对应的信息内容;
如果未查找到对应的信息内容哈希映射表,则停止执行后续的步骤;
如果查找到相应的信息内容,则黑板数据中心将从上述查找到的信息内容哈希映 射表中删除查找到的信息内容。
由上可知,本发明提供了一种模拟多个游戏角色的群体自组织行为的方法,由于 在该方法中,将预先设置包括一个黑板数据中心和至少两个独立的游戏角色模拟终端的游 戏模拟系统,而每个游戏角色模拟终端将分别与黑板数据中心建立TCP连接,然后,所述游 戏角色模拟终端通过与黑板数据中心的TCP连接,并根据存储在所述游戏角色模拟终端中 的交互策略,与其他游戏角色模拟终端进行群体交互,从而可以有效地模拟大量游戏角色 之间的复杂的群体自组织行为,满足游戏测试的各种需求。


图1为本发明的模拟多个游戏角色的群体自组织行为的方法流程图。
图2为本发明中黑板数据中心的信息存储结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照 附图,对本发明进行进一步详细的说明。
本发明提供了一种模拟多个游戏角色的群体自组织行为的方法,在该方法中,将 预先设置包括一个黑板数据中心和至少两个独立的游戏角色模拟终端的游戏模拟系统,而 每个游戏角色模拟终端将分别与黑板数据中心建立传输控制协议(TCP)连接,然后,所述 游戏角色模拟终端通过与黑板数据中心的TCP连接,并根据存储在所述游戏角色模拟终端 中的交互策略,与其他游戏角色模拟终端进行群体交互,从而可以有效地模拟大量游戏角 色之间的复杂的群体自组织行为,满足游戏测试的各种需求。
图1为本发明的模拟多个游戏角色的群体自组织行为的方法流程图。如图1所示, 所述模拟多个游戏角色的群体自组织行为的方法包括如下所述的步骤
步骤101,预先设置包括一个黑板数据中心和至少两个独立的游戏角色模拟终端 的游戏模拟系统。
在本步骤中,将预先设置一个游戏模拟系统,在该游戏模拟系统中,包括一个黑板 数据中心和至少两个独立的游戏角色模拟终端。其中,每个游戏角色模拟终端分别模拟一 个在网络游戏中由游戏用户操作的游戏角色。
步骤102,每个游戏角色模拟终端分别与黑板数据中心建立TCP连接。
在本步骤中,所述游戏模拟系统中的每个游戏角色模拟终端将分别与黑板数据中 心建立TCP连接。例如,在本发明的具体实施例中,上述建立TCP连接的过程可以包括如下 所述的步骤
1. 1)黑板数据中心在启动时或之后,监听服务器IP地址上的端口号A。
具体来说,当黑板数据中心启动时或之后,该黑板数据中心将对服务器IP地址上 的端口号A进行监听。
1.2)每个游戏角色模拟终端在启动时,都将向预先指定的服务器IP地址和端口 号A发送TCP连接请求;
其中,上述服务器IP地址和端口号A将在游戏角色模拟终端启动时,由系统或用 户通过命令行参数的方式指定并发送给该游戏角色模拟终端。
1. 3)黑板数据中心根据从所监听的服务器IP地址上的端口号A接收到的TCP连 接请求,与发送所述TCP连接请求的游戏角色模拟终端建立TCP连接。
步骤103,游戏角色模拟终端通过与黑板数据中心的TCP连接,并根据存储在所述 游戏角色模拟终端中的交互策略,与其他游戏角色模拟终端进行群体交互。
当黑板数据中心与游戏角色模拟终端建立TCP连接之后,所述游戏模拟系统中的 游戏角色模拟终端即可通过该TCP连接与黑板数据中心进行数据传输,即通过该TCP连接 向黑板数据中心发送信息写入请求、信息删除请求和/或信息读取请求,并通过该TCP连接 接收黑板数据中心发送的数据,从而实现与所述游戏模拟系统中的其他游戏角色模拟终端 进行群体交互。
因此,在本步骤中,上述根据存储在所述游戏角色模拟终端中的交互策略,与其他 游戏角色模拟终端进行群体交互可以是
游戏角色模拟终端根据存储在所述游戏角色模拟终端中的交互策略,通过与黑板数据中心的TCP连接向黑板数据中心发送携带有操作信息的数据包;
黑板数据中心通过分析获知所接收到的数据包的类型,并根据数据包的类型以及 数据包中的操作信息对黑板数据中心中存储的群体交互信息进行操作。
具体来说,根据存储在所述游戏角色模拟终端中的交互策略,与其他游戏角色模 拟终端进行群体交互可以是
游戏角色模拟终端通过与黑板数据中心的TCP连接向黑板数据中心写入相应的 群体交互信息;
或者,游戏角色模拟终端通过与黑板数据中心的TCP连接从黑板数据中心读取所 需的群体交互信息;
或者,游戏角色模拟终端通过与黑板数据中心的TCP连接从黑板数据中心删除相 应的群体交互信息。
以下将以具体实施例的方式进行进一步的介绍。
实施例一、
在本发明的具体实施例中,上述游戏角色模拟终端通过与黑板数据中心的TCP连 接向黑板数据中心写入相应的群体交互信息可包括如下所述的步骤
2. 1)游戏角色模拟终端通过与黑板数据中心的TCP连接,向黑板数据中心发送携 带有群体交互信息的写入信息数据包;
在本步骤中,所述群体交互信息中至少包括信息类型、信息索引和信息内容。其 中,信息类型和信息索弓I是字符串类型。
例如,在本发明的具体实施例中,所述写入信息数据包可以使用如下表所示的数 据包结构
权利要求
1.一种模拟多个游戏角色的群体自组织行为的方法,其特征在于,该方法包括 预先设置包括一个黑板数据中心和至少两个独立的游戏角色模拟终端的游戏模拟系统;所述游戏模拟系统中的每个游戏角色模拟终端分别与所述黑板数据中心建立TCP连接;所述游戏角色模拟终端通过与所述黑板数据中心的TCP连接,并根据存储在所述游戏 角色模拟终端中的交互策略,与所述游戏模拟系统中的其他游戏角色模拟终端进行群体交互。
2.如权利要求1所述的方法,其特征在于,所述与所述黑板数据中心建立TCP连接包括所述黑板数据中心在启动时或之后,监听服务器IP地址上的端口号A ; 每个游戏角色模拟终端在启动时,向预先指定的服务器IP地址和端口号A发送TCP连 接请求;所述黑板数据中心根据从所监听的服务器IP地址上的端口号A接收到的TCP连接请 求,与发送所述TCP连接请求的游戏角色模拟终端建立TCP连接。
3.如权利要求1所述的方法,其特征在于,所述根据存储在所述游戏角色模拟终端中 的交互策略,与其他游戏角色模拟终端进行群体交互包括所述游戏角色模拟终端根据存储在所述游戏角色模拟终端中的交互策略,通过与黑板 数据中心的TCP连接向黑板数据中心发送携带有操作信息的数据包;所述黑板数据中心通过分析获知所接收到的数据包的类型,并根据数据包的类型以及 数据包中的操作信息对黑板数据中心中存储的群体交互信息进行操作。
4.如权利要求1所述的方法,其特征在于,所述游戏角色模拟终端通过与所述黑板数 据中心的TCP连接,并根据存储在所述游戏角色模拟终端中的交互策略,与其他游戏角色 模拟终端进行群体交互包括所述游戏角色模拟终端通过与黑板数据中心的TCP连接向所述黑板数据中心写入群 体交互信息;或者,所述游戏角色模拟终端通过与黑板数据中心的TCP连接从所述黑板数据中心读 取所需的群体交互信息;或者,所述游戏角色模拟终端通过与黑板数据中心的TCP连接从所述黑板数据中心删 除群体交互信息。
5.如权利要求4所述的方法,其特征在于,所述游戏角色模拟终端通过与黑板数据中 心的TCP连接向所述黑板数据中心写入群体交互信息包括所述游戏角色模拟终端通过与黑板数据中心的TCP连接,向所述黑板数据中心发送携 带有群体交互信息的写入信息数据包;所述黑板数据中心接收到所述写入信息数据包后,获知所述写入信息数据包的类型; 所述黑板数据中心从所述写入信息数据包中读取群体交互信息,并将所读取的群体交 互信息存储在所述黑板数据中心中。
6.如权利要求5所述的方法,其特征在于,所述群体交互信息中至少包括信息类型、 信息索引和信息内容。
7.如权利要求5所述的方法,其特征在于,所述写入信息数据包中包括数据包大小字 段、数据包类型字段、字符串大小字段、信息类型字段、信息索引大小字段、信息索引字段、 信息缓存大小字段、信息缓存字段;其中,所述数据包大小字段,表示数据包的大小;所述数据包类型字段,表示数据包的类型;所述字符串大小字段,表示信息类型字段的大小;所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;所述信息索引大小字段,表示信息索引字段的大小;所述信息索引字段,用于区分同一信息类型下不同的信息内容;所述信息缓存大小字段,用于表示所述信息缓存字段的大小;所述信息缓存字段,用于携带群体交互信息。
8.如权利要求7所述的方法,其特征在于,所述黑板数据中心获知所述写入信息数据 包的类型包括所述黑板数据中心根据所述写入信息数据包中的数据包类型字段和数据包大小字段 的内容,获知该数据包的类型为写入信息数据包。
9.如权利要求7所述的方法,其特征在于,所述黑板数据中心从所述写入信息数据包 中读取群体交互信息包括所述黑板数据中心从所述写入信息数据包中的信息类型字段、信息索引字段和信息缓 存字段中读取群体交互信息。
10.如权利要求7所述的方法,其特征在于,该方法进一步包括在所述黑板数据中心中设置一个信息类型哈希映射表和至少一个信息内容哈希映射表;其中,所述信息类型哈希映射表用于存储群体交互信息中的信息类型,所述信息内容 哈希映射表用于存储群体交互信息中的信息索引和信息内容;所述信息类型哈希映射表中 的每一条记录对应于一个信息内容哈希映射表;所述信息内容哈希映射表中的每一条记录 对应于一条信息索引以及与所述信息索引相对应的信息内容。
11.如权利要求10所述的方法,其特征在于,所述黑板数据中心将所读取的群体交互 信息存储在所述黑板数据中心中包括所述黑板数据中心根据所读取的群体交互信息中的信息类型从自身存储的信息类型 哈希映射表中查找对应的信息内容哈希映射表;所述黑板数据中心根据所述群体交互信息中的信息索引从查找到的信息内容哈希映 射表中查找对应的信息索引,并使用所述群体交互信息中的信息内容替换查找到的信息索 引所对应的信息内容。
12.如权利要求11所述的方法,其特征在于,该方法还进一步包括当所述黑板数据中心未能从信息类型哈希映射表中查找到对应的信息内容哈希映射 表时,所述黑板数据中心将所读取的群体交互信息中的信息类型加入到在信息类型哈希映 射表中,并根据所述信息类型新建一个信息内容哈希映射表;将所读取的群体交互信息中 的信息索引和信息内容存储在新建的信息内容哈希映射表中。
13.如权利要求11所述的方法,其特征在于,该方法还进一步包括当所述黑板数据中心未能从查找到的信息内容哈希映射表中查找到对应的信息索引 时,所述黑板数据中心将所读取的群体交互信息中的信息索引和信息内容添加到所述查找 到的信息内容哈希映射表中。
14.如权利要求4所述的方法,其特征在于,所述游戏角色模拟终端通过与黑板数据中 心的TCP连接从所述黑板数据中心读取所需的群体交互信息包括所述游戏角色模拟终端通过与黑板数据中心的TCP连接,向所述黑板数据中心发送读 取信息数据包;所述黑板数据中心接收到所述读取信息数据包后,获知所述读取信息数据包的类型; 所述黑板数据中心根据所述读取信息数据包,从所存储的群体交互信息中读取游戏角 色模拟终端所需的群体交互信息,并将携带有所读取的群体交互信息的返回信息数据包发 送给该游戏角色模拟终端;所述游戏角色模拟终端从接收到的返回信息数据包中,获取所需的群体交互信息。
15.如权利要求14所述的方法,其特征在于,所述读取信息数据包中至少包括信息类 型、信息数量和信息索引。
16.如权利要求15所述的方法,其特征在于,所述读取信息数据包中包括数据包大 小字段、数据包类型字段、字符串大小字段、信息类型字段、信息数量字段、信息索引大小字 段、信息索引字段;其中,所述数据包大小字段,表示数据包的大小;所述数据包类型字段,表示数据包的类型;所述字符串大小字段,表示信息类型字段的大小;所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;所述信息数量字段,表示所需读取的群体交互信息的数量η ;所述信息索引大小字段,表示信息索引字段的大小;所述信息索引字段,用于区分同一信息类型下不同的信息内容。
17.如权利要求16所述的方法,其特征在于,所述黑板数据中心获知所述读取信息数 据包的类型包括所述黑板数据中心根据所述读取信息数据包中的数据包类型字段和数据包大小字段 的内容,获知该数据包的类型为读取信息数据包。
18.如权利要求16所述的方法,其特征在于,所述黑板数据中心根据所述读取信息数 据包,从所存储的群体交互信息中读取游戏角色模拟终端所需的群体交互信息,并将携带 有所读取的群体交互信息的返回信息数据包发送给该游戏角色模拟终端包括所述黑板数据中心从所述读取信息数据包解析出所需读取的群体交互信息的信息类 型、信息索引和信息数量;所述黑板数据中心根据所述解析出的信息类型从自身存储的信息类型哈希映射表中 查找对应的信息内容哈希映射表;所述黑板数据中心根据所述解析出的信息索引和信息数量,从查找到的信息内容哈希 映射表中读取群体交互信息,并将所读取的群体交互信息携带在返回信息数据包中发送给 该游戏角色模拟终端。
19.如权利要求18所述的方法,其特征在于,该方法进一步包括当所述黑板数据中心未查找到对应的信息内容哈希映射表时,所述黑板数据中心向所 述游戏角色模拟终端发送所读取的群体交互信息为0的返回信息数据包。
20.如权利要求18所述的方法,其特征在于,所述黑板数据中心根据所述解析出的信 息索引和信息数量,从查找到的信息内容哈希映射表中读取群体交互信息,并将所读取的 群体交互信息携带在返回信息数据包中发送给该游戏角色模拟终端包括当所述解析出的信息数量η > 0时,所述黑板数据中心从查找到的信息内容哈希映射表中读取η条包括信息索引及其相 应的信息内容的记录,并将所读取的记录携带在返回信息数据包中发送给该游戏角色模拟 终端;其中,如果所述信息内容哈希映射表中的记录的总数小于η,则所述黑板数据中心读取 所述信息内容哈希映射表中的所有记录; 当所述解析出的信息数量η为0时,所述黑板数据中心将从查找到的信息内容哈希映射表中查找与所述解析出的信息索 引相对应的信息内容;当查找到与解析出的信息索引相对应的信息内容时,黑板数据中心读取该信息内容, 并将该读取的信息内容携带在返回信息数据包中发送给游戏角色模拟终端;否则,所述黑 板数据中心向所述游戏角色模拟终端发送所读取的群体交互信息为0的返回信息数据包。
21.如权利要求14所述的方法,其特征在于,所述返回信息数据包中至少包括信息类 型、信息数量、信息索引和信息内容。
22.如权利要求21所述的方法,其特征在于,所述返回信息数据包中包括数据包大 小字段、数据包类型字段、字符串大小字段、信息类型字段、信息数量字段、信息索引大小字 段、信息索引字段、信息缓存大小字段、信息缓存字段;其中,所述数据包大小字段,表示数据包的大小;所述数据包类型字段,表示数据包的类型;所述字符串大小字段,表示信息类型字段的大小;所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;所述信息数量字段,表示所需读取的群体交互信息的数量η ;所述信息索引大小字段,表示信息索引字段的大小;所述信息索引字段,用于区分同一信息类型下不同的信息内容;所述信息缓存大小字段,用于表示所述信息缓存字段的大小;所述信息缓存字段,用于携带群体交互信息;其中,当η > 0时,则所述返回信息数据包中将包括η个信息索引大小字段、η个信息 索引字段、η个信息缓存大小字段和η个信息缓存字段,分别表示所携带的η条群体交互信 息。
23.如权利要求22所述的方法,其特征在于,所述游戏角色模拟终端从接收到的返回 信息数据包中,获取所需的群体交互信息包括所述游戏角色模拟终端根据所接收到的返回信息数据包中的数据包类型字段和数据 包大小字段的内容,获知该数据包的类型为返回信息数据包;所述游戏角色模拟终端从所述返回信息数据包中的信息数量字段、信息索引字段和信息缓存字段中解析出信息数量以及所需的各条群体交互信息的信息索引和信息内容。
24.如权利要求23所述的方法,其特征在于,该方法还进一步包括 所述游戏角色模拟终端将所获取的群体交互信息存储到一个信息数组中。
25.如权利要求4所述的方法,其特征在于,所述游戏角色模拟终端通过与黑板数据中 心的TCP连接从所述黑板数据中心删除群体交互信息包括所述游戏角色模拟终端通过与所述黑板数据中心的TCP连接,向所述黑板数据中心发 送携带有所需删除的群体交互信息的删除信息数据包;所述黑板数据中心接收到所述删除信息数据包后,获知该删除信息数据包的类型; 所述黑板数据中心从所述删除信息数据包中解析出所需删除的群体交互信息的信息 类型和信息索引;所述黑板数据中心根据所解析的信息类型和信息索引,从所存储的群体交互信息中删 除所需删除的群体交互信息。
26.如权利要求25所述的方法,其特征在于,所述删除信息数据包中至少包括信息类 型、信息索引和信息内容。
27.如权利要求沈所述的方法,其特征在于,所述删除信息数据包中包括数据包大 小字段、数据包类型字段、字符串大小字段、信息类型字段、信息索引大小字段、信息索引字 段;其中,所述数据包大小字段,表示数据包的大小;所述数据包类型字段,表示数据包的类型;所述字符串大小字段,表示信息类型字段的大小;所述信息类型字段,表示信息类型,用于区分不同种类的群体交互信息;所述信息索引大小字段,表示信息索引字段的大小;所述信息索引字段,用于区分同一信息类型下不同的信息内容。
28.如权利要求27所述的方法,其特征在于,所述黑板数据中心接收到所述删除信息 数据包后,获知该删除信息数据包的类型包括所述黑板数据中心根据所述删除信息数据包中的数据包类型字段和数据包大小字段 的内容,获知该数据包的类型为删除信息数据包。
29.如权利要求27所述的方法,其特征在于,所述黑板数据中心从所述删除信息数据 包中解析出所需删除的群体交互信息的信息类型和信息索引包括所述黑板数据中心从所述删除信息数据包中的信息类型字段和信息索引字段中读取 所需删除的群体交互信息的信息类型和信息索引。
30.如权利要求27所述的方法,其特征在于,所述黑板数据中心根据所解析的信息类 型和信息索引,从所存储的群体交互信息中删除上述所需删除的群体交互信息包括所述黑板数据中心根据所解析的信息类型从自身存储的信息类型哈希映射表中查找 对应的信息内容哈希映射表;如果未查找到对应的信息内容哈希映射表,则停止执行后续的步骤; 如果查找到对应的信息内容哈希映射表,则黑板数据中心将从查找到的信息内容哈希 映射表中查找与所解析的信息索引相对应的信息内容;如果未查找到对应的信息内容哈希映射表,则停止执行后续的步骤;如果查找到相应的信息内容,则黑板数据中心将从上述查找到的信息内容哈希映射表 中删除查找到的信息内容。
全文摘要
本发明公开了一种模拟多个游戏角色的群体自组织行为的方法,该方法包括预先设置包括一个黑板数据中心和至少两个独立的游戏角色模拟终端的游戏模拟系统;所述游戏模拟系统中的每个游戏角色模拟终端分别与所述黑板数据中心建立TCP连接;所述游戏角色模拟终端通过与所述黑板数据中心的TCP连接,并根据存储在所述游戏角色模拟终端中的交互策略,与所述游戏模拟系统中的其他游戏角色模拟终端进行群体交互。通过使用本发明所提供的方法,可有效地模拟大量游戏角色之间的复杂的群体自组织行为,满足游戏测试的各种需求。
文档编号H04L29/06GK102035857SQ20101062444
公开日2011年4月27日 申请日期2010年12月31日 优先权日2010年12月31日
发明者黄文海 申请人:北京像素软件科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1