Data transmission method and device for voxel game, storage medium and program product

By dividing game data into units of different sizes and selecting the transmission method according to network quality, the problem of unstable voxel game data transmission is solved, and a fast and stable data transmission effect is achieved.

CN120512437AActive Publication Date: 2025-08-19SHENZHEN MINIPLAY TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202510992751.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-18
Publication Date
2025-08-19
Estimated Expiration
2045-07-18

AI Technical Summary

Technical Problem

In the prior art, when transmitting voxel game data, network quality is unstable, resulting in data transmission failure, wasting network resources and time, and affecting user experience.

Method used

The game data is divided into a larger first unit and a smaller second unit in the order of transmission, and the appropriate unit is selected for transmission according to the network quality and transmission progress. The first unit is used when the network quality is good, and the second unit is used when the poor are bad, and the stability of data transmission is ensured through a hot switching mechanism.

Benefits of technology

It realizes fast and stable game data transmission under the conditions of network quality fluctuations, reduces the probability of transmission failure, and improves transmission efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120512437A_ABST
    Figure CN120512437A_ABST
Patent Text Reader

Abstract

The invention discloses a voxel game data transmission method and device, a storage medium and a program product, and the method comprises the steps that game data are divided into a plurality of first units and second units according to a transmission sequence and a first processing mode and a second processing mode, and the first units are larger than the second units; when the first unit is used for transmitting the game data, if the network quality is smaller than a quality threshold value, a transmission node is determined according to the transmission progress of the game data, and second units corresponding to the transmission node are used as starting points to sequentially transmit the second units; when the second units are used for transmitting the game data, if the network strength is larger than or equal to a quality threshold value, transmission nodes are determined according to the game data transmission progress, and the first units corresponding to the transmission nodes are used as starting points to sequentially transmit the first units. According to the technical scheme, the technical effects of avoiding the influence of network quality and quickly and stably transmitting the game data can be achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of data transmission, and specifically relates to a data transmission method, device, storage medium, and program product for voxel games. Background Art

[0002] With the development of science and technology, games have become a mainstream way for people to relax and have fun. Among them, voxel games, as a high-degree-of-freedom game, have become a relatively popular type of game.

[0003] Since the scenes in voxel games are built by stacking a large number of voxel units, players need to edit and modify the voxel units to achieve the gaming experience. Based on this operating mode, the game terminal used by the player needs to download a large amount of game data from the game server. In response to this situation, the existing technology directly compresses a large amount of game data when transmitting a large amount of game data. This makes it necessary to have a high demand on the network quality of the game terminal when transmitting game data. If the network quality of the game terminal is unstable, it will lead to data transmission failure, causing repeated downloading of game data, thereby wasting a lot of network resources and time, affecting the user experience.

[0004] Therefore, how to avoid the impact of network quality and transmit game data quickly and stably is a technical problem that needs to be solved urgently. Summary of the Invention

[0005] The purpose of this application is to avoid the impact of network quality and transmit game data quickly and stably.

[0006] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by practice of the present application.

[0007] According to one aspect of an embodiment of the present application, a method for data transmission of a voxel game is provided, the method comprising: dividing the game data into a plurality of first units and a second unit according to a transmission order according to a first processing mode and a second processing mode, respectively, wherein the first unit is larger than the second unit; When the first unit is used to transmit game data, if the network quality is less than a quality threshold, a transmission node is determined based on the transmission progress of the game data, and the second unit is transmitted sequentially starting from the second unit corresponding to the transmission node; When using the second unit to transmit game data, if the network strength is greater than or equal to the quality threshold, the transmission node is determined according to the game data transmission progress, and the first unit corresponding to the transmission node is used as the starting point to transmit the first unit in sequence.

[0008] According to one aspect of an embodiment of the present application, game data includes multiple transmission units; and according to a first processing mode and a second processing mode, the game data is divided into the multiple first units and the second units according to a transmission order, including: Dividing the transmission unit into a plurality of first units according to a transmission order, wherein the transmission order of the first units is the same as the transmission order of the transmission unit; Dividing the transmission unit into a plurality of second units according to a transmission order, wherein the transmission order of the second units is the same as the transmission order of the transmission unit, and the first unit is larger than the second unit; According to the identifiers corresponding to the transmission units in each of the first unit and the second unit, the transmission numbers corresponding to each of the first unit and the second unit are determined, where the transmission numbers are used to indicate the transmission units included in the first unit and the second unit.

[0009] According to one aspect of an embodiment of the present application, the transmission unit is divided according to a transmission order to obtain a plurality of first units, including: Dividing the transmission unit according to a transmission order to obtain a plurality of initial first units; Full compression is performed on each of the initial first units to obtain each of the first units.

[0010] According to one aspect of an embodiment of the present application, the transmission unit is divided according to a transmission order to obtain a plurality of second units, including: Dividing the transmission unit according to a transmission order to obtain a plurality of initial second units; For the repeated and continuous transmission units in each of the initial second units, data of the transmission unit and the number of repetitions of the transmission unit are recorded only once to obtain each of the second units.

[0011] According to one aspect of an embodiment of the present application, determining a transmission node according to a transmission progress of game data, and sequentially transmitting the second unit starting from the second unit corresponding to the transmission node includes: determining, based on the transmission number of the first unit already received by the game terminal, a transmission unit to be transmitted next in the game data as a transmission node; The identifier of the transmission node is used as the target number, the second unit including the target number is used as the transmission starting point, and the second units are transmitted in sequence according to the transmission order of the second units.

[0012] According to one aspect of an embodiment of the present application, a transmission node is determined according to a progress of game data transmission, and the first unit is transmitted sequentially starting from the first unit corresponding to the transmission node, further comprising: determining, based on the transmission number of the second unit already received by the game terminal, a transmission unit to be transmitted next in the game data as a transmission node; The identifier of the transmission node is used as the target number, the first unit including the target number is used as the transmission starting point, and the first units are transmitted in sequence according to the transmission order of the first units.

[0013] According to one aspect of an embodiment of the present application, before dividing the game data into a plurality of first units and a second unit according to a transmission order according to the first processing mode and the second processing mode, the method further includes: If the game terminal has data archived, only the difference data between the game server and the game terminal is transmitted to the game terminal; wherein the game server updates the data of the game server according to the game behavior of each game player; If the game terminal has no data archive, the game data is transmitted.

[0014] According to one aspect of an embodiment of the present application, a data transmission device for a voxel game is provided, comprising a memory, a processor, and a readable program stored on the memory, wherein the processor executes the readable program to implement any of the methods described above.

[0015] According to one aspect of an embodiment of the present application, a readable storage medium is provided, on which a readable program / instruction is stored. When the readable program / instruction is executed by a processor, any of the methods described above is implemented.

[0016] According to one aspect of an embodiment of the present application, a program product is provided, including a readable program / instruction, which implements any of the above methods when the readable program / instruction is executed by a processor.

[0017] In this application, game data is first divided into multiple first and second units according to a first processing mode and a second processing mode, respectively, in a transmission order, with the first unit being larger than the second unit. When the first unit is used to transmit game data, if the network quality is less than a quality threshold, a transmission node is determined based on the game data transmission progress, and the second units are transmitted sequentially, starting from the second unit corresponding to the transmission node. When the second unit is used to transmit game data, if the network strength is greater than or equal to the quality threshold, a transmission node is determined based on the game data transmission progress, and the second units are transmitted sequentially, starting from the first unit corresponding to the transmission node. When the network signal is good, the application uses the larger first unit as the transmission unit to ensure faster game data transmission speeds. When the network quality is poor, the smaller second unit is used as the transmission unit. The reason why the first unit is not used to transmit game data when the network is poor is that the larger first unit requires a longer transmission time. Given a certain frequency of network fluctuations, this leads to a higher probability of encountering network fluctuations when using the first unit to transmit game data. Whenever network fluctuations occur, there is a high probability that the transmission of the first unit will fail. This means that the transmission of the first unit is likely to experience multiple failures, resulting in multiple transmissions of the same first unit, significantly affecting the transmission efficiency of game data. When network quality is unstable, the second unit takes less time to transmit than the first, so the probability of failure is much lower than the first. Furthermore, even if the second unit fails, it only loses a small amount of progress, which can be quickly compensated by another successful transmission with a higher probability. Using the second unit for transmission can effectively avoid the negative impact of network quality.

[0018] Furthermore, when transmitting using two different modes, the transmission node that needs to be restarted can be precisely located, allowing the disconnected node to continue transmitting data using the other mode. This enables hot switching of transmission modes. Consequently, even if network fluctuations cause game data transmission using the first unit to fail, only a small amount of data needs to be retransmitted before the second unit can be used to transmit the game data, eliminating the need for time-consuming retransmissions. This achieves the technical effect of ensuring fast and stable transmission of game data without compromising network quality.

[0019] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by practice of the present application.

[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0022] Figure 1 A flow chart of a data transmission method for a voxel game according to an embodiment of the present application is shown.

[0023] Figure 2 A flowchart is shown in which game data according to one embodiment of the present application includes multiple transmission units; and the game data is divided into multiple first units and second units according to the transmission order according to the first processing mode and the second processing mode respectively.

[0024] Figure 3 A flowchart of dividing a transmission unit according to a transmission order to obtain multiple first units according to an embodiment of the present application is shown.

[0025] Figure 4 A flowchart of dividing a transmission unit into multiple second units according to a transmission order according to an embodiment of the present application is shown.

[0026] Figure 5 A flowchart is shown for determining a transmission node according to the transmission progress of game data according to an embodiment of the present application, and sequentially transmitting the second unit starting from the second unit corresponding to the transmission node.

[0027] Figure 6 A flowchart is shown according to an embodiment of the present application, in which a transmission node is determined according to the progress of game data transmission, and the first unit corresponding to the transmission node is used as a starting point to sequentially transmit the first unit.

[0028] Figure 7 A flow chart of transmitting voxel game data according to one embodiment of the present application is shown.

[0029] Figure 8 A block diagram of a computer system structure for implementing a data transmission method for voxel games according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0030] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art.

[0031] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner.In the following description, many specific details are provided so as to provide a full understanding of the embodiments of the present application. However, it will be appreciated by those skilled in the art that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps etc. can be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the application.

[0032] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0033] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.

[0034] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or portion of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal. It can be implemented in whole or in part using software, hardware (such as processing circuits or memory), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the functionality of the module or unit.

[0035] With the development of science and technology, games have become a mainstream way for people to relax and have fun. Among them, voxel games, as a high-degree-of-freedom game, have become a relatively popular type of game.

[0036] Since the scenes in voxel games are built by stacking a large number of voxel units, players need to edit and modify the voxel units to achieve the gaming experience. Based on this operating mode, the game terminal used by the player needs to download a large amount of game data from the game server. In response to this situation, the existing technology directly compresses a large amount of game data when transmitting a large amount of game data. This makes it necessary to have a high demand on the network quality of the game terminal when transmitting game data. If the network quality of the game terminal is unstable, it will lead to data transmission failure, causing repeated downloading of game data, thereby wasting a lot of network resources and time, affecting the user experience.

[0037] Therefore, how to avoid the impact of network quality and transmit game data quickly and stably is a technical problem that needs to be solved urgently.

[0038] The above technical problems are solved through the following embodiments.

[0039] See also Figure 1 , Figure 1 A flow chart of a data transmission method for a voxel game according to an embodiment of the present application is shown. The present application embodiment provides a data transmission method for a voxel game, including the following steps: Step S110, dividing the game data into a plurality of first units and a second unit according to a transmission order according to the first processing mode and the second processing mode, respectively, wherein the first unit is larger than the second unit; Step S120, when using the first unit to transmit game data, if the network quality is less than the quality threshold, determine a transmission node based on the transmission progress of the game data, and transmit the second unit in sequence starting from the second unit corresponding to the transmission node; Step S130, when using the second unit to transmit game data, if the network strength is greater than or equal to the quality threshold, determine the transmission node according to the game data transmission progress, and transmit the first unit in sequence starting from the first unit corresponding to the transmission node.

[0040] The above three steps are described in detail below.

[0041] Before describing the above steps, it's important to first clarify that the method described in this technical solution is executed in the context of a voxel game server transmitting game data to a game terminal. To better illustrate this technical solution, the following description focuses on the game server.

[0042] Game data refers to the data used to construct voxel game scenes, and can be understood as game scene data. Since the scenes in voxel games are composed of multiple voxel units, and the voxel units have a corresponding arrangement order, in order to better realize the game scene on the game terminal, when transmitting the game data, it is necessary to have a corresponding transmission order to facilitate the rapid construction of the game scene on the game terminal.

[0043] It should be made clear that network quality refers to the quality of the network, which is mainly evaluated from two perspectives: network speed and network stability. Both network speed and network stability are positively correlated with network quality. In step S110, in this embodiment of the present application, the game server's processing modes for game data include, but are not limited to, a first processing mode and a second processing mode. The first processing mode involves the game server dividing the game data into multiple first units. The second processing mode involves the game server dividing the game data into multiple second units. The first unit is larger than the second unit. That is, the first unit contains more data than the second unit.

[0044] This is so that when the network quality is good, the game server can transmit more game data at once using the first unit. When the network quality is poor, the game server transmits the game data using the second unit. On the one hand, using the smaller second unit for transmission shortens the transmission time and reduces the possibility of transmission failure. On the other hand, even if some second units are not transmitted completely due to network fluctuations, it will not cause significant game data loss and require retransmission of more game data.

[0045] In some embodiments, when the game data is transmitted, all the game data has been processed through the first processing mode and the second processing mode, that is, all the first units and second units corresponding to the game data have been obtained.

[0046] In other embodiments, when the game data is transmitted, the conversion of the first unit and the second unit of the game data is not completed, but is processed while being transmitted. When the network quality is greater than or equal to the quality threshold, the first unit is used to transmit the game data, and the transmission units in the game data are pre-divided into a first number of first units based on the transmission sequence and the transmission number of the first unit, starting from the first unit currently being transmitted, in preparation for transmission. When the second unit is used to transmit the game data, the transmission units in the game data are pre-divided into a second number of second units based on the transmission sequence and the transmission number of the second unit, in preparation for transmission.

[0047] This is because when transmitting game data, the first unit and the second unit are used alternately for transmission. If all game data are processed into the first unit, and all game data are processed into the second unit, all first units and all second units can respectively constitute the entire game data, that is, one copy of the game data is transmitted, but two copies of the game data need to be processed. This will cause a considerable portion of the first unit and the second unit to be unused, resulting in a waste of computing resources on the game server. However, in the embodiment of the present application, by processing the game data in real time, under ideal conditions, the transmission units included in all first units and the transmission units included in all second units can complement each other to form one copy of the game data, which is equivalent to saving computing resources for processing one set of game data and saving computing power on the game server.

[0048] In step S120, when the first unit is used to transmit game data, and the network quality is less than the quality threshold, that is, the network quality is unstable at this time, the first unit requires a longer transmission time, which makes the first unit more likely to encounter network fluctuations during transmission, thereby resulting in a higher probability of transmission failure of the first unit, or even multiple failures, resulting in multiple transmissions of the same first unit, thereby greatly affecting the transmission efficiency of the game data.

[0049] Therefore, when using the first unit to transmit game data, if the network quality falls below the quality threshold, the game server interacts with the game terminal to determine the game data transmission progress based on the content already received by the game terminal, and then determines the transmission node. Using this transmission node as the starting point, the game data transmission is continued by transmitting a smaller second unit. This is because when network quality is unstable, the second unit requires less time to transmit than the first unit, so the probability of the second unit's transmission failing is much lower than that of the first unit. Furthermore, even if the second unit fails, it only loses a small amount of transmission progress, which can be quickly compensated by another transmission with a higher probability of success.

[0050] In step S130, because the second unit is smaller and requires multiple transmissions and receptions, the amount of game data transmitted each time is smaller. Therefore, if the network quality is high and both the first and second units can successfully transmit, the first unit can transmit more game data in less time. Therefore, when using the second unit to transmit game data, if the network quality is greater than or equal to the quality threshold, the game server interacts with the game terminal to determine the progress of the game data transmission based on the content already received by the game terminal, and then determines the transmission node. Using this transmission node as the starting point, the first unit is used to transmit the game data, thereby increasing the efficiency of game data transmission.

[0051] See also Figure 2 , Figure 2A flowchart illustrating a process of dividing game data into a plurality of first units and a second unit according to a transmission order based on a first processing mode and a second processing mode, respectively, according to an embodiment of the present application, wherein game data includes a plurality of transmission units; and the process of dividing game data into a plurality of first units and a second unit according to a transmission order based on a first processing mode and a second processing mode, respectively, is provided. The process of dividing game data into a plurality of first units and a second unit according to a transmission order based on a first processing mode and a second processing mode, respectively, is provided in step S110, including: Step S111: Divide the transmission unit into a plurality of first units according to a transmission order, wherein the transmission order of the first units is the same as the transmission order of the transmission units; Step S112: Divide the transmission unit into a plurality of second units according to the transmission order, wherein the transmission order of the second units is the same as the transmission order of the transmission units, and the first unit is larger than the second unit; Step S113 : determining the transmission numbers corresponding to the first and second units according to the identifiers corresponding to the transmission units in the first and second units, where the transmission numbers are used to indicate the transmission units included in the first and second units.

[0052] The above three steps are described in detail below.

[0053] In step S111, for the convenience of transmission and description, a data packet consisting of at least one voxel unit data is referred to as a transmission unit, and game data is composed of multiple transmission units.

[0054] It should be clarified that game data has a transmission order, so that the game terminal can parse the downloaded transmission units to construct the game scene while downloading, without affecting the game player's gaming experience. Therefore, the transmission units also have a transmission order, and the transmission order of the transmission units is the same as the transmission order of the game data. When transmitting the transmission units, they must be transmitted strictly in the transmission order of the game data.

[0055] In some embodiments, the game server divides the transmission units according to their transmission order to obtain multiple first units. It should be understood that the division of all transmission units can be equal or unequal, and this is not a limitation. Since the transmission units have a transmission order, the first units also have a transmission order, and the transmission order of the first units is the same as the transmission order of the transmission units.

[0056] In step S112, in some other embodiments, the game server divides the transmission units according to the transmission order of the transmission units to obtain multiple second units. It should be understood that the division of all transmission units can be equal or unequal, and this is not limited here. Since the transmission units have a transmission order, the second units also have a transmission order, and the transmission order of the second units is the same as the transmission order of the transmission units.

[0057] From the above description, it can be seen that the embodiment of the present application needs to process the game data in the first processing mode and the second processing mode respectively, that is, in the embodiment of the present application, all first units can contain all game data, and all second units can also contain all game data, and the two do not interfere with each other.

[0058] It should be clarified that the first unit is larger than the second unit, the second unit includes at least one transmission unit, and the number of transmission units included in the first unit is larger than the number of transmission units included in the second unit.

[0059] In step S113, each first unit has a transmission number, and the transmission number in the first unit is used to indicate which transmission units are included in the first unit. In layman's terms, the transmission number in the first unit is used to indicate which transmission units are included in the first unit.

[0060] Each second unit also has a transmission number, and the transmission number in the second unit is used to indicate which transmission units are included in the second unit. In layman's terms, the transmission number in the second unit is used to indicate which transmission units are included in the second unit.

[0061] In some embodiments, each transmission unit has a corresponding unique identifier, and the identifiers of the transmission units are also distributed according to the transmission order of the transmission units, that is, the identifiers of the transmission units can be used to indicate the transmission order between the transmission units.

[0062] The first unit obtains a transmission number based on the identifiers of the transmission units it includes. For example, if the identifiers of the multiple transmission units included in the first unit are 008, 009, 0010, and 0011, respectively, the combination of the smallest identifier and the largest unit is used as the transmission number of the first unit, that is, 0080011. Since the transmission units in the first unit are also continuous, the transmission number of the first unit can clearly determine the transmission units included in the first unit and the identifiers of these transmission units.

[0063] In some embodiments, each transmission unit has a corresponding unique identifier, and the second unit obtains a transmission number based on the identifiers of the transmission units it includes. For example, if the identifiers of multiple transmission units included in the second unit are 008 and 009, respectively, the combination of the smallest identifier and the largest unit is used as the transmission number of the second unit, that is, 008009. Since the transmission units in the second unit are also continuous, the transmission units included in the second unit can be clearly identified based on the transmission number of the second unit.

[0064] As an exception, if there is only one transmission unit in the second unit, the identifier of the transmission unit is directly used as the transmission number of the second unit.

[0065] In an embodiment of the present application, by numbering each first unit and second unit, the game server can determine the transmission progress of the game data after interacting with the game terminal. For example, the identification of the already transmitted transmission unit can be determined by the transmission number of the first unit or second unit already received by the game terminal. The transmission progress of the game data can be determined based on the transmission order of the transmission units and the identification of the already transmitted transmission units. Furthermore, when changing the transmission method (between using the first unit transmission and using the second unit transmission), the transmission node that needs to restart transmission can be accurately located, and the disconnected transmission node can be connected to continue transmitting data in another manner.

[0066] In some embodiments, the method of obtaining the first unit is the same as the method of obtaining the second unit. Figure 3 The method used to obtain the first unit is used to obtain the first unit and the second unit respectively. Or both are used Figure 4 The first unit and the second unit are obtained by using the method for obtaining the second unit. It is sufficient to distinguish only the number of transmission units included in the first unit and the second unit.

[0067] In some embodiments, the method for obtaining the first unit is different from the method for obtaining the second unit. This is because the transmission of game data from the game server to the game terminal is sometimes affected by the CPU resources of the game terminal.

[0068] For example, if the first unit processes the transmission units included in the first unit using a full compression method, such as fully compressing the first unit, although this will enable the first unit to include more game data and be able to transmit game data faster and more efficiently when the network speed is good, this requires the game terminal to have more CPU resources for decompression, and it is very easy to cause the game terminal to heat up and lag.

[0069] In order to avoid this situation. When obtaining the second unit, some of the transmission units included in the second unit can be compressed, that is, the second unit is partially compressed. This allows the game terminal to consume less CPU resources to complete the decompression of the second unit after obtaining the second unit, and it is less likely to cause the game terminal to heat up or lag. At the same time, since the second unit itself is smaller than the first unit, the second unit can be used to transmit game data regardless of poor network quality or insufficient CPU of the game terminal.

[0070] That is, adopting two processing methods to obtain the first unit and the second unit respectively can make the present application applicable to more transmission environments and greatly improve the gaming experience of gamers.

[0071] In some embodiments, when using the first unit to transmit game data, if it is detected that the network quality is less than the quality threshold and the game terminal CPU is less than or equal to the resource threshold, the transmission node is determined according to the transmission progress, and the second unit corresponding to the transmission node is used as the starting point to transmit the second unit in sequence; when using the second unit to transmit game data, if it is detected that the network quality is greater than or equal to the quality threshold and the CPU resources of the game terminal are greater than the resource threshold, the transmission node is determined according to the transmission progress, and the first unit corresponding to the transmission node is used as the starting point to transmit the second unit in sequence.

[0072] The following describes how to obtain the first unit and how to obtain the second unit respectively. Figure 3 and Figure 4 Provide a description.

[0073] See also Figure 3 , Figure 3 A flowchart of dividing a transmission unit into a plurality of first units according to a transmission order according to an embodiment of the present application is shown. The embodiment of the present application provides a step S111 of dividing a transmission unit into a plurality of first units according to a transmission order, including: Step S1111, dividing the transmission unit according to the transmission order to obtain multiple initial first units; Step S1112: Fully compress each initial first unit to obtain each first unit.

[0074] The above two steps are described in detail below.

[0075] In step S1111, the transmission units are divided according to the transmission order to obtain a plurality of initial first units, wherein only the transmission units that have not been processed are included in the initial first units.

[0076] In step S1112, since the first unit includes many transmission units, all initial first units are fully compressed to make the obtained first units smaller, thereby reducing the requirement on network quality for transmitting the first units as much as possible.

[0077] See also Figure 4 , Figure 4 A flowchart of dividing a transmission unit into multiple second units according to a transmission order according to an embodiment of the present application is shown. The embodiment of the present application provides step S112 of dividing a transmission unit into multiple second units according to a transmission order, including: Step S1121, dividing the transmission unit according to the transmission order to obtain a plurality of initial second units; Step S1122 : For repeated and continuous transmission units in each initial second unit, only record the data of the transmission unit once and the number of repetitions of the transmission unit to obtain each second unit.

[0078] The above two steps are described in detail below.

[0079] In step S1121, the transmission units are divided according to the transmission order to obtain a plurality of initial second units. At this time, the initial second units only contain transmission units that have not been processed.

[0080] In step S1122, for the repeated and continuous transmission units in each initial second unit, only the data of the transmission unit repeated once and the number of repetitions of the transmission unit are recorded to obtain each second unit.

[0081] In some embodiments, only the data of repeated, continuous transmission units is "compressed." This is because each transmission unit has a transmission order. For adjacent (meaning continuous) and repeated transmission units 1 and 2, once the location of transmission unit 1 in the game scene is known, the location of the adjacent transmission unit 2 in the game scene can be known. In this case, only the attribute data and position data of transmission unit 1, as well as the number of repetitions, need to be recorded. It should be clarified that the data in the transmission unit includes attribute data and position data. Attribute data refers to the data of the transmission unit's attributes, such as color, material, etc. Position data is used to indicate the location of the transmission unit in the game scene.

[0082] It should be noted that the terms "Transmission Unit 1" and "Transmission Unit 2" are merely examples and do not imply that this technical solution applies only to two consecutive, adjacent, and repeated transmission units. For example, a consecutive, repeated transmission unit could be one where transmission units 1 through 10 are identical except for their position data. In this case, only the attribute data and position data of transmission unit 1, as well as the 10-repetition data, are recorded.

[0083] In some embodiments, it should be noted that the game data of a voxel game is composed of data of each voxel unit. A voxel unit refers to the smallest component unit of a game scene in a voxel game. In other words, the game data is composed of data of voxel units and can be referred to as voxel unit data.

[0084] In some embodiments, the number of repetitions is recorded using voxel unit data as the basic unit. It should be noted that the transmission order of each voxel unit in each transmission unit is fixed and known. In an embodiment, the initial second unit can be compressed to obtain the second unit in the following manner: First, each transmission unit contains only one voxel unit data, and the initial second unit is compressed directly using the transmission unit as the basic unit for calculating the number of repetitions, such as compressing the initial second unit using the method of steps S1121 and S1122.

[0085] Second, each transmission unit contains multiple voxel unit data. All voxel unit data in any initial second unit is arranged according to the transmission order of the voxel unit data. For each repeated and continuous voxel unit data in each initial second unit, the voxel unit data and the number of repetitions of the voxel unit data are recorded only once to obtain each second unit. In other words, the initial second unit is compressed using the voxel unit data as the basic unit for calculating the number of repetitions.

[0086] Third, each transmission unit contains multiple voxel unit data. First, for the repeated voxel unit data in each transmission unit, only the data of one repeated voxel unit and the number of repetitions are recorded to achieve compression of the transmission unit. Then, for the repeated and continuous transmission units in the initial second unit, only the data of one repeated transmission unit and the number of repetitions are recorded again to achieve compression of each initial second unit. That is, the transmission unit is first compressed using the voxel unit data as the basic unit for calculating the number of repetitions, and then the initial second unit is compressed using the transmission unit as the basic unit for calculating the number of repetitions. The transmission unit and the initial second unit are compressed in sequence, so that the second unit has the minimum compression ratio.

[0087] In this embodiment, the second unit, which already contains less game data, is further compressed, ensuring stability when the game terminal and the game server use the second unit for game data transmission, and making transmission less likely to fail when the network quality is poor. In some embodiments, based on the method of obtaining the second unit in steps S1121-1122, if the continuous repetition rate of the transmission unit in the transmitted game data is greater than or equal to the set repetition rate threshold, only the second unit is transmitted as the transmission unit; if the continuous repetition rate of the transmission unit in the transmitted game data is less than the set repetition rate threshold, the content of the transmitted unit is adjusted according to the network quality and the CPU resources of the game terminal.

[0088] This is because, in order to transmit game data faster, although using the first unit to transmit game data requires the game terminal to have sufficient CPU resources for decompression and may also cause the game terminal to overheat and lag, the first unit will still be used to transmit game data when the network quality is greater than or equal to the quality threshold and the probability of first unit transmission failure is low.

[0089] However, if the continuous repetition rate of transmission units in the second unit is greater than or equal to the set repetition rate threshold, the compression ratio of the second unit will be at least equal to that of the first unit. Furthermore, due to the smaller size of the second unit, transmitting game data using the second unit is more stable, with a lower transmission failure rate. It also requires less CPU resources from the game terminal, thus avoiding overheating and lag. In other words, the second unit has an overwhelming advantage over the first unit. Therefore, if the continuous repetition rate of transmission units in the game data is greater than or equal to the set repetition rate threshold, the second unit will be used for transmission.

[0090] See also Figure 5 , Figure 5 A flowchart of determining a transmission node based on the transmission progress of game data and sequentially transmitting the second unit starting from the second unit corresponding to the transmission node according to an embodiment of the present application is shown. The embodiment of the present application provides step S120 of determining a transmission node based on the transmission progress of game data and sequentially transmitting the second unit starting from the second unit corresponding to the transmission node, including: Step S121, determining the next transmission unit to be transmitted in the game data as a transmission node according to the transmission number of the first unit received by the game terminal; Step S122: Using the identifier of the transmitting node as the target number, using the second unit including the target number as the transmission starting point, and transmitting the second unit in sequence according to the transmission order of the second unit.

[0091] The above two steps are described in detail below.

[0092] In step S121, the game server interacts with the game terminal and determines the transmission progress based on the content already received by the game terminal. For example, the game data transmission progress can be determined by checking the number of the first unit that the game terminal has already received. Since the first unit is transmitted in the order in which it is transmitted, the number of the first unit most recently received by the game terminal can be used to determine the game data transmission progress.

[0093] Specifically, the transmission number of the first unit most recently received by the game terminal is determined. Based on the transmission number of the first unit, the completed transmission unit is determined. Since transmission units are also transmitted in a transmission order, the next transmission unit to be transmitted is determined based on the identifier of the completed transmission unit and the transmission order of the transmission units. The next transmission unit to be transmitted is used as the transmission node.

[0094] In some embodiments, if the transmission numbers of the first units are arranged from small to large according to the transmission order, the first unit with the largest number received by the game terminal is regarded as the first unit most recently received by the game terminal. If the transmission numbers of the first units are arranged from large to small according to the transmission order, the first unit with the smallest number received by the game terminal is regarded as the first unit most recently received by the game terminal.

[0095] In step S122, the identifier of the transmission unit corresponding to the transmission node is used as the target identifier. Since the transmission order of the first unit and the second unit is the same as that of the transmission unit, the second unit including the transmission unit corresponding to the target number is used as the transmission starting point, that is, the second unit including the next unit to be transmitted is used as the transmission starting point, and then the second unit is transmitted in sequence according to the transmission order of the second unit.

[0096] In an embodiment of the present application, by interacting with the game terminal, the transmission progress of the game data using the first unit is obtained, and then the second unit that should be sent if the transmission progress is continued is determined based on the transmission progress, thereby realizing hot switching from using the first unit to transmit game data to using the second unit to transmit game data, thereby ensuring the transmission progress of the game data.

[0097] See also Figure 6 , Figure 6 A flowchart of determining a transmission node according to a game data transmission progress and sequentially transmitting the first unit starting from the first unit corresponding to the transmission node according to an embodiment of the present application is shown. The embodiment of the present application provides step S130 of determining a transmission node according to a game data transmission progress and sequentially transmitting the first unit starting from the first unit corresponding to the transmission node, including: Step S131, determining the next transmission unit to be transmitted in the game data as a transmission node according to the transmission number of the second unit received by the game terminal; Step S132: Using the identifier of the transmitting node as the target number, using the first unit including the target number as the transmission starting point, and transmitting the first unit in sequence according to the transmission order of the first unit.

[0098] The above two steps are described in detail below.

[0099] In step S121, the game server interacts with the game terminal and determines the transmission progress based on the content already received by the game terminal. For example, the game data transmission progress can be determined by checking the number of the second unit that the game terminal has already received. Since the second unit is transmitted in the order in which it is transmitted, the number of the second unit most recently received by the game terminal can be used to determine the game data transmission progress.

[0100] Specifically, the transmission number of the second unit most recently received by the game terminal is determined. Based on the transmission number of the second unit, the completed transmission unit is determined. Since the transmission units are also transmitted in a transmission order, the next transmission unit to be transmitted is determined based on the identifier of the completed transmission unit and the transmission order of the transmission units. The next transmission unit to be transmitted is used as the transmission node.

[0101] In some embodiments, if the transmission numbers of the second units are arranged from smallest to largest according to the transmission sequence, the second unit with the largest number received by the game terminal is regarded as the second unit most recently received by the game terminal. If the transmission numbers of the second units are arranged from largest to smallest according to the transmission sequence, the second unit with the smallest number received by the game terminal is regarded as the second unit most recently received by the game terminal.

[0102] In step S122, the identifier of the transmission unit corresponding to the transmission node is used as the target identifier. Since the transmission order of the first unit and the second unit is the same as that of the transmission unit, the first unit including the transmission unit corresponding to the target number is used as the transmission starting point, that is, the first unit including the next unit to be transmitted is used as the transmission starting point, and then the first unit is transmitted in sequence according to the transmission order of the first unit.

[0103] In an embodiment of the present application, the game server interacts with the game terminal to obtain the transmission progress of the game data using the second unit, and then determines the first unit that should be sent if the transmission progress is continued based on the transmission progress, thereby realizing a hot switch from using the second unit to transmit game data to using the first unit to transmit game data, thereby ensuring the transmission progress of the game data.

[0104] See also Figure 7 , Figure 7 A flow chart of transmitting voxel game data according to an embodiment of the present application is shown. The embodiment of the present application provides steps for transmitting voxel game data, including: Step S201: If the game terminal has data archived, only the difference data between the game server and the game terminal is transmitted to the game terminal; wherein the game server updates the data of the game server according to the game behavior of each game player; Step S202: If the game terminal has no data archive, the game data is transmitted.

[0105] The above two steps are described below.

[0106] In step S201, it should be made clear that in order to avoid the game terminal having to re-download all data every time the game is started, the game server interacts with the game terminal when facing the data request of the game terminal to determine whether there is a data archive for the total game segment. If there is a data archive, the data archive is counted to obtain an archive statistical record. Based on the archive statistical record, the game server takes the data in the game data that is different from the data archive as difference data, that is, taking the game data as the standard, the differences between the game data and the data archive are taken as difference data, so that after obtaining the difference data, the game terminal can modify the data archive of the game terminal, thereby making the data archive in the game terminal consistent with the game data in the game server.

[0107] In some embodiments, when the game terminal requests data from the game server, it also sends an archived statistical record of the data archive.

[0108] In some embodiments, the operations performed by a game terminal generate corresponding instructions that are uploaded to the game server. This causes the game data stored on the server to change accordingly with the terminal's operations. This means that if only one player is playing, there's virtually no need to update the data each time they restart the game, as any data changes made by that player are synchronized to the server. However, if multiple players are playing, the operations performed by the game terminals of multiple players are uploaded to the game server, resulting in different data being generated by the other game terminals relative to the server.

[0109] For example, when some of the game terminals where multiple game players are located are offline, they upload the instructions generated by the operations performed to the game server. This results in different data being generated by the offline game terminals relative to the game server, and the game terminals that were previously offline need to re-download the game data.

[0110] In step S202, if the game terminal has no data archive, the game data of the game server is transmitted in the manner described in steps S110 to S130.

[0111] The embodiment of the present application determines whether to transmit all game data by judging whether the game terminal has an archive. On the one hand, this can reduce the pressure of data transmission. On the other hand, it also avoids the game terminal repeatedly downloading all game data, resulting in a waste of network resources and requiring game players to wait for a long time.

[0112] In some embodiments, a transmission order is determined for the transmission units included in the difference data according to a preset rule to obtain target difference data, which is then used as game data. Specifically, the target difference data is also transmitted using the technical means described in steps S110 through S130. This reduces the amount of data transmitted while allowing the game terminal to quickly and stably synchronize game data with the game server, significantly improving the user's gaming experience.

[0113] Figure 8 A block diagram of a computer system structure for implementing a data transmission method for voxel games according to an embodiment of the present application is shown.

[0114] It should be noted that Figure 8 The computer system 800 shown is only an example and should not limit the functions and scope of use of the embodiments of the present application.

[0115] like Figure 8 As shown, computer system 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 802 or programs loaded from storage 808 into random access memory (RAM) 803. RAM 803 also stores various programs and data required for system operation. CPU 801, ROM 802, and RAM 803 are interconnected via bus 804. An input / output interface (I / O) 805 is also connected to bus 804.

[0116] The following components are connected to the input / output interface 805: an input section 806 including a keyboard, mouse, and the like; an output section 807 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and speakers; a storage section 808 including a hard disk; and a communication section 809 including a network interface card such as a local area network card or a modem. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the input / output interface 805 as needed. Removable media 811, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 810 as needed, so that computer programs read from the removable media can be installed in the storage section 808 as needed.

[0117] In particular, according to an embodiment of the present application, the processes described in the various method flow charts can be implemented as computer software programs. For example, an embodiment of the present application includes a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for executing the methods shown in the flow charts. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 809 and / or installed from a removable medium 811. When the computer program is executed by the central processing unit 801, the various functions defined in the system of the present application are performed.

[0118] It should be noted that the computer-readable medium described in the embodiments of this application may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, 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, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium may 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 may include a data signal transmitted in baseband or as part of a carrier wave, which carries computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.

[0119] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of the boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0120] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiment of the application, the features and functions of two or more modules or units described above can be concretized in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0121] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.

[0122] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of this application and include common knowledge or customary techniques in the art that are not disclosed herein.

[0123] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A data transmission method for voxel games, characterized in that: The method comprises: dividing the game data into a plurality of first units and a second unit according to a transmission order according to a first processing mode and a second processing mode, respectively, wherein the first unit is larger than the second unit; When the first unit is used to transmit game data, if the network quality is less than a quality threshold, a transmission node is determined based on the transmission progress of the game data, and the second unit is transmitted sequentially starting from the second unit corresponding to the transmission node; When using the second unit to transmit game data, if the network strength is greater than or equal to the quality threshold, the transmission node is determined according to the game data transmission progress, and the first unit corresponding to the transmission node is used as the starting point to transmit the first unit in sequence.

2. The method according to claim 1, characterized in that The game data includes a plurality of transmission units; the game data is divided into a plurality of first units and a plurality of second units according to a transmission order according to a first processing mode and a second processing mode, respectively, including: Dividing the transmission unit into a plurality of first units according to a transmission order, wherein the transmission order of the first units is the same as the transmission order of the transmission unit; Dividing the transmission unit into a plurality of second units according to a transmission order, wherein the transmission order of the second units is the same as the transmission order of the transmission unit, and the first unit is larger than the second unit; According to the identifiers corresponding to the transmission units in each of the first unit and the second unit, the transmission numbers corresponding to each of the first unit and the second unit are determined, where the transmission numbers are used to indicate the transmission units included in the first unit and the second unit.

3. The method according to claim 2, characterized in that Dividing the transmission unit according to a transmission order to obtain a plurality of first units includes: Dividing the transmission unit according to a transmission order to obtain a plurality of initial first units; Full compression is performed on each of the initial first units to obtain each of the first units.

4. The method according to claim 2, characterized in that Dividing the transmission unit according to a transmission order to obtain a plurality of second units includes: Dividing the transmission unit according to a transmission order to obtain a plurality of initial second units; For the repeated and continuous transmission units in each of the initial second units, data of the transmission unit and the number of repetitions of the transmission unit are recorded only once to obtain each of the second units.

5. The method according to claim 2, characterized in that Determining a transmission node according to the transmission progress of the game data, and sequentially transmitting the second unit starting from the second unit corresponding to the transmission node, including: determining, based on the transmission number of the first unit already received by the game terminal, a transmission unit to be transmitted next in the game data as a transmission node; The identifier of the transmission node is used as the target number, the second unit including the target number is used as the transmission starting point, and the second units are transmitted in sequence according to the transmission order of the second units.

6. The method according to claim 2, characterized in that Determining a transmission node according to the progress of game data transmission, and sequentially transmitting the first unit starting from the first unit corresponding to the transmission node, further comprising: determining, based on the transmission number of the second unit already received by the game terminal, a transmission unit to be transmitted next in the game data as a transmission node; The identifier of the transmission node is used as the target number, the first unit including the target number is used as the transmission starting point, and the first units are transmitted in sequence according to the transmission order of the first units.

7. The method according to claim 1, characterized in that Before dividing the game data into a plurality of first units and a second unit according to a transmission order according to the first processing mode and the second processing mode, the method further includes: If the game terminal has data archived, only the difference data between the game server and the game terminal is transmitted to the game terminal; wherein the game server updates the data of the game server according to the game behavior of each game player; If the game terminal has no data archive, the game data is transmitted.

8. A data transmission device for a voxel game, comprising a memory, a processor, and a readable program stored in the memory, characterized in that: The processor executes the readable program to implement the method according to any one of claims 1 to 7.

9. A readable storage medium, characterized in that A readable program / instruction is stored thereon, and when the readable program / instruction is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

10. A program product comprising a readable program / instruction, characterized in that: When the readable program / instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Streaming media file transmission method and device

    CN106603480A

  • Data transmission method and related device

    CN109495880A

  • Data transmission method and device

    CN110798751A

  • Video slicing method and device, equipment and storage medium

    CN114979721A

  • Unilateral network optimization method and device for conditional repeated transmission of data packets

    CN117914452A