Method and system for synchronized virtual ranking matches
By generating and sending synchronization commands, the problem of difficulty in synchronous startup in asynchronous gaming environment is solved, and the live broadcast of video game ranking competitions is realized, which improves game interactivity and audience participation.
Patent Information
- Application Number
- CN202210472957.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-03-15
- Filing Date
- 2017-03-15
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2037-03-15
AI Technical Summary
The existing technology is difficult to achieve efficient interaction between video game anchors and viewers, especially in an asynchronous game environment, which makes it difficult to start the game of two players simultaneously, resulting in the inability to realize the live ranking competition.
By generating and sending synchronization instructions, the clients of two players can synchronously start asynchronous games to achieve synchronous start of the game. This command can specify the time when the game starts, and work with the game server through the ranking match module of the same level to ensure the synchronous transmission of game data.
The synchronous start of asynchronous games is realized, allowing the anchor to broadcast the ranking competition live, and the audience can watch and compare the gameplay of the two players in real time, improving game interactivity and audience participation.
Smart Images

Figure CN114768245B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese PCT patent application No. 201780030098.7, entitled "Synchronization Model for Virtual Ranking Tournament", filed on March 15, 2017.
[0002] Cross-reference with related applications
[0003] This application claims priority to U.S. Provisional Patent Application No. 62 / 308,812, filed March 15, 2016, pursuant to 35 USC §119(e), the entire contents of which are incorporated herein by reference. Technical Field
[0004] This article describes the topic of creating and hosting ranked digital online video game tournaments based on ad-hoc networks. Background Technology
[0005] Video game streamers build close relationships with their audiences by showcasing live gameplay footage. Currently, the ability for streamers to cultivate close relationships with their viewers is limited because there is no universal solution that allows them to host interactive, live, and competitive content for their audiences. Summary of the Invention
[0006] On one hand, data representing two players registered in a ranked tournament of an online video game is received. Each player executes a separate copy of the online video game. The online video game is asynchronous between the two players. This data is received by the ranked tournament server, which hosts the ranked tournament and is separate from the game server that provides game data to the clients associated with the two players. An instruction is generated to synchronously launch the game between the two players. This instruction is sent to the clients associated with the two players, causing the asynchronous game between the two players to start synchronously.
[0007] One or more of the following features may be included in any feasible combination. For example, the instruction may cause the game to start when received by a client. Each client may include a game copy and a peer-ranked match module, each client receiving the instruction and, in response to receiving the instruction, causing the game to start by executing a game start callback using the game copy. Each client may include a game copy and a peer-ranked match module, each client receiving the instruction and, in response to receiving the instruction, sending a second instruction to the game server to cause the transfer of game start data from the game server to the game copy.
[0008] This instruction can specify the time when the game starts. Each client can include a game copy and a peer-to-peer module. Each client receives the instruction and executes a game start callback using the game copy to start the game at the specified time. Each client can also include a game copy and a peer-to-peer module. Each client receives the instruction and sends a second instruction to the game server at the specified start time to enable the transfer of game start data from the game server to the game copy.
[0009] The match identifier, player identifier, and game parameters can be sent to each client. The match identifier can specify a unique identifier for ranked matches. The player identifier can be a unique identifier for a user entering a ranked match. Game parameters can include data used to configure each instance of the game to be executed.
[0010] This allows for simultaneous video streaming and side-by-side viewing of gameplay by multiple clients.
[0011] Current topics may include: means to allow streamers (e.g., “event organizers”) to create and host ranked tournaments in any mobile game based on ad-hoc; allowing viewers to join tournaments that are created individually for the streamer’s audience or are open to all players of the game; and allowing tournaments to be hosted in a way that optimizes the engagement and competitiveness of the game for any audience.
[0012] Non-volatile computer program products (i.e., physically implemented computer program products) are also described, storing instructions that, when executed by one or more data processors in one or more computing systems, cause at least one data processor to perform the operations described herein. Similarly, computer systems are also described, which may include one or more data processors and memory coupled to one or more data processors. The memory may temporarily or permanently store instructions that cause at least one processor to perform one or more operations described herein. Furthermore, the methods may be implemented by one or more data processors in a single computing system, or by one or more data processors distributed across two or more computing systems. Such computing systems may be connected via one or more connection methods and may exchange data and / or commands or other instructions, including but not limited to connections via networks (e.g., the Internet, wireless wide area networks, local area networks, wide area networks, wired networks, etc.), direct connections between one or more computing systems, and so on.
[0013] Details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the following description. Other features and advantages of the subject matter described herein will be apparent from the specification, the drawings, and the claims. Attached Figure Description
[0014] Figure 1 It shows a process flowchart that enables the ranking lobby and player access to the event streaming;
[0015] Figure 2 This is a system block diagram illustrating an exemplary system for implementing peer-to-peer digital game ranking tournaments;
[0016] Figure 3 This is a system block diagram of an exemplary media management server that enables video streaming of ranking matches;
[0017] Figure 4 An exemplary ranking tournament bracket is shown;
[0018] Figure 5 It is an exemplary graphical user interface (GUI) for video control and display during event streaming;
[0019] Figure 6 This is a flowchart illustrating a method for synchronously launching an asynchronous game copy; and
[0020] Figure 7 This is a schematic diagram illustrating the data flow between components of a peer-ranked competition system.
[0021] The same reference numerals in the various figures denote the same elements. Detailed Implementation
[0022] Current topics may include: means to allow streamers (e.g., “event organizers”) to create and host ranked tournaments in any mobile game based on ad-hoc; allowing viewers to join tournaments that are created individually for the streamer’s audience or are open to all players of the game; and allowing tournaments to be hosted in a way that optimizes engagement and competitive gameplay for any audience.
[0023] In some implementations, the current topic can enable the synchronization of originally asynchronous games to allow for live streaming of ranked matches. Asynchronous games include games where the two players' games are not necessarily simultaneous. For example, two players playing single-player games would cause asynchronous games. The current topic can include servers that synchronize asynchronous games so that two (or more) players start playing approximately simultaneously. This enables live streaming of ranked matches, which includes streaming each player's gameplay and real-time comparisons between players. For example, such comparisons could be performed as part of an esports ranked tournament.
[0024] In some implementations, streamers can create and host ranked tournaments in any mobile game based on ad-hoc. Streamers can register accounts and access a tournament portal. Using this portal, streamers can create tournaments that they host and display on their streaming pages. Options streamers set before a tournament include: the tournament date and time; a description of the tournament; the number of participants; prize money for the tournament winner; an entry fee (if any); the games to be played; the seeding type; round time limits; and a tiebreaker time limit. Ranked tournaments are called "bracketed events" because they conform to the single-elimination format common in competitive gaming.
[0025] Viewers can join competitions, which can be created individually for the streamer's audience or made public to all players in the game. Ranked lobby and access to the event streaming logic allow the streamer to engage two groups of users: (1) his or her current audience and viewers, and (2) users who are not familiar with the streamer but are actively playing the game.
[0026] For the first group, viewers can easily download and play the game using automatically generated instructions displayed on the streamer's monitor. Within the game, new players can enter a match code included in the automatically generated instructions. This match code allows users to register for events, purchase entry tickets if necessary, and compete against other viewers.
[0027] Tournament organizers can choose to include or exclude a second group of users: active gamers. If these players are included, they will see the option to join a ranked tournament in the game menu. This will not only include the ability to register for ranked tournaments if there is still space available, but also include access to instructions on how to watch the tournament via a link to the streamer's page.
[0028] Events can be hosted in a way that optimizes engagement and competitive gameplay for any audience. Event organizers can utilize streaming management servers for streaming. Streaming and events can be optimized by setting up an architecture that minimizes downtime and maximizes the potential of exciting event structures to increase engagement and competitive gameplay.
[0029] In the first round, players are matched with others of similar skill levels to compete against each other to select seeded players. This ensures an exciting and engaging first round, drawing users into the competition even in the event of a loss. Multiple rounds are then synchronized to launch simultaneously for all players, allowing players to compete against each other even in asynchronous gameplay. Players receive notifications and updates about their individual performance and advancement via their own device's schedule. Alternatively, even if a player is eliminated from ranked matches, they can track their ranked progress in real-time through the event stream.
[0030] Figure 1 This is a flowchart illustrating the process 100 that enables ranked match lobby and player access to event streaming. See below for reference. Figure 2 A peer-to-peer ranking module is added to the event. This module can be implemented by the game developer using a software development kit (SDK) associated with the ranking server. When a user selects to enter a ranking match, the server verifies availability based on the number of currently registered users and the number of participants specified by the event organizer. If space is available, the user is moved forward to registration; otherwise, the user is notified that the ranking match is full and provided with information on where to watch the event stream.
[0031] For events with an entry fee, users will be prompted to purchase an event ticket as part of their registration. For free events, registration can be initiated by confirming the user's desire to participate in ranked matches. Once registered, users will be redirected to the homepage until the event begins.
[0032] Once the tournament has begun, all registered users will be notified that the first round has started. Subsequent rounds will follow the same logic as the ranked matches.
[0033] Figure 4 An exemplary match schedule 400 is shown. Intelligent seeding places competitors in optimal matchups to increase player engagement and maximize viewership. This feature utilizes a database of player skill factors and determines the schedule to maximize the likelihood of close matches and surprising comebacks.
[0034] The intelligent seeding process follows (an example specific to a ranked tournament with 16 players, but applicable to ranked tournaments with any number of participants). All players are ranked based on their rating, pairing players 1 and 2, 3 and 4, and so on. Seeding is then performed for each pairing, where Match 1 is player 1 vs. player 2, Match 2 is player 3 vs. player 4, and so on. Standard seeding is then used for each match, so Match 1 (1 vs. 2) and Match 2 (3 vs. 4) will be on opposite sides of the match.
[0035] • Match schedule: Seeded Player 1 = Player Seeded Player 1 vs. Player 2
[0036] • Match schedule: Seeded player #2 = Player seeded player #3 vs. player #4
[0037] • Match schedule: Seeded player #3 = Player's seeded player #5 vs. player #6
[0038] • Match schedule: Seeded player #4 = Player's seeded player #7 vs. #8
[0039] • Match schedule: Seeded player #5 = Player seeded player #9 vs. player #10
[0040] • Match seed #6 = Player seed #11 vs. #12
[0041] • Match seed #7 = Player seed #13 vs. #14
[0042] • Match seed #8 = Player seed #15 vs. #16
[0043] Figure 2 This is a system block diagram illustrating an exemplary system 200 for implementing peer-to-peer digital game ranking tournaments. System 200 includes a ranking tournament server 260, which enables ranked tournament games to be played between players in a game.
[0044] Multiple players 210 i (i = 1, 2, ..., N) Operate each player's client 220 i 220 per player client i Including 230 third-party game applications i Game application 230 iThis can be any online digital game (e.g., a video game). In some implementations, multiple players 210 can compete against each other online. The game can be kept consistent across game applications 230 (e.g., if player 210 is playing chess, each game application 230 is a copy of the electronic chess game). Each game application 230 can communicate with and receive game data from game server 250. Game server 250 provides the game data required to operate the game. Game server 250 can be a third-party game server, for example, separate from ranking server 260 and with limited accessibility (e.g., ranking server 260 does not communicate with the game server or has limited API call access to the game server). Player client 220 can include mobile devices (e.g., smartphones, tablets, etc.), and player client 220, game server 250, and ranking server 260 can implement ranking on a network (e.g., the Internet).
[0045] Each game application 230 includes a peer ranking module 240 i The peer-to-peer ranking module 240 is integrated into the game application 230, enabling players 210 to register and participate in online game competitions. The peer-to-peer ranking module 240 communicates with and collaborates with the ranking server 260. As the game application 230 runs a competition (e.g., a game instance), it has an internal game state that changes over time as associated players 210 interact with the game (e.g., play the game). The peer-to-peer ranking module 240 can periodically and / or continuously capture game state data and send the captured game state to the ranking server 260. Game state data may include user action data, which includes characteristic descriptions of user input in the interface, such as key presses, mouse / joystick / directional keyboard input, etc. The ranking server 260 can receive game states from multiple peer-to-peer ranking modules 240. Because competitions do not share game states, competitions can be conducted separately. For example, each game application 230 can be an asynchronous single-player game. In some implementations, competitions share game states (e.g., multiple players interact within a single game environment).
[0046] In some implementations, the peer ranking module 240 and the ranking server 260 do not send data to the game application 230. i Provide game data. In other words, in some implementations, they do not aim to create a copy of the game, but rather to observe the game, capture game states, and enable a separate layer for multi-match ranked play.
[0047] When the game is playing (e.g., game copy 230) i When asynchronous, game server 250 and / or game instance 230 i It lacks the underlying mechanism for simultaneously launching games. To enable live streaming of ranked matches, allowing players to compete simultaneously using asynchronous games, the current topic could include the simultaneous start of multiple asynchronous games. This allows for live streaming of ranked matches and enables direct comparison of gameplay (e.g., comparison of two video clips streamed by a commentator). In some implementations, the ranked match server 260 and the peer ranked match module 240... i It allows games to launch simultaneously.
[0048] Figure 6 This is a flowchart illustrating a method 600 for synchronously launching asynchronous game instances. Ranked tournaments can be implemented by a ranked tournament server 260 that hosts the tournaments and is separate from the game server 250. The game server 250 can provide game data to the clients associated with each player.
[0049] In section 610, data representing two players registered for ranked matches in an online video game can be received. Once the ranked match server receives a player's request to participate in a ranked match from the associated client, it can register that player.
[0050] In 620, instructions can be generated to synchronously start a game between two players. These instructions can be generated once all player clients required for a ranked match have registered and accepted the handshake signal from the ranked match server 260.
[0051] At 630, a command is sent to the player client. This command causes the asynchronous game on the player client to start synchronously. When two clients start the game at approximately the same time, the game can be considered synchronous, where the approximately time can be 10 seconds, 5 seconds, 2 seconds, 1 second, 0.1 seconds, or less.
[0052] In some implementations, the instruction to start the game is received by the client. (Same-level ranking module 240) i It can receive commands and utilize game instance 230 i Execute the game launch callback. The callback can include parameters passed to other code (in this case, game copy 230). i The executable code is expected to call back (execute) the parameter at a given time. It can execute immediately, as in a synchronous callback, or at a later time, as in an asynchronous callback.
[0053] In some implementations, the peer ranking module 240i Another command can be sent to game server 250 to initiate the launch of the corresponding game instance 230 from game server 250. i The transmission of game data. In response to receiving the first instruction from the ranked server 260, the second instruction can be sent.
[0054] In some implementations, the instruction specifies the time when the game starts. For example, the instruction could specify 230 for each game instance. i The game should start at 9:00:00. In some implementations, the same-level ranking module 240... i It can receive instructions and launch the game at a specified time by executing a game start callback using a game copy at a specified time, or by using instructions initiated at a specified time.
[0055] In some implementations, the peer ranking module 240 i Another command can be sent to game server 250 to cause the game launch data to be transferred from game server 250 to the corresponding game instance 230. i The second instruction can be sent at a specified time or by using an instruction that initiates communication at the specified time.
[0056] Figure 7 This is a data flow diagram illustrating the data flow between components of a peer-ranked tournament system 200. The system shown includes two players, each with their own game instances (2301 and 2302) and peer-ranked tournament modules (2401 and 2402). Although only two players are shown, it should be understood that there may be more than two players.
[0057] At 705, each rank match module (2401 and 2402) sends a request to join a rank match. Players are then considered to be registering for a rank match. Players can enter the lobby until a suitable match is available. Rank match server 260 determines when and with whom to match.
[0058] For example, Player 1 attempts to join a match by notifying the ranked server 260, for example, via an application programming interface (API) call. The ranked server 260 begins searching for a match. Similarly, Player 2 can attempt to join a match by notifying the ranked server, for example, via an API call. In some implementations, while players are waiting, their client's user interface control can be transferred to their respective game copies (2301 and 2302), so that game copies (2301 and 2302) can display their own user interface during the matchmaking period. The ranked server 260 determines that Player 1 and Player 2 can be matched together. The matchmaking process can depend on many factors, such as relative skill and / or experience levels in the current or other games.
[0059] The first player can be considered the host and can initiate the first round. In some implementations, the same-ranked match module 240... i The authentication token can be passed to the ranking server 260, so the ranking server can verify the validity of the join request.
[0060] In 710, Ranked Server 260 and each peer Ranked Module (2401 and 2402) can perform a handshake to complete the join process. The handshake process can handle situations where a player has started matchmaking but leaves before they can be matched. Before initiating matchmaking, Ranked Server 260 communicates with peer Ranked Module 240. i Confirm all players are still waiting for their match. If the same-level ranking module is 240... i If there is no response, ranked server 260 can return to matchmaking for the player who did respond.
[0061] In 715, synchronization commands can be generated from ranked match server 260 and sent to each peer ranked match module (2401 and 2402). Synchronization commands can be generated and sent in response to a successful matchmaking process. Additionally, ranked match server 260 can deduct entry fees from the account associated with each player.
[0062] In 720, the ranked match server 260 can also send data including a match identifier (ID), player IDs, and game parameters. If peer ranked match modules (2401 and 2402) still have user interface controls, these controls can be passed to the individual game instances (2301 and 2302). The match ID can include a unique ID (e.g., a numeric identifier) for a given specific instance of the ranked match. The player ID can include a unique ID for a user entering the ranked match (e.g., a numeric ID). Game parameters can include any information used to configure the execution / start of each game instance. For example, game parameters can include time limits, rank, and rank skills (e.g., Time Limit = 3, Arena = Random, Rank_Skill = Disabled). The sent match ID and game parameters can be the same for each player, while the player ID can be different.
[0063] In 725, game parameters can be passed from each ranked match module (2401 and 2402) to each game instance (2301 and 2302).
[0064] In 730, each ranked match module (2401 and 2402) can launch the game via game copies (2301 and 2302). This can be done, for example, by executing a callback or other API call. In some cases, the callback can be executed using game parameters.
[0065] At 735, normal gameplay takes place simultaneously between each game instance (2301 and 2302) and game server 250.
[0066] In some implementations, players wait for a limited time (e.g., in the lobby) before being announced as having failed to find a match. In some implementations, the same-ranked match module 240... i Players can wait for a specified amount of time before being prompted to display an error, leave the lobby, or continue waiting. In some implementations, the ranked tournament creator or organizer can specify the maximum allowed wait time.
[0067] In some implementations, player client connection information is stored by game server 260. This allows disconnected clients to reconnect. Connection information may include API keys, Internet Protocol (IP) addresses and / or domain names, and the port used for connection. Existing tournament identities and ranked player identities can be used to identify players (during reconnection) and connect them via ranked server 260 for individual matchmaking.
[0068] In some implementations, the ranked tournament server 260 can provide: ranked tournament management for the developer portal, player matchmaking, payment processing and user balance management, video streaming, cheat / fraud detection, and game analytics.
[0069] In some implementations, in-game scores and final score reports are generated based on the normal course of the game.
[0070] In some implementations, the ranking server may generate one or more random numbers and / or seed numbers, and send or stream the same numbers and / or seed numbers to all participating clients for executing game instances. By having each game instance use the same random number, fairness between game instances can be enhanced.
[0071] Figure 3 This is a system block diagram of a system 300 having an exemplary media management server 310 that enables video streaming of ranking tournaments. The exemplary system 300 includes the above-mentioned references. Figure 2 The components also include a media management server 310. The media management server 310 interacts with a ranked match commentator 320, who may be a ranked match host, participant, or third party (also referred to as a streamer 320). The commentator 320 may be a client device. The media management server 310 can provide an automated virtual broadcast room for the ranked match commentator 320 to report on, for example, esports ranked matches. The media management server 310 receives video streams from clients and / or game status data from the ranked match server 260, and may allow commentators to generate unique content related to ranked matches. The commentator's video stream can be provided to viewing clients 330 and / or players 210 and / or used to assemble recommended broadcasts for the ranked match commentator 320. The media management server 310 can broadcast live video footage (as controlled by the ranked match commentator 320) to players 210 and / or viewing clients 330.
[0072] Figure 5 This is an exemplary graphical user interface (GUI) 500 for controlling and displaying streaming video of a tournament. The streaming video control and display 500 includes an interface for an implementation tool that provides the broadcaster with the performance to present ranked matches effectively and engagingly. The video control is available in a web browser and can provide the broadcaster with the following capabilities: automatically displaying replays of the best-performing player; selecting and streaming gameplay for each player based on player seed, round, matches that have entered a tiebreaker, and whether the player's opponent has finished; sorting video game order by round and / or seed; and displaying video replays of multiple players side-by-side for real-time comparison.
[0073] The video control panel 500 includes a video queue interface 510 for the broadcaster 320 to view, select, and play videos or clips. The video queue interface 510 allows the broadcaster to interact with and control the content of the stream currently playing him or her. The video queue interface 510 includes two components: the playing stream 510B and the queue 510A.
[0074] The playing stream 510B shows the broadcaster 320 the currently playing replay (e.g., a live video stream or video). This is a permanent space that allows the broadcaster 320 to monitor the content they are currently sharing, even when using a windowed preview stream or adjusting the replay in a way that is not shared with the audience.
[0075] Queue 510A gives broadcaster 320 the ability to control the order in which video segments are displayed or replayed. Broadcaster 320 can add individual video segments they want to display next, or change the order in which videos are played next. If broadcaster 320 chooses not to add anything to the queue, or if the queue becomes empty, for example, by streaming the video of one of the top three performing players 210, or the video of the player 210 whose score changed the most within a one-minute time period, the system can use cross-matching comparison to automatically stream a player's video.
[0076] The video control panel 500 includes a list of players 520 participating in ranked matches, and video captures of players 520 can be played back to a wider audience. The list of players 520 includes options 520A and 520B: 520A: Preview, 520B: Add replay of player 520 to queue 510A. The video control panel 500 further includes a preview space 530 for watching videos and a historical game replay list 540, which has options 540A and 540B: 540A: Preview, 540B: Add historical game replays to queue 510A.
[0077] In some implementations, the media management server 310 automatically breaks down the video captured at the player client 220 into high-energy moments and key clips, and combines recommended playbacks for the broadcaster 320. Therefore, the media management server 310 is capable of having automated functionality, acting as the broadcaster 320's own "behind-the-scenes analyst team." This allows the broadcaster 320 to work as a one-person team and easily select the correct footage to play without having to interrupt the live stream to find past footage or statistics. Automated analysis and features include replay ranking sorting, which ensures that replays and player lists appear in queue 510A in the order of their current ranking in ranked matches. This makes it easy to find replays for any player based on their position. Before watching the video, the broadcaster can know the rank of the players they have selected and what their game outcome might be.
[0078] Although some changes have been described in detail above, other modifications or additions are also possible.
[0079] One or more aspects or features of the subject matter described herein may be implemented in digital electronic circuits, integrated circuits, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof. These different aspects or features may include implementations in one or more computer programs executable and / or interpretable on a programmable system, which includes at least one programmable processor, at least one input device, and at least one output device. The at least one programmable processor may be dedicated or general-purpose, coupled to receive data and instructions from and send data and instructions to the storage system. The programmable system or computing system may include clients and servers. Clients and servers are typically geographically separated and typically interact via a communication network. The client-server relationship is established by means of computer programs running on their respective computers and having a client-server relationship with each other. The programmable system or computing system may include mobile devices such as tablets, telephones, laptops, gaming platforms, and other similar devices.
[0080] These computer programs, also referred to as programs, software, software applications, applications, components, or code, include machine instructions for a programmable processor and can be implemented using high-level procedural languages, object-oriented programming languages, functional programming languages, logic programming languages, and / or assembly / machine languages. As used herein, the term "machine-readable medium" refers to any computer program product, apparatus, and / or device for providing machine instructions and / or data to a programmable processor, such as disks, optical disks, memories, and programmable logic devices (PLDs), including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor. Machine-readable media can store such machine instructions non-volatilely, such as non-volatile solid-state memory or magnetic hard disk drives or any equivalent storage medium. Machine-readable media can alternatively or additionally store such machine instructions volatilely, such as processor caches or other random access memory associated with one or more physical processor cores.
[0081] To provide interaction with the user, one or more aspects or features of the subjects described herein can be implemented on a computer having a display device, a keyboard, and a pointing device, such as a cathode ray tube (CRT), liquid crystal display (LCD), or light-emitting diode (LED) monitor for displaying information to the user; and a keyboard and pointing device such as a mouse or trackball, through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user. For example, feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback; input from the user can be received in any form, including but not limited to acoustic, voice, or tactile input. Other possible input devices include, but are not limited to, touchscreens or other touch-sensitive devices, such as single-point or multi-point resistive or capacitive touchpads, voice recognition hardware and software, optical scanners, optical pointers, digital image capture devices, and associated interpretation software.
[0082] In the foregoing description and in the claims, phrases such as “at least one of…” or “one or more of…” may appear, followed by a linked list of elements or features. The term “and / or” may also appear in a list of two or more elements or features. Unless otherwise implicitly or explicitly contradicted by the context in which it is used, such phrases are intended to mean any element or feature listed alone, or any of those elements or features in combination with any other listed elements or features. For example, the phrases “at least one of A and B,” “one or more of A and B,” and “A and / or B” are intended to mean “A alone, B alone, or A and B together,” respectively. A similar interpretation applies to lists comprising three or more items. For example, the phrases “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, and / or C” are intended to mean “A alone, B alone, C alone, A and B together, A and C together, B and C together, or A and B and C together,” respectively. In addition, the use of the term "based on" in the claims is intended to mean "at least partially based on," thus allowing unreferenced features or elements to also be included.
[0083] The subject matter described herein can be implemented as systems, apparatus, methods, and / or articles according to desired configurations. The embodiments set forth in the foregoing description do not represent all embodiments consistent with the subject matter described herein. Rather, they are merely examples of aspects consistent with the described subject matter. Although some variations have been described in detail above, other modifications or additions are possible. In particular, further features and / or variations may be provided in addition to those set forth herein. For example, the above embodiments may involve various combinations and variations of the disclosed features and / or combinations and variations of several other features disclosed above. Furthermore, the logical flows depicted in the drawings and / or described herein do not necessarily require the specific order or sequence shown to achieve the desired results. Other embodiments are within the scope of the appended claims.
Claims
1. A method for synchronizing a virtual ranking match, comprising: sending, by the ranked match server, instructions to a first client and a second client to synchronously initiate gameplay of an asynchronous online video game including a first copy of the game executing on the first client and a second copy of the game executing on the second client, wherein the first copy of the game and the second copy of the game have different game states and are executed using the game server; receiving a first video stream and a second video stream from a ranked match server and at a media management server operatively coupled to the ranked match server, the first video stream and the second video stream being synchronized in response to the sending of the instruction, the first video stream comprising video of captured gameplay of the first copy of the game, and the second video stream comprising video of captured gameplay of the second copy of the game; as well as Providing simultaneous gameplay of a first copy of the game and a second copy of the game from a commentator client to a viewing client for side-by-side viewing by the viewing client, comprising: generating, by the media management server from the first video stream and the second video stream and in response to a first input from a commentator client, a comparative image comprising the first video stream and the second video stream displayed side by side; The media management server selects a plurality of key segments of the comparison image; Combining, by the media management server, at least a plurality of selected key segments of the compared images into a recommended broadcast video stream; The media management server sends the recommended broadcast video stream to the commentator client; changing, by the media management server in response to a second input from the commentator client, an order of one or more of the plurality of selected key segments in the recommended broadcast video stream to generate the broadcast video stream; and The broadcast video stream is provided by the media management server to the viewing client.
2. The method for synchronizing a virtual ranking match according to claim 1, wherein: The instructions cause gameplay to be initiated when received by the first client or the second client.
3. The method for synchronizing a virtual ranking match according to claim 1, wherein: Each of the first client and the second client includes a peer ranking match module that receives instructions and, in response to receiving the instructions, causes gameplay to be initiated by executing a start game callback.
4. The method for synchronizing a virtual ranking match according to claim 1, wherein: Each of the first client and the second client includes a peer ranking competition module, which receives the instruction and, in response to receiving the instruction, sends a second instruction to the game server to initiate the transmission of game data from the game server.
5. The method for synchronizing virtual ranking matches according to claim 1, wherein: The instructions specify the time at which the game is to be started.
6. The method for synchronizing virtual ranking matches according to claim 5, wherein: Each of the first client and the second client includes a peer-to-peer module, which receives the instruction and starts the game at a specified time by executing a start game callback.
7. The method for synchronizing virtual ranking matches according to claim 5, wherein: Each of the first client and the second client includes a peer-to-peer module, which receives the instruction and sends a second instruction to the game server at a designated time of startup to start the transmission of game data from the game server.
8. The method for synchronized virtual ranking competition according to claim 1, further comprising: The ranking match server sends the random number seed stream to the first client and the second client respectively, so as to be used for executing the first game copy and the second game copy.
9. A system for synchronizing virtual ranking matches, comprising at least one data processor; and A memory storing instructions, which, when executed by the at least one data processor, enable the at least one data processor to implement the method for synchronizing virtual ranking competitions according to any one of claims 1-8.
10. A computer-readable storage medium storing instructions, which, when executed by at least one data processor of at least one computing system, implements the method for synchronizing virtual ranking competitions according to any one of claims 1-8.
Citation Information
Patent Citations
Network dart game system for selecting players, and method for controlling same
CN102576450A
System and method for conducting online video game tournaments
CN103945912A