Game developer tool operation method and device, equipment and storage medium

By splitting the tasks in game developer tools into multiple processes and realizing data transmission through inter-process communication, the stability and efficiency problems caused by resource preemption in the existing technology are solved, and higher stability and development efficiency are achieved.

CN119576486APending Publication Date: 2025-03-07TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311156826.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-06
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

The existing game developer tools have been operated in the same process, resulting in resource preemption, reducing the stability and development efficiency of the tool.

Method used

The tasks in the game developer tools are split into multiple processes and run, namely the game engine process, the game editing interface process, and the game resource processing process, and data transmission is realized through inter-process communication.

Benefits of technology

Avoid resource seizure by exclusive processes, improve the stability and development efficiency of game developers' tools, and meet the data transmission needs between tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119576486A_ABST
    Figure CN119576486A_ABST
Patent Text Reader

Abstract

The invention discloses a game developer tool operation method and device, equipment and a storage medium, and is applied to the field of computer programs. The method is executed by a game developer tool, and the game developer tool comprises a game engine process, a game editing interface process and a game resource processing process during running. The method comprises the following steps: in response to an operation of opening a game development file received in a game developer tool, transmitting game resource data corresponding to the game development file to a game engine process by a game resource processing process; the game engine process performs rendering according to the game resource data to obtain a rendering result corresponding to the game development file; and the game editing interface process displays a game developer interface corresponding to the game development file according to the rendering result. The method can improve the stability of a game developer tool.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer programs, and in particular to an operating method, apparatus, device and storage medium of a game developer tool. Background Art

[0002] Developer tools are tools that help developers develop and debug mini-programs, mini-games, and public accounts conveniently and efficiently. Developer tools include game developer tools specifically for developing and debugging mini-games.

[0003] In the related art, the developer tool is developed by the NW.js (Node-Webkit) framework, and the game developer tool is run in a webview (webpage) under the developer tool. In the webview process, multiple tasks of the game developer tool, such as the game engine logic, game development interface, and game resource processing logic, are run.

[0004] In the related art, due to the large number of tasks in the webview process, resource grabbing often occurs between tasks. For example, when batch processing game resources, it is easy to freeze the game engine logic and game development interface, greatly reducing the stability of developer tools. Summary of the invention

[0005] The embodiment of the present application provides a method, apparatus, device and storage medium for operating a game developer tool, which can improve the stability of the game developer tool. The technical solution is as follows:

[0006] According to one aspect of the present application, a method for running a game developer tool is provided, the method being executed by the game developer tool, the game developer tool including a game engine process, a game editing interface process, and a game resource processing process when running; the method comprising:

[0007] In response to receiving an operation of opening a game development file in the game developer tool, the game resource processing process transmits game resource data corresponding to the game development file to the game engine process; the game resource processing process is used to store and process the game resource data;

[0008] The game engine process renders the game resource data to obtain a rendering result corresponding to the game development file; the game engine process is used to perform logical operations and screen rendering of the game;

[0009] The game editing interface process displays the game developer interface corresponding to the game development file according to the rendering result; the game editing interface process is used to execute interface display.

[0010] According to another aspect of the present application, a device for running a game developer tool is provided, the device comprising:

[0011] A game resource processing process module, configured to transmit game resource data corresponding to the game development file to the game engine process module in response to receiving an operation of opening a game development file in the game developer tool; the game resource processing process is configured to store and process the game resource data;

[0012] The game engine process module is used to render the game resource data to obtain a rendering result corresponding to the game development file; the game engine process is used to perform logical operations and screen rendering of the game;

[0013] The game editing interface process module is used to display the game developer interface corresponding to the game development file according to the rendering result; the game editing interface process is used to execute interface display.

[0014] According to another aspect of the present application, a computer device is provided, comprising: a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the operating method of the game developer tool as described above.

[0015] According to another aspect of the present application, a computer-readable storage medium is provided, wherein at least one instruction, at least one program, a code set or an instruction set is stored in the storage medium, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the operating method of the game developer tool as described above.

[0016] According to another aspect of the present application, a computer program product is provided, in which at least one instruction, at least one program, a code set or an instruction set is stored, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the operating method of the game developer tool as described above.

[0017] The beneficial effects brought by the technical solution provided by the embodiment of the present application include at least:

[0018] In the game developer tool, the game engine task is run by the game engine process, the game editing interface task is run by the game editing interface process, and the game resource processing task is run by the game resource processing process. Multiple tasks in the game developer tool are split into multiple processes for execution, so that each task occupies a process exclusively, avoiding resource grabbing between multiple tasks. Moreover, each task can realize data transmission through inter-process communication, meeting the data transmission requirements between each task. This method can improve the stability and development efficiency of the game developer tool. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0020] Figure 1 is a block diagram of an implementation environment provided by an exemplary embodiment of the present application;

[0021] Figure 2 is a schematic diagram of an interface of a game developer tool provided by another exemplary embodiment of the present application;

[0022] Figure 3 is a schematic diagram of the architecture of a game developer tool provided by another exemplary embodiment of the present application;

[0023] Figure 4 is a schematic diagram of the architecture of a game developer tool provided by another exemplary embodiment of the present application;

[0024] Figure 5 is a flowchart of a method for operating a game developer tool provided by another exemplary embodiment of the present application;

[0025] Figure 6 is a schematic diagram of the architecture of a game developer tool provided by another exemplary embodiment of the present application;

[0026] Figure 7 is a flowchart of a method for operating a game developer tool provided by another exemplary embodiment of the present application;

[0027] Figure 8 is a schematic diagram of a method for operating a game developer tool provided by another exemplary embodiment of the present application;

[0028] Fig. 9 is a schematic diagram of a method for operating a game developer tool provided by another exemplary embodiment of the present application;

[0029] Fig.10 is a schematic diagram of a game developer device provided by another exemplary embodiment of the present application;

[0030] Fig.11 It is a structural diagram of a computer device provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0031] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0032] First, the nouns involved in the embodiments of the present application are introduced:

[0033] 1. Process: It is a running activity of a program in a computer on a certain data set. It is the basic unit for resource allocation in the system and the foundation of the operating system structure. A process is an instance of a program being executed in a computer. It is an abstract representation of a running program by the operating system, which contains information such as program code, data and execution environment. Each process has its own memory space, register status, open files, network connections and other system resources. In the operating system, a process is an independently running unit. It can be created, scheduled, suspended, resumed and terminated. The operating system allocates CPU (Central Processing Unit) time slices to different processes so that they can execute alternately, thereby realizing concurrency and multitasking. The process provides an isolation and protection mechanism so that multiple programs can run on the computer at the same time without interfering with each other. At the same time, processes can also communicate and collaborate with each other, and exchange data with each other through the IPC (InterProcess Communication) mechanism.

[0034] 2. NW.js (formerly known as Node-Webkit): is an open source framework that allows developers to build desktop (Windows, MacOS) applications using Web (web) technologies. NW.js is used to build cross-platform desktop applications. It combines the rendering engine of the Chromium browser and the runtime environment of Node.js (a JavaScript runtime environment based on the ChromeV8 engine), allowing developers to use Web technologies (such as HTML, CSS, and JavaScript) to create local desktop applications. NW.js enables developers to package Web applications as independent executable files and gain the ability to interact with the underlying resources of the operating system. Developers can use the full Chrome API (Application Programming Interface) in NW.js applications, including file system access, local storage, network communication, and native window management. NW.js supports multiple operating systems, such as Windows, MacOS, and Linux, enabling developers to write code once and run applications across platforms. It provides many powerful features and extensibility options to meet the needs of various types of desktop application development.

[0035] 3. Window of NW.js: In NW.js, window is a global object that represents a window instance in an application. It provides a series of methods and properties to control and manage the behavior, appearance, and interaction of application windows. Developers can use the methods and properties provided by the window object to manipulate the size, position, and state of the window, handle window events, set titles and icons, create new windows, etc.

[0036] 4. Webview (web page view) of NW.js: It is a tag in NW.js. It has independent processes of Node.js and Chromium environment, hereinafter referred to as webview. In NW.js, <webview>It is a special HTML (Hyper Text Markup Language) element used to embed and display web content in the application window. It allows developers to embed web content into NW.js applications in a similar way to iframes. <webview>The element can load and display web pages, just like a tab in a browser. It provides a set of APIs that allow developers to control and interact with the embedded web pages through JavaScript (Java script). Through these APIs, developers can operate <webview>elements, such as loading URLs (Uniform Resource Locator), sending messages, and executing scripts. <webview>Elements are often used in NW.js to implement some specific functions, such as embedding third-party web pages, built-in browser functions, and implementing small browser windows. Developers can use <webview>Elements interact to control and manipulate the embedded web page, allowing it to collaborate and communicate with the rest of the application.

[0037] 5. In NW.js, window and <webview>With the following relationship:

[0038] 1) window is the window object of NW.js application, representing a window instance of the application. Developers can use nw.Window or nw.Window.open method to create and manage windows.

[0039] 2) <webview>yes <iframe>An extension of NW.js that provides the ability to load and display web content in NW.js. It is an independent rendering process that can load external web pages and has similar functions and behaviors to the Chrome browser. 3) In NW.js , the window object and<webview> Elements are separate entities used to control application windows and load web page content, respectively. 4 ) Developers can create and manage in the window object<webview> element and add it to the window.<webview> It becomes a subcomponent of the window and can be displayed, operated and controlled in the window. 5 ) Through the window object, developers can use methods such as document.createElement (file.create element) to create<webview> Elements are added to the window using methods such as appendChild. 6. WebSocket (network socket): a network transmission protocol, can carry out full-duplex communication on a single TCP (Transmission Control Protocol) connection, is located at the application layer of the OSI (Open System Interconnect) model, and can be used for inter-process communication. WebSocket is used by JavaScript API on the browser side, and is supported by corresponding libraries or frameworks on the server side. 7 , Protobuf (Protocol Buffers, protocol buffer): be a kind of cross-language, cross-platform, scalable serialized data protocol developed by Google (Google), Protobuf can be used for structured data serialization (serialization), the data volume that it serializes out is few, add in the mode of KV (Key-Value, key-value) to store data, be very suitable for the data carrier in network communication.The data format of Protobuf is binary, compares text format such as XML (Extensible Markup Language, Extensible Markup Language) and JSON (JavaScript Object Notation, JavaScript object notation), Protobuf is more compact, takes up less storage space and bandwidth.In addition, Protobuf also provides strong type inspection and effective data compression function to data structure.

[0045] Figure 1 shows a schematic diagram of a terminal provided by an exemplary embodiment of the present application.

[0046] The terminal 120 may include at least one of a smart phone, a laptop computer, a desktop computer, a tablet computer, and a smart robot. In an alternative implementation, the method for running the game developer tool provided by the present application may be applied to the game developer tool 110, and the game developer tool is used for developing and debugging game programs. Exemplarily, the game developer tool may be a subroutine of the developer tool.

[0047] Exemplarily, the game developer tool 110 is stored on the terminal 120, and the terminal may run the game developer tool 110 to display the game developer interface 130, and the user may perform game development and debugging in the game developer interface 130.

[0048] The terminal 120 includes a first memory and a first processor. The game developer tool 110 is stored in the first memory; the game developer tool 110 is called and executed by the first processor to implement the method for running the game developer tool provided by the present application. The first memory may include, but is not limited to, the following: Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), and Electric Erasable Programmable Read-Only Memory (EEPROM).

[0049] The first processor may be composed of one or more integrated circuit chips. Optionally, the first processor may be a general-purpose processor, such as a Central Processing Unit (CPU) or a Network Processor (NP). Optionally, the first processor may implement the method for running the game developer tool provided by the present application by running a program or code.

[0050] In the related art, in game developer tools, game engine tasks, game editing interface tasks, and game resource processing tasks are placed in the same webview in NW.js, that is, in the same process. This method may result in resource contention among the three tasks, leading to the problem of the developer tool freezing for a long time.

[0051] Since the current game developer tool places all processing logic in the same process, resource contention occurs frequently. For example, when batch processing a batch of game resources, it is easy to freeze the game engine and the game editing interface, greatly reducing the stability of the developer tool and the developer's development experience, which is not conducive to the extension and promotion of the developer tool.

[0052] To improve the stability and fluency of game developer tools, the embodiments of this application design a multi-process architecture to decouple the three tasks, divide the game engine, game editing interface, and game resource processing into three different processes, and correspondingly design a cross-process communication strategy among the three processes to ensure the normal flow of information. In addition, to meet the low-latency requirements of some processes and solve the communication latency caused by cross-process communication, the embodiments of this application also design a shared memory strategy to ensure process performance. The embodiments of this application can make the tasks in each process more single, and will not cause the game editing interface or the game engine to be blocked due to resource contention, resulting in a situation where the developer cannot operate. It improves the stability of game developer tools and the developer's development experience.

[0053] Referring to Figure 2, it is the main interface of a game developer tool. The middle part of the main interface is the preview area 101 of the game interface. In the editing state, the developer can modify the position, size, and other states of the objects in the game on this interface. The game node tree 102 is displayed on the left side of the game interface. Editing this tree can add, delete, or modify game nodes. The game project files 103 are located at the lower side of the game interface, which contain all the resources in this game, and the logic for adding, deleting, modifying, and querying. During the process of operating the files, corresponding game resource processing tasks are usually triggered, such as checking the status of the files, merging and splitting resources, etc. The property inspector 104 of the game is displayed on the right side of the game interface. The properties of game nodes and resources can be viewed and modified in this panel.

[0054] The game developer tool is divided into an editing state and a running state.The editing state is mainly for editing and modifying the game, and it needs to meet a rich variety of editing functions. There is not a high requirement for the real-time performance of the game developer tool. The running state is mainly for previewing the game during runtime, and there is a relatively high requirement for real-time performance. There should not be too much latency and stuttering in the game developer tool.

[0055] In the related art, the technical architecture of the game developer tool is as shown in Figure 3. The window of NW.js in the developer tool serves as the container for the entire game developer tool webview. In the webview, it can generally be divided into three tasks: Engine (game engine task) 105, EngineIDE (game editing interface task) 106, and AssetsIDE (game resource processing task) 107. Engine is the core of the game engine, which contains the logic for driving the game to run, as well as functions such as components in the game and instantiating game resources. EngineIDE is the tool that developers directly interact with, mainly used for front-end tasks such as editing nodes and components in the game and modifying resource management files. AssetsIDE is mainly used to process game resources, that is, the core and back-end tasks for managing game resources, and it interfaces with the file system of the operating system at the bottom layer. There are both advantages and disadvantages for the three tasks to be in the same process. The advantage is that the memory can be accessed mutually, which is convenient for accessing and modifying each other's memory and is fast. The disadvantage is that often one task will occupy the CPU completely, causing the other two tasks to freeze, and it is also easy to cause the entire developer tool to freeze, bringing a lot of inconvenience to developers.

[0056] The embodiments of this application propose a new architecture to decouple the three tasks. In the NW.js code, these three tasks are set as webview tags under the window tag, and the tag code is as follows.

[0057] <window>

[0058] <webview name="engine">< / webview>

[0059] <webview name="enginelDE">< / webview>

[0060] <webview name="assetslDE">< / webviewe>

[0061] < / windowc>

[0062] After such settings, it is equivalent to a total of 1 window and 3 webviews, a total of four processes. At the architecture level, it is changed to the architecture shown in Figure 4. The three tasks are divided into three processes belonging to different webviews to achieve isolation in mutual resource occupation and also logically separate the three tasks. The game engine task runs in the game engine process 108, the game editing interface task runs in the game editing interface task 109, and the game resource processing task runs in the game resource processing process 111.

[0063] However, the three tasks still need to communicate with each other to synchronize relevant states and messages. They can all establish a long-term websocket connection with the window process to achieve full-duplex communication. Each webview needs to send a heartbeat packet to the window regularly to check the connection status. When the window does not receive a heartbeat packet sent by a certain webview process for a long time, the window restarts the process, which can improve the stability of the game developer tool.

[0064] Due to the limitations of NW.js, the communication method between the three webviews can be that one webview first communicates with the window and carries the information of the target webview, and the window forwards the message to the target webview after receiving the message. After testing, the forwarding of a short message takes about 4 ms (milliseconds), and this time consumption is within the acceptable range of the tool in most cases.

[0065] But there are some scenarios with low latency requirements, such as the game developer tool in the running state.If the game screen is transmitted to the EngineIDE (game editing interface process) via websocket for display in each frame, at least 4 ms will be consumed during the communication process. Additionally, a significant amount of time will be consumed for serialization and deserialization before and after the transmission. As a result, the overall time consumption is likely to exceed 16 ms, which is longer than the time interval required for 60 frames. Therefore, in such a scenario, shared memory is used for inter-process communication between the Engine (game engine process) and the EngineIDE (game editing interface process). The Engine writes data and the EngineIDE reads data. This process has basically no latency, enabling smooth display of the game screen. The shared memory method is not used elsewhere because it is relatively difficult to manage. Extensive use will reduce development efficiency and easily make the entire system unstable.

[0066] For scenarios with a large amount of communication data, such as when the EngineIDE (game editing interface process) requests the resource file directory structure of a certain game project from the AssetsIDE (game resource processing process), this data volume is extremely large in a large game project. If a json string is used to transmit this message, it may take dozens of seconds to receive the message. In response to this situation, protobuf is globally adopted for data serialization in the inter-process communication of this application embodiment. Compared with using json for data serialization, this method makes the communication speed 4 times faster and can significantly reduce the communication time.

[0067] Through multi-process decoupling and the accompanying websocket, shared memory, and protobuf, the entire game developer tool becomes more stable and extensible, reducing tool lag and improving the user experience.

[0068] Exemplarily, an exemplary embodiment of using the game developer tool to open a game development file is provided.

[0069] Figure 5 shows a flowchart of a method for operating a game developer tool provided by an exemplary embodiment of this application. This method can be applied to a terminal as shown in Figure 1 and is executed by the game developer tool running on the terminal.The method includes the following steps:

[0070] Step 210: In response to an operation of opening a game development file received in the game developer tool, the game resource processing process transmits the game resource data corresponding to the game development file to the game engine process; the game resource processing process is used to store and process game resource data.

[0071] Exemplarily, before step 210, the terminal first runs the game developer tool. When the game developer tool is running, it includes a game engine process, a game editing interface process, and a game resource processing process. Subsequently, the developer can open a development project (game development file) in the game developer tool, and the game engine process, the game editing interface process, and the game resource processing process will cooperate to process the game development file and display the corresponding game editing interface.

[0072] Exemplarily, the game developer tool can be an independent application. The game developer tool can also be a tool component in the developer tool for developing games.

[0073] For example, as shown in Figure 4, the developer tool can be developed by the NW.js framework. The game developer tool is a subroutine in the developer tool. The framework program of the developer tool is the window object in NW.js, and the game engine task, the game editing interface task, and the game resource processing task can be three webview tags under the window object. When running, the framework program of the developer tool runs under the framework process corresponding to the window object, the game engine task runs under the game engine process corresponding to the first webview tag, the game editing interface task runs under the game editing interface process corresponding to the second webview tag, and the game resource processing task runs under the game resource processing process corresponding to the third webview tag. Among them, the game engine process, the game editing interface process, and the game resource processing process can be called the child processes of the framework process, and the framework process is the parent process of the game engine process, the game editing interface process, and the game resource processing process. In summary, when the developer tool is running, it includes four processes: the framework process, the game engine process, the game editing interface process, and the game resource processing process. Among them, the game engine process, the game editing interface process, and the game resource processing are the three processes of the game developer tool.

[0074] Alternatively, as shown in Figure 6, the game developer tool can be developed by the NW.js framework. The framework program of the game developer tool is the window object in NW.js, and the game engine task, the game editing interface task, and the game resource processing task can be three webview tags under the window object. At runtime, the framework program runs under the framework process corresponding to the window object, the game engine task runs under the game engine process corresponding to the first webview tag, the game editing interface task runs under the game editing interface process corresponding to the second webview tag, and the game resource processing task runs under the game resource processing process corresponding to the third webview tag. Among them, the game engine process, the game editing interface process, and the game resource processing process can be called the child processes of the framework process, and the framework process is the parent process of the game engine process, the game editing interface process, and the game resource processing process. In summary, the game developer tool includes a total of four processes at runtime: the framework process, the game engine process, the game editing interface process, and the game resource processing process.

[0075] Exemplarily, the game engine process is used to run the game engine task or the game engine program. The game editing interface process is used to run the game editing interface task or the game editing interface program. The game resource processing process is used to run the game resource processing task or the game resource processing program.

[0076] The game engine process is used to execute the logical operations of the game, provide components in the game, and instantiate game resources. The game engine process is used to process game data, render the game editing interface, and render the game screen. The game engine process can also be responsible for converting 3D or 2D models in the virtual world into images on the screen. The game engine process includes a graphics engine and a rendering engine, which can generate high-quality images in real time and support functions such as special effects and scene rendering. The game engine process can also simulate physical behaviors, for example, perform collision detection, simulate object movement, gravity, etc. The game engine process can make the game environment more realistic and interactive. The game engine process also provides the basic logic required for game development, such as input processing, game state management, character control, animation, and sound effects. The game engine process also provides an editor to perform the logical processing of editing operations such as scene editing, object property setting, script editing, animation editing, particle system editing, terrain editing, resource management, and scene preview.The game editing interface is used to edit game nodes, components and modify the front - end tasks of resource management files. The game editing interface process can also be used to display the game editing interface and game screens obtained by rendering the game engine. The game editing interface process is also used to receive interactive operations (e.g., editing operations, file opening operations, etc.) on the game editing interface. After receiving the interactive operations, the game editing interface process sends the data corresponding to the interactive operations to the game engine process for processing, and sends the game data corresponding to the interactive operations to the game resource processing process for storage. The game resource processing process is used to process game resources and manage the core and backend tasks of game resources. The game resource processing process is used to store, read, write, change, and delete game resource data. When the game engine process needs to obtain game resource data, it can be obtained from the game resource processing process. When the game editing interface process receives the reading, writing, changing, and deleting operations of game resource data, the game editing interface process will also send the corresponding game data to the game resource processing process for storage.

[0079] Exemplarily, the game engine process and the game resource processing process are background processes, and the game editing interface process is a foreground process. The game editing interface process is used to display the game editing interface and / or the game developer interface.

[0080] Exemplarily, the game development file is stored in the game resource processing process. When an operation to open the game development file is received, the game resource processing process sends the game resource data corresponding to the game development file to the game engine process.

[0081] Step 220, the game engine process renders the game resource data to obtain a rendering result corresponding to the game development file; the game engine process is used to execute the logical operation and screen rendering of the game. After obtaining the game resource data corresponding to the game development file, the game engine process renders the game developer interface based on the game resource data to obtain a rendering result. The rendering result is then transmitted to the game editing interface process for display.

[0083] Step 230, the game editing interface process displays the game developer interface corresponding to the game development file according to the rendering result; the game editing interface process is used to execute the interface display.

[0084] The game editing interface process displays the rendering result obtained by the game engine process to obtain a game developer interface. The game developer interface may refer to a game editing interface after opening a game development file.

[0085] For example, the game developer interface can be the interface shown in Figure 2. In the game developer interface, the developer can perform editing operations for game development. For example, preview the game screen in the preview area 101. In the editing state, the developer can modify the position, size, and other states of the objects in the game in the preview area 101. Add, delete, or modify game nodes in the game node tree 102. Browse all resources in the game development file in the game project file 103, and add, delete, or modify the logic. View and modify the attributes in the game nodes and resources in the property inspector 104.

[0086] Exemplarily, the game developer tool can implement inter-process communication by adopting at least one of the following methods:

[0087] Method 1: Forward the communication messages between child processes through the parent process.

[0088] The game developer tool also includes a framework process when running; the game engine process, the game editing interface process, and the game resource processing process are all child processes of the framework process; the game engine process, the game editing interface process, and the game resource processing process respectively establish communication connections with the framework process; the inter-process communication between any two of the game engine process, the game editing interface process, and the game resource processing process is implemented through the framework process.

[0089] Exemplarily, the inter-process communication between any two of the framework process, the game engine process, the game editing interface process, and the game resource processing process performs data communication using the Protobuf data protocol.

[0090] Exemplarily, the framework process establishes a websocket connection with the game engine process. The framework process establishes a websocket connection with the game editing interface process. The framework process establishes a websocket connection with the game resource processing process. In this way, the framework process can perform duplex communication with the three child processes. The communication between child processes can be forwarded through the framework process.

[0091] Exemplarily, the communication messages between processes are transmitted using the Protobuf data protocol to reduce the data volume of the communication messages and improve the communication efficiency.

[0092] Method 2: Implement data transmission between processes by sharing memory between two child processes.

[0093] Data transmission between any two processes in the game engine process, the game editing interface process, and the game resource processing process is achieved through shared memory.

[0094] For example, in order to ensure that the rendering results of the game engine process can be displayed in real time through the game editing interface process, a shared memory shared by the game engine process and the game editing interface process can be set. The game engine process can write the rendering results to the shared memory, and the game editing interface process directly reads the rendering results from the shared memory and displays them. This can greatly ensure the display timeliness of the rendering results.

[0095] Exemplarily, when the inter-process communication has a low requirement for delay, method 1 can be used to implement the inter-process communication. When the inter-process data transmission has a high requirement for delay, method 2 can be used to implement the inter-process data transmission. For example, when the communication delay is allowed to be higher than 4ms , the inter-process communication between any two processes in the game engine process, the game editing interface process, and the game resource processing process is forwarded through the framework process. When the communication delay is not allowed to be higher than 4ms, the data transmission between any two processes in the game engine process, the game editing interface process, and the game resource processing process is realized by shared memory.

[0097] In summary, the method provided in this embodiment, in the game developer tool, uses the game engine process to run the game engine task, uses the game editing interface process to run the game editing interface task, and uses the game resource processing process to run the game resource processing task. Multiple tasks in the game developer tool are split into multiple processes to run, so that each task monopolizes a process, avoiding resource grabbing between multiple tasks. And each task can realize data transmission through inter-process communication, meeting the data transmission requirements between each task. This method can improve the stability and development efficiency of the game developer tool.

[0098] Exemplarily, an exemplary embodiment of data transmission between processes when opening a game development file is given.

[0099] Figure 7 shows a flowchart of a method for operating a game developer tool provided by an exemplary embodiment of the present application. This method can be applied to a terminal in a computer system as shown in Figure 1. The method includes the following steps.

[0100] Step 301, in response to an operation of opening a game development file received in the game developer tool, the game engine process sends a data acquisition request to the framework process. The data acquisition request carries the first process identifier of the game resource processing process, and the data acquisition request is used to request the game resource data corresponding to the game development file.

[0101] Exemplarily, the framework process can receive the operation of opening the game development file, and then the framework process sends an open instruction of the game development file to the game engine process.

[0102] Alternatively, the game editing interface process receives the operation of opening the game development file, and then the game editing interface process sends an open instruction of the game development file to the framework process, and the framework process forwards the open instruction to the game engine process. Or, the game editing interface process receives the operation of opening the game development file, and then the game editing interface process writes the open instruction into the shared memory, and the game engine process reads the open instruction from the shared memory.

[0103] The open instruction includes the identifier of the game development file. The game engine process generates a data acquisition request based on the identifier of the game development file, and carries the identifier of the game development file in the data acquisition request, so that the game resource processing process can find the game resource data corresponding to the game development file according to the identifier.

[0104] The data acquisition request further includes a target process identifier, that is, the first process identifier of the game resource processing process, so that the framework process can determine the sending target of the data acquisition request.

[0105] Step 302, the framework process forwards the data acquisition request to the game resource processing process according to the first process identifier.

[0106] Exemplarily, after receiving the data acquisition request, the framework process reads the target process identifier. When the target process identifier is the first process identifier of the game resource processing process, the framework process forwards the data acquisition request to the game resource processing process.

[0107] After receiving the data acquisition request, the game resource processing process searches for the game resource data corresponding to the game development file based on the identifier of the game development file carried in the data acquisition request.

[0108] Step 303: The game resource processing process sends a data acquisition response to the framework process. The data acquisition response carries the second process identifier of the game engine process. The data acquisition response includes game resource data.

[0109] After finding the game resource data corresponding to the game development file, the game resource processing process generates a data acquisition response. The data acquisition response includes the game resource data.

[0110] The data acquisition response also includes a target process identifier, that is, a second process identifier of the game engine process, so that the framework process can determine the sending target of the data acquisition response.

[0111] Step 304: The framework process forwards the data acquisition response to the game engine process according to the second process identifier.

[0112] After receiving the data acquisition response, the framework process reads the target process identifier. When the target process identifier is the second process identifier of the game engine process, the framework process forwards the data acquisition response to the game engine process.

[0113] The game engine process renders the game resource data to obtain the rendering result corresponding to the game development file.

[0114] Step 305, the game engine process writes the rendering results to the shared memory.

[0115] The game engine process and the game editing interface process have shared memory.

[0116] The game engine process can write the latest rendering results into the shared memory in real time, so that the rendering results can be transmitted to the game editing interface process in real time for display, thereby reducing the delay of the interface display.

[0117] Exemplarily, the shared memory may be divided into multiple functional areas. For example, the shared memory may include a real-time data area.The game engine process can periodically write the rendering results of the interface or screen into the real-time data area, and the game editing interface process can periodically read the rendering results of the interface or screen from the real-time data area. The reading and writing cycles can be the same, for example, both are 1ms. The reading and writing cycles can also be different.

[0118] Exemplary, according to the read and write direction of data, the shared memory may also include a first area dedicated to the game engine process to transmit data to the game editing interface process, and the game editing interface process may periodically read data from the first area. The shared area may also include a second area dedicated to the game editing interface process to transmit data to the game engine process, and the game engine process may periodically read data from the second area.

[0119] Step 306, the game editing interface process reads the rendering results from the shared memory.

[0120] The game editing interface can periodically read the rendering results generated by the game engine process from the shared memory so as to display the game developer interface corresponding to the rendering results in real time.

[0121] Step 307, the game editing interface process displays the game developer interface corresponding to the game development file according to the rendering result; the game editing interface process is used to execute the interface display.

[0122] In summary, the method provided in this embodiment, by providing a multi-process operation method of a game developer tool and its supporting communication scheme, enables the game engine, game editing interface and game resource processing to be completed in three processes. And in this process, the synchronization logic of the communication between the three processes is maintained to ensure the stability, high performance and fluency of the entire game developer tool.

[0123] The method provided in this embodiment realizes the communication between the game resource processing process and the game engine process by adopting the communication mode forwarded by the parent process during the file opening process, and realizes the data transmission between the game engine process and the game editing interface process by adopting the shared memory mode, thereby improving the operation efficiency of each task and ensuring the coordinated operation of each task, thereby improving the stability and operation efficiency of the game developer tool.

[0124] Exemplarily, an exemplary embodiment of data transmission between processes when a developer operates an editing interface is provided.

[0125] Figure 8 shows a flowchart of a method for running a game developer tool provided by an exemplary embodiment of the present application. This method can be applied to a terminal as shown in Figure 1. The method includes the following steps.

[0126] Step 401, in response to receiving an editing operation in the game developer interface, the game editing interface process sends a data writing request to the game framework process. The data writing request carries the first process identifier of the game resource processing process, and the game data edited by the editing operation is included in the data writing request.

[0127] Exemplarily, when the developer performs an editing operation in the game developer interface, the game developer interface sends the game data corresponding to the editing operation to the game resource processing process for storage. The game data can be the data added, modified, or deleted by the editing operation.

[0128] Exemplarily, the game editing interface process and the game resource processing process achieve inter-process communication through the forwarding of the framework process. When the game editing interface process needs to send a communication message to the game resource processing process, it will carry the process identifier of the game resource processing process in the communication message and send the communication message to the framework process, so that the framework process forwards the communication message to the game resource processing process.

[0129] The data writing request includes the game data corresponding to the editing operation and the target process identifier. The target process identifier includes the first process identifier of the game resource processing process.

[0130] Step 402, the framework process forwards the data writing request to the game resource processing process according to the first process identifier.

[0131] After receiving the data writing request, the framework process reads the target process identifier therein. When the target process identifier is the first process identifier of the game resource processing process, the framework process forwards the data writing request to the game resource processing process.

[0132] Step 403, the game resource processing process writes the game data edited by the editing operation according to the data writing request.

[0133] The game resource processing process reads the game data in the data write request and updates the game data to the database.

[0134] Step 404, in response to receiving a data editing operation in the game developer interface, the game editing interface process writes the game data edited by the data editing operation to the shared memory.

[0135] Exemplarily, the editing operation received in the game developer interface also needs to be transmitted to the game engine process for calculation and processing, so that the display result corresponding to the editing operation can be displayed in real time in the game developer interface.

[0136] The game engine process and the game editing interface process can realize data transmission between processes through shared memory.

[0137] After receiving the editing operation, the game editing interface process writes the game data corresponding to the editing operation into the shared memory, so that the game engine process reads and processes the game data from the shared memory.

[0138] Exemplarily, steps 401 to 403 and steps 404 to 405 may be performed simultaneously or at different times. When they are performed at different times, the order in which the two groups of steps are performed is not limited.

[0139] Step 405, the game engine process reads the game data edited by the data editing operation from the shared memory.

[0140] Exemplary, after the game engine process reads the game data, it uses an editor to calculate the editing operation and obtain the operation result. The game engine process can also write the operation result into a shared memory so that the game editing interface process reads the operation result from the shared memory and displays it.

[0141] Exemplarily, the method in step 404 to step 405 is to use shared memory to implement data transmission between two processes.

[0142] In addition, game data corresponding to the editing operation can be transmitted between the game engine process and the game editing interface process through forwarding of the framework process.

[0143] For example, the game editing interface process sends a data transmission request to the framework process, and the data transmission request includes the second process identifier of the game engine process and the game data corresponding to the editing operation. After receiving the data transmission request, the framework process forwards the data transmission request to the game engine process according to the target process identifier. The game engine process reads the game data corresponding to the editing operation carried in the data transmission request.

[0144] As described above, for the method provided in this embodiment, when an editing operation is received in the game developer interface, the communication between the game editing interface process and the game resource processing process is implemented by using the communication method of parent process forwarding, and the data transmission between the game engine process and the game editing interface process is implemented by using the shared memory method, so that the game data corresponding to the editing operation can be synchronized to the game resource processing process and the game engine process. While improving the operation efficiency of each task, the coordinated operation of each task is ensured. The stability and operation efficiency of the game developer tool are improved.

[0145] Exemplarily, the processes of each task can periodically send heartbeat packets to the framework process, so that the framework process can verify the connection status of the child processes.

[0146] Figure 9 shows a flowchart of a method for operating a game developer tool provided by an exemplary embodiment of the present application. This method can be applied to a terminal as shown in Figure 1. This method includes at least one of the following steps.

[0147] Step 501, the game engine process periodically sends a first heartbeat packet to the framework process, and the first heartbeat packet is used to check the communication connection status between the game engine process and the framework process.

[0148] Exemplarily, if the framework process successfully receives the first heartbeat packet, it means that the communication connection between the framework process and the game engine process is normal. If the framework process does not receive the first heartbeat packet within the first time period, it means that the communication connection between the framework process and the game engine process is abnormal.

[0149] Exemplarily, the period for the game engine process to send the first heartbeat packet can be a preset value, for example, 10 ms. The first time period is greater than the sending period of the first heartbeat packet. For example, the first time period can be 12 ms.

[0150] The first heartbeat packet can carry first verification information, and the first verification information is used to assist the framework process in determining the process (game engine process) corresponding to the first heartbeat packet and the communication connection status of this process.

[0151] Step 502, the game editing interface process periodically sends a second heartbeat packet to the framework process, and the second heartbeat packet is used to check the communication connection status between the game editing interface process and the framework process.

[0152] Exemplary, if the framework process successfully receives the second heartbeat packet, it means that the communication connection between the framework process and the game editing interface process is normal. If the framework process does not receive the second heartbeat packet within the second duration, it means that the communication connection between the framework process and the game editing interface process is abnormal.

[0153] Exemplarily, the period at which the game editing interface process sends the second heartbeat packet may be a preset value, such as 10 ms. The second duration is greater than the sending period of the second heartbeat packet, for example, the second duration may be 12 ms.

[0154] The second heartbeat packet may carry second verification information, and the second verification information is used to assist the framework process in determining the process (game editing interface process) corresponding to the second heartbeat packet and the communication connection status of the process.

[0155] Step 503, the game resource processing process periodically sends a third heartbeat packet to the framework process, and the third heartbeat packet is used to check the communication connection status between the game resource processing process and the framework process.

[0156] Exemplary, if the framework process successfully receives the third heartbeat packet, it means that the communication connection between the framework process and the game resource processing process is normal. If the framework process does not receive the third heartbeat packet in the third duration, it means that the communication connection between the framework process and the game resource processing process is abnormal.

[0157] Exemplarily, the period at which the game resource processing process sends the third heartbeat packet may be a preset value, such as 10 ms. The third duration is greater than the sending period of the third heartbeat packet, for example, the third duration may be 12 ms.

[0158] The third heartbeat packet may carry third verification information, and the third verification information is used to assist the framework process in determining the process (game resource processing process) corresponding to the third heartbeat packet, as well as the communication connection status of the process.

[0159] Exemplarily, when the framework process detects that the communication connection of the child process is abnormal, the child process can be restarted to restore the communication connection with the child process.

[0160] For example, the framework process may perform at least one of the following steps: when the first heartbeat packet is not received within the first duration of the framework process, the framework process restarts the game engine process; when the second heartbeat packet is not received within the second duration of the framework process, the framework process restarts the game editing interface process; when the third heartbeat packet is not received within the third duration of the framework process, the framework process restarts the game resource processing process.

[0161] In summary, for the method provided in this embodiment, the game engine process, the game editing interface process, and the game resource processing process need to periodically send heartbeat packets to the framework process to facilitate the framework process to check the communication connection status of the subprocesses. If the framework process does not receive the heartbeat packet of a certain process within a period of time, it means that the process has an abnormality, and the framework process can restart the process to make it return to normal. This method can ensure the stable operation of the game developer tool and improve the operation efficiency of the game developer tool.

[0162] The following is the device embodiment of the present application. For the details not described in detail in the device embodiment, reference can be made to the corresponding records in the above method embodiment, which will not be elaborated herein.

[0163] Figure 10 shows a schematic structural diagram of a game developer device provided by an exemplary embodiment of the present application. This device can be implemented as all or part of a terminal through software, hardware, or a combination of both. The device includes:

[0164] The game resource processing process module 902 is configured to transmit the game resource data corresponding to the game development file to the game engine process module 901 in response to an operation of receiving an opening of a game development file in the game developer tool; the game resource processing process is configured to store and process the game resource data;

[0165] The game engine process module 901 is configured to render the rendering result corresponding to the game development file according to the game resource data; the game engine process is configured to perform the logical operation and screen rendering of the game;

[0166] The game editing interface process module 903 is configured to display the game developer interface corresponding to the game development file according to the rendering result; the game editing interface process is configured to perform interface display.

[0167] In an optional embodiment, the device further includes a framework process module 904; the game engine process module 901, the game editing interface process module 903 and the game resource processing process module 902 respectively establish communication connections with the framework process module 904;

[0168] The inter-module communication between any two modules among the game engine process module 901, the game editing interface process module 903, and the game resource processing process module 902 is realized through the framework process module 904.

[0169] In an optional embodiment, the game engine process module 901 is used to send a data acquisition request to the framework process module 904 in response to receiving an operation of opening the game development file in the game developer tool, wherein the data acquisition request carries the first process identifier of the game resource processing process module 902, and the data acquisition request is used to request to obtain the game resource data corresponding to the game development file;

[0170] The framework process module 904 is used to forward the data acquisition request to the game resource processing process module 902 according to the first process identifier;

[0171] The game resource processing process module 902 is used to query the game resource data corresponding to the game development file according to the data acquisition request;

[0172] the game resource processing process module 902 is used to send a data acquisition response to the framework process module 904, the data acquisition response carries the second process identifier of the game engine process module 901, and the data acquisition response includes the game resource data;

[0173] The framework process module 904 is used to forward the data acquisition response to the game engine process module 901 according to the second process identifier.

[0174] In an optional embodiment, data transmission between any two modules among the game engine process module 901, the game editing interface process module 903, and the game resource processing process module 902 is achieved through shared memory.

[0175] In an optional embodiment, the game engine process module 901 and the game editing interface process module 903 have a shared memory;

[0176] The game engine process module 901 is used to write the rendering result to the shared memory;

[0177] The game editing interface process module 903 is used to read the rendering results from the shared memory.

[0178] In an optional embodiment, the device further includes a framework process module 904; the game editing interface process module 903 and the game resource processing process module 902 respectively establish communication connections with the framework process module 904;

[0179] The game editing interface process module 903 is used to send a data write request to the game framework process module 904 in response to receiving an editing operation in the game developer interface, wherein the data write request carries the first process identifier of the game resource processing process, and the data write request includes the game data edited by the editing operation;

[0180] The framework process module 904 is used to forward the data write request to the game resource processing process module 902 according to the first process identifier;

[0181] The game resource processing process module 902 is used to write the game data edited by the editing operation according to the data writing request.

[0182] In an optional embodiment, the game engine process module 901 and the game editing interface process module 903 have a shared memory;

[0183] The game editing interface process module 903 is used to write the game data edited by the data editing operation into the shared memory in response to receiving the data editing operation in the game developer interface;

[0184] The game engine process module 901 is used to read the game data edited by the data editing operation from the shared memory.

[0185] In an optional embodiment, the device further includes a framework process module 904; the game engine process module 901, the game editing interface process module 903 and the game resource processing process module 902 respectively establish communication connections with the framework process module 904; the device further includes at least one of the following:

[0186] The game engine process module 901 is used to periodically send a first heartbeat packet to the framework process module 904, and the first heartbeat packet is used to check the communication connection status between the game engine process module 901 and the framework process module 904;

[0187] The game editing interface process module 903 is used to periodically send a second heartbeat packet to the framework process module 904, and the second heartbeat packet is used to check the communication connection status between the game editing interface process module 903 and the framework process module 904;

[0188] The game resource processing process module 902 is used to periodically send a third heartbeat packet to the framework process module 904, and the third heartbeat packet is used to check the communication connection status between the game resource processing process module 902 and the framework process module 904.

[0189] In an optional embodiment, the device further includes at least one of the following:

[0190] The framework process module 904 is used to restart the game engine process module 901 when the framework process module 904 does not receive the first heartbeat packet within a first time period;

[0191] the framework process module 904 is used to restart the game editing interface process module 903 when the framework process module 904 does not receive the second heartbeat packet within the second time length;

[0192] The framework process module 904 is used to restart the game resource processing process module 902 when the framework process module 904 does not receive the third heartbeat packet within a third time period.

[0193] In an optional embodiment, the device further includes a framework process module 904;

[0194] The inter-module communication between any two modules among the framework process module 904, the game engine process module 901, the game editing interface process module 903 and the game resource processing process module 902 uses the protocol buffer Protobuf data protocol to perform data communication.

[0195] Please refer to Figure 11, which shows a block diagram of a computer device 1300 provided by an exemplary embodiment of the present application. The computer device 1300 may be a terminal. The computer device 1300 may be a portable mobile terminal, such as: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 (Moving Picture Experts Group Audio Layer IV) player. The computer device 1300 may also be referred to by other names such as a user device, a portable terminal, etc.

[0196] Generally, the computer device 1300 includes: a processor 1301 and a memory 1302.

[0197] The processor 1301 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1301 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), PLA (Programmable Logic Array). The processor 1301 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the wake state, also known as the CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 1301 may be integrated with a GPU (Graphics Processing Unit), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1301 may further include an AI (Artificial Intelligence) processor, and the AI processor is used to process computational operations related to machine learning.

[0198] The memory 1302 may include one or more computer-readable storage media, which may be tangible and non-transitory. The memory 1302 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1302 is used to store at least one instruction, which is used to be executed by the processor 1301 to implement the operation method of the game developer tool provided in this application.

[0199] In some embodiments, the computer device 1300 may also optionally include: a peripheral device interface 1303 and at least one peripheral device. Specifically, the peripheral device includes: at least one of a radio frequency circuit 1304, a touch display screen 1305, a camera 1306, an audio circuit 1307, and a power supply 1309.

[0200] The peripheral device interface 1303 may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 1301 and the memory 1302. In some embodiments, the processor 1301, the memory 1302, and the peripheral device interface 1303 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1301, the memory 1302, and the peripheral device interface 1303 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.

[0201] The radio frequency circuit 1304 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 1304 communicates with a communication network and other communication devices via electromagnetic signals. The radio frequency circuit 1304 converts an electrical signal into an electromagnetic signal for transmission, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1304 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, and the like. The radio frequency circuit 1304 can communicate with other terminals via at least one wireless communication protocol. The wireless communication protocol includes, but is not limited to: the World Wide Web, a metropolitan area network, an intranet, various generations of mobile communication networks (2G, 3G, 4G and 5G), a wireless local area network and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 1304 may also include circuits related to NFC (Near Field Communication), which is not limited in this application.

[0202] The touch display screen 1305 is used to display a UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 1305 also has the ability to collect touch signals on the surface or above the surface of the touch display screen 1305. The touch signal may be input to the processor 1301 as a control signal for processing. The touch display screen 1305 is used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, the touch display screen 1305 may be one, and the front panel of the computer device 1300 is set; in other embodiments, the touch display screen 1305 may be at least two, which are respectively set on different surfaces of the computer device 1300 or are folded; in still other embodiments, the touch display screen 1305 may be a flexible display screen, which is set on a curved surface or a folded surface of the computer device 1300. Even, the touch display screen 1305 may also be set to a non-rectangular irregular figure, i.e., a special-shaped screen. The touch display screen 1305 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).

[0203] The camera assembly 1306 is used to collect images or videos. Optionally, the camera assembly 1306 includes a front camera and a rear camera. Typically, the front camera is used to realize video calls or selfies, and the rear camera is used to realize the shooting of photos or videos. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, and a wide-angle camera, so as to realize the background blur function by fusion of the main camera and the depth of field camera, and the fusion of the main camera and the wide-angle camera to realize panoramic shooting and VR (Virtual Reality) shooting function. In some embodiments, the camera assembly 1306 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. The dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation under different color temperatures.

[0204] The audio circuit 1307 is used to provide an audio interface between the user and the computer device 1300. The audio circuit 1307 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals and input them into the processor 1301 for processing, or input them into the radio frequency circuit 1304 to achieve voice communication. For the purpose of stereo acquisition or noise reduction, there may be multiple microphones, which are respectively arranged at different parts of the computer device 1300. The microphone may also be an array microphone or an omnidirectional acquisition microphone.The speaker is used to convert the electrical signal from the processor 1301 or the radio frequency circuit 1304 into sound waves. The speaker can be a traditional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signal into sound waves audible to humans, but also convert the electrical signal into sound waves inaudible to humans for purposes such as distance measurement. In some embodiments, the audio circuit 1307 can also include a headphone jack.

[0205] The power supply 1309 is used to power the various components in the computer device 1300. The power supply 1309 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 1309 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery charged through a wired line, and a wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.

[0206] In some embodiments, the computer device 1300 further includes one or more sensors 1310. The one or more sensors 1310 include, but are not limited to, an acceleration sensor 1311, a gyroscope sensor 1312, a pressure sensor 1313, an optical sensor 1315, and a proximity sensor 1316.

[0207] The acceleration sensor 1311 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the computer device 1300. For example, the acceleration sensor 1311 can be used to detect the components of gravity acceleration on the three coordinate axes. The processor 1301 can control the touch screen 1305 to display the user interface in a horizontal view or a vertical view according to the gravity acceleration signal collected by the acceleration sensor 1311. The acceleration sensor 1311 can also be used for the collection of game or user motion data.

[0208] The gyro sensor 1312 can detect the body direction and rotation angle of the computer device 1300. The gyro sensor 1312 can cooperate with the acceleration sensor 1311 to collect the user's 3D actions on the computer device 1300. The processor 1301 can implement the following functions based on the data collected by the gyro sensor 1312: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.

[0209] The pressure sensor 1313 can be set on the side frame of the computer device 1300 and / or the lower layer of the touch display screen 1305. When the pressure sensor 1313 is set on the side frame of the computer device 1300, it can detect the user's holding signal of the computer device 1300, and perform left and right hand recognition or shortcut operation according to the holding signal.When the pressure sensor 1313 is disposed in the lower layer of the touch display screen 1305, it is possible to control the operable controls on the UI interface according to the pressure operation of the user on the touch display screen 1305. The operable controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.

[0210] The optical sensor 1315 is used to collect the ambient light intensity. In one embodiment, the processor 1301 can control the display brightness of the touch display screen 1305 according to the ambient light intensity collected by the optical sensor 1315. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 1305 is increased; when the ambient light intensity is low, the display brightness of the touch display screen 1305 is decreased. In another embodiment, the processor 1301 can also dynamically adjust the shooting parameters of the camera assembly 1306 according to the ambient light intensity collected by the optical sensor 1315.

[0211] The proximity sensor 1316, also known as a distance sensor, is usually disposed on the front surface of the computer device 1300. The proximity sensor 1316 is used to collect the distance between the user and the front surface of the computer device 1300. In one embodiment, when the proximity sensor 1316 detects that the distance between the user and the front surface of the computer device 1300 is gradually decreasing, the processor 1301 controls the touch display screen 1305 to change from the lit state to the screen-off state; when the proximity sensor 1316 detects that the distance between the user and the front surface of the computer device 1300 is gradually increasing, the processor 1301 controls the touch display screen 1305 to change from the screen-off state to the lit state.

[0212] Those skilled in the art can understand that the structure shown in Figure 11 does not limit the computer device 1300, and may include more or fewer components than shown, or combine some components, or adopt different component arrangements.

[0213] This application also provides a terminal, which includes: a processor and a memory. At least one instruction, at least one program, a code set, or an instruction set is stored in the memory, and the at least one instruction, at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the operation method of the game developer tool executed by the terminal provided in the above method embodiments.

[0214] The present application also provides a computer device, which includes: a processor and a memory, wherein the storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, at least one program, a code set or an instruction set is loaded and executed by the processor to implement the operating method of the game developer tool provided by the above-mentioned method embodiments.

[0215] The present application also provides a computer-readable storage medium, which stores at least one instruction, at least one program, code set or instruction set. The at least one instruction, at least one program, code set or instruction set is loaded and executed by a processor to implement the operating method of the game developer tool provided by the above-mentioned method embodiments.

[0216] The present application also provides a computer program product, which stores at least one instruction, at least one program, code set or instruction set. The at least one instruction, at least one program, code set or instruction set is loaded and executed by a processor to implement the operation method of the game developer tool provided by the above-mentioned method embodiments.

[0217] It should be understood that the "plurality" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.

[0218] A person of ordinary skill in the art will appreciate that all or part of the steps of implementing the above embodiments may be accomplished by hardware, or may be accomplished by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0219] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.

[0220] It should be noted that, before collecting the relevant data of the user and during the process of collecting the relevant data of the user, the present application can display a prompt interface, a pop-up window or output a voice prompt information, and the prompt interface, pop-up window or voice prompt information is used to prompt the user that the relevant data is currently being collected, so that the present application only starts to execute the relevant steps of obtaining the relevant data of the user after obtaining the confirmation operation issued by the user to the prompt interface or pop-up window, otherwise (that is, when the confirmation operation issued by the user to the prompt interface or pop-up window is not obtained), the relevant steps of obtaining the relevant data of the user are terminated, that is, the relevant data of the user is not obtained. In other words, all user data collected by the present application are collected with the consent and authorization of the user, and the collection, use and processing of the relevant user data need to comply with the relevant laws, regulations and standards of the relevant countries and regions.< / iframe> < / webview> < / webview> < / webview> < / webview> < / webview> < / webview> < / webview>

Claims

1. A method for operating a game developer tool, characterized in that: The method is executed by a game developer tool, which includes a game engine process, a game editing interface process and a game resource processing process when running; the method includes: In response to receiving an operation of opening a game development file in the game developer tool, the game resource processing process transmits game resource data corresponding to the game development file to the game engine process; the game resource processing process is used to store and process the game resource data; The game engine process renders the game resource data to obtain a rendering result corresponding to the game development file; the game engine process is used to perform logical operations and screen rendering of the game; The game editing interface process displays the game developer interface corresponding to the game development file according to the rendering result; the game editing interface process is used to execute interface display.

2. The method according to claim 1, characterized in that The game developer tool also includes a framework process when running; the game engine process, the game editing interface process and the game resource processing process are all subprocesses of the framework process; The game engine process, the game editing interface process and the game resource processing process respectively establish communication connections with the framework process; The inter-process communication between any two processes among the game engine process, the game editing interface process, and the game resource processing process is implemented through the framework process.

3. The method according to claim 2, characterized in that In response to receiving an operation of opening a game development file in the game developer tool, the game resource processing process transmits game resource data corresponding to the game development file to the game engine process, including: In response to receiving an operation of opening the game development file in the game developer tool, the game engine process sends a data acquisition request to the framework process, the data acquisition request carrying the first process identifier of the game resource processing process, and the data acquisition request is used to request to acquire game resource data corresponding to the game development file; The framework process forwards the data acquisition request to the game resource processing process according to the first process identifier; The game resource processing process queries the game resource data corresponding to the game development file according to the data acquisition request; The game resource processing process sends a data acquisition response to the framework process, wherein the data acquisition response carries the second process identifier of the game engine process and includes the game resource data; The framework process forwards the data acquisition response to the game engine process according to the second process identifier.

4. The method according to claim 1, characterized in that: Data transmission between any two processes among the game engine process, the game editing interface process, and the game resource processing process is achieved through shared memory.

5. The method according to claim 4, characterized in that The game engine process and the game editing interface process have a shared memory; the method further comprises: The game engine process writes the rendering result to the shared memory; The game editing interface process reads the rendering result from the shared memory.

6. The method according to any one of claims 1 to 5, characterized in that: The game developer tool also includes a framework process when running; the game editing interface process and the game resource processing process are both subprocesses of the framework process; The game editing interface process and the game resource processing process respectively establish communication connections with the framework process; the method further includes: In response to receiving an editing operation in the game developer interface, the game editing interface process sends a data writing request to the game framework process, the data writing request carries the first process identifier of the game resource processing process, and the data writing request includes the game data edited by the editing operation; The framework process forwards the data write request to the game resource processing process according to the first process identifier; The game resource processing process writes the game data edited by the editing operation according to the data writing request.

7. The method according to any one of claims 1 to 5, characterized in that: The game engine process and the game editing interface process have a shared memory; the method further comprises: In response to receiving a data editing operation in the game developer interface, the game editing interface process writes the game data edited by the data editing operation into the shared memory; The game engine process reads the game data edited by the data editing operation from the shared memory.

8. The method according to any one of claims 1 to 5, characterized in that: The game developer tool also includes a framework process when running; the game engine process, the game editing interface process and the game resource processing process are all subprocesses of the framework process; the game engine process, the game editing interface process and the game resource processing process respectively establish communication connections with the framework process; the method also includes at least one of the following steps: The game engine process periodically sends a first heartbeat packet to the framework process, where the first heartbeat packet is used to check the communication connection status between the game engine process and the framework process; The game editing interface process periodically sends a second heartbeat packet to the framework process, wherein the second heartbeat packet is used to check the communication connection status between the game editing interface process and the framework process; The game resource processing process periodically sends a third heartbeat packet to the framework process, and the third heartbeat packet is used to check the communication connection status between the game resource processing process and the framework process.

9. The method according to claim 8, characterized in that The method further comprises at least one of the following steps: When the framework process does not receive the first heartbeat packet within a first time period, the framework process restarts the game engine process; When the framework process does not receive the second heartbeat packet within the second time period, the framework process restarts the game editing interface process; When the framework process does not receive the third heartbeat packet within the third time period, the framework process restarts the game resource processing process.

10. The method according to any one of claims 1 to 5, characterized in that: The game developer tool also includes a framework process when running; the game engine process, the game editing interface process and the game resource processing process are all subprocesses of the framework process; The inter-process communication between any two processes among the framework process, the game engine process, the game editing interface process and the game resource processing process adopts the protocol buffer Protobuf data protocol to perform data communication.

11. A game developer device, characterized in that: The device comprises: A game resource processing process module, configured to transmit game resource data corresponding to the game development file to the game engine process module in response to receiving an operation of opening a game development file in the game developer tool; the game resource processing process is configured to store and process the game resource data; The game engine process module is used to render the game resource data to obtain a rendering result corresponding to the game development file; the game engine process is used to perform logical operations and screen rendering of the game; The game editing interface process module is used to display the game developer interface corresponding to the game development file according to the rendering result; the game editing interface process is used to execute interface display.

12. A computer device, characterized in that: The computer includes: a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the operating method of the game developer tool according to any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that: The storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the operating method of the game developer tool according to any one of claims 1 to 10.

14. A computer program product, characterized in that The computer program product stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the operating method of the game developer tool according to any one of claims 1 to 10.