Game related tool modular use method and related device

By loading and initializing the dynamic library of editing tools in the game engine editor based on user permissions, the problem of data error modification caused by user error triggering is solved, and more efficient permission management and data protection is achieved.

CN119792940APending Publication Date: 2025-04-11BEIJING PIXEL SOFTWARE TECH
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411877742.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-19
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The existing game engine editor has flaws in permission management, which causes users to accidentally trigger functions during the editing process, resulting in incorrect modification of data, affecting the rendering pressure and effect of the project.

Method used

By obtaining the target permissions of the user, loading and initializing the corresponding editing tool dynamic library, functions are only opened based on user permissions, thereby avoiding the use of unauthorized functions.

Benefits of technology

It effectively avoids the problem of data mistouching due to failure to perform permission control, and ensures the correctness of the data and the rendering performance of the project.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119792940A_ABST
    Figure CN119792940A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a game related tool modular use method and a related device, and relates to the technical field of computers. The method comprises the steps that target permission of a user is obtained, the target permission is used for indicating a target editing tool dynamic library which has permission to be loaded in an editing tool dynamic library of a function module of a target game and available functions in the target editing tool dynamic library, and the target editing tool dynamic library comprises editing logic and interface logic; loading target editing tool dynamic libraries according to the target permission, and initializing each target editing tool dynamic library according to the target permission; and performing game editing on the target game according to the received game editing operation. In this way, the function is independently opened for the user according to the authority, and therefore the situation that the effect is incorrect due to the fact that some data are mistakenly touched due to the fact that authority control is not carried out is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a modular use method of game-related tools and related devices. Background Art

[0002] The current engine editors and products on the market all have a problem that permissions are basically restricted by departmental regulations. Users of the same module may modify the results of others' editing due to improper operation. For example, an artist who makes a particle map accidentally touches the value of the particle speed on the editing interface during the editing process, resulting in incorrect results. Or there are some special properties, such as the particle shadow level, which can only be modified by the art supervisor. If touched by mistake, the particles of the entire project will have a huge increase in rendering pressure due to the shadow effect. Conventional editors do not open functions to users separately based on permissions under one workflow. Summary of the invention

[0003] The embodiments of the present application provide a modular use method and related device for game-related tools, which can open functions to users individually according to permissions, thereby avoiding incorrect effects caused by certain data being accidentally touched due to lack of permission control.

[0004] The embodiments of the present application can be implemented as follows:

[0005] In a first aspect, an embodiment of the present application provides a modular use method of game-related tools, the method comprising:

[0006] Obtaining the target authority of the user, wherein the target authority is used to indicate the target editing tool dynamic library that the user has the authority to load in the editing tool dynamic library of the function module of the target game and the functions that can be used in the target editing tool dynamic library, wherein the target editing tool dynamic library includes editing logic and interface logic;

[0007] Loading the target editing tool dynamic library according to the target permission, and initializing each target editing tool dynamic library according to the target permission;

[0008] The game is edited for the target game according to the received game editing operation.

[0009] In a second aspect, an embodiment of the present application provides a modular use device for game-related tools, the device comprising:

[0010] A loading module, used to obtain the target authority of the user, wherein the target authority is used to indicate the target editing tool dynamic library and the functions available in the target editing tool dynamic library that the user has the authority to load in the editing tool dynamic library of the function module of the target game, wherein the target editing tool dynamic library includes editing logic and interface logic;

[0011] The loading module is further used to load the target editing tool dynamic library according to the target permission, and initialize each target editing tool dynamic library according to the target permission;

[0012] The processing module is used to edit the target game according to the received game editing operation.

[0013] In a third aspect, an embodiment of the present application provides an electronic device, including a processor and a memory, wherein the memory stores machine executable instructions that can be executed by the processor, and the processor can execute the machine executable instructions to implement the modular use method of game-related tools described in the aforementioned embodiment.

[0014] In a fourth aspect, an embodiment of the present application provides a readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the modular use method of game-related tools as described in the aforementioned embodiment.

[0015] The modular use method and related device of game-related tools provided in the embodiment of the present application obtain the target authority of the user, and the target authority is used to indicate that the user has the authority to load the target editing tool dynamic library in the editing tool dynamic library of the function module of the target game and the functions available in the target editing tool dynamic library; then, the target editing tool dynamic library is loaded according to the target authority, and each of the target editing tool dynamic libraries is initialized according to the target authority, wherein the target editing tool dynamic library includes editing logic and interface logic; finally, the game is edited for the target game according to the received game editing operation. In this way, by opening functions for users separately according to the authority, it is avoided that some data is accidentally touched due to the lack of authority control, resulting in incorrect effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0017] Figure 1A block diagram of an electronic device provided in an embodiment of the present application;

[0018] Figure 2 One of the flowcharts of the modular use method of game-related tools provided in the embodiment of the present application;

[0019] Figure 3 The second flowchart of the modular use method of game-related tools provided in the embodiment of the present application;

[0020] Figure 4 A schematic diagram of generating a dynamic library entry declaration file def provided in an embodiment of the present application;

[0021] Figure 5 A schematic diagram of the dynamic library entry class and function writing provided in the embodiment of the present application;

[0022] Figure 6 A schematic diagram of initializing the editing logic and related UI logic of the dynamic library;

[0023] Figure 7 A schematic diagram of loading the corresponding dynamic library using the system API for loading logic;

[0024] Figure 8 This is a schematic diagram of the permission configuration file;

[0025] Fig. 9 A schematic diagram of performing rights management via a network provided in an embodiment of the present application;

[0026] Fig.10 A schematic diagram of providing management software for rights management provided in an embodiment of the present application;

[0027] Fig.11 The third flowchart of the modular use method of game-related tools provided in the embodiment of the present application;

[0028] Fig.12 This is a schematic diagram of the use process of the debugging tool;

[0029] Fig.13 Flow chart 4 of the modular use method of game-related tools provided in the embodiment of the present application;

[0030] Fig.14 Schematic diagram for game initialization;

[0031] Fig.15 A schematic diagram for modifying resources;

[0032] Fig.16 One of the block diagrams of the modular use device of game-related tools provided in an embodiment of the present application;

[0033] Fig.17 The second block diagram of the modular use device of game-related tools provided in the embodiment of the present application.

[0034] Icons: 100 - electronic device; 110 - memory; 120 - processor; 130 - communication unit; 200 - modular use device of game-related tools; 201 - generation module; 210 - loading module; 220 - processing module. DETAILED DESCRIPTION

[0035] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.

[0036] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.

[0037] It should be noted that relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0038] First, some of the terms involved in this application are explained below.

[0039] Editor: The game engine is used to pre-process resources and build game content.

[0040] Immediate mode graphical user interface: Compared with the commonly used interface retained-mode mode, each data needs a copy for display, and the copy must be modified at the same time when it is modified; the Immediate mode directly uses the data memory to directly draw the interface and directly uses the engine rendering without introducing other UI interface libraries.

[0041] Dynamic Library (DLL): Dynamic Link Library (Dynamic Link Library or Dynamic-link Library, abbreviated as DLL), a way to implement the concept of shared function library.

[0042] Now, slightly larger projects in the game industry are all on a scale of more than 100 people. To create a complete game, each department has a different division of labor. Even each employee in each department only completes a part of a function. The editing of all these functions is completed using the game editor. Therefore, the commercial engine will integrate all the tools (including editing tools) for making games into an executable program (exe)-the game editor. In addition to integrating the editor of the self-developed engine into one editor, it may also write a separate editor for each module editing function. And some profiler tools (ie debugging tools) that are convenient for debugging will also be integrated into the editor. However, general editors are executable programs for PCs. If you want to use these tools to debug game content on mobile platforms, you can only use the profiler tool integrated in the PC editor by connecting to the PC through the network or USB.

[0043] In the prior art, commercial engines use all the tools for making games integrated into an executable program (exe) - the game editor. If different types of work (for example, art, planning, and programming) require different working environments, the development environment for different types of work can be formulated through the Layout interface provided by the editor. And the debugging profiler tool is also integrated together. In addition to integrating related tools into one editor for the production pipeline, self-developed engines may also integrate an editing function as a separate editor in order to enable users to open the editor faster, which is convenient for the editor's art or planning to use, and directly isolate different editors through tool software.

[0044] Whether it is an integrated game engine editor or a decentralized engine editor, there is a problem with the products currently on the market that permissions are basically restricted by departmental regulations. In this way, it is easy for some data to be accidentally touched due to the lack of permission control, resulting in incorrect effects. For example, an artist who makes a particle map accidentally touches the value of the particle speed on the editing interface during the editing process, resulting in incorrect effects. To address this problem, you may think of using software to compare the modified data of the resource, and then display the comparison results to the developer for confirmation, but the developer may ignore the modification when confirming, resulting in the final saved data being the accidentally modified data.

[0045] In response to the above situation, the embodiments of the present application provide a modular use method and related device for game-related tools, which can open functions to users individually according to permissions, thereby avoiding incorrect effects caused by certain data being accidentally touched due to lack of permission control.

[0046] In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.

[0047] Please refer to Figure 1 , Figure 1 The block diagram of the electronic device 100 provided in the embodiment of the present application. The electronic device 100 may be a computer, a mobile phone, etc. The memory 110, the processor 120, and the communication unit 130 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components may be electrically connected to each other via one or more communication buses or signal lines.

[0048] The memory 110 is used to store programs or data. The memory 110 may be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc.

[0049] The processor 120 is used to read / write data or programs stored in the memory 110 and execute corresponding functions. For example, the memory 110 stores a modular use device 200 for game-related tools, and the modular use device 200 for game-related tools includes at least one software function module that can be stored in the memory 110 in the form of software or firmware. The processor 120 executes various functional applications and data processing by running software programs and modules stored in the memory 110, such as the modular use device 200 for game-related tools in the embodiment of the present application, that is, realizing the modular use method of game-related tools in the embodiment of the present application.

[0050] The communication unit 130 is used to establish a communication connection between the electronic device 100 and other communication terminals through a network, and to send and receive data through the network.

[0051] It should be understood that Figure 1 The structure shown is only a schematic diagram of the structure of the electronic device 100. The electronic device 100 may also include Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown. Figure 1 Each component shown in the figure can be implemented by hardware, software or a combination thereof.

[0052] Please refer to Figure 2 , Figure 2 This is one of the flow diagrams of the modular use method of game-related tools provided in the embodiment of the present application. The method is applied to the above-mentioned electronic device 100. The specific process of the modular use method of game-related tools is described in detail below. In this embodiment, the method may include steps S110 to S130.

[0053] Step S110, obtaining the target authority of the user.

[0054] Step S120, loading the target editing tool dynamic library according to the target permission, and initializing each target editing tool dynamic library according to the target permission.

[0055] Step S130: Edit the target game according to the received game editing operation.

[0056] In this embodiment, when a user (game developer) opens an editor to edit a target game, the user ID of the user can be obtained first, and then the target permissions of the user can be determined based on the user ID. The target permissions are used to indicate the target editing tool dynamic library that the user has the permission to load in the editing tool dynamic library of the function module of the target game and the functions that can be used in the target editing tool dynamic library. The target editing tool dynamic library is an editing tool dynamic library that the user has the permission to use, and the editing tool dynamic library includes at least one editing tool, and the editing tool includes editing logic and interface logic, and one editing tool includes at least one function.

[0057] When the target authority of the user is obtained, the target editing tool dynamic library that the user has the authority to load can be loaded according to the target authority, and each target editing tool dynamic library can be initialized according to the target authority. In the initialization process, for the functions in the target editing tool dynamic library that the user does not have the authority to use, the logic related to the function may not be loaded; for the functions in the target editing tool dynamic library that the user does not have the authority to use, the logic related to the function may be loaded. Afterwards, the user can edit the game and edit the target game according to the game editing operation received from the user.

[0058] In this embodiment, before the user edits the game, the relevant logic is loaded and initialized according to the user's target authority, and then the game is edited based on the user's game editing operation. In this way, functions can be opened to users separately according to their authority, thereby avoiding the situation where some data is accidentally touched due to lack of authority control, resulting in incorrect effects.

[0059] The game editor integrates all tools together, which means that all users (i.e. game developers) need to start the full editor. Even if they just want to see the effect of the newly made model in the engine, they need to spend a lot of time to open the editor. If a new version is released, there will be overhead such as rendering thumbnails and compiling the shader of the default scene, which greatly reduces the work efficiency of users.

[0060] For an editor that integrates all tools, if you want to differentiate between different types of work, you need to configure different layouts for the UI of different workflows. Even if there are different layouts, it is just a difference in the interface layout, and it will not distinguish between different work contents for workers. This design is very friendly for independent game developers or projects that require multiple roles, but it can sometimes cause some confusion for projects with clear division of labor.

[0061] Although multiple editors can solve the overhead problem of integrated editors, there will be a large number of editor executable files (exe). If there is a resource, it may be required by multiple functional modules. For example, the model needs to make a material file, the particle needs to make a material file, etc., then it is necessary to implement the material file editing function once in the model editor, and then implement it again in other editors such as particles. If the material editing function is extended or modified, all places where this function is used must be modified, which greatly increases the workload of programmers; and because the particle editor and the model editor are maintained by different people, there may be certain discrepancies in operation, resulting in increased learning costs for users. Because of the number of people developing some self-developed engines, when the model editor is completed, the material system of the particle editor has not been ported, and the user must open multiple different editors at the same time to perform a pipeline editing work, which greatly reduces the user's work efficiency.

[0062] In response to the above situation, in this embodiment, the tools needed for the editing process are modularly managed according to actual needs, so that users can use the editing tool dynamic library corresponding to the full editor, or only use part of the required editing tool dynamic library. Through flexible combination loading and use, the user's work efficiency can be improved.

[0063] Please refer to Figure 3 , Figure 3 The second flowchart of the modular use method of game-related tools provided in the embodiment of the present application is as follows. In this embodiment, before step S110, the method may further include steps S101 to S102.

[0064] Step S101, generating the editing logic and interface logic of each functional module in the target game, and the debugging tool corresponding to the target game.

[0065] Step S102, generating an editing tool dynamic library and at least one debugging tool dynamic library corresponding to each functional module according to the editing logic and interface logic of each functional module and the debugging tool corresponding to the target game.

[0066] In this embodiment, it is necessary to write the editing logic and related interface logic of different resources (i.e., functional modules, such as Role, particles, animation, skeleton, etc.), as well as write different Profiler debugging tools, and then create different dynamic library DLLs. A functional module corresponds to at least one editing tool dynamic library, and a functional module may or may not correspond to a debugging tool dynamic library. Subsequently, the dynamic libraries of different functional modules can be loaded through the dynamic library DLL hot loading method (obtaining the entry address of the dynamic library according to the class name described in the def file).

[0067] Among them, an editing tool dynamic library may include only one editing tool or multiple editing tools. The editing tools in the editing tool dynamic libraries corresponding to different functional modules may or may not have the same editing tools, that is, a certain editing tool may be located in only one editing tool dynamic library or in multiple editing tool libraries. For example, if the material editing tool needs to be used in the editing of the two functional modules of model and particle, then an editing tool dynamic library can be set, and the editing tool dynamic library only includes the material editing tool; or the model and particle each correspond to only one editing tool dynamic library (the editing tool dynamic library corresponding to the model includes the editing tools required by the model, and the editing tool dynamic library corresponding to the particle includes the editing tools required by the model), and both editing tool dynamic libraries (i.e., one editing tool dynamic library corresponding to the model and one editing tool dynamic library corresponding to the particle) include the material editing tool. The functional module corresponds to one or more editing tool dynamic libraries, and the editing tools included in the editing tool dynamic library can be determined in combination with actual needs, and are not specifically limited here. Optionally, all debugging tools can be set in one debugging tool dynamic library, or they can be divided according to functional modules, which can be determined in combination with actual needs.

[0068] Dynamic library DLL writing: Program development writes entry function declaration file def. Figure 4 As shown, Figure 4 The example shown in the figure declares a function named DLLGetExCom, and calls the function by referring to the function address to initialize the initialization logic of the relevant functional modules in the dynamic library. The dynamic library entry class and function can be written as follows: Figure 5 shown.

[0069] Editing tool related needs: Figure 6 The above example initializes the editing tool related logic and the editing tool interface, and passes the user related information into the tool for use by the management authority related logic. For example: initialize the role editing tool dynamic library, and the editing tool dynamic library initializes the singleton class named RoleEditorDLLExCom.

[0070] Debugging tool related needs: Initialize the debugging tool related logic and interface.

[0071] In this embodiment, the loading logic uses the system API to load the corresponding dynamic library. For example, Windows and iOS systems use LoadLibrary to load dynamic libraries, and Andarid uses System.loadlibrarry to load dynamic libraries. GetProcAddress loads dynamic libraries by fixed names. Figure 7In the example shown, DLLGetExCom is used to find the dynamic library entry class address and initialize the entry function to initialize the dynamic libraries of different functional modules.

[0072] You can also edit the Layout files for different types of work in advance, and you can switch between different types of work editor types and interfaces by simply replacing these files.

[0073] Determine permissions for each user: which editing tool dynamic libraries can be loaded, and which functions of each editing tool can be used.

[0074] In this embodiment, when the editing tool dynamic library of each functional module is obtained, when the user opens the editor, it can be determined whether permission management is required. For example, if the permission management function is not set, or the permission management function is set but the permission management function is turned off, it can be set that permission management is not required. If the permission management function is set and the permission management function is turned on, it can be determined that permission management is required.

[0075] In the absence of permission management, the full editing tool dynamic library can be saved locally, and then according to the received dynamic library confirmation operation, the editing tool dynamic library to be used is determined from the editing tool dynamic libraries of each functional module in the target game, and loaded and initialized based on the editing tool dynamic library to be used, and then the game editing is performed. Among them, the dynamic library confirmation operation can be an operation for the user to delete the editing tool dynamic library that is locally saved but not used by the user, or it can be an operation for the user to confirm the use of all. In this way, it is equivalent to providing a full editor, but the user can only load and initialize the required editing dynamic library according to actual needs, which can greatly improve the user's work efficiency compared to the method of only being able to start the full editor.

[0076] When it is determined that permission association is required, the dynamic library of the editing tool is loaded and initialized based on the permission. The editor provided by the traditional engine writes the logic of all editing tools into an editor software executable file (exe). In this embodiment, different asset production tools are split into different dynamic libraries according to functional modules; when the editor software is initialized, the editor management class is initialized first; the editor management class first reads the local user Layout file, determines what type of work the user wants to start working with, and obtains user permissions. You can use the permission server to manage permissions, and you can obtain user permissions from the permission server, and then you can use the editor management class to initialize and load all authorized editing tool dynamic libraries according to user permissions; you can also use the user permission function of the management software of SVN and other versions, and let different users download the editing tool dynamic library they need to use according to permissions, and the editor management class loads and initializes the dynamic library. Then initialize the initialization logic of the relevant game, complete the initialization of the editor, and finally initialize the game normally.

[0077] Here's how to manage permissions over the network.

[0078] In this method, multiple editing tool dynamic libraries are pre-stored locally. When the editor is opened, the editor management class first determines the user's type of work and which dynamic libraries will be used for this type of work according to the Uesr_config folder, and then loads each editor UI personal layout data. Figure 8 In the Uesr_config folder shown, the user permissions only allow editing of Actor, Role, Mesh and resource inspection tools.

[0079] like Fig. 9 As shown, the user's target permissions can be queried on the permission server based on the user's user ID, thereby determining which editing tool dynamic libraries the user can load (i.e., determining the target editing tool dynamic library). The editor management class can traverse the locally saved editing tool dynamic library when loading the local editing tool dynamic library. If it is found that the user does not have permission for the traversed editing tool dynamic library, the loading is skipped. After loading is complete, the initialization of each editing tool dynamic library begins, wherein the management class obtains the permissions for the internal functions of each editing tool dynamic library, and then initializes based on the permissions. Finally, initialize the game logic to complete the editor initialization.

[0080] Among them, Figure 8As shown, it is assumed that the local editing tool dynamic library folder includes: A functional module editing tool dynamic library, B functional module editing tool dynamic library, Role functional module editing tool dynamic library, and the Role functional module editing tool dynamic library includes: Skeleton editing logic and interface logic, Skin editing logic and interface logic, and hanging point editing logic and interface logic. Based on the user's target permissions, it is determined that the editing tool dynamic library folders available to the user are: A functional module editing tool dynamic library, Role functional module editing tool dynamic library, and it is determined that the user can use all functions in the A functional module editing tool dynamic library, as well as the Skeleton editing logic and interface logic, Skin editing logic and interface logic in the Role functional module editing tool dynamic library, and then the editing tool dynamic library can be initialized based on the above target permissions.

[0081] If multiple editing tool dynamic libraries are not pre-stored locally, the target editing tool dynamic library can be pulled to the local and loaded using the permission management software according to the target permission. Fig.10 As shown, SVN and other management software are used for permission management. The management software can be used to pull different editing tool dynamic libraries to the local based on the user permissions of each user. Other loading processes can refer to the above description.

[0082] Please refer to Fig.11 , Fig.11 The third flowchart of the modular use method of game-related tools provided in the embodiment of the present application is shown in FIG.

[0083] Step S140, when the device is a non-mobile platform, load and initialize at least one first debugging tool dynamic library of the non-mobile platform version; when the device is a mobile platform, load and initialize at least one second debugging tool dynamic library of the mobile platform version.

[0084] Step S150, debugging the game.

[0085] If most engines want to debug mobile platforms such as iOS and Android, they need to link symbols for debugging. Without programmers linking symbols, artists and planners cannot see a lot of data intuitively. These data cannot be shown to the producers, and they need to guess what is wrong, especially when mobile platforms have their own unique effects or use pictures in different formats - pictures have errors when converting formats; when debugging resources in the PC platform editor, all the effects are correct, but they are incorrect on mobile devices after packaging. It is difficult for producers to solve these problems by themselves. They can only let the programmer connect the PC to the mobile device for debugging. After seeing the error message, they can modify and submit again to package a new game and test it again.

[0086] The solution used by the Unity engine is to integrate the Profiler tool into the engine's editor runtime. The old Unreal Profiler tool is also integrated into the engine editor, and the new Tracy Profiler tool is an independent Profiler tool opened through the engine editor. After opening the Profiler tool for both commercial engines, the device must be connected to the editor (PC) with the debugging tool through the network (PC uses port 127.0.0.1) or USB (network protocol) to debug related errors.

[0087] In this embodiment, the debugging tool is also an independent dynamic library. When the user is a game editor, the function module corresponding to the editing tool dynamic library that the user can load can be used as the target function module. If there is a debugging tool dynamic library of the target function module, the debugging tool dynamic library of the target function module can be loaded and initialized, and the tool can be used to record error data. If the Profiler debugging tool dynamic library has a matching UI interface, the interface debugging can also be turned on. When the user is a game debugger, all debugging tool dynamic libraries can be loaded and initialized; or the debugging tool dynamic library can also be subject to the same permission management as the editing tool dynamic library, that is, the debugging tool dynamic library that the user can use and the functions in the debugging tool dynamic library are first determined, and then loaded and initialized.

[0088] In this embodiment, two debugging tool dynamic libraries are provided for developers to use: at least one first debugging tool dynamic library of non-mobile platform version and at least one second debugging tool dynamic library of mobile platform version. That is, a debugging tool dynamic library of computer version and a debugging tool dynamic library of mobile platform version such as mobile phone are provided. The corresponding version of the debugging tool dynamic library can be selected for loading and initialization according to the device environment of the developer.

[0089] Combine the following Fig.12 A brief description of the process by which game companies use debugging tools in edit mode and run mode.

[0090] The process of using debugging tools in editing mode by game companies: Just like opening the editing tool dynamic library described above, the Profiler debugging tool can be considered as a type of editor tool that can only debug but not modify resources.

[0091] The process of using debugging tools in the game company's operating mode: the mobile platform directly loads the Profiler tool of the corresponding version of the mobile platform, and the game can be debugged using the interface in the game.

[0092] Initialize only the logic required for the game to run. Create an instance of A, and create a callback class with additional interface display data (the instance and the interface hold callback class pointers for the interface and instance to exchange editing data). Or create a callback class with additional interface display data and attach it to the instance A created by other logic. If the relevant editing interface is not open, create an editing interface, and create and open a relevant editor interface. After that, the data changes of the instance can be displayed in real time through the Profiler tool through the immediate mode graphical user interface.

[0093] For most game engine editors, there is a certain gap between the running mode simulated by the editor and the actual game operation, especially for debugging on mobile platforms. Existing solutions require mobile devices to be connected to an editor (PC) with debugging tools via the network or USB (network protocol) in order to debug related errors, and sometimes it is difficult to reproduce the errors. If after the game is released, game players encounter problems that the project testers did not encounter, they must find a way to reproduce them before using the above steps for debugging. Due to different user environments and operations, there may be situations that the reproducer cannot reproduce, which greatly prolongs the difficulty of debugging. For example, it may be impossible to reproduce related errors due to equipment reasons or because the player describes the reproduction method incorrectly. The Profiler tool of commercial game editors can only provide network connection reproduction at most.

[0094] In this embodiment, if there is a problem that the game company cannot reproduce, the cooperation of the players is required. If the company allows, the Profiler tool dynamic library with different functional modules and permissions can be compiled for different problems. The player only needs to load the debugging tool dynamic library provided by the game company, and then the debugged information can be automatically fed back to the game company, which is convenient for reproducing some specific devices or complex reproducible bugs.

[0095] like Fig.13 As shown, in this embodiment, the method may further include steps S160 to S170.

[0096] Step S160, according to the player authority setting information, the third target debugging tool dynamic library of the mobile platform version corresponding to the abnormal game situation on the player's device is sent to the player's device.

[0097] Step S170, receiving game data sent by the player device when executing the target debugging tool dynamic library.

[0098] In this embodiment, a third debugging tool dynamic library corresponding to the mobile platform version may be pre-set, and the third debugging tool dynamic library is obtained based on the second debugging tool dynamic library. For example, a second debugging tool dynamic library with a part of the code commented out is used as a third debugging tool dynamic library. The third debugging tool dynamic library may be managed for rights, for example, it is set on what date and by what IP player a third debugging tool dynamic library can be used.

[0099] The player authority of the player corresponding to the current exception to be processed can be obtained in advance, and the player authority setting information is used to indicate the player identification and time who has the authority to execute the target debugging tool dynamic library. Then, according to the player authority, the third target debugging tool dynamic library corresponding to the game abnormality on the player's device is sent to the player's device. Among them, the third target debugging tool dynamic library is the third debugging tool dynamic library corresponding to the player. The third debugging tool dynamic library runs on the player's device at the time indicated by the authority, and collects game data to send to the developer side. The game data is used for game abnormality analysis. The output game data can only be related to the game product and not user privacy. The rest is the same as the loading process used within the game company.

[0100] In this embodiment, loading the editor UI to temporarily modify resources during game operation can be performed in the following manner. If you want to edit an already-made game package, when modifying resources, you can load and initialize the editing tool dynamic library of the functional modules that need to be edited. First, perform the game initialization process: Fig.14 As shown, only the logic required for the game to run is initialized; then the game runtime process is carried out: normal play only requires the use of different functional modules to create different game instances, render game content, etc.

[0101] When problems occur during game operation and existing data needs to be re-edited, this solution can be used to modify resources. During operation, if it is within the company, the editing tool dynamic library can be copied to the corresponding directory, and the editing tool dynamic library of different functional modules can be selected through the game interface logic or network instructions (select the method according to the project) to load and initialize the editing tool related logic. In order to save memory, the hard disk data that has been read in the instance may be abolished after initialization. For example: the hard disk contains the vertex and index data of the model mesh. After loading and storing it in the video memory of the GPU (Graphics Processing Unit), the relevant data may be deleted in the memory to reduce memory usage. However, after re-editing, this data needs to be deserialized to the hard disk to become the hard disk data of the new model mesh. Such as Fig.15 As shown, when the editor is loaded and creates a callback, it is found that it is now in game running mode instead of editing mode, so the relevant data must be loaded again through the hard disk data for editing. The loaded data needs to prevent overwriting the runtime data. For example, animation + bones have moved the mesh vertices. The loaded vertex data is only cached and not used to prevent overwriting the data of the runtime instance that has been modified by other logic. After that, the process is the same as the normal editor. By editing the relevant resources and saving them to the local resource directory after editing, the original hard disk data is replaced.

[0102] In this embodiment, the game editing tools and debugging tools are modularized into dynamic libraries, which can be flexibly combined and loaded for use. The dynamic library contains permission management to prevent misoperation, and the debugging tools can be released to players after adding permissions. In this way, it is convenient to edit and debug game assets, query bugs, and also to reduce the difficulty of learning editor tools. If the same staff member assumes different responsibilities at the same time, he may need different editing tool dynamic libraries and corresponding permission combinations to work, and there is no need to initialize too many irrelevant work contents, which affects work efficiency. In the above scheme, a debugging scheme different from the traditional debugging tool is provided to reduce the difficulty of work for developers and debuggers. Through permission management, the impact of misoperation on the project during editing can be reduced. For example, some global parameters, such as the color of the main light of the scene, can only be modified by the main beauty and main planner who can determine the global content of the project. Through permission management, it can be prevented that someone misoperates and causes all objects affected by the main light to be rendered incorrectly.

[0103] In order to execute the corresponding steps in the above embodiments and various possible methods, a method for implementing a modular device for using game-related tools 200 is provided below. Optionally, the modular device for using game-related tools 200 may adopt the above Figure 1 The device structure of the electronic device 100 is shown. Fig.16 , Fig.16 This is one of the block diagrams of the modular device 200 for using game-related tools provided in the embodiment of the present application. It should be noted that the basic principle and technical effects of the modular device 200 for using game-related tools provided in this embodiment are the same as those of the above-mentioned embodiments. For the sake of brief description, for the parts not mentioned in this embodiment, reference can be made to the corresponding contents in the above-mentioned embodiments. In this embodiment, the modular device 200 for using game-related tools may include: a loading module 210 and a processing module 220.

[0104] The loading module 210 is used to obtain the target authority of the user. The target authority is used to indicate the target editing tool dynamic library that the user has the authority to load in the editing tool dynamic library of the function module of the target game and the functions available in the target editing tool dynamic library, and the target editing tool dynamic library includes editing logic and interface logic.

[0105] The loading module 210 is further used to load the target editing tool dynamic library according to the target permission, and initialize each target editing tool dynamic library according to the target permission.

[0106] The processing module 220 is used to edit the target game according to the received game editing operation.

[0107] Optionally, in this embodiment, the loading module 210 is further used to: when the device is a non-mobile platform, load and initialize at least one first debugging tool dynamic library of a non-mobile platform version; when the device is a mobile platform, load and initialize at least one second debugging tool dynamic library of a mobile platform version. The processing module 220 is further used to: perform game debugging.

[0108] Please refer to Fig.17 , Fig.17 The second block diagram of the modular use device 200 of game-related tools provided in the embodiment of the present application. In this embodiment, the modular use device 200 of game-related tools may also include a generation module 201. The generation module 201 is used to: generate the editing logic and interface logic of each functional module in the target game, and the debugging tool corresponding to the target game; according to the editing logic and interface logic of each functional module, and the debugging tool corresponding to the target game, generate the editing tool dynamic library corresponding to each functional module and at least one debugging tool dynamic library.

[0109] In this embodiment, the processing module 220 is also used to: send a third target debugging tool dynamic library of a mobile platform version corresponding to the game abnormality on the player's device to the player's device according to the player's authority setting information, wherein the player's authority setting information is used to indicate the player's identification and time who has the authority to execute the target debugging tool dynamic library, and the third target debugging tool dynamic library is obtained based on the second debugging tool dynamic library; receive game data sent by the player's device when executing the target debugging tool dynamic library, wherein the game data is used for game abnormality analysis.

[0110] In this embodiment, the loading module 210 is also used to: determine whether permission management is required; if it is determined that permission management is required, obtain the user's target permissions; if permission management is not required, determine the editing tool dynamic library to be used from the editing tool dynamic libraries of each functional module in the target game based on the received dynamic library confirmation operation, and load and initialize based on the editing tool dynamic library to be used.

[0111] Optionally, the above modules can be stored in the form of software or firmware. Figure 1 The memory 110 shown in the figure may be fixed in the operating system (OS) of the electronic device 100 and may be Figure 1 Meanwhile, the data and program codes required for executing the above modules may be stored in the memory 110.

[0112] An embodiment of the present application also provides a readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the modular use method of the game-related tools is implemented.

[0113] In summary, the embodiment of the present application provides a modular use method and related device for game-related tools, which obtains the target authority of the user, and the target authority is used to indicate that the user has the authority to load the target editing tool dynamic library in the editing tool dynamic library of the function module of the target game and the functions available in the target editing tool dynamic library; then, the target editing tool dynamic library is loaded according to the target authority, and each of the target editing tool dynamic libraries is initialized according to the target authority, wherein the target editing tool dynamic library includes editing logic and interface logic; finally, the game is edited for the target game according to the received game editing operation. In this way, by opening functions for users separately according to the authority, it is avoided that some data is accidentally touched due to the lack of authority control, resulting in incorrect effects.

[0114] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0115] In addition, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.

[0116] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0117] The above description is only an optional embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A modular method for using game-related tools, characterized in that: The method comprises: Obtaining the target authority of the user, wherein the target authority is used to indicate the target editing tool dynamic library that the user has the authority to load in the editing tool dynamic library of the function module of the target game and the functions that can be used in the target editing tool dynamic library, wherein the target editing tool dynamic library includes editing logic and interface logic; Loading the target editing tool dynamic library according to the target permission, and initializing each target editing tool dynamic library according to the target permission; The game is edited for the target game according to the received game editing operation.

2. The method according to claim 1, characterized in that The step of loading the target editing tool dynamic library according to the target permission includes: In the case where multiple editing tool dynamic libraries are pre-saved locally, the multiple editing tool dynamic libraries saved locally are traversed, and for the traversed editing tool dynamic library, whether the editing tool dynamic library is the target editing tool dynamic library is determined according to the target permission; when it is determined that the editing tool dynamic library is the target editing tool dynamic library, the target editing tool dynamic library is loaded; In the case where multiple editing tool dynamic libraries are not pre-saved locally, the target editing tool dynamic library is pulled to the local and loaded according to the target permissions using the permission management software.

3. The method according to claim 1, characterized in that The method further comprises: When the device is a non-mobile platform, loading and initializing at least one first debugging tool dynamic library of a non-mobile platform version; When the device is a mobile platform, loading and initializing at least one second debugging tool dynamic library of the mobile platform version; Debug the game.

4. The method according to claim 3, characterized in that The method further comprises: Generate editing logic and interface logic of each functional module in the target game, as well as debugging tools corresponding to the target game; According to the editing logic and interface logic of each functional module and the debugging tool corresponding to the target game, an editing tool dynamic library and at least one debugging tool dynamic library corresponding to each functional module are generated.

5. The method according to claim 3, characterized in that: The editing tool dynamic library includes at least one editing tool, and the editing tool includes editing logic and interface logic. There are no identical editing tools in the editing tool dynamic libraries corresponding to different functional modules; and / or, each debugging tool dynamic library in the generated at least one debugging tool dynamic library corresponds to a functional module.

6. The method according to claim 3, characterized in that The method further comprises: According to the player authority setting information, a third target debugging tool dynamic library of a mobile platform version corresponding to the abnormal game situation on the player's device is sent to the player's device, wherein the player authority setting information is used to indicate the player identification and time who has the authority to execute the target debugging tool dynamic library, and the third target debugging tool dynamic library is obtained based on the second debugging tool dynamic library; Receive game data sent by a player device when executing the target debugging tool dynamic library, wherein the game data is used for game abnormality analysis.

7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: Determine whether permission management is required; When it is determined that permission management is required, the step of obtaining the target permission of the user is executed; In the absence of permission management, the editing tool dynamic library to be used is determined from the editing tool dynamic libraries of each functional module in the target game according to the received dynamic library confirmation operation, and loaded and initialized based on the editing tool dynamic library to be used.

8. A modular device for using game-related tools, characterized in that: The device comprises: A loading module, used to obtain the target authority of the user, wherein the target authority is used to indicate the target editing tool dynamic library that the user has the authority to load in the editing tool dynamic library of the function module of the target game and the functions available in the target editing tool dynamic library, wherein the target editing tool dynamic library includes editing logic and interface logic; The loading module is further used to load the target editing tool dynamic library according to the target permission, and initialize each target editing tool dynamic library according to the target permission; The processing module is used to edit the target game according to the received game editing operation.

9. An electronic device, characterized in that: It includes a processor and a memory, wherein the memory stores machine executable instructions that can be executed by the processor, and the processor can execute the machine executable instructions to implement the modular use method of game-related tools described in any one of claims 1-7.

10. A readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for modular use of game-related tools as described in any one of claims 1 to 7 is implemented.

Citation Information

Cited By

  • Visual API application interface hot loading method and system based on script engine

    CN120848982A

  • A visual API application interface hot loading method and system based on a script engine

    CN120848982B