A block generation method for a Candy Crush game

By simulating the generation and elimination strategies of different types of blocks in the Eliminated Game, dynamically adjusting the game difficulty, solving the problem that the block generation method in the existing Eliminated Game cannot adjust the game difficulty, improving the fairness and challenge of the game, and enhancing the players' gaming enthusiasm.

CN116785727BActive Publication Date: 2025-05-06NINGBO UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310612304.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-29
Publication Date
2025-05-06
Estimated Expiration
2043-05-29

AI Technical Summary

Technical Problem

In the existing game of elimination, the block generation method cannot dynamically adjust the game difficulty, resulting in excessive randomness of the game, reducing the fairness and challenge of the game, and affecting the players' game enthusiasm.

Method used

By copying the player's current game part, creating an initial expected area, and simulating the generation and elimination strategies of different types of blocks, calculating the score and standardized scores of each type of block, combining the player's operation level and game duration, dynamically adjusting the difficulty coefficient and generation weight generated by blocks to ensure that the game difficulty is within a specific interval.

Benefits of technology

Reduce the randomness of block generation, improve the fairness and challenge of the game, and enhance the players' gaming enthusiasm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure QLYQS_1
    Figure QLYQS_1
  • Figure QLYQS_2
    Figure QLYQS_2
  • Figure BDA0004252717310000051
    Figure BDA0004252717310000051
Patent Text Reader

Abstract

The invention discloses a block generation method for a Candy Crush Saga game. First, an initial expected area is created, and 8 types of blocks are assumed to be generated in the initial expected area. A next-level expected area is created based on the initial expected area, and a method of creating the expected area is adopted to simulate a new scene of a "main game area" of the Candy Crush Saga game after a player calculates one or more clicks to obtain a standardized score. Then, the player level coefficient and the time coefficient are calculated respectively, and the two are combined to obtain a block generation difficulty coefficient. A block probability correction probability is introduced to obtain a block generation weight, and finally the block with the highest block generation weight is the type of the new block generated this time. The method has the advantages of analyzing the game difficulty required by the player according to the player level and the game progress, and being able to generate game blocks that meet the game difficulty requirements based on the game difficulty required by the player, thereby controlling the game difficulty within a specific range to improve the fairness and challenge of the game.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a block generation method, in particular to a block generation method for a Candy Crush Saga game. Background Art

[0002] The main game interface of an existing Candy Crush game developed based on elimination gameplay is divided into two parts, one is the game part and the other is the function part. The game part is an area with a width of N blocks and a height of M+1 blocks, where N is the number of blocks in a row set by the player, and M=N+2. The game part can be divided into two adjacent areas. The upper part is the "block generation area", which is 1 block high and N blocks wide, and the lower part is the "main game area", which is M blocks high and N blocks wide. Divide the game part into M+1 equal parts in height and N equal parts in width, and divide it into a total of (M+1)*N square grids, each of which can accommodate one block, and the (M+1)*N square grids are distributed in M+1 rows and N columns. According to the different positions of the squares in the game part, their positions are represented by coordinates. The coordinates of the square in the lower left corner are defined as (1,1), and the coordinates of the square in the upper right corner with a height and width of 1 square are defined as (M+1,N). Therefore, the position of each square can be represented by the coordinates (x,y). x is called the ordinate, which is equal to the number of rows in which the square is located, and y is called the abscissa, which is equal to the number of columns in which the square is located. A block will always occupy exactly one square in the game part, and there is a unique coordinate value (the position coordinates of the occupied square) corresponding to it. The coordinates of the squares in the block generation area are (M+1,y1), y1=1,2,...N. The block generation area is used to generate blocks in sequence according to the set time interval, and the order of block generation is from left to right. At the beginning of the game, there are no blocks in the block generation area. During the game, a block will be generated at (M+1, i) at every preset time interval. If there is no block in the block generation area, i=1. If there are n blocks in the block generation area (n<=N-1), i=n+1. When a block is generated at position (M+1,N), it means that all blocks in the block generation area have been generated. At this time, all blocks in the block generation area will fall from the "block generation area" to the "main game area" synchronously. If the blocks in the "main game area" have not been stacked to the top (i.e., not capped), that is, there is no block in the M+1th row, each block in the block generation area will move down to the farthest unoccupied block grid in the same column, where there is no block between it, and then the "block generation area" will regenerate blocks according to the predetermined rules, and repeat until the game ends; if the blocks in the "main game area" have been stacked to the top (i.e., capped), that is, there is a block in the M+1th row, the game ends. At the beginning of the game, a block with a height of N-4 grids and a width of N grids will be automatically generated in the "main game area". Any block in the main game area, if there is no block in the square below it, will fall into that square. When there is no block in the main game area, the game will still proceed normally, waiting for the block in the "block generation area" to fall.During the game, players can only operate the blocks in the "main game area" and cannot operate the blocks in the block generation area. The blocks in the block generation area will not respond to the player's operation before falling into the main game area, nor will they have any interaction with other blocks. The function part is located below the "main game area" and is used to display game data including scores and time.

[0003] The main gameplay of the above-mentioned Candy Crush game developed based on elimination gameplay is: players click on the blocks in the "main game area" according to the specific rules pre-set by the game to eliminate related blocks and score points, and pursue higher scores by making reasonable use of prop blocks and formulating appropriate block elimination strategies. Users can eliminate blocks by clicking. When the player clicks on an ordinary block, if there are blocks that are "associated" with the block in the main game area, the blocks that are "associated" with the block will also be eliminated together, otherwise the ordinary block will not be eliminated. The definition and properties of the "association" between blocks are as follows:

[0004] a. Definition: There are 8 types of blocks in the game, namely A1, A2, A3, A4, A5, A6, A7, and A8. Ai can be used to represent all types of blocks, where i = 1, 2, 3, 4, 5, 6, 7, and 8. Blocks A1 to A4 are four types of ordinary blocks, and blocks A1 to A4 are red blocks, blue blocks, green blocks, and yellow blocks, respectively. Blocks A5 to A8 are four types of prop blocks, and blocks A5 to A8 are horizontal elimination blocks, vertical elimination blocks, upper left and lower right-diagonal elimination blocks, and lower left and upper right-diagonal elimination blocks, respectively. If blocks A and B are of the same type and are both ordinary blocks, and the conditions are met that the absolute value of the difference between the ordinate values ​​of block A and block B is equal to 1, and the abscissa values ​​are equal; or the absolute value of the difference between the abscissa values ​​of block A and block B is equal to 1, and the ordinate values ​​are equal", then block A and block B are "associated" with each other. In addition, each block is "associated" with itself; blocks in the block generation area are not associated with any blocks; prop blocks are not associated with any blocks.

[0005] b. Properties: "Association" is transitive. If block A and block B are "associated" with each other and block A and block C are "associated" with each other, then block B and block C are "associated". "Association" is real-time. When the position of any block in the scene changes, all "associated" relationships in the scene will be reset.

[0006] When the player clicks on a prop block, the prop block will be eliminated. Different types of prop blocks have different prop effects; when a prop block is eliminated by a click operation or when other prop blocks are eliminated by a click operation, its own prop effect will be triggered. The prop effect can only affect the blocks in the main game area, and has no effect on the blocks in the block generation area. The prop effects of different types of prop blocks are as follows:

[0007] a. Eliminate blocks horizontally: Eliminate all blocks in the same row.

[0008] b. Eliminate blocks vertically: Eliminate all blocks in the same column.

[0009] c. Upper left and lower right - oblique elimination block: If the upper left and lower right - oblique elimination block is in the oblique direction formed by the block at coordinate (N, 1) and the block at coordinate (1, N), all blocks in the oblique direction are eliminated; if the upper left and lower right - oblique elimination block is not in the oblique direction formed by the block at coordinate (N, 1) and the block at coordinate (1, N), all blocks in a certain oblique direction parallel to the oblique direction where the upper left and lower right - oblique elimination block is located are eliminated.

[0010] d. Lower left upper right - oblique elimination block: If the lower left upper right - oblique elimination block is in the oblique direction formed by the block at coordinate (1, 1) and the block at coordinate (N, N), all blocks in the oblique direction are eliminated; if the lower left upper right - oblique elimination block is not in the oblique direction formed by the block at coordinate (1, 1) and the block at coordinate (N, N), all blocks in a certain oblique direction parallel to the oblique direction where the lower left upper right - oblique elimination block is located are eliminated.

[0011] In the aforementioned Candy Crush game developed based on elimination gameplay, an important factor affecting the difficulty of the game is the type of blocks generated in the "block generation area". In order to improve the gaming experience, the game needs to dynamically adjust the game difficulty for players of different game levels, or for the same player at different game stages during the game, so as to increase the entertainment and challenge of the game. However, in the aforementioned Candy Crush game developed based on elimination gameplay, the method of block generation is "when the game needs to generate a block, first determine the probability of generating a prop block. If the determination result is true, generate a prop block of a random type, otherwise generate a normal block of a random type. The probability of generating a prop block is a fixed value". This block generation method cannot dynamically adjust the difficulty of the game, and will make the randomness of the game too large, reduce the fairness and challenge of the game, and cause the players' enthusiasm for the game to decline. Summary of the invention

[0012] The technical problem to be solved by the present invention is to provide a block generation method for the elimination game, which can analyze the game difficulty required by the players according to the players' levels and game progress when different players play the elimination game developed based on the elimination gameplay, and can generate game blocks that meet the game difficulty requirements based on the game difficulty required by the players, thereby controlling the game difficulty within a specific range to improve the fairness and challenge of the game.

[0013] The technical solution adopted by the present invention to solve the above technical problems is: a block generation method for a Candy Crush Saga game, wherein the width of the game part of the Candy Crush Saga game is recorded as N blocks, and the height is recorded as M+1 blocks. The game part of the Candy Crush Saga game forms an area with a height of M+1 blocks and a width of N blocks, M=N+2, and the width direction is used as the column direction, and the height direction is used as the row direction. From bottom to top, it is the 1st row to the M+1th row, and from left to right, it is the 1st column to the Nth column. The "block generation area" of the Candy Crush Saga game " is located in the M+1th row, the "main game area" of the Candy Crush game is located in the 1st to Mth rows, and the block position located in the ath row and bth column in the game part of the Candy Crush game is recorded as (a, b), a = 1, 2, ..., M+1, b = 1, 2, ..., N; when the player plays the Candy Crush game, when it is necessary to generate a new block at the position (M+1, y0) of the "block generation area" of the Candy Crush game, where y0 is an integer greater than or equal to 1 and less than or equal to N, the specific generation method includes the following steps:

[0014] Step (1), assuming that a block of type Ai is generated at (M+1, y0), initialize i, and set i=1;

[0015] Step (2), calculate the score of the block of type Ai, the specific calculation process is:

[0016] S2-1, copy the current game part of the player and name it as the i-type 0-layer initial expected area; then first generate a block of type Ai at (M+1, y0) of the "block generation area" of the i-type 0-layer initial expected area, and then let all blocks in the current "block generation area" of the i-type 0-layer initial expected area fall. During the falling process, if a block in the current "block generation area" of the i-type 0-layer initial expected area cannot fall due to the block capping in the "main game area" of the i-type 0-layer initial expected area, it will be directly deleted. The area formed after the falling is completed is called the i-type 0-layer expected area; set a parameter of the i-type 0-layer expected area: score, and initialize its score to be equal to 0;

[0017] S2-2, set variable t, initialize t, and set t=1;

[0018] S2-3, counting the number of expected areas of the i-type t-1 layer currently obtained, and determining whether the number of expected areas of the i-type t-1 layer is greater than 0, if so, continuing to execute step S2-4; otherwise, obtaining the current value of t, recording t-2 as n, and jumping to step S2-6 to continue executing the steps;

[0019] S2-4. Perform calculation operations on each i-type t-1 layer expected region respectively to obtain the i-type t-1 layer expected region corresponding to each i-type t-1 layer expected region. The specific process of performing calculation operations on any i-type t-1 layer expected region is as follows:

[0020] S2-4-1, taking the expected region of the t-1th layer of a certain type i currently performing a calculation operation as the current calculation expected region;

[0021] S2-4-2, obtaining all solutions of the current expected calculation area, specifically: counting the data of all click operations that meet the rules and can eliminate blocks in the current expected calculation area, wherein, if the blocks clicked by multiple click operations are related to each other, then randomly selecting any one of the multiple click operations as a solution to the current expected calculation area, and ignoring other click operations; if the block clicked by a certain click operation has no correlation with the blocks clicked by any other click operation, then the click operation is taken as a solution to the current expected calculation area;

[0022] S2-4-3, determine whether the number of solutions in the current expected calculation area is greater than 0, if so, continue to execute step S2-4-4, otherwise, there is no solution in the current expected calculation area, and this calculation operation ends;

[0023] S2-4-4, respectively use the click operation of each solution to operate the current calculated expected area, and the result obtained by using the click operation of each solution to operate the current calculated expected area is an i-type t-layer expected area corresponding to each solution, and the score of the i-type t-layer expected area corresponding to each solution is equal to the score of the current calculated expected area plus the number of blocks eliminated by the click operation of the corresponding solution; the i-type t-layer expected areas corresponding to all solutions of the current calculated expected area are the i-type t-layer expected areas corresponding to them;

[0024] S2-5. After obtaining the i-type t-th layer expected areas corresponding to all i-type t-1-th layer expected areas and their scores, update the value of t by adding 1 to the current value of t, and return to step S2-3;

[0025] S2-6. The average of the scores of all i-type j-level expected areas is calculated and recorded as S i,j, where j = 0, 1, ..., n; the score C of the block of type Ai is calculated using formula (1) i :

[0026]

[0027] S2-7, determine whether the current value of i is equal to 8. If not, first use the sum of the current value of i plus 1 to update the value of i, then return to step (2) to calculate the score of the next type of block. If it is equal, go to step (3);

[0028] Step (3), take the maximum value among C1 to C8, record the maximum value as Cmax, and use formula (2) to calculate the standardized score SC of the block of type Ak k :

[0029]

[0030] Where, k = 1, 2, ..., 8;

[0031] Step (4), record the player level coefficient as D1, and use formula (3) to calculate D1:

[0032] D1=L / 25 (3)

[0033] In formula (3), L is the player's operation level, which is generated directly after the player logs into the Candy Crush game;

[0034] Step (5), set the time coefficient D2, calculate the cumulative duration T of the player's current game, in seconds (s), where T is equal to the time interval between the current time (i.e., the time required to generate a new block at the position (M+1, y0) in the block generation area) and the time when the player starts the current Candy Crush game;

[0035] If T is greater than 0 and less than 120s, the time coefficient D2 = [T / 30] + 1, [] means rounding down, if T> = 120s, the time coefficient D2 is equal to 4;

[0036] Step (6), setting the difficulty coefficient of the block generated this time to D, D = D1 + D2, and calculating the target probability of generating the prop block AW = 0.12-0.008D according to the difficulty coefficient D;

[0037] Step (7), obtaining the number and type of blocks generated in the "block generation area" of the Candy Crush game from the start time of the current game of the player to the current time, recording the total number of blocks generated in the "block generation area" of the Candy Crush game as BN, recording the total number of prop blocks generated in the "block generation area" of the Candy Crush game as IN, and calculating the actual block generation frequency TW = IN / BN;

[0038] Step (8), calculate the probability correction coefficient W of the block of type Ak k :

[0039] For blocks of type Ah, h = 1, 2, 3, 4, W h =1+(TW-AW) / AW;

[0040] For blocks of type Am, m = 5, 6, 7, 8, W m =1+(AW-TW) / AW;

[0041] Step (9), use formula (4) to calculate the generation weight S of the block of type Ak k for:

[0042] S k =(SC k ) 0.1*(3.5-D) *(SC k +1)*W k (4)

[0043] Among them, * is the multiplication symbol;

[0044] Step (10), obtain the maximum value among S1 to S8, assuming that the maximum value obtained is S r , where r is an integer greater than or equal to 1 and less than or equal to 8, and Ar is the type of block to be generated;

[0045] Step (11), generate a block of type Ar at the position (M+1, y0) of the "block generation area" of the Candy Crush game.

[0046] Compared with the prior art, the advantage of the present invention is that when a new block needs to be generated at a certain position in the "block generation area" of the Candy Crush Saga game, the current game part of the player is copied to create an initial expected area, and a block of type Ai is assumed to be generated at the same coordinates in the initial expected area, and the possible values ​​of i are 1, 2, 3...8; the blocks in the block generation area in the initial expected area are made to fall, and the i-type 0th layer expected area is obtained, that is, the i-type 0th layer expected area is a created expected area, and the method of creating the expected area is used to simulate the player calculating the Candy Crush Saga game after one or more clicks. The new scene of the "main game area" of the game is created, and different solutions are considered to obtain a better operation strategy. Since different players think at different depths, high-level players often calculate more clicks, that is, they think more deeply and can calculate higher-level expected scenarios. Therefore, the subsequent iteration starts from t=1, and the corresponding i-type t-1-level expected area is created by performing calculation operations on each i-type t-1-level expected area, and the score of each i-type t-level expected area is calculated. After the iteration, the scores of all i-type j-level expected areas are averaged and multiplied by the influence factor. Get the score of the jth layer of type i, and sum the scores of all layers to get the score C of the generated block of type Ai i , the score value represents the expected score of the player after the simulated player thinks about the block elimination strategy after generating the block of type Ai. The deeper the thinking depth, the greater the difficulty of thinking. Therefore, the higher the number of layers, the smaller the impact factor of the expected area, and the smaller the impact of its score on the player's expected score. The scores of the 8 types of blocks C k Perform standardization to obtain the standardized score SC k, the possible values ​​of k are 1, 2, 3...8. The standardized score of each type of block represents the relative value of the player's expected score of the game scene after generating this type of block. The higher the value, the higher the expected score of the player after generating this type of block, that is, the relative difficulty of the game scene after generating this type of block is lower. The player's operation level and the cumulative time of the player in this game are imported to calculate the player's level coefficient and time coefficient respectively. The difficulty coefficient of generating blocks is obtained by combining the two. This coefficient is used to measure the difficulty level required for the generated blocks this time. When the difficulty coefficient of generating blocks is low, the block generation weight is proportional to its standardized score, that is, the higher the expected score of the block type, the higher the generation weight, and the lower the game difficulty; when the difficulty coefficient of generating blocks is high, the block generation weight is inversely proportional to its standardized score, that is, the lower the expected score of the block type, the higher the generation weight, creating a more difficult game scene for the player. The standardized score values ​​of the 8 types of blocks are multiplied by their respective block probability correction coefficients, and the block generation weight is obtained according to the formula. In most cases, the prop generation square Blocks can allow players to eliminate more blocks, so the block standardization score of prop-type blocks is often higher than the block standardization score of ordinary type blocks. If there is no block probability correction, the generation frequency of prop blocks will be too high, making the game difficulty too low. Therefore, a block probability correction coefficient is introduced to balance the block generation weights of ordinary blocks and prop blocks. When the generation frequency of prop blocks is too high, the generation weight of prop blocks is reduced, and vice versa, the generation weight of prop blocks is increased, so that the generation frequency of prop blocks is controlled within a certain range. Finally, the blocks are sorted according to the size of the block generation weights. The block with the highest block generation weight is the type of the new block generated this time. The method of the present invention analyzes the impact of generating different types of blocks on the elimination difficulty and complexity of the current game scene. Combined with the player level and the game duration, the currently required game difficulty range is analyzed by controlling the generated block type, and blocks of corresponding types of appropriate difficulty are generated, thereby reducing the adverse effects of randomness of block generation on the player's game experience, improving the fairness and challenge of the game, and enhancing the player's game enthusiasm. DETAILED DESCRIPTION

[0047] The present invention is further described in detail below with reference to the embodiments.

[0048] Embodiment: A block generation method for a Candy Crush Saga game, wherein the width of the game portion of the Candy Crush Saga game is recorded as N blocks, and the height is recorded as M+1 blocks. The game portion of the Candy Crush Saga game forms an area with a height of M+1 blocks and a width of N blocks, where M=N+2, and the width direction is used as the column direction, and the height direction is used as the row direction. From bottom to top, it is the 1st row to the M+1th row, and from left to right, it is the 1st column to the Nth column. The "block generation area" of the Candy Crush Saga game is located at the M+1th row. The "main game area" of the Candy Crush Saga game is located in the 1st to Mth rows, and the block position located in the ath row and bth column in the game part of the Candy Crush Saga game is recorded as (a, b), a = 1, 2, ..., M + 1, b = 1, 2, ..., N; when the player needs to generate a new block at the position (M + 1, y0) of the "block generation area" of the Candy Crush Saga game during the Candy Crush Saga game, where y0 is an integer greater than or equal to 1 and less than or equal to N, the specific generation method includes the following steps:

[0049] Step (1), assuming that a block of type Ai is generated at (M+1, y0), initialize i, and set i=1;

[0050] Step (2), calculate the score of the block of type Ai, the specific calculation process is:

[0051] S2-1, copy the current game part of the player and name it as the i-type 0-layer initial expected area; then first generate a block of type Ai at (M+1, y0) of the "block generation area" of the i-type 0-layer initial expected area, and then let all blocks in the current "block generation area" of the i-type 0-layer initial expected area fall. During the falling process, if a block in the current "block generation area" of the i-type 0-layer initial expected area cannot fall due to the block capping in the "main game area" of the i-type 0-layer initial expected area, it will be directly deleted. The area formed after the falling is completed is called the i-type 0-layer expected area; set a parameter of the i-type 0-layer expected area: score, and initialize its score to be equal to 0;

[0052] S2-2, set variable t, initialize t, and set t=1;

[0053] S2-3, counting the number of expected areas of the i-type t-1 layer currently obtained, and determining whether the number of expected areas of the i-type t-1 layer is greater than 0, if so, continuing to execute step S2-4; otherwise, obtaining the current value of t, recording t-2 as n, and jumping to step S2-6 to continue executing the steps;

[0054] S2-4. Perform calculation operations on each i-type t-1 layer expected region respectively to obtain the i-type t-1 layer expected region corresponding to each i-type t-1 layer expected region. The specific process of performing calculation operations on any i-type t-1 layer expected region is as follows:

[0055] S2-4-1, taking the expected region of the t-1th layer of a certain type i currently performing a calculation operation as the current calculation expected region;

[0056] S2-4-2, obtaining all solutions of the current expected calculation area, specifically: counting the data of all click operations that meet the rules and can eliminate blocks in the current expected calculation area, wherein, if the blocks clicked by multiple click operations are related to each other, then randomly selecting any one of the multiple click operations as a solution to the current expected calculation area, and ignoring other click operations; if the block clicked by a certain click operation has no correlation with the blocks clicked by any other click operation, then the click operation is taken as a solution to the current expected calculation area;

[0057] S2-4-3, determine whether the number of solutions in the current expected calculation area is greater than 0, if so, continue to execute step S2-4-4, otherwise, there is no solution in the current expected calculation area, and this calculation operation ends;

[0058] S2-4-4, respectively use the click operation of each solution to operate the current calculated expected area, and the result obtained by using the click operation of each solution to operate the current calculated expected area is an i-type t-layer expected area corresponding to each solution, and the score of the i-type t-layer expected area corresponding to each solution is equal to the score of the current calculated expected area plus the number of blocks eliminated by the click operation of the corresponding solution; the i-type t-layer expected areas corresponding to all solutions of the current calculated expected area are the i-type t-layer expected areas corresponding to them;

[0059] S2-5. After obtaining the i-type t-th layer expected areas corresponding to all i-type t-1-th layer expected areas and their scores, update the value of t by adding 1 to the current value of t, and return to step S2-3;

[0060] S2-6. The average of the scores of all i-type j-level expected areas is calculated and recorded as S i,j , where j = 0, 1, ..., n; the score C of the block of type Ai is calculated using formula (1) i :

[0061]

[0062] S2-7, determine whether the current value of i is equal to 8. If not, first use the sum of the current value of i plus 1 to update the value of i, then return to step (2) to calculate the score of the next type of block. If it is equal, go to step (3);

[0063] Step (3), take the maximum value among C1 to C8, record the maximum value as Cmax, and use formula (2) to calculate the standardized score SC of the block of type Ak k :

[0064]

[0065] Where, k = 1, 2, ..., 8;

[0066] Step (4), record the player level coefficient as D1, and use formula (3) to calculate D1:

[0067] D1=L / 25 (3)

[0068] In formula (3), L is the player's operation level, which is generated directly after the player logs into the Candy Crush game;

[0069] Step (5), set the time coefficient D2, calculate the cumulative duration T of the player's current game, in seconds (s), where T is equal to the time interval between the current time (i.e., the time required to generate a new block at the position (M+1, y0) in the block generation area) and the time when the player starts the current Candy Crush game;

[0070] If T is greater than 0 and less than 120s, the time coefficient D2 = [T / 30] + 1, [] means rounding down, if T> = 120s, the time coefficient D2 is equal to 4;

[0071] Step (6), setting the difficulty coefficient of the block generated this time to D, D = D1 + D2, and calculating the target probability of generating the prop block AW = 0.12-0.008D according to the difficulty coefficient D;

[0072] Step (7), obtaining the number and type of blocks generated in the "block generation area" of the Candy Crush game from the start time of the current game of the player to the current time, recording the total number of blocks generated in the "block generation area" of the Candy Crush game as BN, recording the total number of prop blocks generated in the "block generation area" of the Candy Crush game as IN, and calculating the actual block generation frequency TW = IN / BN;

[0073] Step (8), calculate the probability correction coefficient W of the block of type Ak k :

[0074] For blocks of type Ah, h = 1, 2, 3, 4, Wh =1+(TW-AW) / AW;

[0075] For blocks of type Am, m = 5, 6, 7, 8, W m =1+(AW-TW) / AW;

[0076] Among them, A1 to A4 type blocks are four types of ordinary blocks, A1 to A4 type blocks are red blocks, blue blocks, green blocks and yellow blocks respectively, A5 to A8 type blocks are four types of prop blocks, A5 to A8 type blocks are horizontal elimination blocks, vertical elimination blocks, upper left and lower right-diagonal elimination blocks and lower left and upper right-diagonal elimination blocks respectively;

[0077] Step (9), use formula (4) to calculate the generation weight S of the block of type Ak k for:

[0078] S k =(SC k ) 0.1*(3.5-D) *(SC k +1)*W k (4)

[0079] Among them, * is the multiplication symbol;

[0080] Step (10), obtain the maximum value among S1 to S8, assuming that the maximum value obtained is S r , where r is an integer greater than or equal to 1 and less than or equal to 8, and Ar is the type of block to be generated;

[0081] Step (11), generate a block of type Ar at the position (M+1, y0) of the "block generation area" of the Candy Crush game.

[0082] In the block generation method for the Candy Crush Saga game of the present invention, when a new block needs to be generated at a certain position in the "block generation area" of the Candy Crush Saga game, the current game part of the player is first copied to create an initial expected area, and a block of type Ai is assumed to be generated at the same coordinates in the initial expected area, and the block in the block generation area in the initial expected area is made to fall, and the i-type 0-layer expected area is obtained. The i-type 0-layer expected area is a created expected area. The present invention uses the method of creating an expected area to simulate the "main game area" of the Candy Crush Saga game after the player calculates one or more clicks to operate the block. The new scenario of "domain" is created by thinking about different solutions to obtain a better operation strategy. Since different players think at different depths, high-level players often calculate more click operations, that is, they think more deeply and can calculate higher-level expected scenarios. Therefore, the iteration variable t is set in the subsequent iteration, and the iteration starts from t=1. The corresponding i-type t-1-level expected area is created by calculating the operation for each i-type t-1-level expected area, and the score of each i-type t-level expected area is calculated. After the iteration, the scores of all i-type j-level expected areas are averaged and multiplied by the influence factor. Get the score of the expected area of ​​the jth layer of type i, and sum the scores of the expected areas of all layers to get the score value C of the generated block of type Ai i , the score value represents the expected score of the player after the simulated player thinks about the block elimination strategy after generating the block of type Ai. The deeper the thinking depth, the greater the difficulty of thinking. Therefore, the higher the number of layers, the smaller the impact factor of the expected area, and the smaller the impact of its score on the player's expected score. The scores of the 8 types of blocks C k Perform standardization to obtain the standardized score SC k, the value of k is 1, 2, 3...8. The standardized score of each type of block represents the relative value of the player's expected score in the game scene of the "main game area" of the Candy Crush Saga game after generating this type of block. The higher the value, the higher the expected score of the player after generating this type of block, that is, the relative difficulty of the game scene after generating this type of block is lower. The player's operation level and the player's cumulative game time are imported to calculate the player's level coefficient and time coefficient respectively. The difficulty coefficient of generating blocks is obtained by combining the two. This difficulty coefficient is used to measure the difficulty level required for the generated blocks. When the difficulty coefficient of generating blocks is low, the block generation weight is proportional to its standardized score, that is, the higher the expected score of the block type, the higher the generation weight and the lower the game difficulty; when the difficulty coefficient of generating blocks is high, the block generation weight is inversely proportional to its standardized score, that is, the lower the expected score of the block type, the higher the generation weight. In order to create a more difficult game scene for the players, the standardized score values ​​of the 8 types of blocks are multiplied by their respective block probability correction coefficients, and the block generation weight is obtained according to the formula. In most cases, generating prop blocks allows players to eliminate more blocks, so the block standardized score of prop type blocks is often higher than the block standardized score of ordinary type blocks. If there is no block probability correction, the generation frequency of prop blocks will be too high, making the game difficulty too low. Therefore, the block probability correction coefficient is introduced to balance the block generation weights of ordinary blocks and prop blocks. When the generation frequency of prop blocks is too high, the generation weight of prop blocks is reduced, and vice versa, the generation weight of prop blocks is increased, so that the generation frequency of prop blocks is controlled within a certain range. Finally, the blocks are sorted according to the size of the block generation weight. The block type with the highest block generation weight is the type of the new block generated this time.

[0083] The block generation method for the Candy Crush Saga game of the present invention analyzes the influence of generating different types of blocks on the elimination difficulty and complexity of the "main game area" of the Candy Crush Saga game of the current player, combines the player level and the game duration, analyzes the current required game difficulty range by controlling the generated block type, and generates blocks of corresponding types with appropriate difficulty, thereby reducing the adverse effects of the randomness of block generation on the player's game experience, improving the fairness and challenge of the game, and thus enhancing the player's game enthusiasm.

Claims

1. A block generation method for a Candy Crush Saga game, wherein the width of the game portion of the Candy Crush Saga game is recorded as N blocks, and the height is recorded as M+1 blocks. The game portion of the Candy Crush Saga game forms an area with a height of M+1 blocks and a width of N blocks, where M=N+2, and the width direction is taken as the column direction, and the height direction is taken as the row direction. From bottom to top, they are the 1st row to the M+1th row, and from left to right, they are the 1st column to the Nth column. The "block generation area" of the Candy Crush Saga game is located in the M+1th row, and the "main game area" of the Candy Crush Saga game is located in the 1st row to the Mth row. The block position located in the ath row and the bth column in the game portion of the Candy Crush Saga game is recorded as (a, b), where a=1, 2, ..., M+1, and b=1, 2, ..., N; characterized in that When a player is playing the Candy Crush game, when a new block needs to be generated at the position (M+1, y0) of the "block generation area" of the Candy Crush game, where y0 is an integer greater than or equal to 1 and less than or equal to N, the specific generation method includes the following steps: Step (1), assuming that a block of type Ai is generated at (M+1, y0), initialize i, and set i=1; Step (2), calculate the score of the block of type Ai, the specific calculation process is: S2-1, copy the current game part of the player and name it as the i-type 0-layer initial expected area; then generate a block of type Ai at (M+1, y0) of the "block generation area" of the i-type 0-layer initial expected area, and then make all blocks in the current "block generation area" of the i-type 0-layer initial expected area fall. During the falling process, if a block in the current "block generation area" of the i-type 0-layer initial expected area cannot fall due to the block capping in the "main game area" of the i-type 0-layer initial expected area, it will be directly deleted. The area formed after the falling is called the i-type 0-layer expected area; set a parameter of the i-type 0-layer expected area: score, and initialize its score to be equal to 0; S2-2, set variable t, initialize t, and set t=1; S2-3, counting the number of expected areas of the i-type t-1 layer currently obtained, and determining whether the number of expected areas of the i-type t-1 layer is greater than 0, if so, continuing to execute step S2-4; otherwise, obtaining the current value of t, recording t-2 as n, and jumping to step S2-6 to continue executing the steps; S2-4. Perform calculation operations on each i-type t-1 layer expected region respectively to obtain the i-type t-1 layer expected region corresponding to each i-type t-1 layer expected region. The specific process of performing calculation operations on any i-type t-1 layer expected region is as follows: S2-4-1, taking the expected region of the t-1th layer of a certain type i currently performing a calculation operation as the current calculation expected region; S2-4-2, obtaining all solutions of the current expected calculation area, specifically: counting the data of all click operations that meet the rules and can eliminate blocks in the current expected calculation area, wherein, if the blocks clicked by multiple click operations are related to each other, then randomly selecting any one of the multiple click operations as a solution to the current expected calculation area, and ignoring other click operations; if the block clicked by a certain click operation has no correlation with the blocks clicked by any other click operation, then the click operation is taken as a solution to the current expected calculation area; S2-4-3, determine whether the number of solutions in the current expected calculation area is greater than 0, if so, continue to execute step S2-4-4, otherwise, there is no solution in the current expected calculation area, and this calculation operation ends; S2-4-4, respectively use the click operation of each solution to operate the current calculated expected area, and the result obtained by using the click operation of each solution to operate the current calculated expected area is an i-type t-layer expected area corresponding to each solution, and the score of the i-type t-layer expected area corresponding to each solution is equal to the score of the current calculated expected area plus the number of blocks eliminated by the click operation of the corresponding solution; the i-type t-layer expected areas corresponding to all solutions of the current calculated expected area are the i-type t-layer expected areas corresponding to them; S2-5. After obtaining the i-type t-th layer expected areas corresponding to all i-type t-1-th layer expected areas and their scores, update the value of t by adding 1 to the current value of t, and return to step S2-3; S2-6. The average of the scores of all i-type j-level expected areas is calculated and recorded as S i,j , where j = 0, 1, ..., n; the score C of the block of type Ai is calculated using formula (1) i : S2-7, determine whether the current value of i is equal to 8. If not, first use the sum of the current value of i plus 1 to update the value of i, then return to step (2) to calculate the score of the next type of block. If it is equal, go to step (3); Step (3), take the maximum value among C1 to C8, record the maximum value as Cmax, and use formula (2) to calculate the standardized score SC of the block of type Ak k : Where, k = 1, 2, ..., 8; Step (4), record the player level coefficient as D1, and use formula (3) to calculate D1: D1=L / 25 (3) In formula (3), L is the player's operation level, which is generated directly after the player logs into the Candy Crush game; Step (5), set the time coefficient D2, calculate the cumulative duration T of the player's current game, in seconds (s), where T is equal to the time interval between the current time and the time when the player starts the current Candy Crush game, and the current time is the time required to generate a new block at the position (M+1, y0) in the block generation area; If T is greater than 0 and less than 120s, the time coefficient D2 = [T / 30] + 1, [] means rounding down, if T> = 120s, the time coefficient D2 is equal to 4; Step (6), setting the difficulty coefficient of the block generated this time to D, D = D1 + D2, and calculating the target probability of generating the prop block AW = 0.12-0.008D according to the difficulty coefficient D; Step (7), obtaining the number and type of blocks generated in the "block generation area" of the Candy Crush game from the start time of the current game of the player to the current time, recording the total number of blocks generated in the "block generation area" of the Candy Crush game as BN, recording the total number of prop blocks generated in the "block generation area" of the Candy Crush game as IN, and calculating the actual block generation frequency TW = IN / BN; Step (8), calculate the probability correction coefficient W of the block of type Ak k : For blocks of type Ah, h = 1, 2, 3, 4, W h =1+(TW-AW) / AW; For blocks of type Am, m = 5, 6, 7, 8, W m =1+(AW-TW) / AW; Step (9), use formula (4) to calculate the generation weight S of the block of type Ak k for: S k =(SC k ) 0.1*(3.5-D) *(SC k +1)*W k (4) Among them, * is the multiplication symbol; Step (10), obtain the maximum value among S1 to S8, assuming that the maximum value obtained is S r , where r is an integer greater than or equal to 1 and less than or equal to 8, and Ar is the type of block to be generated; Step (11), generate a block of type Ar at the position (M+1, y0) of the "block generation area" of the Candy Crush game.

Citation Information

Patent Citations

  • Application difficulty adjustment method and device, application difficulty adjustment strategy determination method, device and system, electronic equipment and storage medium

    CN111330269A

  • Intelligent test method and system applied to elimination games

    CN111506514A