[发明专利]一种在网络游戏中实现高可扩展性AI的方法无效
申请号: | 200910084079.X | 申请日: | 2009-05-14 |
公开(公告)号: | CN101887480A | 公开(公告)日: | 2010-11-17 |
发明(设计)人: | 刘立军;王磊;张守文;陶勇胜 | 申请(专利权)人: | 灰熊(北京)科技有限公司 |
主分类号: | G06F19/00 | 分类号: | G06F19/00;G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102218 北京市昌*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络游戏 实现 扩展性 ai 方法 | ||
技术领域
本发明涉及一种在网络游戏中实现高可扩展性AI(Artificial Intelligence,即人工智能)的方法,特别涉及一种用C#(C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程,是微软公司.NET windows网络框架的主角。)技术实现的在网络游戏中实现高可扩展性AI的方法。
背景技术
在网络游戏中,经常会有用户因为各种原因掉线或者在牌型很简单的情况下主动托管给计算机自动处理,另外还有可能在游戏人数不够时,为了使游戏能正常进行,也需要补充一些AI来与真人进行游戏。而一般在这些不同的状况下,应该为用户提供不同智商的AI代替用户操作。
发明内容
本发明所要解决的技术问题是提供一种在网络游戏中实现高可扩展性AI的方法,它可以进行灵活配置以使得在不同情况下,能够为用户提供不同的AI服务。
本发明所述的一种在网络游戏中实现高可扩展性AI的方法,该方法至少包括如下的步骤:
步骤1:写一个AI接口,所有类型的AI必须实现此接口;
步骤2:使用房间配置工具在每个游戏房间中配置AI,对每一种客户端“不能出牌的状态”配置AI实现类的全名和此类此AI实现类所在的程序集名称,并将这些配置信息将写入数据库或者配置文件;
步骤3:当房间启动的时候,初始化一个AI配置缓存器,它把房间的AI配置信息读入内存,进行缓存;
步骤4:当有用户的状态因为网络断掉等异常情况变成“不能出牌的状态”的时候,房间服务器根据用户状态,从AI配置缓存器中获取AI的类全名;
步骤5:房间服务器以AI类的全名为传入参数,从AI工厂中获取一个AI实例;
步骤6:房间服务器调用此AI实例的方法,完成AI操作;
本发明所述的一种在网络游戏中实现高可扩展性AI的方法,房间服务器以AI类的全名为传入参数,从AI工厂中获取一个AI实例,其步骤为:
步骤51:AI工厂类从缓存的AI字典列表中,以AI类的全名为键,查找是否有缓存过的AI对象;
步骤52:如果已经有缓存的对象,直接返回给调用者;
步骤53:如果没有缓存的对象,从房间的AI缓存配置中读取此类全名所在的程序集,根据这些信息,用反射的方式生成一个AI对象;
步骤54:把生成的AI对象缓存在AI工厂的AI字典列表中,并把此对象返回给调用者;
本发明涉及的一种在网络游戏中实现高可扩展性AI的方法,使得AI的实现完全是可配置的,并且这种可配置的AI可以以插件的方式附加到游戏服务器中,修改一个已有的AI或者增加一个新的都不会对其他逻辑构成任何影响。
具体实施方式
本发明的主要步骤如下:
步骤1:写一个AI接口,所有类型的AI必须实现此接口;
步骤2:使用房间配置工具在每个游戏房间中配置AI,对每一种客户端“不能出牌的状态”配置AI实现类的全名和此类此AI实现类所在的程序集名称,并将这些配置信息将写入数据库或者配置文件;
步骤3:当房间启动的时候,初始化一个AI配置缓存器,它把房间的AI配置信息读入内存,进行缓存;
步骤4:当有用户的状态因为网络断掉等异常情况变成“不能出牌的状态”的时候,房间服务器根据用户状态,从AI配置缓存器中获取AI的类全名;
步骤5:房间服务器以AI类的全名为传入参数,从AI工厂中获取一个AI实例;
步骤6:房间服务器调用此AI实例的方法,完成AI操作;
上述步骤5,房间服务器以AI类的全名为传入参数,从AI工厂中获取一个AI实例的具体步骤如下:
步骤51:AI工厂类从缓存的AI字典列表中,以AI类的全名为键,查找是否有缓存过的AI对象;
步骤52:如果已经有缓存的对象,直接返回给调用者;
步骤53:如果没有缓存的对象,从房间的AI配置缓存中读取此类全名所在的程序集,根据这些信息,用反射的方式生成一个AI对象;
步骤54:把生成的AI对象缓存在AI工厂的AI字典列表中,并把此对象返回给调用者;
上述的技术方案实施时,游戏房间服务器的开发人员可以很方便灵活的为不同房间的不同用户状态指定AI,这种可配置的AI可以以插件的方式附加到游戏服务器中,修改一个已有的AI或者增加一个新的都不会对其他逻辑构成任何影响,日后扩展游戏AI功能将变得非常容易。
最后所应说明的是,以上实施例仅用以说明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同地替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于灰熊(北京)科技有限公司,未经灰熊(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910084079.X/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用