CN101887480A - 一种在网络游戏中实现高可扩展性ai的方法 - Google Patents

一种在网络游戏中实现高可扩展性ai的方法 Download PDF

Info

Publication number
CN101887480A
CN101887480A CN200910084079XA CN200910084079A CN101887480A CN 101887480 A CN101887480 A CN 101887480A CN 200910084079X A CN200910084079X A CN 200910084079XA CN 200910084079 A CN200910084079 A CN 200910084079A CN 101887480 A CN101887480 A CN 101887480A
Authority
CN
China
Prior art keywords
room
class
configuration
full name
buffer memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200910084079XA
Other languages
English (en)
Inventor
刘立军
王磊
张守文
陶勇胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HUIXIONG (BEIJING) TECHNOLOGY Co Ltd
Original Assignee
HUIXIONG (BEIJING) TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HUIXIONG (BEIJING) TECHNOLOGY Co Ltd filed Critical HUIXIONG (BEIJING) TECHNOLOGY Co Ltd
Priority to CN200910084079XA priority Critical patent/CN101887480A/zh
Publication of CN101887480A publication Critical patent/CN101887480A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种在网络游戏中实现高可扩展性AI的方法,首先写一个AI接口,所有类型的AI必须实现此接口;使用房间配置工具在每个游戏房间中配置AI,对每一种客户端“不能出牌的状态”配置AI实现类的全名和此类此AI实现类所在的程序集名称,并将这些配置信息将写入数据库或者配置文件;然后当房间启动的时候,初始化一个AI配置缓存器,它把房间的AI配置信息读入内存,进行缓存;房间服务器以AI类的全名为传入参数,从AI工厂中获取一个AI实例;最后房间服务器调用此AI实例的方法,完成AI操作。本发明使得AI的实现完全是可配置的,并且这种可配置的AI可以以插件的方式附加到游戏服务器中,修改一个已有的AI或者增加一个新的都不会对其他逻辑构成任何影响。

Description

一种在网络游戏中实现高可扩展性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功能将变得非常容易。
最后所应说明的是,以上实施例仅用以说明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同地替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。

Claims (2)

1.一种在网络游戏中实现高可扩展性AI的方法,其特征在于:该方法至少包括如下的步骤:
步骤1:写一个AI接口,所有类型的AI必须实现此接口。
步骤2:使用房间配置工具在每个游戏房间中配置AI,对每一种客户端“不能出牌的状态”配置AI实现类的全名和此类此AI实现类所在的程序集名称,并将这些配置信息将写入数据库或者配置文件。
步骤3:当房间启动的时候,初始化一个AI配置缓存器,它把房间的AI配置信息读入内存,进行缓存。
步骤4:当有用户的状态因为网络断掉等异常情况变成“不能出牌的状态”的时候,房间服务器根据用户状态,从AI配置缓存器中获取AI的类全名。
步骤5:房间服务器以AI类的全名为传入参数,从AI工厂中获取一个AI实例。
步骤6:房间服务器调用此AI实例的方法,完成AI操作。
2.根据权利要求1所述的一种在网络游戏中实现高可扩展性AI的方法,其特征在于:房间服务器以AI类的全名为传入参数,从AI工厂中获取一个AI实例,其步骤为:
步骤51:AI工厂类从缓存的AI字典列表中,以AI类的全名为键,查找是否有缓存过的AI对象。
步骤52:如果已经有缓存的对象,直接返回给调用者。
步骤53:如果没有缓存的对象,从房间的AI缓存配置中读取此类全名所在的程序集,根据这些信息,用反射的方式生成一个AI对象。
步骤54:把生成的AI对象缓存在AI工厂的AI字典列表中,并把此对象返回给调用者。
CN200910084079XA 2009-05-14 2009-05-14 一种在网络游戏中实现高可扩展性ai的方法 Pending CN101887480A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910084079XA CN101887480A (zh) 2009-05-14 2009-05-14 一种在网络游戏中实现高可扩展性ai的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910084079XA CN101887480A (zh) 2009-05-14 2009-05-14 一种在网络游戏中实现高可扩展性ai的方法

Publications (1)

Publication Number Publication Date
CN101887480A true CN101887480A (zh) 2010-11-17

Family

ID=43073398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910084079XA Pending CN101887480A (zh) 2009-05-14 2009-05-14 一种在网络游戏中实现高可扩展性ai的方法

Country Status (1)

Country Link
CN (1) CN101887480A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411976A (zh) * 2015-07-30 2017-02-15 博雅网络游戏开发(深圳)有限公司 网络游戏托管方法和系统、服务器
CN107102858A (zh) * 2017-04-20 2017-08-29 北京联合大学 一种在网站开发中实现高可扩展性页面输出的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411976A (zh) * 2015-07-30 2017-02-15 博雅网络游戏开发(深圳)有限公司 网络游戏托管方法和系统、服务器
CN106411976B (zh) * 2015-07-30 2019-10-25 博雅网络游戏开发(深圳)有限公司 网络游戏托管方法和系统、服务器
CN107102858A (zh) * 2017-04-20 2017-08-29 北京联合大学 一种在网站开发中实现高可扩展性页面输出的方法

Similar Documents

Publication Publication Date Title
CN111708520B (zh) 应用构建方法、装置、电子设备及存储介质
CN101162428A (zh) 软件动态演化中构件运行时状态的获取和转换方法
CN109725923A (zh) 一种软件轻量更新方法、装置及设备
CN109739735B (zh) 日志生成方法及装置
CN105302581A (zh) 基于脚本引擎的工作流事件机制实现方法
CN111949272A (zh) 寄宿应用的编译优化方法、装置、电子设备及可读存储介质
CN112882732A (zh) 一种软件开发工具包sdk中功能代码的更新方法和装置
CN110781200B (zh) 一种区块链异常数据的处理方法、装置、设备和介质
CN101980546A (zh) 智能网平台、业务执行方法和分析业务异常的方法
CN101887480A (zh) 一种在网络游戏中实现高可扩展性ai的方法
US20110271286A1 (en) System and method for application function consolidation
CN109032629A (zh) 一种代码更新方法及装置
CN115222176A (zh) 风险控制方法、装置、设备和介质
US8539496B1 (en) Method and apparatus for configuring network systems implementing diverse platforms to perform business tasks
CN111767149A (zh) 调度方法、装置、设备及存储设备
CN111767462B (zh) 为个体定制个性化规则的方法、装置、设备及存储介质
CN111783121B (zh) 数据处理方法、装置、设备及存储介质
CN109728928A (zh) 事件识别方法和终端、模型生成方法和服务器及存储介质
CN101884842A (zh) 一种在棋牌游戏中实现灵活算分的方法
KR101866826B1 (ko) 게임 서버의 운용 에스펙트 호출 방법
CN116186046B (zh) 设备数据的修改方法、装置、计算机设备及存储介质
CN111209276A (zh) 一种用于对大数据进行处理的方法及系统
CN111008081A (zh) 用于区块链系统的方法、装置和计算机存储介质
CN113051511B (zh) 页面消息分发方法、装置、设备和存储介质
EP3287858A1 (en) Extending mes functionalities in a bus-based architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: CHINA GAMES COMPETITIVE CULTURE CO., LTD.

Free format text: FORMER OWNER: GRIZZLY (BEIJING) TECHNOLOGY CO., LTD.

Effective date: 20111111

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 102218 CHANGPING, BEIJING TO: 570215 HAIKOU, HAINAN PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20111111

Address after: 570215 room 17A, crystal building, Pearl River Plaza, No. 2, Kun Kun Road, Hainan, Haikou

Applicant after: Middle reaches competitive culture Limited by Share Ltd

Address before: 102218, 701, building 39, 2 District, Tiantongyuan north, Beijing, Changping District, 7

Applicant before: Huixiong (Beijing) Technology Co., Ltd.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20101117