CN116521181B - 基于游戏系统的脚本数据处理方法、装置、设备及介质 - Google Patents
基于游戏系统的脚本数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116521181B CN116521181B CN202310815456.2A CN202310815456A CN116521181B CN 116521181 B CN116521181 B CN 116521181B CN 202310815456 A CN202310815456 A CN 202310815456A CN 116521181 B CN116521181 B CN 116521181B
- Authority
- CN
- China
- Prior art keywords
- game
- data
- entity
- script
- target
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 62
- 230000015654 memory Effects 0.000 claims description 28
- 238000013519 translation Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 13
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 239000000306 component Substances 0.000 description 54
- 230000008520 organization Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及游戏系统的数据处理技术领域,公开了一种基于游戏系统的脚本数据处理方法、装置、设备及介质,其中,方法通过在游戏系统启动过程中,将来自于外部的每种游戏实体的脚本文本数据,翻译为目标程序数据,不但降低了游戏系统的运行功耗,而且基于该目标程序数据,在游戏系统运行过程中,统一修改内部对应的目标实体的游戏组件的各项参数,增强了游戏系统内外协调的灵活性,同时,使得游戏模组在ECS架构的游戏项目中得以支持。最终可以实现运行大规模海量数据,也支持玩家对游戏本身的玩法和功能进行一定程度的修改。
Description
技术领域
本发明涉及游戏系统的数据处理技术领域,具体涉及一种基于游戏系统的脚本数据处理方法、装置、设备及介质。
背景技术
游戏引擎通常是指已编写好的可编辑游戏系统,或者实时交互式的图像应用程序的核心组件,游戏引擎可以为游戏设计者提供编写游戏程序所需的各种工具,从而便于游戏设计者更快地做出游戏程式。
相关技术中,现代游戏引擎,无论是unity3d引擎还是虚幻引擎,都开始提供一种性能极其优越的编程架构,原生ECS,即实体组件系统架构,这种架构允许海量大规模数据同时进行处理。但是它在处理脚本数据过程中,主要基于固定模式的数据结构对外置脚本进行处理,而为了使得游戏系统支持外置脚本,在游戏系统中需要设置一个脚本解释器,对外置脚本进行解析执行,以便在游戏系统运行中执行该脚本。
该相关技术,一方面由于脚本解释器,相当于在游戏系统本身的运行环境中额外添加了新的语言运行环境,导致游戏系统运行功耗增加,另一方面在ECS架构下的数据结构都是预先定义的,不支持动态修改脚本,导致在程序开发上失去了灵活性。
发明内容
有鉴于此,本发明提供了一种基于游戏系统的脚本数据处理方法、装置、设备及介质,以解决游戏系统运行功耗增加以及在程序开发上受到很大限制的问题。
第一方面,本发明提供了一种基于游戏系统的脚本数据处理方法,游戏系统包括多种游戏实体和多种游戏组件,其中,每种游戏实体通过多种游戏组件组合而成,每种游戏组件包含支持游戏系统运行的功能属性数据,游戏系统基于多种游戏实体所具备的功能特性执行工作,方法包括:
响应于游戏系统启动,获取每种游戏实体的脚本文本数据;
基于预设程序模板,通过翻译工具将每种游戏实体的脚本文本数据翻译为目标程序数据;
基于目标程序数据,获取每种游戏实体对应的函数指针;
响应于游戏系统运行,基于任务请求指令,调用与函数指针对应的目标实体,并基于不同预设参数,统一修改目标实体包含的多种游戏组件的功能属性数据。
执行上述实施方式,通过在游戏系统启动过程中,将来自于外部的每种游戏实体的脚本文本数据,翻译为目标程序数据,不但降低了游戏系统的运行功耗,而且基于该目标程序数据,在游戏系统运行过程中,统一修改内部对应的目标实体的游戏组件的各项参数,增强了游戏系统内外协调的灵活性,同时,使得游戏模组在ECS架构的游戏项目中得以支持。最终可以实现运行大规模海量数据,也支持玩家对游戏本身的玩法和功能进行一定程度的修改。
在一种可选的实施方式中,基于统一修改后的目标实体的功能属性数据,生成任务响应指令以使游戏系统执行工作。
执行上述实施方式,通过统一修改后的目标实体的功能属性数据,进而提高游戏系统的运行效率,最终达到满足玩家或第三方开发者的不同需求。
在一种可选的实施方式中,基于预设程序代码模板,通过翻译工具将每种游戏实体的脚本文本数据翻译为脚本程序数据,包括:
获取每种游戏实体的脚本文本数据的预设程序模板;
基于每种游戏实体的脚本文本数据的预设程序模板,转换每种游戏实体的脚本文本数据中的目标文本数据;
通过翻译工具将每种游戏实体的脚本文本数据中的目标文本数据翻译为目标程序数据。
执行上述实施方式,通过在游戏系统启动过程中,将来自于外部的每种游戏实体的脚本文本数据,翻译为目标程序数据,以实现降低游戏系统的运行功耗的目的。
在一种可选的实施方式中,基于不同预设参数,统一修改目标实体包含的多种游戏组件的功能属性数据,包括:
基于预设属性参数和/或预设功效参数和/或预设标志参数,统一修改目标实体包含的多种游戏组件的功能属性数据。
执行上述实施方式,通过统一修改后的目标实体的功能属性数据,进而提高游戏系统的运行效率,最终达到满足玩家或第三方开发者的不同需求
在一种可选的实施方式中,目标程序数据基于每种游戏实体对应的实体标识和函数指针封装至存储单元中,实体标识与函数指针呈一一对应的映射关系。
执行上述实施方式,通过封装函数指针封装至存储单元,以便于后续调用与函数指针对应的目标实体,对该目标实体统一修改参数,以执行对目标实体的控制,进而提高程序开发的灵活性。
根据第二方面,本发明实施例还提供一种基于游戏系统的脚本数据处理装置,游戏系统包括多种游戏实体和多种游戏组件,其中,每种游戏实体通过多种游戏组件组合而成,每种游戏组件包含支持游戏系统运行的功能属性数据,游戏系统基于多种游戏实体所具备的功能特性执行工作,装置包括:
脚本数据获取模块,用于响应于游戏系统启动,获取每种游戏实体的脚本文本数据;
脚本数据翻译模块,用于基于预设程序模板,通过翻译工具将每种游戏实体的脚本文本数据翻译为目标程序数据;
函数指针获取模块,用于基于目标程序数据,获取每种游戏实体对应的函数指针;
功能数据修改模块,用于响应于游戏系统运行,基于任务请求指令,调用与函数指针对应的目标实体,并基于不同预设参数,统一修改目标实体包含的多种游戏组件的功能属性数据。
根据第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的基于游戏系统的脚本数据处理方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的基于游戏系统的脚本数据处理方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的基于游戏系统的脚本数据处理方法的流程示意图;
图2是根据本发明实施例的另一基于游戏系统的脚本数据处理方法的流程示意图;
图3是根据本发明实施例的又一基于游戏系统的脚本数据处理方法的流程示意图;
图4是根据本发明实施例的基于游戏系统的脚本数据处理装置的结构框图;
图5是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在游戏系统的数据处理技术领域中,通常情况下,想要支持游戏模组的游戏开发公司会开发一门脚本语言,玩家可以使用这个脚本语言,在游戏的原生支持下,进行有限度的脚本编程,以此来修改或新增一部分游戏内容。为了使得游戏支持外置脚本,游戏中需要一个脚本解释器,对外置脚本进行解析执行,解析后将可以执行脚本本身的逻辑,并调用项目原生代码的一些功能。通过对这些功能的组合来执行新的功能。
相关技术中,为了降低脚本使用者的技术要求,必须将游戏代码中的编程语言简化,改造成简易的脚本。同时又为了支持这个脚本,必须使用脚本解释器来对脚本进行解释,以便在游戏中运行脚本。脚本解释器,相当于在游戏本身的运行环境中额外添加了新的语言运行环境,因此,其运行效率相当堪忧。
同时,这种方式只能运用于使用完整语言编程的游戏,如纯c++或者unity3d引擎下c#语言环境中,运行lua语言解释器这类的情形。
近些年来,现代游戏引擎,无论是unity3d引擎还是虚幻引擎,都开始提供一种性能极其优越的编程架构,原生ECS,即实体组件系统架构。这种架构允许海量大规模数据同时进行处理。但它主要处理以堆栈内存而不是堆内存为主,开发上有很大的限制。在这套架构下,无法使用嵌入动态语言解释器的方式来支持游戏模组。
因此,根据本发明实施例,提供了一种基于游戏系统的脚本数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种基于游戏系统的脚本数据处理方法,可用于的移动终端,如手机、平板电脑等,游戏系统包括多种游戏实体和多种游戏组件,其中,每种游戏实体通过多种游戏组件组合而成,每种游戏组件包含支持游戏系统运行的功能属性数据,游戏系统基于多种游戏实体所具备的功能特性执行工作。
本实施例中的游戏系统建立在ECS架构下,该ECS架构包括(实体-组件-系统)。具体地,ECS即Entity-Component-System,实体-组件-系统三者组合起来即为ECS。实体(Entity),指的是游戏运行当中一系列数据组件的集合,如一个组织,可以拥有组织首脑,组织下属机构,组织经济状况等数据组件,这些组件均联系在对应的组织实体上,这就是一个实体。组件(Component),即具备单一性,独立性的功能属性数据。如上述组织的组织经济状况,现金、负债、盈余表等数据,可以集合为一个组件数据。系统(System)。在ECS架构的游戏中,系统指的是对组件数据进行统一操作的功能模块。系统中可以操作组件并进行处理。在System当中,通过调用Job任务来批量化处理组件中的数据。
在使用高性能大规模数据处理架构,即ECS(实体-组件-系统)架构,对游戏进行开发的同时,本实施例需要在游戏代码中加入游戏模组(MOD),使得玩家或者开发者或者第三方开发者可以为游戏扩展原有功能或者新增新的功能。为了使得游戏模组能扩展或修改原有游戏功能,游戏模组中需要加入外置脚本以供使用。
本实施例为了实现支持海量数据运行的同时,而ECS(实体-组件-系统)架构的前提下,通过外置脚本开发游戏模组对游戏实体的功能参数进行修改。
图1是根据本发明实施例的基于游戏系统的脚本数据处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,响应于游戏系统启动,获取每种游戏实体的脚本文本数据。
示例性地,脚本文件数据本质上是一种配置,比如在txt文本中写入{游戏初始化={金币=100}},将这个内容翻译成游戏系统支持的编程语言,如c#,c++等,这样进入游戏后玩家一开始就会得到额外的100金币。
因此,脚本文本数据是来自外部的玩家或第三方开发者,手动手写输入。具体地,在游戏可执行文件所在子目录下,玩家或第三方开发者可以添加用于实现游戏模组的脚本文本数据。无论是玩家还是第三方开发者,均可手动手写脚本文本数据放到对应目录下,使游戏系统自动读取这些脚本文本数据,并且这些脚本文本数据可以对脚本中指定的游戏实体进行控制。
步骤S102,基于预设程序模板,通过翻译工具将每种游戏实体的脚本文本数据翻译为目标程序数据。
示例性地,游戏系统启动的过程中,翻译模块会读取不同目录下的脚本文本数据,例如生产模块读取/production目录,以此类推。功能模块将会把对应脚本反序列化成c#当中的数据对象。再基于预设程序模板,将这些数据对象翻译为hpc#的c#代码,并动态编译成程序集。
本实施例通过执行步骤S102,通过在游戏系统启动过程中翻译脚本文本数据,而非在游戏系统运行中运行动态语言解释器来执行代码,进而可以实现自解释脚本对象,并通过模板引擎生成支持hpc#的c#代码,大幅度降低了游戏系统的运行消耗,因为实际上执行的是c#代码,而不是动态语言。
步骤S103,基于目标程序数据,获取每种游戏实体对应的函数指针。
在一种可选的实施方式中,目标程序数据基于每种游戏实体对应的实体标识和函数指针封装至存储单元中,实体标识与函数指针呈一一对应的映射关系。
具体地,实体标识可以为键key,函数指针可以为value值,存储单元可以为map容器。
示例性地,目标程序数据实际上是程序集,在程序集中找到预定义的生成函数,这些函数对应着在不同实体上生效的功能。比如可设定GenerateProductionBuff(ProductionData pData)这样的函数,这个函数可以根据对应逻辑修改对应的实体组件数据。
具体地,获取程序集当中的函数指针,并将这些指针进行包装,如原始为void*xxx(T t)特定类型的函数指针,转换为IntPtr的整形指针类型。将指针存储在以实体名为键key,以函数指针为值value的存储单元(map容器)当中。
步骤S104,响应于游戏系统运行,基于任务请求指令,调用与函数指针对应的目标实体,并基于不同预设参数,统一修改目标实体包含的多种游戏组件的功能属性数据。
示例性地,在ECS系统运行中,可以创建一个独立的系统System,这个System的作用是执行对应实体的函数指针。在这个独立的System当中,记录下不同实体域的查询集合(EntityQuery),并存储在以实体名为键key,以在map容器中查询集合为value的值。
在System系统的Update运行中调用特殊编写的job任务,该job任务即上述中的任务请求指令,在不同运行的实体域中查询集合(EntityQuery),并根据其实体标识查询到对应的函数指针,赋值给job任务,在job任务中调用函数指针,执行已生成的函数,修改预定义的特定组件的数值。
因此,本实施例中的基于游戏系统的脚本数据处理方法,通过在游戏系统启动过程中,将来自于外部的每种游戏实体的脚本文本数据,翻译为目标程序数据,不但降低了游戏系统的运行功耗,而且基于该目标程序数据,在游戏系统运行过程中,统一修改内部对应的目标实体的游戏组件的各项参数,增强了游戏系统内外协调的灵活性,同时,使得游戏模组在ECS架构的游戏项目中得以支持。最终可以实现运行大规模海量数据,也支持玩家对游戏本身的玩法和功能进行一定程度的修改。
在本实施例中提供了一种基于游戏系统的脚本数据处理方法,可用于上述的移动终端,如手机、平板电脑等,图2是根据本发明实施例的基于游戏系统的脚本数据处理方法的流程图,如图2所示,还包括:
步骤S105,基于统一修改后的目标实体的功能属性数据,生成任务响应指令以使游戏系统执行工作。
通过统一修改后的目标实体的功能属性数据,进而提高游戏系统的运行效率,最终达到满足玩家或第三方开发者的不同需求。
在本实施例中提供了一种基于游戏系统的脚本数据处理方法,可用于上述的移动终端,如手机、平板电脑等,图3是步骤S103的流程图,如图3所示,
步骤S301,获取每种游戏实体的脚本文本数据的预设程序模板。
具体地,预设程序模板指的是形如类似“class {className}”这样的文本数据,翻译的过程是将className替换为有效类名的方式,将数据对象转换为c#代码的过程。在这样的c#代码中预定义的函数里,已经实现了对应组件数据的操作,后面只需要通过特定方式调用即可。
步骤S302,基于每种游戏实体的脚本文本数据的预设程序模板,转换每种游戏实体的脚本文本数据中的目标文本数据。
步骤S303,通过翻译工具将每种游戏实体的脚本文本数据中的目标文本数据翻译为目标程序数据。
示例性地,通过如下程序代码将脚本文本数据翻译为目标程序代码。
condition = {
is_warm = true
id = 1
}
则会被首先转换为内存中的对象Condition,对象结构如下:
Class Condition {
List<SubCondition>subConditions;//子条件列表
}
Class SubContidon {
string compareAttribute;//比较属性
string compareValue;//比较值
string compareSign;//比较符号
}
解析后的对象内容是
condition: Condition {
subConditions = [subCon1:SubCondition {
compareAttribute:‘is_warm’;
compareValue: ‘true’;
compareSign: ‘==’;
}
subCon2:SubCondition {
compareAttribute:‘id’;
compareValue: ‘1’;
compareSign: ‘==’;
}
]
}
最终这个对象会经过自主开发的翻译工具,翻译为类似如下的程序代码:
if(target[“is_warm”] == true&&target["id”] == 1){
}
具体地,在上述程序代码中,初始的脚本文本数据如下:
condition = {
is_warm = true
id = 1
}
在上述程序代码中,目标文本数据如下:
Class Condition {
List<SubCondition>subConditions;//子条件列表
}
Class SubContidon {
string compareAttribute;//比较属性
string compareValue;//比较值
string compareSign;//比较符号
}
解析后的对象内容是:
condition: Condition {
subConditions = [subCon1:SubCondition {
compareAttribute:‘is_warm’;
compareValue: ‘true’;
compareSign: ‘==’;
}
subCon2:SubCondition {
compareAttribute:‘id’;
compareValue: ‘1’;
compareSign: ‘==’;
}
]
}
在一种可选的实施方式中,在上述步骤S104中,基于不同预设参数,统一修改目标实体包含的多种游戏组件的功能属性数据,包括:
基于预设属性参数和/或预设功效参数和/或预设标志参数,统一修改目标实体包含的多种游戏组件的功能属性数据。
示例性地,预设属性参数为了统一游戏组件的属性参数,预设功效参数为了实现增强某个游戏实体的攻击力和防御力的功效参数,预设标志参数为表明标志游戏组件的一些参数。
具体地,在游戏系统运行的ECS实体中,定义了一套特定组件。这些组件包含:统一属性组件:这个组件将可读写,可修改的数据定义成统一格式。所有游戏实体中均添加此组件。统一buff组件:buff即游戏系统当中可能出现的对数据进行修改的一些效果数据,比如增强某个游戏实体的攻击力,防御力等等。这个游戏组件中将游戏运行实体当中的buff数据定义成统一格式,包含了最终对数据生效的各类buff结果,其中有加减法式的buff,乘法式的buff,最终数值式的buff等等。所有需要进行数据查询和添加buff效果的游戏实体均添加此游戏组件。统一标志组件:这个组件将游戏实体当中的一些标志类型,即布尔类型(是/否)的数据定义成统一格式。所有游戏实体中均添加此游戏组件。使用以上这些统一格式的组件,其目的是为了在运行脚本文本数据所翻译的代码时,不用考虑其作用的游戏实体,因为只需要对相同格式的游戏组件进行操作即可。
在本实施例中还提供了一种基于游戏系统的脚本数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
该游戏系统包括多种游戏实体和多种游戏组件,其中,每种游戏实体通过多种游戏组件组合而成,每种游戏组件包含支持游戏系统运行的功能属性数据,游戏系统基于多种游戏实体所具备的功能特性执行工作,如图4所示,该装置包括:
脚本数据获取模块41,用于响应于游戏系统启动,获取每种游戏实体的脚本文本数据;
脚本数据翻译模块42,用于基于预设程序模板,通过翻译工具将每种游戏实体的脚本文本数据翻译为目标程序数据;
函数指针获取模块43,用于基于目标程序数据,获取每种游戏实体对应的函数指针;
功能数据修改模块44,用于响应于游戏系统运行,基于任务请求指令,调用与函数指针对应的目标实体,并基于不同预设参数,统一修改目标实体包含的多种游戏组件的功能属性数据。
调度任务执行模块45,用于基于统一修改后的目标实体的功能属性数据,生成任务响应指令以使游戏系统执行工作。
在一种可选的实施方式中,脚本数据翻译模块42,包括:
程序模板获取子模块,用于获取每种游戏实体的脚本文本数据的预设程序模板;
文本数据转换子模块,用于基于每种游戏实体的脚本文本数据的预设程序模板,转换每种游戏实体的脚本文本数据中的目标文本数据;
程序数据翻译子模块,用于通过翻译工具将每种游戏实体的脚本文本数据中的目标文本数据翻译为目标程序数据。
在一种可选的实施方式中,功能数据修改模块44,包括:
功能数据修改子模块,用于基于预设属性参数和/或预设功效参数和/或预设标志参数,统一修改目标实体包含的多种游戏组件的功能属性数据。
在一种可选的实施方式中,目标程序数据基于每种游戏实体对应的实体标识和函数指针封装至存储单元中,实体标识与函数指针呈一一对应的映射关系。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的基于游戏系统的脚本数据处理装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述基于游戏系统的脚本数据处理装置。
请参阅图5,图5是本发明可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种基于游戏系统的脚本数据处理方法,其特征在于,所述游戏系统包括多种游戏实体和多种游戏组件,其中,每种游戏实体通过多种游戏组件组合而成,每种游戏组件包含支持所述游戏系统运行的功能属性数据,所述游戏系统基于所述多种游戏实体所具备的功能特性执行工作,所述方法包括:
响应于所述游戏系统启动,获取所述每种游戏实体的脚本文本数据;
基于预设程序模板,通过翻译工具将所述每种游戏实体的脚本文本数据翻译为目标程序数据;
基于所述目标程序数据,获取所述每种游戏实体对应的函数指针;
响应于所述游戏系统运行,基于任务请求指令,调用与所述函数指针对应的目标实体,并基于不同预设参数,统一修改所述目标实体包含的所述多种游戏组件的所述功能属性数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
基于统一修改后的所述目标实体的所述功能属性数据,生成任务响应指令以使所述游戏系统执行工作。
3.根据权利要求1所述的方法,其特征在于,所述基于预设程序代码模板,通过翻译工具将所述每种游戏实体的脚本文本数据翻译为脚本程序数据,包括:
获取所述每种游戏实体的脚本文本数据的预设程序模板;
基于所述每种游戏实体的脚本文本数据的预设程序模板,转换所述每种游戏实体的脚本文本数据中的目标文本数据;
通过所述翻译工具将所述每种游戏实体的脚本文本数据中的目标文本数据翻译为目标程序数据。
4.根据权利要求1所述的方法,其特征在于,基于不同预设参数,统一修改所述目标实体包含的所述多种游戏组件的所述功能属性数据,包括:
基于预设属性参数和/或预设功效参数和/或预设标志参数,统一修改所述目标实体包含的所述多种游戏组件的所述功能属性数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述目标程序数据基于所述每种游戏实体对应的实体标识和函数指针封装至存储单元中,所述实体标识与所述函数指针呈一一对应的映射关系。
6.一种基于游戏系统的脚本数据处理装置,其特征在于,所述游戏系统包括多种游戏实体和多种游戏组件,其中,每种游戏实体通过多种游戏组件组合而成,每种游戏组件包含支持所述游戏系统运行的功能属性数据,所述游戏系统基于所述多种游戏实体所具备的功能特性执行工作,所述装置包括:
脚本数据获取模块,用于响应于所述游戏系统启动,获取所述每种游戏实体的脚本文本数据;
脚本数据翻译模块,用于基于预设程序模板,通过翻译工具将所述每种游戏实体的脚本文本数据翻译为目标程序数据;
函数指针获取模块,用于基于所述目标程序数据,获取所述每种游戏实体对应的函数指针;
功能数据修改模块,用于响应于所述游戏系统运行,基于任务请求指令,调用与所述函数指针对应的目标实体,并基于不同预设参数,统一修改所述目标实体包含的所述多种游戏组件的所述功能属性数据。
7.根据权利要求6所述的装置,其特征在于,还包括:
调度任务执行模块,用于基于统一修改后的所述目标实体的所述功能属性数据,生成任务响应指令以使所述游戏系统执行工作。
8.根据权利要求6所述的装置,其特征在于,所述脚本数据翻译模块,包括:
程序模板获取子模块,用于获取所述每种游戏实体的脚本文本数据的预设程序模板;
文本数据转换子模块,用于基于所述每种游戏实体的脚本文本数据的预设程序模板,转换所述每种游戏实体的脚本文本数据中的目标文本数据;
程序数据翻译子模块,用于通过所述翻译工具将所述每种游戏实体的脚本文本数据中的目标文本数据翻译为目标程序数据。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至5中任一项所述的基于游戏系统的脚本数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至5中任一项所述的基于游戏系统的脚本数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310815456.2A CN116521181B (zh) | 2023-07-05 | 2023-07-05 | 基于游戏系统的脚本数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310815456.2A CN116521181B (zh) | 2023-07-05 | 2023-07-05 | 基于游戏系统的脚本数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116521181A CN116521181A (zh) | 2023-08-01 |
CN116521181B true CN116521181B (zh) | 2023-09-01 |
Family
ID=87406817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310815456.2A Active CN116521181B (zh) | 2023-07-05 | 2023-07-05 | 基于游戏系统的脚本数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116521181B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235078B (zh) * | 2023-11-15 | 2024-01-30 | 湖南速子文化科技有限公司 | 一种高速处理海量数据的方法、系统、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104007844A (zh) * | 2014-06-18 | 2014-08-27 | 原硕朋 | 电子设备和用于电子设备的可穿戴式输入装置 |
EP3441849A1 (en) * | 2017-08-09 | 2019-02-13 | Nagravision S.A. | Pointing input device for personal computer based on fingers ' movements |
CN115888114A (zh) * | 2021-08-13 | 2023-04-04 | 完美世界(北京)软件科技发展有限公司 | 游戏数据的处理方法及装置、存储介质、终端 |
-
2023
- 2023-07-05 CN CN202310815456.2A patent/CN116521181B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104007844A (zh) * | 2014-06-18 | 2014-08-27 | 原硕朋 | 电子设备和用于电子设备的可穿戴式输入装置 |
EP3441849A1 (en) * | 2017-08-09 | 2019-02-13 | Nagravision S.A. | Pointing input device for personal computer based on fingers ' movements |
CN115888114A (zh) * | 2021-08-13 | 2023-04-04 | 完美世界(北京)软件科技发展有限公司 | 游戏数据的处理方法及装置、存储介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN116521181A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045655B (zh) | 一种页面渲染的方法、装置、渲染服务器和存储介质 | |
CN104866383B (zh) | 一种接口调用方法、装置及终端 | |
US8464214B2 (en) | Apparatus, method and system for building software by composition | |
CN110908712A (zh) | 移动端跨平台的数据处理方法和设备 | |
CN116521181B (zh) | 基于游戏系统的脚本数据处理方法、装置、设备及介质 | |
CN110647316B (zh) | 通用业务对象的生成方法、装置、计算机设备及存储介质 | |
CN114327605B (zh) | 一种基于Vue远程表单生成方法、计算机及存储介质 | |
CN110674205B (zh) | 单表查询方法、装置、终端及可读存储介质 | |
CN110633162B (zh) | 远程调用实现方法、装置、计算机设备及存储介质 | |
US6922735B2 (en) | Management of co-processor information by integrating non-program information with program information | |
CN117234582A (zh) | 一种项目代码处理方法、装置、电子设备及存储介质 | |
CN116400914A (zh) | 一种基于数据模型快速构建web应用的方法 | |
JP2003248635A (ja) | ネットワーク管理プロトコールにおける管理情報ベースのデータベースアクセス方法及びシステム | |
CN115756433A (zh) | 代码平台的迁移方法、装置、电子设备及可读存储介质 | |
CN114911541A (zh) | 配置信息的处理方法、装置、电子设备及存储介质 | |
WO2022099913A1 (zh) | 界面配置方法、装置、设备及介质 | |
CN114579141A (zh) | require框架转化为VUE框架的方法及装置 | |
CN114489619A (zh) | 一种界面视图显示方法及终端设备、计算机可读存储介质 | |
CN110327626B (zh) | 虚拟服务器创建方法及装置 | |
CN114258012A (zh) | Esim号码的预制方法及esim虚拟系统、设备及存储介质 | |
CN115757287A (zh) | 目标文件的构建方法、装置及存储介质 | |
CN113342399A (zh) | 应用项目的结构配置方法、装置及可读存储介质 | |
CN112882843A (zh) | 一种英文枚举自动补全中文值的方法 | |
CN111881220A (zh) | 列表存储下的数据操作方法、装置、电子设备和存储介质 | |
CN111581578A (zh) | 接口请求处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |