U.S. Pat. No. 10,950,055
VIDEO GAME CONTROLLED BY PLAYER MOTION TRACKING
AssigneeFacebook Technologies, LLC
Issue DateJune 7, 2019
Illustrative Figure
Abstract
A rhythm-based video game (“game”) is disclosed. In the game, a player slashes blocks representing musical beats using a pair of energy blades resembling a lightsaber. A gaming console renders multiple digital objects, e.g., digital blocks, digital mines and digital obstacles, that are approaching a player in a virtual space. The gaming console also renders a digital representation of an instrument, e.g., a lightsaber (“digital saber”), using which the player slashes, cuts or otherwise interacts with the digital blocks to cause a digital collision between the digital saber and the digital blocks. The player can score by slashing the digital blocks, not hitting the digital mines and avoiding the digital obstacles. The game presents the player with a stream of approaching digital objects in synchronization with music, e.g., a song's beats, being played in the game. The pace at which the digital blocks approach the player increases with the beats.
Description
DETAILED DESCRIPTION The disclosure is related to a video game (“game”). In the game a player interacts with digital objects that approach the user in a 3D corridor. Interaction occurs via digital collision between a digital element controlled by the player. Control of the digital element is based on body tracking. In some embodiments, body tracking is performed via a worn or held peripheral that tracks its own movement relative some other reference point. In some embodiments, a depth camera or room-mapping cameras (e.g., Playstation Camera, Microsoft Kinect, LeapMotion, or equivalents) captures video of the player and uses computer vision techniques to identify body positions of the user. The game presents the player with a stream of approaching digital objects and the user causes the digital element to collide with the digital objects based on use of body tracking. Digital collisions with different types of digital objects and from different angles cause a variety of game actions to occur. In some embodiments, the game further tracks the motion of the user's body and shifts a player location in game corresponding to body movements. Movement of the player location enables the player to avoid digital obstacles. An embodiment of the disclosure is related to a rhythm-based video game. In the rhythm-based video game a player slashes blocks representing musical beats using one or a pair of energy blades resembling a lightsaber (the digital element). A gaming console renders multiple digital objects, e.g., a digital representation of a block (“digital block” or “block”), that are moving in a specified direction, e.g., in a direction towards a user or player. The gaming console also renders a digital representation of an instrument, e.g., a digital representation of a sword resembling a lightsaber (“digital saber”), using which the player slashes, cuts or otherwise interacts with ...
DETAILED DESCRIPTION
The disclosure is related to a video game (“game”). In the game a player interacts with digital objects that approach the user in a 3D corridor. Interaction occurs via digital collision between a digital element controlled by the player. Control of the digital element is based on body tracking. In some embodiments, body tracking is performed via a worn or held peripheral that tracks its own movement relative some other reference point. In some embodiments, a depth camera or room-mapping cameras (e.g., Playstation Camera, Microsoft Kinect, LeapMotion, or equivalents) captures video of the player and uses computer vision techniques to identify body positions of the user. The game presents the player with a stream of approaching digital objects and the user causes the digital element to collide with the digital objects based on use of body tracking. Digital collisions with different types of digital objects and from different angles cause a variety of game actions to occur. In some embodiments, the game further tracks the motion of the user's body and shifts a player location in game corresponding to body movements. Movement of the player location enables the player to avoid digital obstacles.
An embodiment of the disclosure is related to a rhythm-based video game. In the rhythm-based video game a player slashes blocks representing musical beats using one or a pair of energy blades resembling a lightsaber (the digital element). A gaming console renders multiple digital objects, e.g., a digital representation of a block (“digital block” or “block”), that are moving in a specified direction, e.g., in a direction towards a user or player. The gaming console also renders a digital representation of an instrument, e.g., a digital representation of a sword resembling a lightsaber (“digital saber”), using which the player slashes, cuts or otherwise interacts with the digital blocks to cause a digital collision between the digital saber and the digital blocks. The game presents the player with a stream of approaching digital blocks in synchronization with beats of music, e.g., a song's beats and notes, being played in the game. As the beat picks up in the music, the pace at which the digital blocks approach the player can increase.
A game action occurs in response to the digital collision. The game action can be any of an increase or decrease in score of the player, an increase or decrease in energy of the player, a gain or loss of life of the player in the game, an increase or decrease in a rate at which the score changes, an increase or decrease in the pace at which the blocks move towards the player, etc. The game can end based on multiple factors, such as after a specified time period, when the player runs out of energy or lives, or when the player issues a command to stop the game. The video game can be implemented as a two-dimensional (2D) video game, a three-dimensional (3D) video game, a virtual reality (VR) game, or an augmented reality (AR) game. In some embodiments, the gaming console is configured to implement the video game as a VR game.
FIG. 1is a block diagram of an environment100in which the rhythm-based video game can be implemented. The environment100includes a gaming console105which executes a rhythm-based video game, such as the one described above. In some embodiments, the gaming console105can be a computing device having a processor and memory, and the processor executes instructions stored in the memory to present the game to a player110on a display device115. The display device115supports 2D and/or 3D rendering of the game. In some embodiments, the player110may have to wear 3D glasses (not illustrated) to experience the game in 3D. The gaming console105supports a VR implementation of the game. In the VR implementation, an apparatus such as a headset120may have to be used by the player110to experience the game in VR.
The headset120is head-mounted device, which is used to track the orientation or position of a body or head of the player110. The headset120has one or more display devices that presents the game in VR. The headset120can also have one or more sensors that are used to determine and transmit coordinates of the position of the player110to the gaming console105. Examples of such sensors include gyroscopes, accelerometers, structured light systems, depth sensing cameras, magnetic position sensors, and eye tracking sensors. Sensors can be located in one or more locations, e.g., integrated with the headset120, be worn by the player110anywhere on the body, integrated with a motion controller125, or part of other equipment worn by the player110. The gaming console105establishes the position of the player110in a 3D virtual space by translating the coordinates received from the headset120to coordinates in the 3D virtual space. The coordinates received from the headset120can also help in determining different positions or actions of the player110, e.g., whether the player110is sitting, standing, ducking, jumping, moving, etc. The headset120may include a microphone to receive any audio input from the player110or the surroundings of the player110. The headset120may include one or more speakers that outputs audio to the player110, such as the song being played in the game. The headset120can communicate with the gaming console105wirelessly or using wired means.
The environment100also includes a hand-held or hand-worn apparatus such as a motion controller125, which is used to track an orientation, position and movement of the hand of the player110. The motion controller125includes one or more sensors, e.g., such as the ones mentioned above, that track the orientation, position and motion of the hand of the player110(examples include an Oculus Touch, a Samsung Gear controller, a PlayStation Move, or a Nintendo Switch controller). In some embodiments, the motion controller includes a magnetic position sensor that senses a position of the motion controller125in relation to a non-hand-held peripheral, e.g., headset120. The motion controller125transmits the coordinates of the hand and/or the movement of the hand to the gaming console105, which then translates the movement to the 3D virtual space. The motion controller125can also include a haptic feedback mechanism that provides haptic feedback, e.g., when the player110slashes the digital block. In some embodiments, the environment100may include more than one motion controller125, e.g., a pair of motion controllers. The player110can hold one motion controller in one hand and the other in the other hand. In some embodiments, a single motion controller125is held in both hands. In a two-player game one player can hold one motion controller and the other player can hold the other motion controller. The motion controller125can be of any shape, size or dimension that is suitable to be held in the hand of a player. The motion controller125can communicate with the gaming console105wirelessly or using wired means. The motion controller125can also communicate with other devices, such as headset120, wirelessly or using wired means.
In the rhythm-based video game, the gaming console105establishes a 3D virtual space, such as the 3D virtual space205ofFIG. 2. The 3D virtual space205includes a position of the player110, e.g., which is determined based on the coordinates of the position of the player110obtained from the headset120. The 3D virtual space205includes a proximate end210that is proximate to the player110and a distal end215opposite to the proximate end210. A portion of the proximate end210corresponds to the position of the player110. In some embodiments, the player may calibrate the controller or the virtual space205to themselves. Calibration may be performed by the hardware, or manually by the player.
The gaming console105renders multiple digital objects, e.g., a digital block220, that are approaching the player110from the distal end220. In some embodiments, the digital block220may appear bigger in size as it approaches the proximate end210. The gaming console105also renders a digital representation of an instrument, e.g., a digital saber, using which the player110can slash, cut or otherwise interact with the digital block220to cause a game action to occur in the game. The game presents the player110with a stream of the digital blocks in synchronization with beats of music, e.g., a song's beats and notes, being played in the game. As the beat picks up in the music, the pace at which the digital blocks approach the player110can increase.
In the VR implementation, the motion controller125can be a VR based motion controller, which is represented as a digital saber in the 3D virtual space205. The player110uses a pair of VR motion controllers to wield a pair of digital lightsabers, e.g., a first digital saber230and a second digital saber235, in the 3D virtual space205to slash the digital blocks. The digital blocks can be of various types, e.g., a first type and a second type, which the player110may interact with using the two different digital sabers. A specific type of digital blocks should be interacted with using a specified digital saber. In some embodiments, the first type of digital blocks can be of a first color and may have to be interacted with using a digital saber of the corresponding color, and the second type of digital blocks can be of a second color and may have to be interacted with using a digital saber of the corresponding color. For example, each digital block is colored red or blue to indicate whether the red or blue digital saber should be used to slash it.
In some embodiments, each of the digital blocks is marked with a direction indicator225, which indicates the direction to slash through the digital block. For example, a directional indicator225such as an arrow can indicate one of eight possible directions to slash through the digital block220. In another example, a directional indicator225such as a dot can indicate that the player110may slash through the digital block220in any direction. When a digital block is slashed by a digital saber, the digital block is destroyed, and a score is awarded based on one or more factors, e.g., timing accuracy and physical positioning of the cut.
The game can also present digital objects other than digital blocks, which the player110should not hit. For example, the game can present a digital object such as a “digital mine”240that the player110should not hit. In another example, the game can present obstacles such as a digital representation of an oncoming wall (“digital obstacle”)245that the player110or the head of the player110should avoid. The player110can avoid the digital obstacle245approaching the proximate end210by moving out of the path of digital obstacle245, which can be done by stepping to the right or left of the digital obstacle245or by ducking below the digital obstacle245. For example, if the player110steps to the right (in the real world) of the oncoming digital obstacle245, the gaming console105shifts at least a portion of the 3D virtual space205to the right of the player110so that the digital obstacle ends up passing through the left of the player110at the proximate end210.
The sensors worn by the player110, e.g., in the headset120, motion controller125or elsewhere, can transmit the coordinates of the player110, portion of the body of the player110, such as a head of the player110, movements of the player110, or movements of a portion of the body of the player110to the gaming console105. The gaming console105translates the received coordinates to the coordinates in the 3D virtual space205and determines the action of the player110, e.g., whether there was a digital collision between a digital block and a digital saber, whether there was a digital collision between a digital obstacle and a digital saber, whether there was a digital collision between a digital wall and any portion of the body of the player110(which corresponds to a portion of the 3D virtual space in the proximate end210), whether the player110moved out of the path of the approaching digital obstacles, etc., which result in a specified game action.
A game action can occur in response to a digital collision between a digital saber and a digital object. The game action can be any of an increase or decrease in score of the player, an increase or decrease in energy of the player110, a gain or loss of life of the player110in the game, an increase or decrease in a rate at which the score changes, an increase or decrease in the pace at which the digital objects are created or move towards the player110, etc. Different types of game actions can occur in response to different events. For example, a score of the player110can increase in response to a digital collision between a digital block of a specified color and the digital saber of the specified color. In another example, a score of the player110can decrease in response to a digital collision between a digital block of a specified color and a digital saber of a color other than the specified color. In another example, a score of the player110may increase, or increase by an amount above a threshold, in response to a digital collision between a digital block and a digital saber in which a contact angle of the digital saber with the digital block is consistent with the direction indicated on the digital block.
In another example, a score of the player110may not increase, or increase by an amount below a threshold, in response to a digital collision between a digital block and a digital saber in which a contact angle of the digital saber with the digital block is not consistent with the direction indicated on the digital block. In another example, a score of the player110may not increase, or increase by an amount below a threshold, in response to a digital collision between a digital block and a digital saber whose collision impact is below a specified threshold.
In some embodiments, the collision impact can be measured as a function of how hard, fast or strong the player110swings the motion controller125to slash the digital block220. In another example, a score, energy or life of the player110can decrease in response to a digital collision between a digital mine and a digital saber. In another example, a score, energy or life of the player110can decrease in response to a digital collision between a digital obstacle and a digital saber or the player110. In some embodiments, a game action can also occur if there is no digital collision for a specified duration. For example, if the player110does not slash through any of the digital blocks for a duration exceeding a specified threshold, a score, energy or life of the player110can decrease, or the rate at which the score, energy or life increases can be decreased. The game can be configured to calculate the score, energy, or a life of the player110using various factors, including the above specified factors.
The game can end based on one or more factors, such as after a specified time period, when the player runs out of energy or lives, when the player110has completed one or more levels of the game, when the music stops playing, or when the player issues a command to stop the game.
As mentioned above, the game can be implemented as a 2D game, 3D game, a VR game, or an AR game. The entities of the environment100can be adjusted, adapted or configured for a specific implementation. For example, while the environment100described providing the VR gaming experience through the headset120, in some embodiments, the VR gaming experience can also be created through specially designed rooms with multiple large screens.
In some embodiments, some of the entities of the environment100may have to be calibrated before being able to play the game to obtain the coordinates of the position of the player110. For example, a setup process in the game may ask the player110to turn the headset120and perform some gestures, such as moving from left to right, right to left, ducking, jumping, or talking. In another example, the setup process in the game may ask the player110to move the motion controller in each hand to perform a gesture, such as raising the motion controller, swinging the hand with the motion controller to hit a digital object displayed on the display device115or the headset120. Once the calibration is complete, the gaming console105establishes the 3D virtual space205after which the player110can proceed to play the game.
In some embodiments, the user is able to customize their game experience. Examples include changing the graphical representation on the digital element (the digital sabers)230/235. The digital sabers230/235may change color, change in graphical design and through use of various “skins.” The sabers230/235may also change in shape or character causing the manner in which the user causes digital collisions to shift. In some embodiments, a player avatar is displayed to the user. The player avatar is customizable using skins and different digital models. In some embodiments, the user is able to generate gameplay via attaching a “beat map” to an audio file. A beat map includes data describing each digital object220,240,245that is generated in the 3D virtual space205, at what point in the audio file the objects220,240,245are generated, the speed of the objects220,240,245, the type/color of each object220,240,245, the directionality225of each object220,240,245, and a position and vector in the 3D virtual space205of each object220,240,245. Given a beat map and a corresponding audio file, any song can be played in the game. A digital distribution system may also provide packs or groups of beat maps and audio files to play with the game.
FIG. 3is a flow diagram of a process300for presenting the game to a player, consistent with various embodiments. In some embodiments, the process300can be implemented in the environment100ofFIG. 1. The player110can complete the setup process to calibrate the motion controller and the headset120. In some embodiments, the player110may need to complete the calibration only once per session, e.g., when the gaming console105is powered on and prior to playing a first game and need not calibrate the devices again unless the gaming console105is powered off and powered on again. In some embodiments, the devices may have to be calibrated when the player changes. In some embodiments, the devices may have to be calibrated when there are environmental changes around the player110, e.g., a change in intensity of light in the room where the player110plays the game, a change in distance between the player110and the gaming console105, a change in the position of the furniture in the room where the game is played. After the devices are calibrated, the gaming console105will have the necessary coordinates to establish the 3D virtual space in which the game is played.
At block305, the gaming console105renders the 3D virtual space305in which the game is to be played. The 3D virtual space305includes a digital position of the player110.
At block310, the gaming console105renders a digital element, e.g., a digital saber, in the 3D virtual space305relative to the digital position of the player110. The coordinates and the orientation of the digital saber relative to the digital position correspond to an orientation and the coordinates of the physical hand of the player110relative to the physical body of the player110. The gaming console105obtains the orientation and the coordinates of the physical hand of the player110relative to the physical body of the player110using the motion controller125held in the hand of the player110and the headset120worn by the player110.
At block315, the gaming console105renders multiple digital objects that approach the digital position of the player110from a distance in the 3D virtual space. The digital objects can include digital blocks that the player110should slash using the digital element. In some embodiments, the digital objects can include digital mines that the player110should not hit, and digital obstacles that the player110should avoid.
At block320, the gaming console105causes a game action to occur in response to a digital collision between the digital element and one or more of the digital objects. The different type of game actions that can occur are described at least with reference toFIG. 1.
FIG. 4is a flow diagram of a process400for presenting the game to a player, consistent with various embodiments. In some embodiments, the process400can be implemented in the environment100ofFIG. 1. The process400assumes that the headset120and the motion controllers are calibrated. At block405, the gaming console105renders a 4D virtual space in which the game is to be played. The 4D virtual space205includes a proximate end210that is proximate to the player110and a distal end215opposite to the proximate end210. In some embodiments, a portion of the proximate end210corresponds to the digital position of the player110.
At block410, the gaming console105renders a digital representation of an instrument to be used by the player110, e.g., the first digital saber230, to play the game. The coordinates and the orientation of the first digital saber230relative to the digital position of the player110correspond to an orientation and the coordinates of the physical hand of the player110relative to the physical body of the player110.
At block415, the gaming console105instantiates multiple digital blocks in the 4D virtual space205.
At block420, the gaming console105associates each of the digital blocks with a direction indicator. In some embodiments, the direction indicator indicates the direction in which the digital block is to be slashed by the player110.
At block425, the gaming console105plays an audio file having a musical beat, e.g., a song.
At block430, the gaming console105causes the multiple digital objects to travel from the distal end215to the proximate end210in the 4D virtual space205in synchronization with the musical beats. For example, the rate at which the digital blocks are created or the pace at which the digital blocks approach the proximate end210depend on the musical beats. As the beat picks up in the song, the pace at which the digital blocks approach the player can increase.
At block435, the gaming console105causes a game action to occur based on an interaction between the first digital saber230and one or more of the digital blocks. The different type of game actions that can occur are described at least with reference toFIG. 1.
FIG. 5is a flow diagram of a process500for presenting the game to a player, consistent with various embodiments. In some embodiments, the process500can be implemented in the environment100ofFIG. 1. The process500assumes that the headset120and the motion controllers are calibrated. At block505, the gaming console105renders a 3D virtual space in which the game is to be played. The 3D virtual space205includes a proximate end210that is proximate to the player110and a distal end215opposite to the proximate end210. In some embodiments, a portion of the proximate end210corresponds to the digital position of the player110.
At block510, the gaming console105renders a digital representation of instruments to be used by the player110, e.g., the first digital saber230and the second digital saber235, to play the game. For example, the first digital saber230can correspond to the motion controller held by the player110in the left hand and the second digital saber235can correspond to the motion controller held by the player110in the right hand. The coordinates and the orientation of the digital sabers relative to the digital position of the player110correspond to an orientation and the coordinates of the physical hands of the player110relative to the physical body of the player110. The digital sabers can have different characteristics. For example, the first digital saber230can be a red colored saber and the second digital saber235can be a blue colored saber.
At block515, the gaming console105renders multiple digital objects traveling in the 3D virtual space205from the distal end215to the proximate end210. The digital blocks can include two different sets of blocks. In some embodiments, the first set of digital blocks can be of a first color and the second set of digital blocks can be of a second color. For example, each digital block is colored red or blue to indicate whether the red or blue digital saber should be used to slash it.
At determination block520, the gaming console determines whether there was an interaction, e.g., digital collision, between the red digital blocks and the red saber230or between the blue digital blocks and the blue saber235.
If the gaming console105determines that at least one of the conditions in block520is true, at block525, the gaming console105causes a first type of game action, and the control is transferred to block515. For example, the first type of game action can be to increase a score of the player110in response to a digital collision between a digital block and the digital saber of the same color.
At determination block530, the gaming console determines whether there was an interaction, e.g., digital collision, between the red digital blocks and the blue saber235or between the blue digital blocks and the red saber230.
If the gaming console105determines that at least one of the conditions in block530is true, at block535, the gaming console105causes a second type of game action, and the control is transferred to block515. For example, the second type of game action can be not to increase the score, or decrease the score of the player110in response to a digital collision between a digital block and the digital saber of different colors.
FIG. 6is a flow diagram of a process600for presenting the game to a player, consistent with various embodiments. In some embodiments, the process600can be implemented in the environment100ofFIG. 1. At block605, the gaming console105obtains an orientation and coordinates of the player110, a hand and head of the player110at least from the headset120and the motion controller125.
At block610, the gaming console105renders a 3D virtual space in which the game is to be played. The 3D virtual space205is generated based on the coordinates received from the headset120and the motion controller125associated with the player110. The 3D virtual space205includes a proximate end210that is proximate to the player110and a distal end215opposite to the proximate end210. In some embodiments, a portion of the proximate end210corresponds to the digital position of the player110.
At block615, the gaming console105renders a digital representation of instruments to be used by the player110, e.g., the first digital saber230and the second digital saber235, at the proximate end210. The digital saber is responsive to the movements of the hand of the player110holding the motion controller125. The coordinates and the orientation of the digital sabers relative to the digital position of the player110correspond to an orientation and the coordinates of the physical hands of the player110relative to the physical body of the player110.
At block620, the gaming console105renders multiple digital objects traveling in the 3D virtual space205from the distal end215to the proximate end210. The digital objects can be of different types. For example, a first type can include digital blocks that the player110should slash using the digital saber, a second type can include digital mines that the player110should not hit, and a third type can include digital obstacles that the player110should avoid.
At block625, the gaming console105causes interaction with the digital objects based on the movement of the hand, head and/or body of the player110.
At determination block630, the gaming console105determines whether there was an interaction, e.g., digital collision, between a digital block and the digital saber. If yes, at block635, the gaming console105causes a first type of game action. For example, the first type of game action can be to increase a score of the player110in response to a digital collision between a digital block and the digital saber. The control is transferred to block625.
At determination block640, the gaming console105determines whether there was an interaction, e.g., digital collision, between the digital saber and a digital mine. If yes, at block645, the gaming console105causes a second type of game action. For example, the second type of game action can be not to increase the score or decrease the score/energy/life of the player110in response to the digital collision between a digital mine and the digital saber. The control is transferred to block625.
At block650, the gaming console105causes the digital obstacle to change the direction of travel based on actual movements of the player110or movements of the head of the player110.
At determination block655, the gaming console105determines whether the digital obstacle passes through the digital position of the player110at the proximate end210. If yes, at block660, the gaming console105causes a third type of game action. For example, the third type of game action can be to decrease the score/energy/life of the player110. The control is transferred to block625.
FIG. 7illustrates variable game actions based on angle and position of incidence between a digital element730and a digital object720. The pictured digital object720includes a direction indicator725. In the illustrated example, the digital element730is elongated and extends from a control point at the user's hand (as a sword would).
The direction indicator275indicates the game's ideal collision direction between the digital element730and the digital object720. Causing a collision using a swing direction735that corresponds to the direction indicator725results in a positive game action (e.g., rewarding of points), whereas causing a collision at a different direction causes a different game action (e.g., issuing a fault, ending a combo streak, rewarding fewer points than the positive game action, subtracting points).
In some embodiments, angle incidence and/or digital element rotation740may affect the type of game action occurring from a collision. Incidence angles745,750and755illustrate regions an incoming digital element730might collide with the digital object720. In some embodiments, the game action occurring from a collision is more positive for the user when the collision has an incidence angle745,750,755closest to on-center (e.g., straight through center “mass” of the digital object720). For example, the collision may be worth more points depending on where a user strikes the digital object720with the digital element730.
The incidence angles745,750,755may be used as a region (e.g., plus or minus 0-30 degrees from center) or as an absolute measurement (e.g., exactly 37 degrees right or left of center) where a collision at 0 degrees from center is worth the most points. In some embodiments, instead of, or in addition to incidence angles, entry and exit surfaces are used. Where a collision begins and ends on opposite sides of a digital object720, the digital element730took a relatively straight path through the digital object720. Taking a straight path through the digital object720may provide users with a more positive game action (e.g., more points) than a collision that enters and exits through adjacent sides of the digital object720. Illustrative of the relatively straight path described above is a collision “cut” that begins on surface760and exits through surface765. A collision that does not use a straight path begins at surface760and exits through surface770; or alternatively, a collision that begins at surface770and exits through surface765. The non-straight path collisions may render less positive game actions than straight path collisions.
In some embodiments, the digital element rotation740further influences game actions. The digital element rotation740is controlled by the user's motion controller or hand gestures. Where the user rotates within the applicable control scheme, the digital element730will rotate in game, in a corresponding fashion. Some embodiments of digital elements730have varied surfaces. Examples of varied surfaces include a bladed edge of a sword and the flat of a sword. In this example, where a user strikes the digital object720with a bladed edge (e.g., a cut), a different game action results than if the user strikes the digital object720with the flat side (e.g., a slap). In some embodiments, a cut renders a more positive game action than a slap.
FIGS. 8-16illustrate screenshots of various graphical user interfaces (GUIs) of the game, which are generated by the gaming console105ofFIG. 1.
FIG. 8is a screenshot of a player playing the game, consistent with various embodiments. InFIG. 8, the player is holding a pair of motion controllers in the hands which are depicted as digital sabers in the 3D virtual space of the game.FIG. 8also illustrates the player slashing a pair of digital blocks.
FIG. 9is a screenshot of a player view of the 3D virtual space generated by the gaming console, consistent with various embodiments.
FIG. 10is a screenshot of a graphical user interface (GUI) with instructions to the player, consistent with various embodiments. InFIG. 10, the GUI instructs the player to move their hands so that the digital sabers cut the digital blocks in the indicated direction.
FIG. 11is a screenshot of a GUI with instructions to the player, consistent with various embodiments. InFIG. 11, the GUI indicates to the player that some of the digital objects presented in the 3D virtual space are meant to be avoided, e.g., by not cutting or slashing the objects.
FIG. 12Ais a screenshot of a GUI with instructions to the player, consistent with various embodiments. InFIG. 12A, the GUI indicates to the player that some of the digital objects presented in the 3D virtual space are to be avoided by player's location as opposed to avoiding using the digital sabers. For example, the player can duck, crouch or move to avoid to some of the digital objects.
FIG. 12Bis a screenshot of a GUI with instructions to the player, consistent with various embodiments. InFIG. 12B, the GUI indicates to the player that some of the digital objects presented in the 3D virtual space are to be avoided by ducking or crouching.
FIG. 13is a screenshot of a GUI with instructions to the player, consistent with various embodiments. InFIG. 13, the GUI indicates to the player that the player can gain points by cutting the correct digital objects and in the correct manner.
FIG. 14is a screenshot of a GUI in which the player can select various options, consistent with various embodiments. InFIG. 14, the GUI presents the player with various songs to select from and a difficulty level of the game. Note that the digital objects are presented in the 3D virtual space based on the beats in the music.
FIG. 15is a screenshot of a GUI showing multiple digital objects approaching the player in the 3D virtual space, consistent with various embodiments.
FIG. 16is a screenshot of a GUI showing multiple digital objects approaching the player in the 3D virtual space, consistent with various embodiments. InFIG. 16, the game presents digital blocks and digital obstacles simultaneously. The player has to slash the digital blocks but avoid the digital obstacles.
FIG. 17is a diagram of a multi-lane game environment1700. In some embodiments, multiple corridors or lanes1702exist around the player existing at angular positions around a circle or sphere. The multi-lane environment1700may be implemented in virtual or augmented reality and make use of an apparatus that tracks angular motion of the player's head (e.g., roll, pitch, and yaw), such as a head mounted display or external monitoring system. Each lane1702includes multiple vectors or traversal paths1704that digital objects are spawned and programed to progress along toward a player space1706. The game enables the player1708to translate position (e.g., motion in the X, Y, or Z axes) within the player space1706(e.g., so as to dodge incoming obstacles). In some embodiments, the player space1706is centered around a static anchor point1710from which each lane1702radiates out from.
While the player1708may translate through the player space1706, digital objects continue to approach, or traverse the player space1706relative to, the static anchor point1710. A positive game action occurs when the player1708is able to cause a collision at a particular collision distance1712between certain digital objects and their respective, player-controlled digital element. The positioning of the collision distance1712where the player initiates collisions with the digital objects is measured as a distance from the player's position1708. In some embodiments, the collision distance1712from the player is a function of the digital elements wielded by the player. Where the digital elements are swords, the length of the collision distance1712may be a function of the length of the sword.
As the player1708turns their head (e.g., through roll, pitch, and/or yaw movement) a current or active lane1702A of objects is engaged. In some embodiments, the digital elements collide only with digital objects generated in the active lane1702A. In other embodiments, collisions may occur across any of the lanes. Different game actions may result (e.g., differing quantities of points awarded) for collisions occurring in non-active lanes as opposed to the active lane1702A.
In some embodiments, the lanes1702exist at all times within the game environment whether or not the lanes1702are presently being displayed. For example, the virtual environment may include the lanes1702as data constructs while they remain dormant (e.g., do not have active digital objects) and activate display of the lanes1702when a digital object is generated to progress down a traversal path1704of the lane1702. Alternatively, the lanes1702may be generated in response to a call to generate a digital object that would necessarily require a traversal path1704of a lane1702in order to progress toward the relevant end point.
In some embodiments, digital objects approach, or traverse relative to, the position of the player1708. Because the player is enabled to translate through the player space1706, traversal of the digital objects may appear to take non-linear or arcing paths that “fall into” the player's position1708as if trapped by a virtual gravity well or magnetic field.
Lanes1702for digital objects may exist 360 degrees about the anchor point1710, or player position1708, and 360 degrees from a virtual horizon. In some embodiments, lanes1702intersect the player space1706(e.g., do not pass directly through the player position or the anchor point).
FIG. 18is a screenshot of a GUI showing two lanes1802at different angles about the player, each lane including digital objects1804approaching the player in the 3D virtual space, consistent with various embodiments. The active lane1802A is pictured on the left and is indicated by a lane guide1806. In the screenshot, the player is preparing to switch active lanes by turning their head (yaw) to the non-active lane1802B to the right. In some embodiments, the non-active lane(s)1802B is indicated to the player through their peripheral vision in the display of the virtual player space (e.g., through direct display). Optionally, additional visual guides displayed at the edges of the player's vision indicating that the player should either turn their head or prepare to turn their head.
As the player's head turns and centers vision on a lane, the active lane changes (and the lane guide1806shifts to the new active lane). In some embodiments, the distance the player must turn their head in order to trigger a change in the active lane1802A is based on the degrees from the active lane. For example, if the next lane from the active lane is forty-five degrees to the right, the amount the player must turn their head is a function of forty-five degrees (e.g., various embodiments require a 20%, 50%, 51%, 60%, 75%, 90%, 100%, etc. degrees of turning of the total to trigger the shift in lane).
FIG. 19is a screenshot of a GUI showing two parallel lanes1902A, B of digital objects1904approaching the player in the 3D virtual space, consistent with various embodiments. Lanes1902may intersect the player space without intersecting with either the player's position or an anchor point. For example, two parallel lanes1902A, B may straddle the anchor point (not pictured).
In some embodiments, where there are two parallel lanes1902A, B, there still exists an active lane1902A and a non-active lane1902B. The active lane1902A is denoted by the lane guide1906. The player position (not shown) may be implied from the screenshot by the positioning of the digital element1908.
FIG. 20is a screenshot of a GUI showing multiple lanes2002at different angles of digital objects2004A, B approaching the player in the 3D virtual space using a static world center (not pictured), consistent with various embodiments. Pictured here, a large number of lanes2002are present in close proximity requiring the player to act quickly in each lane2002with both translational movement to the left, and element-object collisions (occurring in opposite directions in each lane). The player attempts to cause collisions with the digital cubes2004A, while physically dodging the digital obstructions2004B (by remaining on the left side of each lane/radius to the static anchor point/world center). The active lane2002A is pictured to the right side and indicated by the lane guide2006. The non-active lanes2002B are to the left of the active lane2002A.
Because the lanes2002are in close proximity, the range of head rotation required to trigger a shift in the active lane2002A is lower than was pictured inFIG. 18.
FIG. 21is a block diagram of a computer system as may be used to implement features of some embodiments of the disclosed technology. The computing system2100may be used to implement any of the entities, components, modules, interfaces, or services depicted in the foregoing figures (and in this specification). The computing system2100may include one or more central processing units (“processors”)2105, memory2110, input/output devices2125(e.g., keyboard and pointing devices, display devices), storage devices2120(e.g., disk drives), and network adapters2130(e.g., network interfaces) that are connected to an interconnect2115. The interconnect2115is illustrated as an abstraction that represents any one or more separate physical buses, point to point connections, or both connected by appropriate bridges, adapters, or controllers. The interconnect2115, therefore, may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus or PCI-Express bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus, also called “Firewire”.
The memory2110and storage devices2120are computer-readable storage media that may store instructions that implement at least portions of the described technology. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link. Various communications links may be used, such as the Internet, a local area network, a wide area network, or a point-to-point dial-up connection. Thus, computer-readable media can include computer-readable storage media (e.g., “non-transitory” media) and computer-readable transmission media.
The instructions stored in memory2110can be implemented as software and/or firmware to program the processor(s)2105to carry out actions described above. In some embodiments, such software or firmware may be initially provided to the processing system2100by downloading it from a remote system through the computing system2100(e.g., via network adapter2130).
The technology introduced herein can be implemented by, for example, programmable circuitry (e.g., one or more microprocessors) programmed with software and/or firmware, or entirely in special-purpose hardwired (non-programmable) circuitry, or in a combination of such forms. Special-purpose hardwired circuitry may be in the form of, for example, one or more ASICs, PLDs, FPGAs, etc.
Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the Claims included below.
Claims
- A method comprising: rendering a 3D virtual space that includes a digital position of a user and a plurality of lanes, each of the plurality of lanes including multiple object traversal paths;defining a center point of the 3D virtual space, wherein the plurality of lanes radiate in an arc positioned around the center point and each intersect the center point, and the digital position of the user is tracked in 6 degrees of freedom relative to the center point;instantiating in the 3D virtual space a first digital element, wherein a set of coordinates and orientation of the first digital element corresponds to an orientation and position of a first real hand of the user;graphically representing a plurality of digital objects in the 3D virtual space that approach the center point from a distance along the multiple object traversal paths of the plurality of lanes;and causing a game action to occur in response to a digital collision in the 3D virtual space between a first digital object of the plurality of digital objects and the first digital element.
- The method of claim 1 , wherein a pace of the approach of the digital objects to the digital position of the user corresponds with musical notes.
- The method of claim 1 , further comprising: causing a second game action to occur in response to a second digital object of the plurality of digital objects passing by a collision region without digitally colliding with the first digital element, wherein the collision region is positioned as a function of the digital position of the user.
- The method of claim 1 , wherein the first digital object includes a directional guide component indicating a direction of user interaction with the first digital object.
- The method of claim 1 , wherein the game action is any of: increasing a game score;decreasing the game score;effecting a pace of the approach of the digital objects;effecting a creation of the digital objects;or effecting a rate of change in the game score.
- The method of claim 1 , further comprising: engaging an active lane of the plurality of lanes based on a position of a user's head, the active lane located centrally in a line of sight of the user's head, wherein the first digital element as controlled by the user is enabled to only collide with digital objects present on the active lane.
- The method of claim 1 , wherein each of the plurality of digital objects is associated with one or more of the multiple object traversal paths, and a first traversal path that the first digital object is associated with is dispositive of a manner in which the first digital object progresses toward the world center point.
- The method of claim 1 , further comprising: instantiating in the 3D virtual space a second digital element, wherein a second set of coordinates and orientation of the second digital element relative to the digital position of the user corresponds to an orientation and position of a second real hand of the user;and causing an additional game action to occur in response to a digital collision in the 3D virtual space between a second digital object of the plurality of digital objects and the second digital element.
- The method of claim 8 , wherein a first subset of the plurality of digital objects correspond to the first digital element and a second subset of the plurality of digital objects correspond to the second digital element.
- The method of claim 1 , further comprising: displaying to the user a graphic guide indicating that digital objects are progressing toward the center point on a first lane of the plurality of lanes that is outside a user's current field of view.
- A system comprising: a hand tracking apparatus configured to track a position and orientation of at least a first real hand of a user;a processor configured to direct rendering a 3D virtual space that includes a digital position of the user and a plurality of lanes, wherein the plurality of lanes each include multiple object traversal paths, wherein the processor is further configured to define a center point of the 3D virtual space, wherein the plurality of lanes radiate in an arc positioned around the center point and each intersect the center point, and the digital position of the user is tracked in 6 degrees of freedom relative to the center point, wherein the processor is further configured to instantiate a first digital element in the 3D virtual space that positioned and oriented corresponding to the position and orientation of the first real hand of a user, wherein the processor is further configured to cause a display to graphically represent a plurality of digital objects in the 3D virtual space that approach the center point from a distance along the multiple object traversal paths of the plurality of lanes and cause a game action to occur in response to a digital collision in the 3D virtual space between a first digital object of the plurality of digital objects and the first digital element.
- The system of claim 11 , wherein the hand tracking apparatus is any of: hand-held peripherals that wirelessly transmit the position and orientation to a communication apparatus communicatively coupled with the processor;hand-held peripherals including magnetic position sensors that sense a position of the hand-held peripherals in relation to a non-hand-held peripheral;or a depth sensing camera positioned toward at least the first hand of the user.
- The system of claim 11 , wherein the 3D virtual space is any of: an immersive virtual reality environment wherein the 3D space surrounds the user;a digital space overlaid on a real space via augmented reality wherein the 3D space surrounds the user;or a digital space wherein a user perspective is positioned external to a fourth wall.
- The system of claim 11 , further comprising: a body or head tracking apparatus configured to track body or head position and orientation, and wherein a detected change in body or head position and orientation cause the processor to effect a corresponding change in a position and orientation of the digital position of the user in the 3D virtual space.
- The system of claim 14 , wherein the processor is further configured to engage an active lane of the plurality of lanes based on a position of a user's head as detected by the head tracking apparatus, the active lane located centrally in a line of sight of the user's head, wherein the first digital element as controlled by the user is enabled to only collide with digital objects present on the active lane.
- A method comprising: instantiating a 3D game space that includes a player location and a plurality of 3D lanes, the 3D game space having a virtual volume and a defined center point, wherein each 3D lane intersects the defined center point and includes one or more traversal paths that digital objects progress along from a location at edges of the 3D game space toward the defined center point;tracking the player location based on a real-world position of a user's head in six degrees of freedom;tracking a player hand location based on a real-world position of a user's hand in six degrees of freedom, wherein a digital element corresponds to the player hand location;engaging an active lane of the plurality of 3D lanes based on a field of view of the player location, the active lane located centrally in a line of sight of the user's head, wherein the digital element as controlled by the user only interacts with digital objects associated with the active lane;and detecting a collision between a first digital object associated with the active lane and the digital element controlled by the user, wherein the collision causes a game action.
- The method of claim 16 , further comprising: playing a musical score including musical notes, wherein a pace of movement of the plurality of digital objects through the 3D lane is based on the musical notes.
- The method of claim 16 , further comprising: displaying only a subset of the plurality of 3D lanes, wherein the subset includes those 3D lanes that include an active digital object.
- The method of claim 16 , wherein each of the plurality of 3D lanes includes a plurality of traversal paths, wherein each digital object is associated with one or more of the plurality of traversal paths, and a first traversal path that the first digital object is associated with is dispositive of a manner in which the first digital object progresses toward the defined center point.
- The method of claim 16 , wherein at least a first subset of the plurality of digital objects include a directional guide component indicating a direction of user interaction with the first digital object, and wherein detected collision between the first subset of the plurality of digital objects and the digital element that occur consistently with the directional guide component effect a first game action and detected collisions between the first subset of the plurality of digital objects and the digital sword elements that occur inconsistently with the directional component effect a second game action.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.