Success and victory of sports teams comes from planning and preparation. An important factor in planning is to determine the direction of play for all the players in all sectors. Further, all the players in all the sectors need to have a general understanding of team strategy and tactics. Generally, the coach drives the strategy and tactics. Currently, the coach's planning tools involve paper, a small portable whiteboard, or a wallboard. The coach can only focus on a specific position on the paper or board. Players in such positions feel involved in the plan, however, players in other parts of the board may not be interested as much because their positions do not play a part in the conversation. Consequently, the players can grow bored and disinterested.
Detailed descriptions of implementations of the present invention will be described and explained through the use of the accompanying drawings.
The technologies described herein will become more apparent to those skilled in the art from studying the Detailed Description in conjunction with the drawings. Embodiments or implementations describing aspects of the invention are illustrated by way of example, and the same references can indicate similar elements. While the drawings depict various implementations for the purpose of illustration, those skilled in the art will recognize that alternative implementations can be employed without departing from the principles of the present technologies. Accordingly, while specific implementations are shown in the drawings, the technology is amenable to various modifications.
The disclosed system and method enable multiple players and a coach to interact in a virtual game session. The system provides a virtual sports field, multiple virtual players associated with the multiple players, and multiple opposing virtual players, where a virtual player among the multiple virtual players is configured to be controlled by a player among the multiple players and the coach, while the multiple opposing virtual players are configured to be controlled by the coach. The system receives an input from the coach indicating a movement of the virtual player. The system can receive the input through a chat channel, an audio channel, through the drawing board, etc.
The system provides the input to the player among the multiple players controlling the virtual player. Upon providing the input to the player, the system receives an input moving the virtual player and renders the virtual player based on the input moving the virtual player. The system receives an input from the coach indicating a movement of the multiple opposing virtual players. Upon receiving the input from the coach indicating the movement of the multiple opposing virtual players, the system renders the multiple opposing virtual players based on the input from the coach indicating the movement of the multiple opposing virtual players.
The description and associated drawings are illustrative examples and are not to be construed as limiting. This disclosure provides certain details for a thorough understanding and enabling description of these examples. One skilled in the relevant technology will understand, however, that the invention can be practiced without many of these details. Likewise, one skilled in the relevant technology will understand that the invention can include well-known structures or features that are not shown or described in detail, to avoid unnecessarily obscuring the descriptions of examples.
Each player 140A can control one virtual player 120A, 120B, 120C, using the console 140B, while the coach 145A can control each virtual player 120A, 120B, 120C as well as all the opposing virtual players 130A, 130B, 130C using the console 145B. The consoles 140B, 145B can be displayed on a device associated with the user such as a computer, a mobile device, a tablet, a watch, smart glasses, etc. Alternatively, the consoles 140B, 145B can be gaming consoles. In addition, each player 140A and the coach 145A can control the players 120A, 120B, 120C, 130A, 130B, 130C using gestures on a touchscreen.
The player 140A can use the controls 150 to rotate the player or move the player in a particular direction, e.g., 150A (only one labeled for brevity). To run in a particular direction, e.g., 150A, the player can hold the arrow 150A. To quickly run in a particular direction, the player can double-click the arrow 150A and hold the arrow 150A.
By pressing the button A, the player 140A can indicate to the system that the player is about to select a teammate 120A, 120B, 120C to whom the player will pass the ball. The player 140A can select the teammate by selecting a corresponding number 1-12 on the console 140B. For example, if the player 140A selects number 1 on the console 140B, the player indicates to pass the ball to the goalie, or if the player selects number 8 on the console 140B, the player indicates to pass the ball to the teammate 120A.
By selecting the button B, the player 140A can indicate to the system to short-pass the ball to the selected teammate 120A. By selecting the button C, the player 140A can indicate to long-pass the ball to the selected teammate 120A. By selecting the button D, the player 140A can indicate to the system to shoot at the opposing team's goal.
The coach 145A can use the controls 160 to rotate any player 120A, 120B, 120C, 130A, 130B, 130C on the field, or move any player in a particular direction. For example, the coach 145A can use the numbers 1-11 on the console 145B to select a virtual player 120A, 120B, 120C to control. In addition, the coach can control the players 130A, 130B, 130C of the opposing team. To control the players of the opposing team, the coach can create multiple groups of players G1, G2, G3, G4. The group can include zero or more players 130A, 130B, 130C of the opposing team. After creating the groups of players G1, G2, G3, G4, the coach 145A can move the whole group of players using the controls 160. Removing multiple players at the same time, the coach can effectively and interactively manage all the players on the virtual field 110.
The coach 145A can record the session, upload the session to a server, e.g., a cloud, create a link to the recording, and share with the players participating in the session or other players for later review and learning.
The system can provide tools to the coach to comment on the recording of an actual game, or to comment on the virtual field 110, 200. The virtual field 110, 200 can represent a game that the coach is currently developing with the players or can be a recorded virtual game. The system can provide drawing tools such as arrows 210, 220, 230 and/or boxes 240. The system can also provide an audio, a chat channel, or a drawing board for the coach and the players to interact.
Upon receiving a selection of the buttons 250, 260, the system can render the recording of a game or the virtual field 110, 200 in a portrait or landscape mode, respectively. In addition, upon receiving the selection of the button 270, the system can provide the audio and video on a monitor, as described in this application.
The adapter 310 can be easily portable and can be carried to various locations whether in a hotel room, a communal restaurant, or a meeting room. In addition to connecting the adapter 310 to the HDMI port 320, the adapter 310 can also connect to the Wi-Fi. The adapter 310, upon connecting to the Wi-Fi, can connect to a remote software, such as a cloud software, that can provide the virtual session.
In one embodiment, the server 330 can perform most of the processing and rendering of the virtual session and can send the information regarding the virtual session to the adapter 310 and/or a device 340 associated with the user, such as a mobile device or a tablet. The user can be one of the players and/or the coach. The adapter 310 can forward the information to the monitor 300, which can present audio and visual information to the players. The device 340 associated with the user can communicate with the server 330 through the adapter 310 or directly. The device 340 can provide controls to the users, receive user input, and send the user input to the server 330 either directly or through the adapter 310. The server 330 can process the user input, update to the virtual session, and send the updated information to the adapter 310 for showing on the monitor 300 and/or to the user device 340.
The device 340 associated with the user can receive a rendering of the virtual session from the server 330, including rendering of the controls, or the device 340 can render the controls locally. Alternatively, the device 340 can also perform the rendering and/or processing locally.
The system can provide a user interface element 430 where the coach can define the game settings. By selecting user interface element 440, the coach can define who the players in the game are. For example, the coach can invite a group of players to the virtual session. By selecting the user interface element 450, the coach can define who the opposing players are. For example, the coach can invite the same or a different group of players to play the opponents in the virtual session. By selecting the user interface element 460A, 460B, 460C the coach can define the visual appearance of the players and opponents, such as the color of their jerseys.
In the user interface 470, the coach can choose whether to view only half the virtual field, or the full virtual field.
In the user interface 480, the coach can determine how many players and how many opponents are participating on each team. The system can provide a user interface element 490. Upon receiving a selection of the user interface element 490, the system can provide a list 405 of available drills and tactics. The list 405 can include various drills and tactics that can be represented numerically 405A, 405B (only two labeled for brevity), with or without a textual explanation 405C, 405D (only two labeled for brevity). In addition, the coach can send email, manage the team schedule, post messages to chat, etc., using the disclosed system.
In addition, the system can provide drawing and text entry tools in the menu 540, such as arrows, balls, and/or various geometric shapes. The system can provide a user interface element 550 that enables the coach to create the title of the drill. Further, the system can provide a user interface element 560 that enables the coach to describe the drill. The system can store the created drill and offer it in the list 405 in
In step 710, the processor can receive an input from the first participant indicating a state of the virtual participant. The processor can receive the input through a chat channel, an audio channel, through the user interface, etc. For example, the first participant can draw an arrow indicating a motion of the virtual participant. The state of the virtual participant can include an action such as movement of the virtual participant, orientation of the virtual participant, moving the ball in a particular direction such as spiking, setting, kicking, throwing of the ball, etc.
In step 720, the processor can provide the input to the participant among the multiple participants controlling the virtual participant, such as by rendering the drawing provided by the coach, sending the audio to the participant, sending a public message or a private message to the participant by a chat channel, etc.
In step 730, the processor, upon providing the input to the participant, can receive an input changing the state of the virtual participant from the participant. For example, upon receiving an indication from the coach to move the virtual player towards the opposing team's goal, the participant can move the virtual player as directed.
In step 740, the processor can render the virtual participant based on the input changing the state of the virtual participant. For example, the processor can render the virtual player in a new position. The rendering can be photorealistic or can be abstract such as representing the player using a geometric shape.
In step 750, the processor can receive an input from the first participant indicating a state of the multiple opposing virtual participants. In other words, the first participant, e.g., the coach, can control actions of the opposing players, such as their orientation, movement, and/or handling of the ball.
In step 760, upon receiving the input from the first participant indicating the state of the multiple opposing virtual participants, the processor can render the multiple opposing virtual participants based on the input from the first participant indicating the movement of the multiple opposing virtual participants. For example, the coach can indicate the motion of the opposing players, and the processor can render the opposing players moving according to the coach's instructions.
The processor can generate and provide a QR code specific to one virtual session, were scanning the QR code enables participation in the virtual session. The processor can receive an indication to create a virtual session such as an indication from the coach. The virtual session can be a game planning session, a virtual game, a review of a recording of a virtual or an actual game, etc. The processor can provide a QR code associated with the virtual session on a display. A device associated with a participant can scan the QR code. Upon scanning the QR code, the device associated with the participant can provide an interface to the virtual session. For example, upon scanning the QR code, the device can activate an application running on the device and associated with the disclosed system that presents the specific virtual session associated with the QR code. The interface can include a control configured to change a state associated with the virtual participant on the virtual field. Changing the state of the virtual player can include moving the virtual player via a normal or fast run, changing the virtual player's orientation, specifying an action to perform with the ball such as serving, receiving, setting, spiking, throwing, or kicking. For example, the action can include shooting the ball via a short pass, long pass, etc.
The processor can enable grouping of participants so that the first participant, e.g., the coach, can control the whole group. The participants can be the players or the opposing team players. The processor can receive an indication to create a group of opposing virtual participants from the multiple opposing virtual participants. Based on the indication, the processor can create the group of opposing virtual participants, where the group of opposing virtual participants is configured to be controlled by the first participant. The group can include one or more of the multiple opposing virtual participants. The processor can receive an input from the first participant indicating a state, e.g., motion, of the group of opposing virtual participants. The processor can render the group of opposing virtual participants based on the indicated state.
The processor can simulate a state of opposing participants to relieve the first participant from having to control multiple opposing players. The processor can receive an indication to simulate a motion of at least a portion of the multiple opposing virtual participants. For example, the code can indicate which opposing players the processor should simulate. The processor can obtain a state associated with the participant among the multiple participants. Based on the state associated with the participant among the multiple participants, the processor can simulate the motion of at least the portion of the multiple opposing virtual participants. The processor can render at least the portion of the multiple opposing virtual participants based on the simulation.
The system can include an intermediary device such as an HDMI adapter configured to interface between a server and a monitor to enable the monitor to display the virtual session, without the monitor running an application associated with the system. The processor can receive an indication from an intermediary device to initiate the virtual session. The processor can provide an indication of the virtual field, the multiple virtual participants, and the multiple opposing virtual participants to the intermediary device. The intermediary device can cause a rendering of the virtual field, the multiple virtual participants, and the multiple opposing virtual participants on a display, such as a TV monitor.
The processor can record the virtual session including multiple actions associated with the multiple participants and multiple actions associated with the multiple opposing virtual participants to obtain a recording. The processor can create a link to the recording and can share the link among the players for later review. In addition, the processor can provide links to recorded games, such as games played by the team or a different team, including a professional team.
The processor can obtain a recording of a game, such as a virtual game or an actual game played by the team or a different team such as a professional team. The processor can enable the first participant to provide commentary associated with the game by providing a drawing tool and an audio channel. The processor can receive a drawing from the first participant and an audio. The processor can provide the audio to the participants via the audio channel. The processor can render the drawing from the first participant over the recording of the game.
The drawing tools 810 can enable the coach or the players to draw geometric shapes such as arrows, circles, squiggly lines, rectangles, etc. to indicate an action. The drawings can also be color-coded using colors 810A.
Using the virtual session 800, the coach and the players can express their thoughts and plans of action in the virtual session 800, such as moving the players, and/or passing the ball. When the coach can see the overall picture and plans of the players, the coach can improve and modify the tactics of the whole team.
The recording button 840 enables the coach or players to record the virtual session 800. The playback button 830 enables the coach or players to replay the recording virtual session 800, or to replay video of a previously recorded game 870. At the end of virtual session 800, the system can generate a link to the recording, and the coach can provide a link to a player.
The QR code 850 enables a player to join the game as described in this application. Player detail 880 can include the name and position of the player. Player status 890 can indicate whether the player has joined the game. For example, the player status 890 can indicate using color coding whether the player has joined the game, e.g. by using green for a player that has joined, and red for a player that is absent.
Selecting button 920 enables recording of the virtual session. Selecting button 930 enables the console 900, 910 to scan a QR code and thus join the virtual session. Button 935 is the microphone, and toggling the button enables muting an unmuting of the microphone. Selecting button 940 enables the coach and the player to exit the virtual session. Buttons 950A, 950B, 950C enable playing, rewinding, and fast forwarding, respectively, a recording.
Selecting button 960 resets the virtual player positions to the starting formation. Selecting button 970 enables moving the ball from the virtual player currently in control of the ball to another virtual player. Button 980 can control the motion of a virtual player.
The coach console 900 can enable the coach to group the virtual players 5, 9, 13 into multiple groups, such as four groups as shown in
Selecting the button 990 on the player console 900 enables the player to indicate which virtual player to pass the ball to. For example, the player can toggle the button 990, then select the virtual player to whom to pass the ball, and then select the button 905 to indicate to release the ball to the virtual player. Alternatively, the player can select the virtual player to whom to pass the ball, and then select the button 990 to indicate to pass the ball. Selecting the button 915 indicates to shoot the ball at the goal.
Once the coach selects the formations, the server can update the website to show the selected formations 1010, 1020 in the user interface 1030. The user interface 1030 can be presented on a mobile device of a user, on a monitor visible to all players, or on a monitor available to one or more players. The server can also present a portion of the information on the coach console 900 and player console 910. The coach console 900 can show the opposing virtual players that the coach can control and their formation 1020, while the player console 910 can show the multiple virtual players formation 1010.
The computer system 1100 can take any suitable physical form. For example, the computing system 1100 can share a similar architecture as that of a server computer, personal computer (PC), tablet computer, mobile telephone, game console, music player, wearable electronic device, network-connected (“smart”) device (e.g., a television or home assistant device), AR/VR systems (e.g., head-mounted display), or any electronic device capable of executing a set of instructions that specify action(s) to be taken by the computing system 1100. In some implementation, the computer system 1100 can be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) or a distributed system such as a mesh of computer systems or include one or more cloud components in one or more networks. Where appropriate, one or more computer systems 1100 can perform operations in real-time, near real-time, or in batch mode.
The network interface device 1112 enables the computing system 1100 to mediate data in a network 1114 with an entity that is external to the computing system 1100 through any communication protocol supported by the computing system 1100 and the external entity. Examples of the network interface device 1112 include a network adaptor card, a wireless network interface card, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, bridge router, a hub, a digital media receiver, and/or a repeater, as well as all wireless elements noted herein.
The memory (e.g., main memory 1106, non-volatile memory 1110, machine-readable medium 1126) can be local, remote, or distributed. Although shown as a single medium, the machine-readable medium 1126 can include multiple media (e.g., a centralized/distributed database and/or associated caches and servers) that store one or more sets of instructions 1128. The machine-readable (storage) medium 1126 can include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the computing system 1100. The machine-readable medium 1126 can be non-transitory or comprise a non-transitory device. In this context, a non-transitory storage medium can include a device that is tangible, meaning that the device has a concrete physical form, although the device can change its physical state. Thus, for example, non-transitory refers to a device remaining tangible despite this change in state.
Although implementations have been described in the context of fully functioning computing devices, the various examples are capable of being distributed as a program product in a variety of forms. Examples of machine-readable storage media, machine-readable media, or computer-readable media include recordable-type media such as volatile and non-volatile memory devices 1110, removable flash memory, hard disk drives, optical disks, and transmission-type media such as digital and analog communication links.
In general, the routines executed to implement examples herein can be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions (collectively referred to as “computer programs”). The computer programs typically comprise one or more instructions (e.g., instructions 1104, 1108, 1128) set at various times in various memory and storage devices in computing device(s). When read and executed by the processor 1102, the instruction(s) cause the computing system 1100 to perform operations to execute elements involving the various aspects of the disclosure.
The terms “example”, “embodiment,” and “implementation” are used interchangeably. For example, reference to “one example” or “an example” in the disclosure can be, but not necessarily are, references to the same implementation; and, such references mean at least one of the implementations. The appearances of the phrase “in one example” are not necessarily all referring to the same example, nor are separate or alternative examples mutually exclusive of other examples. A feature, structure, or characteristic described in connection with an example can be included in another example of the disclosure. Moreover, various features are described which can be exhibited by some examples and not by others. Similarly, various requirements are described that can be requirements for some examples but no other examples.
The terminology used herein should be interpreted in its broadest reasonable manner, even though it is being used in conjunction with certain specific examples of the invention. The terms used in the disclosure generally have their ordinary meanings in the relevant technical art, within the context of the disclosure, and in the specific context where each term is used. A recital of alternative language or synonyms does not exclude the use of other synonyms. Special significance should not be placed upon whether or not a term is elaborated or discussed herein. The use of highlighting has no influence on the scope and meaning of a term. Further, it will be appreciated that the same thing can be said in more than one way.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import can refer to this application as a whole and not to any particular portions of this application. Where context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or” in reference to a list of two or more items covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list. The term “module” refers broadly to software components, firmware components, and/or hardware components.
While specific examples of technology are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative implementations can perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or sub-combinations. Each of these processes or blocks can be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks can instead be performed or implemented in parallel or can be performed at different times. Further, any specific numbers noted herein are only examples such that alternative implementations can employ differing values or ranges.
Details of the disclosed implementations can vary considerably in specific implementations while still being encompassed by the disclosed teachings. As noted above, particular terminology used when describing features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific examples disclosed herein, unless the above Detailed Description explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed examples, but also all equivalent ways of practicing or implementing the invention under the claims. Some alternative implementations can include additional elements to those implementations described above or include fewer elements.
Any patents and applications and other references noted above, and any that may be listed in accompanying filing papers, are incorporated herein by reference in their entireties, except for any subject matter disclaimers or disavowals, and except to the extent that the incorporated material is inconsistent with the express disclosure herein, in which case the language in this disclosure controls. Aspects of the invention can be modified to employ the systems, functions, and concepts of the various references described above to provide yet further implementations of the invention.
To reduce the number of claims, certain implementations are presented below in certain claim forms, but the applicant contemplates various aspects of an invention in other forms. For example, aspects of a claim can be recited in a means-plus-function form or in other forms, such as being embodied in a computer-readable medium. A claim intended to be interpreted as a mean-plus-function claim will use the words “means for.” However, the use of the term “for” in any other context is not intended to invoke a similar interpretation. The applicant reserves the right to pursue such additional claim forms in either this application or in a continuing application.