Game data method and device, electronic equipment, and storage medium
By separating static videos from the cloud gaming client to the content distribution server, the problem of resource waste in cloud gaming scenarios is solved, achieving more efficient resource utilization and a better game visual experience.
Patent Information
- Application Number
- CN202110596520.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-28
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2041-05-28
AI Technical Summary
In cloud gaming scenarios, static videos in cloud games need to be rendered a second time on the user's gaming terminal after being rendered on the cloud gaming client, resulting in wasted resources.
By separating static videos from the cloud gaming client and transferring them to the content distribution server, users' gaming terminals can directly obtain and play the videos from the content distribution server, reducing the rendering and encoding process of the cloud gaming client.
It saves computing resources for cloud gaming clients, improves resource utilization, and enhances the game's visual quality.
Smart Images

Figure CN113181646B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud gaming technology, and more specifically, to a game data processing method and apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] Cloud gaming is an online gaming technology based on cloud computing. It enables gaming terminals with relatively limited graphics processing and data processing capabilities to run high-quality games. The cloud gaming client does not run on the user's gaming terminal but rather on a cloud server. The cloud server renders the game scene as video and audio streams, which are then transmitted to the user's gaming terminal via the network. The user's gaming terminal does not need powerful graphics processing and data processing capabilities; it only needs basic streaming media playback capabilities and the ability to receive user input commands and send them to the cloud server.
[0003] In cloud gaming scenarios, it's often necessary to play static videos, such as character introduction videos and cutscenes, on the user's gaming terminal. These static videos don't support user input commands for controlling the game character during playback. To play these videos, the cloud gaming client needs to render the video resources into game footage, then encode the footage and transmit it to the user's gaming terminal for decoding and display. This process of rendering the same video resource on the cloud gaming client and then again on the user's gaming terminal leads to resource waste in cloud gaming scenarios. Summary of the Invention
[0004] To address the aforementioned technical problems, embodiments of this application provide a game data processing method and apparatus, an electronic device, and a computer-readable storage medium.
[0005] According to one aspect of the embodiments of this application, a game data processing method is provided, comprising: running a cloud gaming client based on a cloud gaming client image; during the operation of the cloud gaming client, the cloud gaming client receives user input instructions sent by a cloud gaming terminal application and returns a game screen responding to the user input instructions to the cloud gaming terminal application; the cloud gaming client image is a collection of resource files used to launch the cloud gaming client; when the cloud gaming client runs to the point of playing a cloud gaming static video, a notification message is sent to the cloud gaming terminal application; the notification message is used to instruct the cloud gaming static video to be played to be obtained from a content distribution server; the resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image constitute the resource files required for the operation of the cloud gaming client.
[0006] According to one aspect of the embodiments of this application, another game data processing method is also provided, comprising: detecting a user input command triggered in the display screen of a game terminal, and sending the user input command to a cloud gaming client, wherein the cloud gaming client runs on a cloud gaming server based on a cloud gaming client image, and the cloud gaming client image is a collection of resource files used to launch the cloud gaming client; receiving a game screen returned by the cloud gaming client in response to the user input command, and displaying the game screen; when receiving a notification message sent by the cloud gaming client, obtaining a cloud gaming static video from a content distribution server according to the instructions of the notification message, and playing the obtained cloud gaming static video, wherein the notification message is sent by the cloud gaming client when it runs to the point of playing the cloud gaming static video, wherein the resource file corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image together constitute the resource files required for the cloud gaming client to run.
[0007] According to one aspect of the embodiments of this application, a game data processing apparatus is provided, comprising: a client running module configured to run a cloud gaming client based on a cloud gaming client image, wherein during the operation of the cloud gaming client, the cloud gaming client receives user input instructions sent by a cloud gaming terminal application and returns a game screen responding to the user input instructions to the cloud gaming terminal application, and the cloud gaming client image is a collection of resource files used to launch the cloud gaming client; and a message notification module configured to send a notification message to the cloud gaming terminal application when the cloud gaming client reaches the point of playing a cloud gaming static video, the notification message being used to instruct the acquisition of the cloud gaming static video to be played from a content distribution server, wherein the resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image constitute the resource files required for the operation of the cloud gaming client.
[0008] According to one aspect of the embodiments of this application, another game data processing apparatus is also provided, comprising: a user instruction sending module configured to detect a user input instruction triggered in the display screen of a game terminal and send the user input instruction to a cloud gaming client, wherein the cloud gaming client runs on a cloud gaming server based on a cloud gaming client image, and the cloud gaming client image is a collection of resource files used to launch the cloud gaming client; a game screen display module configured to receive a game screen returned by the cloud gaming client in response to the user input instruction and display the game screen; and a static video acquisition module configured to, when receiving a notification message sent by the cloud gaming client, acquire a cloud gaming static video from a content distribution server according to the instruction of the notification message, and play the acquired cloud gaming static video, wherein the notification message is sent by the cloud gaming client when it reaches the point of playing the cloud gaming static video, wherein the resource file corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image together constitute the resource files required for the operation of the cloud gaming client.
[0009] According to one aspect of the embodiments of this application, an electronic device is provided, including a processor and a memory, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, they implement the game data processing method described above.
[0010] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, on which computer-readable instructions are stored, which, when executed by a computer's processor, cause the computer to perform the game data processing method as described above.
[0011] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the game data processing method provided in the various alternative embodiments described above.
[0012] In the technical solution provided by the embodiments of this application, the cloud game static video is separated from the cloud game client image. When the cloud game client runs to play the cloud game static video, it notifies the cloud game terminal application to obtain the cloud game static video from the content distribution server and plays the obtained cloud game static video locally. This eliminates the process of rendering and encoding the cloud game static video by the cloud game client, reduces the computing resource overhead of the cloud game client, and thus avoids the resource waste problem in the cloud game scenario.
[0013] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0014] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings:
[0015] Figure 1 This is a schematic diagram of one implementation environment involved in this application;
[0016] Figure 2 This is a flowchart illustrating a game data processing method in an exemplary embodiment of this application;
[0017] Figure 3 This is a schematic diagram illustrating the cloud gaming client image acquisition process in an exemplary embodiment of this application;
[0018] Figure 4 This is an exemplary embodiment of the present application illustrating the generation of a simplified installation package and resource package corresponding to a cloud gaming client;
[0019] Figure 5 This is a flowchart illustrating a game data processing method as shown in another exemplary embodiment of this application;
[0020] Figure 6 This is a block diagram illustrating a game data processing apparatus as shown in an exemplary embodiment of this application;
[0021] Figure 7 This is a block diagram illustrating a game data processing apparatus as shown in another exemplary embodiment of this application;
[0022] Figure 8 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown. Detailed Implementation
[0023] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0024] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0025] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily need to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0026] In this application, "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.
[0027] First, it's important to clarify that cloud computing refers to the delivery and usage model of IT infrastructure, meaning obtaining necessary resources through a network in an on-demand and easily scalable manner. In a broader sense, cloud computing also refers to the delivery and usage model of services, meaning obtaining necessary services through a network in an on-demand and easily scalable manner. These services can be IT and software-related, internet-related, or other services. Cloud computing is a product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage, virtualization, and load balancing.
[0028] With the development of the internet, real-time data streams, and the diversification of connected devices, as well as the demands for search services, social networks, mobile commerce, and open collaboration, cloud computing has rapidly developed. Unlike previous parallel distributed computing, cloud computing will fundamentally revolutionize the entire internet model and enterprise management model.
[0029] Cloud gaming is an online gaming technology based on cloud computing. It enables terminal devices with relatively limited graphics processing and data processing capabilities to run high-quality games. In a cloud gaming scenario, the game does not run on the user's gaming terminal, but rather on a cloud server. The cloud server renders the game scene as a video and audio stream, which is then transmitted to the player's gaming terminal via the network. The player's gaming terminal does not need powerful graphics processing and data processing capabilities; it only needs basic streaming media playback capabilities and the ability to receive user input commands and send them to the cloud server.
[0030] In cloud gaming scenarios, it's often necessary to play static cloud game videos on the gaming terminal. These static videos refer to video resources that don't support user input commands for controlling game characters during playback; examples include character introduction videos and cutscenes. Currently, for these static cloud game videos to be played, the cloud gaming client needs to render the corresponding video resources as game footage, then encode and compress the footage before transmitting it to the gaming terminal for decoding and display. This means the same video resource undergoes a second rendering process on the gaming terminal after being rendered on the cloud gaming client.
[0031] The rendering of video resources by cloud gaming clients is achieved through the computing resources of cloud servers. However, the computing resources provided by cloud servers are very valuable, which leads to the problem of resource waste in cloud gaming scenarios.
[0032] To address this issue, embodiments of this application propose a game data processing method, a game data processing device, an electronic device, and a computer-readable storage medium, which will be described in detail below.
[0033] Please refer to the following first. Figure 1 , Figure 1 This is a schematic diagram of an implementation environment involved in this application. Specifically, the implementation environment is an exemplary cloud gaming architecture, including a game terminal 101, a cloud gaming server 102, a game backend server 103, and a content distribution server 104.
[0034] Game terminal 101 is used to run cloud gaming terminal applications. These applications are game applications for cloud gaming users; therefore, they can be understood as user-side applications corresponding to cloud gaming. Cloud gaming server 102 is a cloud server used to run cloud gaming clients; therefore, cloud gaming clients can be understood as cloud applications corresponding to cloud gaming. Game backend server 103 provides data services for the operation of the cloud gaming client, such as providing data on game character battles, game character levels, and game character leaderboards. Content distribution server 104 is used to store and distribute static videos from cloud games.
[0035] based on Figure 1 As shown in the cloud gaming architecture, cloud gaming places the logic calculation and screen rendering logic that should be performed on the game terminal 101 in the cloud gaming server 102. The game screen, after being calculated and rendered by the cloud gaming server 102, is transmitted to the game terminal 101 via the network after being encoded and compressed. The game terminal 101 only needs to perform simple decoding and screen display, as well as transmit the user input instructions in the terminal 101 to the cloud gaming server 102. These user input instructions include control instructions for controlling the game character.
[0036] based on Figure 1 The cloud gaming architecture shown also demonstrates that the content distribution server 104 separates the cloud gaming static video from the cloud gaming client, allowing the cloud gaming client running on the cloud gaming server 102 to differ from a conventional cloud gaming client. Specifically, a conventional cloud gaming client needs to render the cloud gaming static video to obtain the game screen, then encode and compress the game screen before transmitting it to the game terminal. This process consumes significant computing resources from the cloud server. However, in the implementation environment described in this application, the cloud gaming static video is separated from the cloud gaming client and stored on the content distribution server 104. The game terminal retrieves the cloud gaming static video from the content distribution server 104 for local playback. This eliminates the need for the cloud gaming client running on the cloud gaming server 102 to render the cloud gaming static video, thereby saving computing resources on the cloud gaming server 102 and improving resource utilization in the cloud gaming scenario.
[0037] It should be noted that, in the implementation environment covered by this application, the game terminal 101 may include terminal devices such as smartphones, tablets, laptops, desktop computers, smart TVs, TV boxes, smart wearable devices, and game controllers, but is not limited to these.
[0038] The cloud gaming server 102 may include cloud servers or cloud server clusters that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, and big data and artificial intelligence platforms. The content delivery server 104 may include cloud servers that provide CDN (Content Delivery Network). The game backend server 103 may be a physical server or a cloud server, and there are no restrictions on this.
[0039] Figure 2 This is a flowchart illustrating a game data processing method in an exemplary embodiment of this application. This game data processing method is applicable to... Figure 1 The implementation environment shown, and by Figure 1 The cloud gaming server 102 in the implementation environment shown is specifically executed.
[0040] like Figure 2 As shown, this exemplary game data processing method includes steps S210 to S230, which are described in detail below:
[0041] Step S210: Run the cloud gaming client based on the cloud gaming client image. During the operation of the cloud gaming client, the cloud gaming client receives user input commands sent by the cloud gaming terminal application and returns a game screen in response to the user input commands to the cloud gaming terminal application.
[0042] First, it should be clarified that a cloud gaming server is a cloud-based server used to run cloud gaming clients, and can consist of one or more cloud servers. The cloud gaming client is the cloud application corresponding to the cloud game, used to receive user input commands sent by the cloud gaming terminal application and return a game screen in response to the user's input commands. The cloud gaming terminal application runs on the gaming terminal and is the user-side application corresponding to the cloud gaming client. The game screen responding to user input commands can be generated by the cloud gaming client parsing the user's input commands into actions corresponding to the game character, generating a game screen containing the corresponding actions, and transmitting this game screen to the cloud gaming terminal application. This allows the user to view the process of controlling the game character on the gaming terminal, thus realizing the user's gaming experience within the cloud gaming terminal application.
[0043] A cloud gaming client image is a collection of resource files used to launch a cloud gaming client. Simply copy the cloud gaming client image to any cloud gaming service environment and install it; no additional resources need to be downloaded to launch the cloud gaming client within that environment. In this embodiment, by installing the cloud gaming client image on the cloud gaming server, the cloud gaming client can be launched and run within the cloud gaming service.
[0044] However, it should be noted that the cloud gaming client image in this embodiment does not contain the resource files corresponding to the cloud gaming static videos. The resource files corresponding to the cloud gaming static videos are stored on a content distribution server. These resource files, along with the resource files contained in the cloud gaming client image, together constitute the resource files required for the cloud gaming client to run, thus achieving separation between the cloud gaming client and the cloud gaming static videos. For example, in some embodiments, the process of starting and running the cloud gaming client is as follows:
[0045] Launch a cloud gaming client instance on the cloud gaming server based on the cloud gaming client image;
[0046] Log in to the cloud gaming client instance with your game account. The game account has exclusive access to the cloud gaming client instance so that the cloud gaming client instance can interact with the cloud gaming terminal application logged in with the game account during operation.
[0047] In this embodiment, when any user game account launches a cloud gaming client, a corresponding cloud gaming client instance needs to be launched on the cloud gaming server. This instance is a copy of the cloud gaming client image, running in a completely new environment for the user. The user logs in to the cloud gaming client using their own game account. During the lifecycle of the cloud gaming client, the instance is exclusively used by the logged-in user game account. This exclusivity means that the cloud gaming client instance interacts with other cloud gaming terminal applications logged in with the same user game account during operation.
[0048] Therefore, in a real cloud gaming scenario, multiple cloud gaming client instances run on the cloud gaming server, and different cloud gaming client instances provide cloud gaming experiences for different users to meet their needs for cloud gaming experiences.
[0049] Step S230: When the cloud gaming client reaches the point of playing a cloud gaming static video, it sends a notification message to the cloud gaming terminal application. The notification message is used to instruct the cloud gaming static video to be played to be retrieved from the content distribution server.
[0050] Since the cloud gaming client image does not contain the resource files corresponding to the cloud gaming static video, when the cloud gaming client runs to play the cloud gaming static video, it cannot obtain the video resources to render the game screen. Instead, it sends a notification message to the cloud gaming terminal application, which instructs the cloud gaming terminal application to obtain the cloud gaming static video to be played from the content distribution server.
[0051] For example, a cloud gaming client can obtain the storage address of a cloud gaming static video in a content delivery server, and then send a notification message carrying the storage address corresponding to the cloud gaming static video to a cloud gaming terminal application, so that the cloud gaming terminal application can obtain the cloud gaming static video from the content delivery network based on the storage address carried in the notification message.
[0052] For cloud gaming terminal applications, retrieving static cloud game videos from the content delivery server based on the storage address carried in the notification message can be understood as the application possessing video-on-demand functionality. When entering the static cloud game video playback phase, the cloud gaming terminal application switches its current display state from the cloud gaming client's video state to the video-on-demand state. The cloud gaming client's video state refers to the state where the cloud gaming terminal application uploads user input commands to the cloud gaming client, receives and displays the game screen returned by the cloud gaming client in response to the user's input commands. The video-on-demand state refers to the state where the cloud gaming terminal application retrieves the static cloud game video from the content delivery server and plays it locally. After the static cloud game video playback ends, the cloud gaming terminal application switches back to the cloud gaming client's video state. By executing this process, even when the static cloud game video and the cloud gaming client are separated, the cloud gaming terminal application can still provide users with a complete cloud gaming experience.
[0053] The content delivery server deploys a content delivery network (CDN), which is an intelligent virtual network built on top of the existing network. Relying on edge servers deployed in various locations, it uses the central platform's load balancing, content distribution, and scheduling modules to allow users to access the content they need from the nearest server. Therefore, the CDN has advantages such as reducing network congestion, improving user access response speed, and increasing hit rate. In this embodiment, storing cloud gaming static videos on the CDN enables cloud gaming terminal applications to obtain the best game visual quality experience through optimal network and bandwidth.
[0054] Therefore, the technical solution proposed in this embodiment utilizes the cloud gaming client's cloud-based operation to extract static videos of cloud games—such as introductory videos and cutscenes—that require no user interaction from the cloud gaming client and transfer them to the content delivery network (CDN). This not only reduces the file size of the cloud gaming client image and saves disk space in the client's operating environment, but also reduces the computational resource overhead of the cloud gaming server because the client doesn't need to render and encode the static videos. Furthermore, for cloud gaming users, since the static videos are obtained directly from the CDN by the gaming terminal, the image quality of the videos played on the terminal is not limited by the rendering and encoding capabilities of the cloud gaming client; instead, the optimal game image quality experience can be obtained based on network bandwidth.
[0055] Please see Figure 3 , Figure 3 This is a schematic diagram illustrating the cloud gaming client image acquisition process, as shown in an exemplary embodiment of this application. Figure 3As shown, the cloud gaming client image can be obtained through steps S310 to S350, detailed as follows:
[0056] Step S310: Identify the first resource file contained in the resource files required for the cloud gaming client to run. This first resource file is a necessary resource file for starting the cloud gaming client.
[0057] First, it should be noted that the resource files required for the cloud gaming client to run are the resource files contained in the existing cloud gaming client image, which can also be understood as the complete resource files of the cloud gaming client.
[0058] This embodiment identifies resource files required for the cloud gaming client to run based on whether the resource files are necessary for the cloud gaming client to start. Resource files that are necessary for starting the cloud gaming client are identified as first resource files, and resource files that are not related to the start of the cloud gaming client are identified as second resource files.
[0059] Table 1 below shows the results of identifying the resource files required to run an exemplary cloud gaming client. As can be seen from Table 1, the resource files required for the cloud gaming client to run include binary programs, game configuration files, art resource files, cutscene videos, game character introduction videos, and third-party library files. Among these, the cutscene videos and game character introduction videos are resource files unrelated to the startup of the cloud gaming client, and are therefore identified as the second resource files. The remaining resource files are all necessary for starting the cloud gaming client, and are therefore identified as the first resource files. Table 1 also shows that the second resource files include the resource files corresponding to the cloud gaming static videos.
[0060] resource files Is startup required? Recognition results binary program yes First resource file Game configuration file yes First resource file Art resource files yes First resource file Transition animation video no Second resource file Game character introduction video no Second resource file Third-party library files yes First resource file
[0061] Table 1
[0062] Step S330: Generate a simplified installation package corresponding to the cloud gaming client based on the first resource file.
[0063] The process of generating a streamlined installation package for the cloud gaming client based on the first resource file involves packaging the first resource file. Therefore, the streamlined installation package can be understood as a collection of the first resource files. This streamlined installation package is used to generate the cloud gaming client image.
[0064] It should be mentioned that the second resource file is used to generate the resource package corresponding to the cloud gaming client. This resource package can be understood as a collection of the second resource files. The resource package corresponding to the cloud gaming client is stored in the content delivery server so that the content delivery server can provide cloud gaming static videos to the cloud gaming terminal application.
[0065] The process of generating the simplified installation package and resource package corresponding to the cloud gaming client can be referred to above. Figure 4 ,from Figure 4 As can be seen, a simplified installation package is generated by packaging the binary program, art resource files, game configuration files, and third-party library files required for the cloud gaming client to run, and a resource package is generated by packaging the game character introduction video and cutscene video.
[0066] Step S350: Generate a cloud gaming client image based on the simplified installation package and the corresponding runtime environment of the cloud gaming client.
[0067] To ensure that each user launches a clean and consistent cloud gaming client environment, the cloud gaming client and the operating system running on it need to be packaged together into an image. Therefore, this embodiment requires generating the cloud gaming client image based on the streamlined installation package and the corresponding runtime environment of the cloud gaming client. The streamlined installation package provides the resources needed to launch the cloud gaming client, while the runtime environment is provided by the operating system running the cloud gaming client.
[0068] For example, the process of generating a cloud gaming client image is as follows:
[0069] Install the streamlined installation package on an operating system compatible with cloud gaming clients;
[0070] Launch the cloud gaming client on the operating system so that the operating system's runtime environment for the cloud gaming client contains the cloud gaming client's runtime information;
[0071] Generate a cloud gaming client image based on the runtime environment containing the runtime information of the cloud gaming client.
[0072] Among them, the operating system suitable for cloud gaming clients refers to the operating system that can support the running of cloud gaming clients. For example, a container runtime environment can be launched on a server with an ARM (Advanced RISC Machine) architecture. This runtime environment can be an operating system such as Windows, Linux, Android, or iOS. By installing a simplified installation package on the operating system, the cloud gaming client can be installed on the operating system.
[0073] By launching the installed cloud gaming client into the operating system, the cloud gaming client modifies the operating system during operation, ensuring that the runtime environment provided by the operating system contains the runtime information of the cloud gaming client. In other words, it ensures that the runtime environment has all the necessary conditions for the cloud gaming client to run. A cloud gaming client image is then generated based on this runtime environment containing the cloud gaming client's runtime information, thus packaging the cloud gaming client and its running operating system into the cloud gaming client image. The generated cloud gaming client image can be stored in a container image repository, allowing the cloud gaming server to download and install the downloaded cloud gaming client image. A container image repository is a cloud server used to store image files.
[0074] Based on the cloud gaming client image generation process described above, static videos of cloud games can be extracted from the cloud gaming client. The resulting cloud gaming client image has the necessary conditions to start the cloud gaming client, and therefore can be used independently in the cloud gaming server.
[0075] In another embodiment, in order to ensure that cloud gaming users can quickly launch the cloud gaming client and achieve a "play in seconds" gaming experience, it is necessary to ensure that all resources for launching the cloud gaming client are up-to-date before generating the cloud gaming client image, so that no additional resource files need to be downloaded at any time when the cloud gaming client image is instantiated.
[0076] Specifically, this can be achieved by detecting the resource file checks and updates performed during the cloud gaming client's startup process. After confirming that the resource file checks and updates are complete, the process of generating the cloud gaming client image based on the runtime environment containing the cloud gaming client's runtime information is then executed. The resource file checks and updates performed during the cloud gaming client's startup process mean that after the cloud gaming client starts, it performs an update check on the resource files required for operation. If any resource files need updating, the latest resource files are obtained from the network and updated accordingly. Therefore, through these resource file checks and updates, it is ensured that the resources required for the cloud gaming client to start are up-to-date when the cloud gaming client image is generated.
[0077] Figure 5 This is a flowchart illustrating a game data processing method as shown in another exemplary embodiment of this application. This game data processing method is also applicable to... Figure 1 The implementation environment shown, and by Figure 1 The game terminal 101 in the implementation environment shown is specifically executed.
[0078] like Figure 5As shown, this exemplary game data processing method includes steps S510 to S550, which are described in detail below:
[0079] Step S510: Detect the user input command triggered in the display screen of the game terminal, and send the user input command to the cloud gaming client.
[0080] In this embodiment, the cloud gaming terminal application is a user-side cloud gaming application that runs on a gaming terminal. When the cloud gaming terminal application starts, the cloud gaming client starts accordingly. The cloud gaming scenario is realized through the coordinated operation of the cloud gaming terminal application and the cloud gaming client.
[0081] Specifically, during operation, the cloud gaming terminal application detects user input commands triggered on the game terminal's display screen and sends these commands to the cloud gaming client via the network. These user input commands correspond to actions performed by the user controlling the game character. Based on the received user input commands, the cloud gaming client generates a game screen that responds to the user's input and sends the generated game screen back to the cloud gaming terminal application.
[0082] It should be noted that the cloud gaming client referred to in this embodiment is the same as the cloud gaming client described in the previous embodiments. Both are based on a cloud gaming client image running on a cloud gaming server. The cloud gaming client image is a collection of resource files used to launch the cloud gaming client.
[0083] Step S530: Receive the game screen returned by the cloud gaming client in response to the user's input command, and display the game screen.
[0084] As mentioned earlier, the cloud gaming client generates a game screen in response to the received user input command and then sends the generated game screen to the cloud gaming terminal application. Upon receiving the game screen from the cloud gaming client, the cloud gaming terminal application displays the corresponding game screen. By repeatedly sending user input commands and displaying the game screen in response to those commands within the cloud gaming terminal application, the visual effect of the user controlling a game character can be achieved.
[0085] Step S550: When a notification message is received from the cloud gaming client, the cloud gaming static video is retrieved from the content distribution server according to the instructions in the notification message, and the retrieved cloud gaming static video is played. The notification message is sent by the cloud gaming client when it runs to the point of playing the cloud gaming static video.
[0086] In cloud gaming scenarios, it's often necessary to play static videos, such as character introduction videos and cutscenes. When the cloud gaming client reaches the point where a static video needs to be played, it sends a notification message to the cloud gaming terminal application. This message instructs the terminal application to retrieve the static video from the content delivery server. Upon receiving the notification message, the terminal application retrieves the video from the server as instructed and plays it locally. The resource files corresponding to the static video, along with those in the cloud gaming client image, constitute the resource files required for the cloud gaming client to run.
[0087] In some embodiments, the notification message carries the storage address of the cloud game static video to be played in the content distribution server. Therefore, the cloud game terminal application can request the cloud game static video corresponding to the storage address from the content distribution server according to the storage address carried in the notification message, and receive the cloud game static video corresponding to the storage address returned by the content distribution server, and play the received cloud game static video.
[0088] The resolution of the video frames in the static cloud game videos returned by the content delivery server to the cloud gaming terminal application is adapted to the bandwidth of the content delivery network. Communication between the content delivery server and the gaming terminal is established based on this content delivery network. Therefore, the image quality of the static cloud game videos played on the gaming terminal is not limited by the rendering and encoding capabilities of the cloud gaming client, but can obtain the best game image quality experience based on network bandwidth.
[0089] When the cloud gaming terminal application detects that the cloud gaming static video playback has ended, or detects that it has failed to retrieve the cloud gaming static video from the content distribution server, it notifies the cloud gaming client to continue sending game footage to the cloud gaming terminal application.
[0090] As can be seen from the above, the method provided in this embodiment is the same as the method in the foregoing embodiments. Therefore, for some technical details of this embodiment, please refer to the content recorded in the foregoing embodiments. This embodiment will not repeat them here.
[0091] The technical solution proposed in this embodiment also utilizes the characteristic of cloud gaming clients running in the cloud to extract static videos of cloud games, such as introduction videos and cutscenes of game characters, from the cloud gaming client to the content delivery network. This not only reduces the file size of the cloud gaming client image and saves disk space in the cloud gaming client's operating environment, but also reduces the computing resource overhead of the cloud gaming server because the cloud gaming client does not need to render and encode game screens for the static videos.
[0092] Figure 6 This is a block diagram illustrating a game data processing apparatus according to an exemplary embodiment of this application. The exemplary game data processing apparatus 600 can be configured in... Figure 1 In the cloud gaming server 102 of the implementation environment shown.
[0093] like Figure 6 As shown, the game data processing device 600 includes:
[0094] The client running module 610 is configured to run the cloud gaming client based on the cloud gaming client image. During the operation of the cloud gaming client, the cloud gaming client receives user input commands sent by the cloud gaming terminal application and returns a game screen in response to the user input commands to the cloud gaming terminal application. The cloud gaming client image is a collection of resource files used to start the cloud gaming client. The message notification module 630 is configured to send a notification message to the cloud gaming terminal application when the cloud gaming client reaches the point of playing a cloud gaming static video. The notification message is used to instruct the cloud gaming static video to be played to be obtained from the content distribution server. The resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image constitute the resource files required for the cloud gaming client to run.
[0095] In another exemplary embodiment, the client runtime module 610 includes:
[0096] The instance startup unit is configured to start a cloud gaming client instance on a cloud gaming server based on the cloud gaming client image; the account login unit is configured to log in a user's game account on the cloud gaming client instance, with the user's game account having exclusive access to the cloud gaming client instance, so that the cloud gaming client instance can interact with the cloud gaming terminal application logged in with the user's game account during operation.
[0097] In another exemplary embodiment, the message notification module 630 includes:
[0098] The storage address acquisition unit is configured to acquire the storage address of the cloud gaming static video in the content distribution server; the notification message sending unit is configured to send a notification message carrying the storage address to the cloud gaming terminal application, so that the cloud gaming terminal application can obtain the cloud gaming static video based on the storage address carried in the notification message.
[0099] In another exemplary embodiment, the cloud gaming client image is downloaded by the cloud gaming server from a container image repository, which is a cloud server used to store image files. The cloud gaming client image is stored in the container image repository, and the cloud gaming server is a cloud server used to run the cloud gaming client.
[0100] In another exemplary embodiment, the device further includes:
[0101] The resource file identification module is configured to identify the first resource file contained in the resource files required for the cloud gaming client to run. The first resource file is a resource file necessary for starting the cloud gaming client. The simplified installation package generation module is configured to generate a simplified installation package corresponding to the cloud gaming client based on the first resource file. The client image generation module is configured to generate a cloud gaming client image based on the simplified installation package and the runtime environment corresponding to the cloud gaming client.
[0102] In another exemplary embodiment, the client image generation module includes:
[0103] The simplified installation package installation unit is configured to install a simplified installation package on an operating system adapted to the cloud gaming client; the client startup control unit is configured to start the cloud gaming client on the operating system so that the operating system provides a runtime environment for the cloud gaming client containing the runtime information of the cloud gaming client; and the image generation unit is configured to generate a cloud gaming client image based on the runtime environment containing the runtime information of the cloud gaming client.
[0104] In another exemplary embodiment, the client image generation module further includes:
[0105] The resource file check and update unit is configured to detect the resource file check and update performed by the cloud gaming client during startup. After confirming that the resource file check and update is completed, the image generation unit performs the step of generating a cloud gaming client image based on the runtime environment containing the runtime information of the cloud gaming client.
[0106] In another exemplary embodiment, the resource files required for the cloud gaming client to run also contain a second resource file. The second resource file is a resource file that is unrelated to the startup of the cloud gaming client. The second resource file includes resource files corresponding to static videos in the cloud gaming. The device further includes a resource package generation module, configured to generate a resource package corresponding to the cloud gaming client based on the second resource file. The resource package is stored in a content distribution server.
[0107] Figure 7 This is a block diagram illustrating a game data processing apparatus as shown in another exemplary embodiment of this application. This exemplary game data processing apparatus 700 may be specifically configured in... Figure 1 In the game terminal 101 of the implementation environment shown.
[0108] like Figure 7 As shown, the game data processing device 700 includes:
[0109] The user instruction sending module 710 is configured to detect user input instructions triggered in the display screen of the game terminal and send the user input instructions to the cloud gaming client. The cloud gaming client runs on the cloud gaming server based on a cloud gaming client image, which is a collection of resource files used to start the cloud gaming client. The game screen display module 730 is configured to receive the game screen returned by the cloud gaming client in response to the user input instructions and display the game screen. The static video acquisition module 750 is configured to, when receiving a notification message sent by the cloud gaming client, acquire the cloud gaming static video from the content distribution server according to the instructions in the notification message and play the acquired cloud gaming static video. The notification message is sent when the cloud gaming client runs to the point of playing the cloud gaming static video. The resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image together constitute the resource files required for the cloud gaming client to run.
[0110] In another exemplary embodiment, the still video acquisition module 750 includes:
[0111] The video request unit is configured to request the cloud gaming static video corresponding to the storage address from the content delivery server based on the storage address carried in the notification message; the video receiving unit is configured to receive the cloud gaming static video corresponding to the storage address returned by the content delivery server and play the received cloud gaming static video. The resolution of the video frames contained in the cloud gaming static video is adapted to the bandwidth of the content delivery network, and the content delivery server and the game terminal establish communication based on the content delivery network.
[0112] In another exemplary embodiment, the device further includes:
[0113] The game screen recovery notification module is configured to notify the cloud gaming client to continue sending game screens when it detects that the cloud gaming static video playback has ended or that it has failed to retrieve the cloud gaming static video from the content distribution server.
[0114] It should be noted that the apparatus provided in the above embodiments and the method provided in the above embodiments belong to the same concept, and the specific way in which each module and unit performs operations has been described in detail in the method embodiments, and will not be repeated here.
[0115] Embodiments of this application also provide an electronic device, including a processor and a memory, wherein the memory stores computer-readable instructions that, when executed by the processor, implement the game data processing method as described above.
[0116] Figure 8 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown.
[0117] It should be noted that, Figure 8 The computer system 1600 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0118] like Figure 8 As shown, the computer system 1600 includes a Central Processing Unit (CPU) 1601, which can perform various appropriate actions and processes based on programs stored in Read-Only Memory (ROM) 1602 or programs loaded from storage portion 1608 into Random Access Memory (RAM) 1603, such as performing the methods described in the above embodiments. Various programs and data required for system operation are also stored in RAM 1603. The CPU 1601, ROM 1602, and RAM 1603 are interconnected via bus 1604. An Input / Output (I / O) interface 1605 is also connected to bus 1604.
[0119] The following components are connected to I / O interface 1605: an input section 1606 including a keyboard, mouse, etc.; an output section 1607 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1608 including a hard disk, etc.; and a communication section 1609 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 1609 performs communication processing via a network such as the Internet. A drive 1610 is also connected to I / O interface 1605 as needed. Removable media 1611, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 1610 as needed so that computer programs read from them can be installed into storage section 1608 as needed.
[0120] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1609, and / or installed from removable medium 1611. When the computer program is executed by central processing unit (CPU) 1601, it performs various functions defined in the system of this application.
[0121] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.
[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0123] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.
[0124] Another aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the game data processing method as described above. This computer-readable storage medium may be included in the electronic device described in the above embodiments, or it may exist independently and not assembled into the electronic device.
[0125] Another aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the game data processing methods provided in the various embodiments described above.
[0126] The above description is merely a preferred exemplary embodiment of this application and is not intended to limit the implementation of this application. Those skilled in the art can easily make corresponding modifications or alterations based on the main concept and spirit of this application. Therefore, the scope of protection of this application should be determined by the scope of protection claimed in the claims.
Claims
1. A game data processing method, characterized in that, include: The cloud gaming client runs based on the cloud gaming client image. During the operation of the cloud gaming client, the cloud gaming client receives user input commands sent by the cloud gaming terminal application and returns a game screen in response to the user input commands to the cloud gaming terminal application. The cloud gaming client image is a collection of resource files used to launch the cloud gaming client. The cloud gaming client image does not contain resource files corresponding to the cloud gaming static video. The cloud gaming static video does not support inputting user input commands to control the game character during playback. The resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image together constitute the resource files required for the cloud gaming client to run. When the cloud gaming client runs to the point of playing the cloud gaming static video, it sends a notification message to the cloud gaming terminal application. The notification message is used to instruct the cloud gaming static video to be played from the content distribution server and to play the obtained cloud gaming static video. In response to a notification from the cloud gaming terminal application, the client continues to send game footage to the cloud gaming terminal application. Specifically, when the cloud gaming terminal application detects that the cloud gaming static video playback has ended or detects that it has failed to retrieve the cloud gaming static video from the content distribution server, it notifies the cloud gaming client to continue sending game footage to the cloud gaming terminal application.
2. The method according to claim 1, characterized in that, Running the cloud gaming client based on the cloud gaming client image includes: Launch a cloud gaming client instance based on the cloud gaming client image; Log in to the cloud gaming client instance with a user's game account. The user's game account exclusively owns the cloud gaming client instance so that the cloud gaming client instance can interact with the cloud gaming terminal application logged in with the user's game account during operation.
3. The method according to claim 1, characterized in that, Sending a notification message to the cloud gaming terminal application includes: Obtain the storage address of the cloud gaming static video on the content distribution server; A notification message carrying the storage address is sent to the cloud gaming terminal application so that the cloud gaming terminal application can obtain the cloud gaming static video based on the storage address carried in the notification message.
4. The method according to any one of claims 1 to 3, characterized in that, The cloud gaming client image is downloaded by the cloud gaming server from a container image repository, which is a cloud server used to store image files. The cloud gaming client image is stored in the container image repository, and the cloud gaming server is a cloud server used to run the cloud gaming client.
5. The method according to claim 4, characterized in that, The cloud gaming client image is obtained through the following steps: Identify a first resource file contained in the resource files required for the cloud gaming client to run, wherein the first resource file is a resource file necessary for starting the cloud gaming client; Generate a simplified installation package corresponding to the cloud gaming client based on the first resource file; Based on the simplified installation package and the corresponding runtime environment of the cloud gaming client, the cloud gaming client image is generated.
6. The method according to claim 5, characterized in that, The resource files required for the cloud gaming client to run also contain a second resource file. The second resource file is a resource file that is unrelated to the startup of the cloud gaming client. The second resource file includes the resource file corresponding to the cloud gaming static video. The second resource file is used to generate the resource package corresponding to the cloud gaming client. The resource package is stored in the content distribution server.
7. The method according to claim 5, characterized in that, The step of generating the cloud gaming client image based on the simplified installation package and the runtime environment corresponding to the cloud gaming client includes: Install the streamlined installation package on an operating system adapted to the cloud gaming client; The cloud gaming client is launched on the operating system so that the operating system provides a runtime environment for the cloud gaming client containing the runtime information of the cloud gaming client. The cloud gaming client image is generated based on the runtime environment containing the runtime information of the cloud gaming client.
8. The method according to claim 7, characterized in that, Before generating the cloud gaming client image based on the runtime environment containing the runtime information of the cloud gaming client, the method further includes: The system detects resource file updates performed during the startup process of the cloud gaming client. After confirming that the resource file check and update are complete, the step of generating the cloud gaming client image based on the runtime environment containing the cloud gaming client's runtime information is executed.
9. A game data processing method, characterized in that, include: The system detects user input commands triggered on the display screen of the game terminal and sends these commands to the cloud gaming client. The cloud gaming client runs on a cloud gaming server based on a cloud gaming client image. The cloud gaming client image is a collection of resource files used to launch the cloud gaming client. The cloud gaming client image does not contain resource files corresponding to the cloud gaming static video. The cloud gaming static video does not support inputting user commands to control the game character during playback. The resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image together constitute the resource files required for the cloud gaming client to run. Receive the game screen returned by the cloud gaming client in response to the user's input command, and display the game screen; When a notification message is received from the cloud gaming client, the cloud gaming static video is retrieved from the content distribution server according to the instructions in the notification message, and the retrieved cloud gaming static video is played. The notification message is sent by the cloud gaming client when it runs to the point of playing the cloud gaming static video. When the playback of the cloud game static video is detected to have ended, or when the retrieval of the cloud game static video from the content distribution server fails, the cloud game client is notified to continue sending game footage.
10. The method according to claim 9, characterized in that, The step of retrieving a cloud gaming static video from a content distribution server according to the instruction of the notification message, and playing the retrieved cloud gaming static video, includes: Based on the storage address carried in the notification message, request the content distribution server to obtain the cloud gaming static video corresponding to the storage address; The system receives a cloud gaming static video corresponding to the storage address returned by the content distribution server and plays the received cloud gaming static video. The resolution of the video frames contained in the cloud gaming static video is adapted to the bandwidth of the content distribution network. The content distribution server and the game terminal establish communication based on the content distribution network.
11. A game data processing device, characterized in that, include: The client running module is configured to run a cloud gaming client based on a cloud gaming client image. During the operation of the cloud gaming client, the cloud gaming client receives user input commands sent by the cloud gaming terminal application and returns a game screen in response to the user input commands to the cloud gaming terminal application. The cloud gaming client image is a collection of resource files used to launch the cloud gaming client. The cloud gaming client image does not contain resource files corresponding to the cloud gaming static video. The cloud gaming static video does not support input of user commands for controlling game characters during playback. The resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image together constitute the resource files required for the operation of the cloud gaming client. The message notification module is configured to send a notification message to the cloud gaming terminal application when the cloud gaming client reaches the point of playing the cloud gaming static video. The notification message is used to instruct the cloud gaming client to retrieve the cloud gaming static video to be played from the content distribution server and to play the retrieved cloud gaming static video. Furthermore, in response to a notification from the cloud gaming terminal application, the module continues to send game footage to the cloud gaming terminal application. Specifically, the cloud gaming terminal application notifies the cloud gaming client to continue sending game footage to the cloud gaming terminal application when it detects that the cloud gaming static video playback has ended or that retrieving the cloud gaming static video from the content distribution server has failed.
12. A game data processing device, characterized in that, include: The user instruction sending module is configured to detect user input instructions triggered on the display screen of the game terminal and send the user input instructions to the cloud gaming client. The cloud gaming client runs on the cloud gaming server based on a cloud gaming client image. The cloud gaming client image is a collection of resource files used to start the cloud gaming client. The cloud gaming client image does not contain resource files corresponding to the cloud gaming static video. The cloud gaming static video does not support inputting user input instructions for controlling the game character during playback. The resource files corresponding to the cloud gaming static video and the resource files contained in the cloud gaming client image together constitute the resource files required for the cloud gaming client to run. The game screen display module is configured to receive the game screen returned by the cloud gaming client in response to the user's input command, and to display the game screen; The static video acquisition module is configured to, upon receiving a notification message from the cloud gaming client, acquire the cloud gaming static video from the content distribution server according to the instructions in the notification message, and play the acquired cloud gaming static video, wherein the notification message is sent by the cloud gaming client when it reaches the point of playing the cloud gaming static video; and, upon detecting that the cloud gaming static video has finished playing, or detecting that acquiring the cloud gaming static video from the content distribution server has failed, notify the cloud gaming client to continue sending game footage.
13. An electronic device, characterized in that, include: Memory, which stores computer-readable instructions; A processor reads computer-readable instructions stored in memory to perform the method described in any one of claims 1-10.
14. A computer-readable storage medium, characterized in that, It stores computer-readable instructions that, when executed by a computer's processor, cause the computer to perform the method described in any one of claims 1-10.
15. A computer program product, characterized in that, Includes computer instructions, which are stored in a computer-readable storage medium; The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method of any one of claims 1-10.
Citation Information
Patent Citations
Cloud game realizing method and device, cloud server, terminal and medium
CN110368686A
Mirror image file generation method, device and computer readable storage medium
CN111596932A
Start-up performance improvement for remote video gaming
US20160346689A1