一种多方式博弈控制系统和方法
文献发布时间:2023-06-19 09:32:16
技术领域
本发明涉及互联网的广告技术领域,尤其涉及一种多方式博弈控制系统和方法。
背景技术
在消除类游戏中,游戏开发语言多,结构混乱,缺乏整体的规划,不利于后期功能的添加与拓展。而由于传统消除类游戏仅限于消除,其结构依然以消除为主,并未考虑其他游戏模式的添加会造成的影响。例如申请号为201410778562.9的专利,一种消除类游戏装置,包括。
用户模块,适于接收用户的模板定制请求,以及接收用户对接收模块接收的图片的选取,其中,所述模板定制请求中包括所述模板的游戏主题。
提交模块,适于向服务器提交所述模板定制请求。
接收模块,适于接收所述服务器根据所述模板定制请求返回的与所述游戏主题相关的图片。对所述图片进行处理。其中,所述处理包括裁剪和/或对比度调整。
生成模块,适于将用户通过所述用户模块选中的图片用于游戏中的消除对象,生成所述消除类游戏的模板。所述模板包括用户选中的图片和消除类游戏的配置文件。其中,所述消除类游戏的客户端程序上提供有搜索接口。
上述专利通过客户端与服务器端的请求与传输完成消除类游戏的主要内容。该专利中的游戏结构简单、功能单一,不利于后续功能的拓展。
发明内容
本发明所要解决的技术问题在于,提供一种多方式博弈控制系统和方法,可针对消除类游戏提供更多玩法,满足用户多样化的需求。
本发明的技术方案采用Lua脚本语言作为数据载体来实现。Lua语言是一种小巧的动态类型脚本语言,可以嵌入到游戏的应用程序中,从而为应用程序提供灵活的扩展和定制功能。而且Lua是解释性的语言,修改后便可以执行,无须编译。
为了解决上述技术问题,本发明提供了一种多方式博弈控制系统,包括配置管理器、分层管理器、调度管理器。
所述配置管理器用于配置游戏中通用的参数。
所述分层管理器用于管理不同层的内容和相互之间的通信。
所述调度管理器用于管理游戏资源的创建、加载和销毁。
作为上述方案的改进,所述配置管理器包括。
设置模块,用于控制游戏里的全局变量,包括音效开关、游戏品质低中高、游戏语言。
设置模块的集中设置,方便全局控制所有对应需要修改的参数,可由用户随时修改。
音效模块,用于管理游戏内部所有音效的播放、暂停、停止状态。
通过管理器控制音效的执行动作,来执行相应的动作逻辑。每个动作都存在管理器的容器中,可对每个音效动作做播放,暂停,停止,销毁等操作。优点是灵活,复用性强,扩展性高。
作为上述方案的改进,所述分层管理器包括。
Lua脚本模块,用于管理Lua脚本的读取、解析及底层逻辑和上传逻辑的调用。
网络层模块,用于管理客户端与服务端消息的传递、解析和分发。
网络层模块可以有序的执行接收,发送消息,类似于一个代理的方式。只负责收发,不负责处理逻辑,大大降低了各模块的关联性,有利于后期的维护和功能拓展。
作为上述方案的改进,所述调度管理器包括。
状态机模块,用于切换游戏启动流程状态,包括消除后的战斗角色的生成。
状态机模块提高代码复用性,减少各个状态之间的耦合性,使各个状态灵活性更高。
资源管理模块,用于管理游戏里的资源加载、资源依赖加载及资源卸载。
资源管理模块控制所有资源的加载和释放,避免因资源释放不干净导致内存泄漏问题。
UI管理模块,用于管理游戏内UI的创建和销毁、各界面组件的渲染层级和生命周期。
UI管理模块批量管理所有窗口的层级关系及相互调用关系,提高了各级的管理效率。
场景地图管理模块,用于管理游戏场景的加载、创建、销毁和场景之间的切换。
场景地图管理模块通过有序地地场景地图进行字处理,直到更快速地加载游戏场景的作用。
作为上述方案的改进,所述调度管理器还包括。
预加载模块,用于提前加载游戏内部需要用到的资源,以减少游戏过程中加载需要用到的资源。
预加载模块可以有序的加载对应需要提前加载的资源,提高业务逻辑层所需要加载资源的速度,使得游戏运行更流畅。
对象池模块,用于管理游戏内部需要反复创建和销毁的组件,以达到快速存取,不需要每次销毁、创建,提高运行速度。
对象池模块可以方便快速存取,减少频繁的销毁和创建带来的性能消耗,从而提高了运行速度。
相应地,本发明还提供了一种多方式博弈控制方法,包括如下步骤。
A.使用上述的配置管理器配置游戏中通用的参数。
在本步骤中,配置管理器会为游戏中的参数自动进行默认设置,并且游戏用户可以对所有设置进行手动更改。
B.使用上述的分层管理器管理不同层的内容和相互之间的通信。
在本步骤中,分层管理器对不同的层采用不同的管理策略,并进行针对性地通信连接,提高了游戏进行的效率及流畅度。
C.使用上述的调度管理器管理游戏资源的创建、加载和销毁。
本步骤是游戏内容执行的核心内容。通过各个游戏资源的创建、加载和销毁,实现游戏内的消除、射击等多种游戏功能。
相应地,本发明还提供了一种终端,并在其上运行上述的一种多方式博弈控制系统。
相应地,本发明还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的方法。
所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、U盘和光数据存储设备等。
本发明的有益效果为:在游戏开发中降低游戏行为逻辑设置的复杂度,增强了模块化配置,方便后期功能的扩展与增加。不用修改程序代码,更不用执行游戏程序编译,而只需修改行为描述表然后重启游戏,即使新修改的游戏行为和逻辑直接生效,从而极大地提高了游戏开发效率,减少人为修改代码出现程序bug的情况。提高消除类游戏的运行效率和鲁棒性,使游戏的后期维护更加简单。
附图说明
图1是本发明一种多方式博弈控制系统的第一实施例结构示意图。
图2是本发明一种多方式博弈控制方法的第一实施例流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示的本发明第一实施例,提供了一种多方式博弈控制系统,包括配置管理器100、分层管理器200和调度管理器300。
配置管理器100用于配置游戏中通用的参数,包括。
设置模块101,用于控制游戏里的全局变量,包括音效开关、游戏品质低中高、游戏语言。
具体地说, 设置模块101首先将所有需要全局的控制变量,放在一个结构中。业务层直接去读取并监听这个结构内的数据。当这些数据发生改变时,会通知正在监听的业务层。这个时候业务层收到消息后去改变对应的效果即可。
音效模块102,用于管理游戏内部所有音效的播放、暂停、停止状态。
具体地说,音效具体分为如下两种。
1.3D音效。
2.2D音效。
各个音效播放类型分为如下三个。
1.淡入淡出播放。
2.淡入淡出循环播放。
3.即时播放。
各个音效执行动作类型分为如下三个。
1.并行执行播放。
2.顺序执行播放。
3.单个执行播放。
音效模块102控制音效的执行动作,来执行相应的动作逻辑。由于每个动作都存在于容器中,故可对每个音效动作做播放,暂停,停止,销毁等操作。
分层管理器200用于管理不同层的内容和相互之间的通信,包括。
Lua脚本模块201,用于管理Lua脚本的读取、解析及底层逻辑和上传逻辑的调用。
具体地说,Lua脚本模块201解决了lua脚本的读取和解析。利用luajit解释器解析lua逻辑以保证业务逻辑正常执行。
网络层模块202,用于管理客户端与服务端消息的传递、解析和分发。
具体地说,网络层模块202通过封装底层.net的TCP协议实现客户端与服务端的通讯。网络层模块202通过将各个业务逻辑里需要发送的消息存储到容器,每帧取出一个消息包发送给服务器。与此同时每收到一个服务器的消息包,也会放在一个消息包到收消息的容器中,然后每帧取出一个,分发到对应的业务模块,供相应的业务模块处理。
调度管理器300用于管理游戏资源的创建、加载和销毁。包括。
状态机模块301,用于切换游戏启动流程状态,包括消除后的战斗角色的生成。
具体地说,具体游戏状态分为如下状态。
1.对比版本号。
2.检查是否更新。
3.对比校验本地文件是否有损坏文件。
4.启动游戏,进入启动流程。
每个状态都有对应的进入,执行,更新,退出,通过对状态的切换,执行对应状态的4个步骤,处理业务逻辑。
资源管理模块302,用于管理游戏里的资源加载、资源依赖加载及资源卸载。
具体地说,资源管理模块302管理的资源分为三大块:美术资源,代码资源和本地配置资源。加载游戏里需要的美术资源时,会先加载对应的依赖资源,依赖资源加载完毕后才会去加载对应需要加的资源,当资源释放的时候只会释放所需要释放的资源,不会释放其依赖的资源,因为该对象依赖的资源也可能正在被其他资源所依赖。如果是代码脚本资源和配置资源的话就不存在依赖资源,因而在需要调用时直接加载到内存中,不用的时候即时释放掉。而资源管理模块302就是来直接控制这些资源的释放与加载的。
UI管理模块303,用于管理游戏内UI的创建和销毁、各界面组件的渲染层级和生命周期。
具体地说,UI管理模块303用来控制游戏内所有UI界面的打开,关闭,层级等。界面类型主要分为:场景相关,全屏窗口,常驻窗口,提示弹窗,新手引导窗口等。打开一个界面时,首先会创建这个对应的界面的窗口对象,然后会走这个对象的生命周期。当销毁的时候会先走死亡生命周期在销毁窗口实体。
场景地图管理模块304,用于管理游戏场景的加载、创建、销毁和场景之间的切换。
具体地说,场景地图管理模块304通过读取配置里的场景名称,以切换游戏各个副本场景,每个场景会通过编辑器切分成不同的子模块去分步加载,为了加快加载效率。通过对场景的拆分,异步加载来加快进入场景的速度。同理销毁场景也是异步逐个销毁,不会使游戏主线程卡顿。
预加载模块305,用于提前加载游戏内部需要用到的资源,以减少游戏过程中加载需要用到的资源。
具体地说,预加载模块305按任务不同具体分为多个任务管理中心。一个任务管理中心负责处理指定的一个任务。本实施例对任务形式不做限制,对任务处理器形式也不做限制。将任务添加到任务管理器中,在选择对应的处理任务方式,对任务进行处理后,会返回处理后的结果给业务层,业务层只需要关心需要处理的任务和用什么方式处理任务,然后处理完成后接收对应的处理结果即可。
对象池模块306,用于管理游戏内部需要反复创建和销毁的组件,以达到快速存取,不需要每次销毁创建,提高运行速度。
具体地说,对象池模块306通过一个对象池容器管理所有需要反复销毁和创建的对象。业务层需要创建对象的时候,先判断对象池里有没有,如果没有则会创建一个对应的对象,如果有则从对象池里取出来提供给业务层使用。反之业务层如果有不需要用的,就会回收到对象池,一旦再次需要被使用,再从池里面取出来。
相应地,如图2所示,本发明还提供了一种多方式博弈控制方法,其特征在于,包括如下步骤。
S001.使用上述的配置管理器用于配置游戏中通用的参数。
具体地说,本步骤关注于用户的直接体验,满足用户个性化的需求,比如游戏音效、背景音乐、游戏语言等的设置。在本步骤中,系统给出能够满足大多数用户需求的默认设置,当然也可以由用户进行相应的即时性调整。
S002.使用上述的分层管理器用于管理不同层的内容和相互之间的通信。
具体地说,在本步骤中,将系统分为底层和业务层。底层是游戏底层结构逻辑等,对于同一版本而言是不变的。而业务层是游戏运行的主要部分,对于不同帐号、不同操作系统、不同时间的游戏进度等都不相同,同时业务层也是游戏运行中最核心的内容。
S003.使用是述的调度管理器用于管理游戏资源的创建、加载和销毁。
具体地说,本步骤主要针对步骤S002中划分的业务层进行运行,通过控制各种游戏资源的创建、加载和销毁,实现游戏的运行,实现游戏逻辑的执行,保证用户的游戏体验。
本发明所述容器是指应用服务器中位于组件和平台之间的接口集合。容器一般位于应用服务器之内,由应用服务器负责加载和维护。一个容器只能存在于一个应用服务器之内,一个应用服务器可以建立和维护多个容器。容器一般遵守可配置的原则,即容器的使用者可以通过对容器参数的配置,来达到自己的使用需求,而不需要修改容器的代码。本发明所述对战消除类游戏是指游戏中既含有消除类游戏,又含有对战内容的游戏,尤指具有射击类的对战类游戏。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
- 一种多方式博弈控制系统和方法
- 一种基于博弈论最优PUEA方式的动态干扰方法