Generating a game view in a graphical user interface
The method addresses the challenge of conveying game states in limited displays by using a probabilistic allocation of outcomes and visual indicators in a grid-based game view, enabling efficient tracking of sequence matches and improving player interaction.
Patent Information
- Application Number
- PCT/EP2025/058036
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-25
- Filing Date
- 2025-03-25
- Publication Date
- 2025-10-02
AI Technical Summary
Existing game implementations face challenges in conveying a game state within a limited display area, particularly in distinguishing between true sequence matches and individual outcome matches in grid-based games where grid locations belong to multiple lines, making it difficult for players to track sequence matches efficiently.
A method for generating a game view in a graphical user interface (GUI) that includes an outcome grid with grid lines, where outcomes are randomly allocated based on probabilities, and visual indicators are used to mark sequence matches, enabling efficient communication of complex game states and sequence matches within the limited display context.
The method allows players to distinguish between true sequence matches and individual outcome matches within the grid, facilitating faster game progression by visually marking potential matches and sequence matches, thereby enhancing the player's experience in grid-based games.
Smart Images

Figure EP2025058036_02102025_PF_FP_ABST
Abstract
Description
GENERATING A GAME VIEW IN A GRAPHICAL USER INTERFACETECHNICAL FIELD
[0001] The present disclosure pertains to method of generating a game view in a graphical user interface, and to computer systems and programs for implementing the same.BACKGROUND
[0002] A computer game is based on a set of game rules. Games may be implemented on various platforms such as smartphones, fixed terminals, web servers (e.g. for a game delivered as a web application) etc. When implementing a defined game specification, various technical challenges can arise, such as the need to convey a game state within a limited display area.SUMMARY
[0003] A first aspect herein is directed to a computer-implemented method of generating a game view in a graphical user interface (GUI), the method comprising: causing the game view to be rendered in the GUI, the game view comprising an outcome grid having a plurality of grid locations and a plurality of grid lines, each grid line being a sequence of contiguous grid locations spanning the outcome grid, wherein at least some grid locations belong to multiple grid lines; randomly allocating to each grid location an allocated outcome from a set of possible outcomes based on an outcome probability associated with each possible outcome; causing each grid location within the outcome grid to be populated with a visual indication of its allocated outcome; determining a sequence of game outcomes and, for each game outcome and each grid line: identifying a position in the grid line corresponding to a position of the game outcome in the sequence of game outcomes, determining the allocated outcome of the grid location at the identified position in the grid line, and comparing the determined allocated outcome with the game outcome; identifying within each grid line any sequence matches of length equal to or greater than a game event threshold number, a sequence match being any sequence of contiguous allocated outcomes within a grid line determined to match their corresponding game outcomes, wherein the game event threshold number is less than a length of the grid line; generating, responsive to each identified sequence match of length equal to or greater than a game event threshold number, a game event based on the outcome probabilities associated with the allocated outcomes of the sequence match; and causing the GUI to render an indication of each generated game event.
[0004] In embodiments, the method may comprise causing to be visually marked in the grid event, any outcome in the outcome grid determined to match its corresponding game outcome in at least one of the grid lines, and causing to be displayed in each grid line a visual indicator of any sequence match.
[0005] The method may comprise causing the outcome grid to be successively updated for each game outcome by successively marking: any outcome in the outcome grid at a position corresponding to the game outcome and determined to match the game outcome, any sequence match in any grid line up to the position corresponding to game outcome.
[0006] In so doing, a complex game state is communicated efficiently within the limited display context of the outcome grid, enabling a player to distinguish between a true sequence match within a grid and individual outcome matches in different grid lines that do not form a sequence match.
[0007] The game view may be successively updated by performing the following operations: determining a first game outcome in the sequence of game outcomes, causing a first position of a game outcome sequence within the GUI to be populated with a visual indicator of the game outcome, comparing the first game outcome with the assigned outcome at the first position of each grid line, causing any matching outcome at the first position of any grid line to be visually marked in the outcome grid; wherein the operations may be repeated for the next game outcome and the next position in the game outcome sequence and each grid line up to the final video image, wherein after reaching the game event threshold number of game outcomes, the operations may additionally comprise generating within the outcome grid a visual marker of any sequence match within any grid line of length greater than or equal to the game event threshold number.
[0008] After reaching a feedback threshold number of game outcomes, a visual indication of any match candidate may be caused to be visually marked within the outcome grid, a match candidate being an allocated outcome at a grid location corresponding to a position in a grid line immediately after a sequence match in that grid line of length equal to or greater than the feedback threshold number.
[0009] The game view may comprise a video playback region, and the method may comprise causing a sequence of video images to be rendered in the playback region, the sequence ofgame outcomes being a sequence of video outcomes assigned to the sequence of video images.
[0010] The game view may be successively updated by performing the following operations: rendering a first video image in the sequence of video images, causing a first position of a video outcome sequence within the GUI to be populated with a visual indicator of the video outcome assigned to the first video image, comparing the video outcome assigned to the first video image with the assigned outcome at the first position of each grid line, causing any matching outcome at the first position of any grid line to be visually marked in the outcome grid; wherein the operations may be repeated for the next video image and the next position in the video outcome sequence and each grid line up to the final video image, wherein after reaching the game event threshold number of video sequences, the operations may additionally comprise generating within the outcome grid a visual marker of any sequence match within any grid line of length greater than or equal to the game event threshold number.
[0011] The method may comprise selecting from a database of video images each video image based on the outcome probability of its assigned video outcome.
[0012] Selecting each video image may comprise selecting the video outcome based the outcome probability associated with each possible outcome, and selecting the video image based on matching the video image to the selected outcome.
[0013] The stored video image be a real video clip, or an animation or other synthetic video image that is pre-generated and stored etc.
[0014] Alternatively, each video image may be a time portion of a live video stream.
[0015] The video image could alternatively by a synthetic video image generated live in response to selecting the game outcome.
[0016] The method may be implemented in a user device or user terminal.
[0017] Alternatively, the method may be implemented in a server, the graphical user interface implemented at a user device or user terminal and controlled via control messages transmitted from the server to the user device or user terminal.
[0018] A second aspect of the present disclosure provides a computer-implemented method of generating a game view in a graphical user interface (GUI), the method comprising: causing the game view to be rendered in the GUI, the game view comprising a video playback region and an outcome grid having a plurality of grid locations and a plurality of grid lines, each grid line being a sequence of contiguous grid locations spanning the outcome grid, wherein at least some grid locations belong to multiple grid lines; randomly allocating to each grid location an allocated outcome from a set of possible outcomes based on an outcome probability associated with each possible outcome; causing each grid location within the outcome grid to be populated with a visual indication of its allocated outcome; causing a sequence of video images to be rendered in the playback region; for each video image and each grid line: identifying a position in the grid line corresponding to a position of the video image in the sequence of video images, determining the allocated outcome of the grid location at the identified position in the grid line, and comparing the determined allocated outcome with a video outcome assigned to the video image; identifying within each grid line any sequence matches of length equal to or greater than a game event threshold number, a sequence match being any sequence of contiguous allocated outcomes within a grid line determined to match their corresponding video images, wherein the game event threshold number is less than a length of the grid line; generating, responsive to each identified sequence match of length equal to or greater than a game event threshold number, a game event based on the outcome probabilities associated with the allocated outcomes of the sequence match; and causing the GUI to render an indication of each generated game event.
[0019] A third aspect is directed to a computer-implemented method of generating a game view in a graphical user interface (GUI), the method comprising: causing the game view to be rendered in the GUI, the game view comprising an outcome grid having a plurality of grid locations; randomly allocating to each grid location an allocated outcome from a set of possible outcomes based on an outcome probability associated with each possible outcome, wherein at least some of the grid locations are populated with the same outcome; determining a sequence of game outcomes; for each game outcome, identifying within the outcome grid any allocated outcome satisfying a matching condition with respect to the game outcome; responsive to identifying a subset of matching outcomes in the outcome grid that satisfy a game event condition, triggering a game event.
[0020] In embodiments, the sequence of game outcomes may be associated with a live real- world event.
[0021] The game view may comprise a video playback region, and the method may comprise rendering a video image of the real-world event therein.
[0022] Another aspect is directed to a computer system comprising: memory configured to store computer-readable instructions; and one or more processors coupled to the memory and configured to execute the computer-readable instructions, which upon execution cause the one or more processors to implement the method of any above aspect or embodiments.
[0023] Another aspect is directed to a transitory or non-transitory medium comprising computer-readable instructions configured, when executed on one or more processors, to implement the method of any of any above aspect or embodiment.BRIEF DESCRIPTION OF FIGURES
[0024] Particular embodiments will now be described, by way of example only, with reference to the following schematic figures, in which:
[0025] FIG. 1 shows a schematic game view layout;
[0026] FIG. 2 shows an outcome grid with grid locations belonging to defined grid lines;
[0027] FIG. 3 shows how video outcomes may be matched with outcomes belonging t grid lines;
[0028] FIG. 4 shows a flowchart for a computer-implemented method of generating and updating a game view;
[0029] FIGS. 5A-E show successive updated to a game view;
[0030] FIG. 6 shows a flowchart for certain pre-processing steps;
[0031] FIG. 7 shows a further game view example; and
[0032] FIG. 8 shows a schematic block diagram of a computer device.DETAILED DESCRIPTION
[0033] FIG. 1 shows a highly schematic layout for a game view 100 for rendering in a graphical user interface (GUI). The game view is rendered based on a game mechanic described below. Challenges concerning the technical implementation of the game mechanic are addressed,
[0034] The game view 100 is shown to comprise an outcome grid 102, a video playback region 104 and a video outcome sequence 106. In this example, the outcome grid 102 is a symmetrical two-dimensional grid having MxM grid locations, where M=5 in this example M can be any integer in general.
[0035] As described in more detail below, the outcome grid 102 is initially populated with outcomes, by allocating an outcome to each grid location from a set of possible outcomes 108. Each possible outcome is associated with an outcome probability and the outcomes are allocated to the grid locations probabilistically based on the outcome probabilities. Note, the same outcome may be allocated to multiple grid locations. If the number of grid locations M*M is greater than the number of possible outcomes in the set 108, then some grid locations will necessarily be allocated the same outcome.
[0036] In addition to the individual grid locations, multiple grid lines are defined within the outcome grid 102. A grid line is a sequence (ordered set) of contiguous grid locations. In the depicted example, twelve grid lines are defined: five horizontal grid lines spanning the outcome grid 102 from left to right (Lines 1-5), five vertical grid lines spanning the outcome grid 102 from top to bottom (Lines 6 to 10), and two diagonal grid lines spanning the grid from the top left corer to the bottom right corner (Line 11) and from the bottom left corner to the top right corner (Line 12). This is merely illustrative and additional and / or alternative sets of grid lines may be defined (e.g. from right to left, bottom to top). Other implementations may use more or fewer grid lines than those depicted in FIG. 1. Any choice of grid lines can be adopted. Each grid line has length M in this example.
[0037] In the video playback region 104, video images are displayed sequentially in time. As the video images are displayed, the video outcome sequence 106 is populated with video outcomes. The video outcomes are category indicators used to categorize the visual content of the displayed video images. These are also selected from the set of possible outcomes 108. In the following examples, the possible outcomes are mutually exclusive, and the set 108 is a complete set of outcomes, meaning the outcome probabilities sum to one across the set 108.
[0038] For example, with football / soccer-related video images, the set of possible outcomes 108 might include outcomes such as ‘right foot goal’, ‘left foot goal’, ‘header goal’, ‘missed goal’ etc. An aim is to achieve a full or partial sequence match between the video outcome sequence and at least one grid line. FIG. 2 provides context to the concepts of full and partial matches.
[0039] Whilst the examples described below consider video outcomes assigned to displayed video images, the game can be implemented with game outcomes that are not tied to displayed video images. For example, game outcomes associated with a real-world event (such a sporting event) may be received from a server, which does not necessarily provide a video stream. In this case, the video playback region 104 may be omitted. Game outcomes could also be sampled from the set of possible outcomes 108 without necessarily displaying associated video images.
[0040] In contrast to conventional grid-based games (such as Bingo), the present game mechanism is based on sequence matches. To successfully trigger a game event, a sequence of video outcomes needs to match a corresponding sequence of outcomes at corresponding positions in one of the grid lines. The sequence must reach a length of at least N to trigger a game event. This might be achieved, for example, when video outcomes 2, 3 and 4 match outcomes at positions 2,3, and 4 in a grid line. Note, the outcomes and the positions must match.
[0041] The additional complexity of the present game mechanism poses a significant technical challenge, as it is difficult for a player to distinguish individual outcome matches within the outcome grid 102 with true sequence matches within a grid line. This challenge is exacerbated by the fact that the grid lines intersect and overlap, and at least some of the grid locations belong to multiple grid lines. This problem is addressed herein with suitably chosen graphical indicators displayed within the outcome grid 102.
[0042] FIG. 2 schematically illustrates the relationship between grid locations and grid lines in the outcome grid 102 of FIG. 1. In this example, the 25 locations in the 5x5 outcome grid 102 are denoted by indexed 1-25. This is purely for ease of explanation. In a computer implementation, grid locations can be indexed in any way e.g. using 1 or 2 dimensional indexes. Lines 1, 9 and 12 are highlighted for illustrative purposes; these are defined as the following sequences of grid locations:Line 1 = (1, 2, 3, 4, 5)Line 9 = (4, 9, 14, 19, 24)Line 12 = (21, 17, 13, 9, 5)Hence, in allocated an outcome to grid location 4 (‘ Y’ in FIG. 1), that outcome is allocated to position 4 of Line 1 and position 1 of Line 9, and so on. Thus, in allocated outcomes to the grid locations as in FIG. 1, outcomes are allocated to Lines 1, 9 and 12 as follows:Line 1 : (G, Y, G, G, O)Line 9: (G, Y, G, O, O)Line 12: (G, G, I, Y, O)Lines 1, 9 and 12 are considered for illustrative purposes. In the example of FIG.1, all twelve grid lines are populated in the same way with the outcomes allocated to the corresponding grid locations.
[0043] A distinction is drawing between a sequence position and a grid location. Each grid line has M sequence positions (5 in this example). In the above example, sequence positions 1-5 in Line 1 correspond to grid locations 1-5 respectively, whereas sequence positions 1-5 in Line 9 correspond to grid locations 4, 9, 14, 19, 24 respectively, and sequence positions 1-5 in Line 12 correspond to grid locations 21, 17, 13, 9 and 5 respectively.
[0044] The video outcome sequence 106 also has M sequence positions, denoted V1-V5 in FIG. 2.
[0045] Returning to FIG. 1, as alluded to above, an aim is to achieve a full or partial sequence match between the video outcome sequence 106 and the sequence of outcomes allocated to one of the grid lines. A partial sequence match is achieved when each element (outcome) in a contiguous subsequence of the video outcome sequence 106 matches the outcome allocated to the corresponding sequence position in a grid line. Sequence matches can only arise form contiguous matching outcomes within a grid line. By way of example, the following video outcome sequence is considered in FIG 1 :(Y, Y, G, G, O)This video outcome sequence partially matches a first grid line sequence (allocated to Line 1 in the example of FIG. 1):(G, Y, G, G, O)The partial match occurs because those sequences exhibit matching outcomes in sequence positions 2, 3, 4 and 5. Each sequence not only contains the subsequence (Y, G, G, O), but those subsequences are aligned in sequence position. Therefore, a partial match is triggered.
[0046] For comparison, it is useful to consider a second possible grid line sequence (not depicted in FIG. 1):(I, I, Y, Y, G)No match would occur between the video outcome sequence 106 of FIG. 1 and this second grid line sequence because no outcome in the video outcome sequence matches the outcome in the corresponding sequence position of the second sequence. Whilst both sequences contain the subsequence (Y, Y, G), they are not aligned in position, so this does not amount to a partial match under the above definition.
[0047] In the following examples, a ‘game event’ threshold of N is imposed (where N<M to enable ‘partial’ sequence matches) whereby a partial match only triggers a game event between subsequences of length equal to or greater than N.
[0048] FIG. 3 schematically illustrates a time sequence of game view updates. With an MxM grid, M update stages occur, denoted i = 1, ... M. Each update stage involves rendering an i th video image, populating the i th sequence position of the video outcome sequence with a video outcome characterizing the i th video image, and comparing that video outcome with the outcome at the ith sequence position in each of the grid lines (Lines 1 to 12 in this example). The right-hand side of FIG.3 shows the outcome grid 102, with a subset of grid locations highlighted at each of the M update stages; these are the grid locations that are considered in comparing the ith video outcome with the ith sequence position of each grid line. Note that some grid locations correspond to the ith sequence position of multiple grid lines. For example, in update stage i = 2, grid location 7 is considered in three contexts, as it corresponds to the second sequence position of Lines 2, 7 and 11.
[0049] Over the sequence of i = 1, ... , M update stages, any sequential outcome matches within any of the grid lines are recorded, enabling full and partial sequence matches to be identified as the update stages are performed.
[0050] As indicated, a game event is generated in response to N or more sequential outcome matches occurring within a grid line.
[0051] Multiple game events may be triggered by the same grid line over the course of the M update stages. Once N sequential outcome matches have been achieved within Line j, the result is a partial sequence match of length N that triggers a first game event. This may occur before the final update stage. If, in the next update stage, the video outcome matches the next sequence position in Line j, the result is a partial sequence match of length N+l, a triggering a second game event.
[0052] Moreover, multiple game event may be triggered in the same update stage, in response to full or partial sequence matches occurring in more than one grid line.
[0053] FIG. 4 shows a flowchart for a method of generating a game view. The method incorporated the principles described with reference to FIG. 3.
[0054] At step 402, a game initiation input is received. This is an initial input that cases a game view to be rendered initially at step 404 using the template layout described with reference to FIG. 1. The rendering process of step 404 involves populating each grid location within the outcome grid 102 with an outcome selected from the set of possible outcomes 108 based on the outcome probabilities. For example, each outcome may be sampled from the set 108 according to the outcome probabilities. Here, ‘sampling’ is used in the statistical sense of drawing a sample from a probability distribution defined by the outcome probabilities. This process may also be referred to as random selection.
[0055] As discussed with reference to FIG. 3, having populated the outcome grid 102, M game view updates are performed in succession, corresponding to the M sequence positions in the video outcome sequence 106 and each grid line.
[0056] At step 406, the first of these game view updates commences with the first sequence position. Here, index i denotes a current sequence position (or current update stage), which is initialized to i = 1 at step 406.
[0057] The example implementation of FIG. 4 uses prerecorded video images, such as ‘archive’ video clips, stored in a video database. Each video image is stored in association with a predetermined video outcome, which has been preassigned to the video image from the set of possible outcomes 108. The predetermined video outcome serves to classify (or ‘label’) the visual content of the video image and may be referred to in this context as a video outcome label. Alternative implementations are described below.
[0058] At step 408, a video playback input is received. In response to the video playback, a video image associated with a video outcome is selected for playback. For example, this may involve selecting (e.g. sampling) the video outcome from the set of possible outcomes 108 based on the outcome probabilities (the same probabilities used to populate the outcome grid 102), and then selecting (e.g. randomly selecting) a video image with a matching video outcome label. The video image selected in the ith game view update and the associated video outcome are referred to at the ith video image and ith video outcome respectively.
[0059] At step 410, the ith video image is rendered in the video playback region 104 and, at step 412, the ith position of the video outcome sequence 106 is populated with the associated i th video outcome.
[0060] At step 414, the ith video outcome is compared with the ith outcome in each grid line (lines 1 to 12 in the examples of FIGS. 1-3). Referring to FIG. 3, this means that, for game view update i = 1, only the subset of grid locations within the top row and first column of the outcome grid 102 are considered. Note, for i = 1, the top-left grid location (grid location 1) corresponds to the 1stposition of three grid lines: Line 1, Line 6 and Line 11.
[0061] At step 514, an individual outcome match identified in step 414 are identified. Such individual maths can only occur within the applicable subset of grid locations (e.g. top row or leftmost column for game view update i=l).
[0062] Following step 416, the method branches depending on which sequence position has been reached. As discussed above, a game event is triggered by a partial sequence match of length at least N. This cannot be achieved until i has reached at least N.
[0063] In the example of FIG. 4, an additional ‘feedback’ threshold K<N is considered to provide additional feedback about the progress of the game. A partial sequence of match of length K within a grid line does not trigger a game event. However, it does trigger a visual feedback mechanism within the grid line to indicate that a potential game event might be triggered in a subsequent update. For example, a value of K = N — 1 may be chosen, meaning a visual feedback mechanism is triggered when a player is ‘one away’ from triggering a game event in a particular grid line. The same or a similar visual mechanism may be used when a player has already triggered a game event (by a chieving a partial sequence match of length N or greater), but there is a possibility of triggering a second gameevent with a further outcome match in the same grid line (i.e. a longer partial sequence match).
[0064] At step 418, a determination is made as to whether the threshold position N has been reached; that is, whether i > N. If L < TV, it not yet possible to trigger a game event. The feedback threshold K may or may not have been reached at this point.
[0065] If i < TV, the method proceeds to step 420, at which a determination is made as to whether the feedback threshold has been reached; that is, whether i > K.
[0066] If i < K, the current update is complete, and the method proceeds to step 432 to commence the next update.
[0067] At step 432, the current sequence position by one, i.e., the current sequence position is updated as i = i + 1.
[0068] In this example, the method returns from step 432 to step 408, meaning that an additional video playback input is required to trigger the next update. As described above, in response to such input, a video image and associated video outcome are selected for the current sequence position (the next sequence position along relative to the previous update, which is now the current sequence position).
[0069] In an alternative implementation, the method instead returns from step 432 to step 410, at which the next video and video outcome are selected without further input.
[0070] Returning to step 420, if the feedback threshold K has been reached (i >any ‘match candidates’ are identified and visually marked within the outcome grid 102. A match candidate arises when a partial sequence match of length at least K has been achieved in a grid line, which includes the current sequence position i; in this situation, the outcome at position i + 1 in that grid line is a match candidate, meaning that if the next video matches the outcome at position i + 1 in the, the length of the partial sequence match will grow by one.
[0071] The remaining branch of FIG. 4 is described below. First, it is useful to further illustrate the concept of match candidates by example. In the following examples, values of K = 1 and N = 2 are chosen. This means that match candidates are identified and marked in the first update (i = 1), and game events can be triggered from the second update (i = 2)onwards. These values are merely illustrative and alternative (e.g., another example is considered later with K = 2 and N = 3).
[0072] FIG. 5 A schematically depicts an example layout at update i = 1. A first game outcome, ‘ Y’, has been selected and used to populate sequence position i = 1 of the video outcome sequence 106. As this matches the ‘Y’ outcome in sequence position i = 1 of Line 7, corresponding to grid location 2, that outcome is visually marked in the outcome grid 102.
[0073] In this example, K = 1, therefore match candidates are also considered at this point.
[0074] Note, outcome Y at grid location 2 belongs to:Line 1 at sequence position 2;Line 7 at sequence position 1.Further note that only the latter is a match with outcome Y at position 1 in the video outcome sequence 106. Therefore, in this case, the only match candidate occurs at the next position along in Line 7, i.e., Line 7 position 2. This corresponds to grid location 7, populated with outcome ‘O’ in this example. Therefore, only the outcome in grid location 7 is visually identified as a match candidate, as depicted in the bottom part of FIG. 5 A.
[0075] Returning to step 418 of FIG. 4, the remaining branch of the method is now considered. If at step 418 the threshold position has been reached (i > A), it is now possible for game events to be triggered. If i > A, the method proceeds from step 418 to step 424.
[0076] Having reached sequence position i > A, an individual outcome match at position i in any given grid line results in a sequence match if at least the A — 1 immediately preceding outcomes in the same grid line previously matched the A — 1 preceding video images respectively. Any such sequence matches are identified and visually marked in the outcome grid 102 (step 424), and a game event is generated in response to any such matching sequence(s) (step 426). As discussed in further detail below, the game event may be generated in dependence on the outcome probabilities of the outcomes forming the (or each) sequence match.
[0077] At step 428, it is determined whether the final sequence position i = M has been reached; if so, the game view is terminated (step 430); otherwise, if i > M, the methodreturns to step 422 (identifying and visually marking any match candidates, and from there for step 432 where the sequence position is incremented, and the next update begins).
[0078] As can be seen in FIG. 4, the iterative process repeated over M updates means that partial sequence matches can occur within one or ore of the grid lines, and depending on the video outcomes, sequence matches can grow from one update to the next. Match candidates are identified as potential candidates for achieving a new sequence match or growing an existing sequence match within a particular grid line dependent on the next video outcome. This iterative process is further explained by example with reference to FIGS. 5B-E.
[0079] FIG. 5B follows from FIG. 5B, showing the next update at update i = 2. In this example, video outcome i = 2 is also ‘Y’ . This matches:Line 1 position 2Line 9 position 2Note, the former corresponds to grid location 2, which was previously indicated as a match in FIG. 5A. However, the basis of the match is different this time. Whereas in FIG. 5A (i = 1), the match was based on Line 7 position 1, in FIG. 5B (i = 2), the match is based on Line 7 position 2. Hence, whereas in FIG. 5A, Line 7 position 2 (corresponding to grid location 7) was a match candidate, in FIG. 5B, Line 1 position 3 is now a match candidate (corresponding to grid location 3).
[0080] Line 9 position 2 corresponds to grid location 9. Line 9 position 3 is a match candidate, corresponding to grid location 14.
[0081] As noted, in this example N = 2. Therefore, it is possible for a game event to be triggered as early as i = 2 based on a partial sequence match of length 2. However, no match has occurred in the example of FIG. 5B because the only previous match candidate (outcome ‘O’ at grid location 7) did not match the second video outcome. Therefore, no game event is triggered.
[0082] FIG. 5C shows a possible i = 3 update, with video outcome ‘G’. In this example, ‘G’ occurs relatively frequently in the outcome grid 102, triggering a relatively high number of matches at:Line 1 position 3Line 2 position 3Line 6 position 3Line 7 position 3Line 9 position 3Line 10 position 3
[0083] With N = 2, two of the aforementioned matches, in Lines 1 and 9 (both identified as match candidates in FIG. 5B), combine with previous matches in their respective grid lines to achieve partial sequence matches of length 2 in:Line 7: the subsequence between positions 2 and 3 in Line 7, which matches the subsequence between positions 2 and 3 in the video outcome sequence 106;Line 9: the subsequence between positions 2 and 3 in Line 7, which also matches the subsequence between positions 2 and 3 in the video outcome sequence 106.
[0084] Because these partial sequence matches have reached the threshold N in length, a game event is triggered in response. In addition, visual markers 502, 504 of the sequence matches that triggered the game event are displayed within the outcome grid 102 (visual marker 502 horizontally spanning grid positions 2 and 3; visual marker 504 vertically spanning grid positions 9 and 14).
[0085] Each of these partial matches has the potential to grow in the next update. As before, match candidates for growing the sequences are identified and visually marked in the outcome grid (Line 1 position 4, corresponding to grid location 4; Line 9 position 4, corresponding to grid location 19).
[0086] FIG. 5D shows an example i = 4 update with video outcome ‘G’. Of the two previous match candidates, only one of these is a match (Line 1 position 4, corresponding to grid location 4, also populated with ‘G’). Hence, a sequence match of length 3 is achieved in Line 1. A second visual marker 506 of the length 3 sequence match is displayed by extending the previous visual marker 502 over the new match. Hence, the second visual marker 506 horizontally spans grid positions 2, 3 and 4.
[0087] A new partial sequence match has also been achieved in Line 7, positions 3 to 4, matching video outcomes 3 to 4 respectively, which is similarly marked in the outcome grid 102.
[0088] A second game event is therefore triggered based on the additional sequence matches. Match candidates are similarly identified.
[0089] FIG. 5E shows an example update with i = M = 5 in this example. A final video outcome ‘O’ occurs, resulting in a match of length 4 in Line 1 between positions 2-5, matching video outcomes 2-5 respectively.
[0090] In the example of FIGS. 5A-E, each individual outcome match within the outcome grid 102 is visually marked. As can be seen through the evolution of FIGA 5 A though 5E, as successive updates are performed, without the visual indicators 502, 504, 506, it would be challenging for a player to keep track of sequence matches within grid lines. Adjacent matches in the outcome grid do not necessarily belong to the same grid line. Absent the visual indicators 502, 504, 506, a player might be able to infer the locations of sequence matches by visually comparing the video outcome sequence 106 to each grid line. However, this is burdensome and time consuming, and would require the game to evolve at a speed that gives an average player time so do so. The visual indicators 502, 504, 506 provide this information at a glance, enabling the game to progress at greater speed.
[0091] FIG. 6 shows a flow chart of pre-processing steps to support the method of FIG. 4. A database of archive clips is generated (step 602), and an outcome is assigned (step 604) to each from the set of possible outcomes 108. This may be a manual process. Alternatively, the label may be assigned automatically, e.g. using machine vision classification techniques, or based on metadata associated with each archive clip. For example, with sporting outcomes, video clips of real world sporting events could be used.
[0092] A probability is assigned (608) to each possible outcome in the set 108 and stored (608). These probabilities may reflect the ‘true’ probability of such outcomes in the real world, but this is not a requirement. If same outcome probabilities are used to populate the outcome grid 104 and determine the video outcomes, the outcome probabilities can be chosen arbitrarily.
[0093] As an alternative to archive video, synthetic video may be used instead, such as animated video images, or video images generated using machine learning model(s). In suchcases, the method of FIG. 4 can proceed as above, but using synthetic video images (pregenerated, or generated ‘live’ as the message is performed).
[0094] In another implementation, ‘live’ video could be used, such as video images streamed live (or with a short delay) from a real -world sporting event. In this case, the method of FIG. 4 is altered in one respect. Rather than selecting video outcomes and video clips, the live sporting event would determine the video outcomes. In this context specifically, a ‘video image’ refers to a time portion of a live video stream. Outcomes may be detected automatically, or received from a third party provides (such as a sports betting organization); In this case, the video outcomes are not in the control of the game provider. Therefore, it is desirable that the outcome probabilities used to populate the outcome grid 102 are reflective of the real world.
[0095] FIG. 7 shows a further example game view at various points in time. The game video of FIG. 7 includes an outcome grid 702, a video playback region 704 and a video outcome sequence 706.
[0096] In contrast to FIGS. 5A-E, in this case N = 3 and K = 2. That is, game events require a sequence match of minimum length 3, and match candidates are indicated once a sequence match of length 2 has been achieved. FIG. 7 commences at sequence position i = 3, with outcomes represented using visual icons, and previous matches from i = 1, 2 marked in the outcome grid 702 using highlighted borders around the matching outcome icons.
[0097] A video selection input is generated by selecting with the graphical user interface one of several initiation icons (football / soccer balls in this example). Reference numeral 710 denotes the selected icon in this example.
[0098] A game event in this example includes an award based on the outcome probabilities of a sequence match. For example, in a betting game, the award may be a monetary award whose value is determined based on an overall probability of a sequence match, which is turn is determined from the outcome probabilities of its individual components. In this example, a maximum award is assigned to each grid line, which is awarded in response to a complete match in that grid line. The maximum award may be based on the probability of a complete match in that grid line. A portion of the maximum award may be awarded for a partial match in the grid line.
[0099] Reference numeral 712 denotes a visual marker of a partial sequence match of length 4, and reference numeral 714 denotes the corresponding match candidate. In this example, an animation effect is used to visually identify the match candidate 714, e.g. by varying the size of the relevant outcome icon.
[0100] Further considerations of the underlying game mechanism will now be described. The following description refers to events having an outcome(s), which are distinct from game events triggered by a sequence match.
[0101] Events may be characterized as a series of sub-events having a binary outcome or an outcome array that is limited by count / number. A basketball game outcome and a political election are generally binary, a football game may have 3 outcomes, and a 5 card count game has an array of n number outcomes.
[0102] This can be limiting if such an event is required to generate a larger array of outcomes, which outcomes then need to be matched and organized in an orderly manner that can be used. The present game mechanic solves this objective by applying new logic and method to match outcomes in a defined manner in order to create a new result that has more use cases.
[0103] Although multiple methods may be applied to solving this objective, the method described herein is specifically defined using a grid of possible sub-events against which subevents of the event are matched.
[0104] A set of key sub-events are defined. Such sub events occur in a virtual or real -world event such as a football game or card draw that typically has a conventional event result.
[0105] These sub-events can re-occur in the event.
[0106] A probability for each defined sub event is determined.
[0107] It is informative to consider how many of these sub-events will be allocated to an outcome grid (or matrix) that is proportional in column and row count. A 5x5 grid of 5 rows by 5 columns creates 25 fields each of which is populated by a sub-event. Rows, columns and diagonals (grid lines in the above sense) overlapping in the 5x5 grid each contain 5 subevents allocated to the resultant fields. A grid can be 2x2, 3x3 right through to 10x10 or more and still work using the same logical solution.
[0108] If a 5x5 grid is applied, 5 subevents are identified in the event to determine a new result for the event which may be different to the traditional result of such event. This new result is the collection of 5 subevents from the set of pre-defined subevent possibilities (which number may be =<> 5). The new event result is then compared to the populated grid of sub-events to identify a match. The pattern that this creates on the grid is a new Grid Event result.
[0109] A match can occur if:1. The collection of 5 sub-events in the event match any line in the grid in any order;2. The collection of 5 sub-events in the order that they occurred, match any line in the grid in order.
[0110] When matched in order, it is also possible to match all combinations of 2,3 and 4 subevents.[oni] The result of this reconstruction of an event is to provide defined multiple alternative possible event outcomes which are more numerous than the traditional outcome of the event.
[0112] Each individual sub-event has a pre-defined probability of occurring in the event and hence any combination of such sub-events also has a mathematical probability of occurring.
[0113] The outcome grid is a mechanism for creating a predefined set of new result outcome predictions to be matched.
[0114] Multiple matching outcomes can therefore result from significantly more possible new event outcomes.
[0115] The combination of the new event and the grid facilitating a match presents a new Grid Event.
[0116] The example of FIG. 1 is considered from this perspective. The outcome grid 102 is a randomly generated grid matrix. Each letter symbolizes a uniquely defined subevent with an assigned probability of occurring in the event.
[0117] Table 1 contains examples of defined probabilities of the individual events occurring (the outcome probabilities). Probability theory is used to compute the probability of everypossible full and partial sequence match. Table 2 shows calculated probabilities of all combinations of these events occurring in each grid line.TABLE 1TABLE 2
[0118] Considering the final result in the example of FIG. 5E, there is a match result of combinations of 2, 3 and 4 subevents in sequence:• In Line 1 there are 4 matching symbols - xYGGO - resulting in 6 event combinations: a. 3 x 2 matched subevents - xYGxx, xxGGx and xxxGO b. 2 x 3 matched sub events - xYGGx and xxGGO c. 1 x 4 matched sub events - xYGGOIn Line 7 there are 2 matched subevents - xxGGxIn Line 9 there are 2 matched subevents - xYGxx
[0119] The positive outcomes in the probability table are hence identified by the grid and can also be shown for purpose of example in the probability distribution below by way of highlighted cells in table 3.TABLE 3
[0120] Over the course of the FIGS. 5A-E, the heighted probabilities in table 3 are used to generate game events, e.g. to determine payout amounts in a betting use case.
[0121] This shows a method that creates an array of outcomes from subevents in an event.Such array of outcomes is extensive and structured in a very specific manner that creates this described Grid Event.
[0122] The Grid Event turns a string of few subevents into an extensive array of events that are structured in a grid format. This Grid Event is a method that can then be applied in the first instance to create a game.
[0123] Whilst the above embodiments consider a game mechanic based on sequence matching, with game events triggered based on sequence matches of length N or greater, the game view can be used with alternative game mechanics based on different matching conditions and / or different game event conditions. One alternative matching condition is individual outcome matching. In such embodiments, a game outcome can be matched with any allocated outcome in the grid. Therefore, each game outcome is compared with each allocated outcome in the grid. In such cases, a game event might be triggered by a game event condition such as a particular pattern of matching outcomes within the grid (e.g. a vertical, horizontal, or diagonal line of matching outcomes of at least a threshold length, or a subset of matching outcomes forming a particular shape within the grid etc.) or simply a threshold number of matching outcomes occurring anywhere within the outcome grid etc. Note, this is different to the sequence-based implementations as the order / positions of the outcomes allocated to the grid need not match the order of the sequence of game outcomes. For example, with game outcomes associated with a live real-world event (e.g. a sporting event) a game player might be watching or otherwise following the live event and, whilst watching, icons in the grid are matched with outcomes of the live event (not necessarily lines, but the whole grid). For example, a sequence of play in the live game could be: 1) Throw in 2) Yellow card, 3) Goal Header 4) Throw in 5) Throw in 6) Free kick etc. with the player simply matching icons for these action sequences across the whole outcome grid and not just in lines. The player wins by covering off all icons within game time, or even some other defined time period (e.g. Minutes 0-45'). Secondary prizes may be awarded for line wins or even pattern wins within the grid. This could also be implemented with a simulated game video sequence not corresponding to a real -world event. A video of the real / simulated event may or may not be rendered in the game view depending on the implementation.
[0124] FIG. 8 shows a highly schematic block diagram of a computer device 800, which in turn is shown to comprise a processor 804 coupled to a memory 806 and a user input device 808. A GUI 802 rendered using a suitable output device, such a display (not shown) is controlled by the processor 804 to render game layouts in the manner described above. The processor 804 executes computer-readable instructions stored in the memory 804, which cause the processor to implement the steps described above. In other computer devices orsystems, those steps may be distributed between multiple processors in one or more devices (e.g. distributed between a user device or terminal and a server, such as a web server). For a server implementation, a GUI rendered at a user device or terminal may be controlled by a server via suitable control messages transmitted to the user device / terminal over a network. A user device may take the form of a smartphone, tablet device, laptop or desktop computer, wearable device, virtual or augmented reality device etc. A user terminal may be a fixed terminal, e.g. of the kind found in betting shops, casinos and the like. Inputs such as the game initiation input or video selection input(s) my take the form of user inputs received via the user input device 808. A processor may take the form of a central processing unit (CPU), graphical processing unit (GPU) etc. The memory can take various forms such as solid stage, magnetic or optical computer storage, or other non-transitory computer storage distinct from a signal bearing medium.
[0125] Specific embodiments have been described, and these are illustrative rather than exhaustive. The scope of the invention is defined only by the accompanying claims.
Claims
CLAIMS1. A computer-implemented method of generating a game view in a graphical user interface (GUI), the method comprising: causing the game view to be rendered in the GUI, the game view comprising an outcome grid having a plurality of grid locations and a plurality of grid lines, each grid line being a sequence of contiguous grid locations spanning the outcome grid, wherein at least some grid locations belong to multiple grid lines; randomly allocating to each grid location an allocated outcome from a set of possible outcomes based on an outcome probability associated with each possible outcome; causing each grid location within the outcome grid to be populated with a visual indication of its allocated outcome; determining a sequence of game outcomes and, for each game outcome and each grid line: identifying a position in the grid line corresponding to a position of the game outcome in the sequence of game outcomes, determining the allocated outcome of the grid location at the identified position in the grid line, and comparing the determined allocated outcome with the game outcome; identifying within each grid line any sequence matches of length equal to or greater than a game event threshold number, a sequence match being any sequence of contiguous allocated outcomes within a grid line determined to match their corresponding game outcomes, wherein the game event threshold number is less than a length of the grid line; generating, responsive to each identified sequence match of length equal to or greater than a game event threshold number, a game event based on the outcome probabilities associated with the allocated outcomes of the sequence match; and causing the GUI to render an indication of each generated game event.
2. The method of claim 1, comprising: causing to be visually marked in the grid event, any outcome in the outcome grid determined to match its corresponding game outcome in at least one of the grid lines, and causing to be displayed in each grid line a visual indicator of any sequence match.
3. The method of claim 2, comprising causing the outcome grid to be successively updated for each game outcome by successively marking: any outcome in the outcome grid at a position corresponding to the game outcome and determined to match the game outcome, any sequence match in any grid line up to the position corresponding to game outcome.
4. The method of claim 3, wherein the game view is successively updated by performing the following operations: determining a first game outcome in the sequence of game outcomes, causing a first position of a game outcome sequence within the GUI to be populated with a visual indicator of the game outcome, comparing the first game outcome with the assigned outcome at the first position of each grid line, causing any matching outcome at the first position of any grid line to be visually marked in the outcome grid; wherein the operations are repeated for the next game outcome and the next position in the game outcome sequence and each grid line up to the final video image, wherein after reaching the game event threshold number of game outcomes, the operations additionally comprise generating within the outcome grid a visual marker of any sequence match within any grid line of length greater than or equal to the game event threshold number.
5. The method of claim 4, wherein after reaching a feedback threshold number of game outcomes, a visual indication of any match candidate is caused to be visually marked within the outcome grid, a match candidate being an allocated outcome at a grid location corresponding to a position in a grid line immediately after a sequence match in that grid line of length equal to or greater than the feedback threshold number.
6. The method of any preceding claim, wherein the game view comprises a video playback region, the method comprising causing a sequence of video images to be rendered in the playback region, the sequence of game outcomes being a sequence of video outcomes assigned to the sequence of video images.
7. The method of claim 6, wherein the game view is successively updated by performing the following operations: rendering a first video image in the sequence of video images, causing a first position of a video outcome sequence within the GUI to be populated with a visual indicator of the video outcome assigned to the first video image, comparing the video outcome assigned to the first video image with the assigned outcome at the first position of each grid line, causing any matching outcome at the first position of any grid line to be visually marked in the outcome grid; wherein the operations are repeated for the next video image and the next position in the video outcome sequence and each grid line up to the final video image, wherein after reaching the game event threshold number of video sequences, the operations additionally comprise generating within the outcome grid a visual marker of any sequence match within any grid line of length greater than or equal to the game event threshold number.
8. The method of any of claims 6 to 7, comprising: selecting from a database of video images each video image based on the outcome probability of its assigned video outcome.
9. The method of claim 8, wherein selecting each video image comprises: selecting the video outcome based the outcome probability associated with each possible outcome, and selecting the video image based on matching the video image to the selected outcome.
10. The method of any of claims 6 to 7, wherein each video image is a time portion of a live video stream.
11. The method of any preceding claim, implemented in a user device or user terminal.
12. The method of any of claims 1 to 10, implemented in a server, the graphical user interface implemented at a user device or user terminal and controlled via control messages transmitted from the server to the user device or user terminal.
13. A computer-implemented method of generating a game view in a graphical user interface (GUI), the method comprising:causing the game view to be rendered in the GUI, the game view comprising a video playback region and an outcome grid having a plurality of grid locations and a plurality of grid lines, each grid line being a sequence of contiguous grid locations spanning the outcome grid, wherein at least some grid locations belong to multiple grid lines; randomly allocating to each grid location an allocated outcome from a set of possible outcomes based on an outcome probability associated with each possible outcome; causing each grid location within the outcome grid to be populated with a visual indication of its allocated outcome; causing a sequence of video images to be rendered in the playback region; for each video image and each grid line: identifying a position in the grid line corresponding to a position of the video image in the sequence of video images, determining the allocated outcome of the grid location at the identified position in the grid line, and comparing the determined allocated outcome with a video outcome assigned to the video image; identifying within each grid line any sequence matches of length equal to or greater than a game event threshold number, a sequence match being any sequence of contiguous allocated outcomes within a grid line determined to match their corresponding video images, wherein the game event threshold number is less than a length of the grid line; generating, responsive to each identified sequence match of length equal to or greater than a game event threshold number, a game event based on the outcome probabilities associated with the allocated outcomes of the sequence match; and causing the GUI to render an indication of each generated game event.
14. A computer-implemented method of generating a game view in a graphical user interface (GUI), the method comprising: causing the game view to be rendered in the GUI, the game view comprising an outcome grid having a plurality of grid locations; randomly allocating to each grid location an allocated outcome from a set of possible outcomes based on an outcome probability associated with each possible outcome, wherein at least some of the grid locations are populated with the same outcome; determining a sequence of game outcomes;for each game outcome, identifying within the outcome grid any allocated outcome satisfying a matching condition with respect to the game outcome; and responsive to identifying a subset of matching outcomes in the outcome grid that satisfy a game event condition, triggering a game event.
15. The method of claim 14, wherein the sequence of game outcomes is associated with a live real-world event.
16. The method of claim 15, wherein the game view comprises a video playback region, and the method comprises rendering a video image of the real-world event therein.
17. A computer system comprising: memory configured to store computer-readable instructions; and one or more processors coupled to the memory and configured to execute the computer-readable instructions, which upon execution cause the one or more processors to implement the method of any of claims 1 to 16.
18. A transitory or non-transitory medium comprising computer-readable instructions configured, when executed on one or more processors, to implement the method of any of claims 1 to 17.
Citation Information
Patent Citations
Wagering on event outcomes during the event
US20120214575A1
Method, system and computer program for rendering a gameplay sequence in a graphical user interface of a computer device
US20230321540A1