WO2009067795A1 - Method for increasing the stability of an interactive game - Google Patents
Method for increasing the stability of an interactive game Download PDFInfo
- Publication number
- WO2009067795A1 WO2009067795A1 PCT/CA2008/002066 CA2008002066W WO2009067795A1 WO 2009067795 A1 WO2009067795 A1 WO 2009067795A1 CA 2008002066 W CA2008002066 W CA 2008002066W WO 2009067795 A1 WO2009067795 A1 WO 2009067795A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion
- collision
- frame
- moving
- marbles
- Prior art date
Links
Classifications
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/643—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/646—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8011—Ball
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Definitions
- the invention relates to games. More precisely, this invention pertains to a method for increasing the stability of an interactive game.
- the predictability of the physic system must be easy to understand in order to enable a user to use it as part of the game play.
- a method for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference, the method comprising detecting a collision between a first moving object in the frame of reference and a second object and blocking a motion of the first moving object in the frame of reference in the direction pointing to the second object during the collision to thereby increase the stability of the interactive video game.
- the second object is also moving in the frame of reference.
- the interactive video game involves a plurality of marbles; the first moving object comprises one of the plurality of marbles and the second object comprises at least one other marble of the plurality of marbles.
- the second object comprises a plurality of marbles forming a cluster of marbles.
- the reference object comprises a 3 dimension object.
- the blocking of a motion of the first moving object in the frame of reference in the direction pointing to the second object during the collision is displayed in an interface to a user.
- a collision management module for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference
- the collision management module comprising a collision detecting unit receiving a motion-related data of a first moving object in the frame of reference and a motion-related data of a second object, the collision detecting unit detecting a collision between the first moving object and the second object and providing a signal indicative of the collision; and a motion blocking unit receiving the signal indicative of the collision, the motion-related data of the first moving object and the motion-related data of the second object and providing an amended motion-related data for the first moving object and an amended motion-related data for the second object such that the motion of the first moving object in the frame of reference is blocked during the collision in the direction pointing to the second object.
- the interactive video game involves a plurality of marbles, wherein the first moving object comprises one of the plurality of marbles and the second object comprises at least one other marble of the plurality of marbles.
- the second object is also moving in the frame of reference.
- a computer-readable medium comprising a plurality of instructions which when executed perform the method disclosed above.
- the method disclosed herein is of great advantage since it helps a user to interact in a predictable way with a high amount of objects which may collide amongst themselves on a reference object.
- the method disclosed may help a player to give him more control for creating specific configurations of cluster of objects and manipulate them.
- the method disclosed helps to enable a player to slightly modify a configuration by gently shaking a planet, moving most external marbles of a cluster first (i.e. the marbles that are the most external to the cluster). Also it may further help a player to throw out of the planet some marbles, starting with external ones, by shaking more strongly.
- Figure 1 is a flowchart which shows an embodiment of a method for increasing the stability of a video game.
- Figure 2 is a block diagram which shows an embodiment of a collision management module for increasing the stability of a video game.
- Figure 3 is a block diagram which shows an embodiment wherein the collision management module for increasing the stability of a video game may be used.
- FIG. 1 there is shown an embodiment of a method for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object fixed in a frame of reference.
- processing step 100 a collision between a first moving object in the frame of reference and a second object is detected.
- processing step 110 a motion of the first moving object in the frame of reference in the direction pointing to the second object is blocked during the collision to thereby increase the stability of the interactive video game.
- FIG. 2 there is shown an embodiment of a collision management module 200 used for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference. It will be appreciated that many alternative embodiments for the collision management module 200 may be provided.
- the collision management module 200 comprises a collision detecting unit 202 and a motion blocking unit 204.
- the collision detecting unit 202 is used for detecting a collision between at least two objects.
- the collision detecting unit 202 receives a motion-related data of a first moving object in the frame of reference and a motion-related data of a second moving object.
- the collision detecting unit 202 may receive a motion-related data of a plurality of objects.
- the motion-related data may be of various types depending on an implementation.
- the motion-related data may comprise an indication of a position together with a speed vector, etc.
- the motion-related data of the first moving object and the motion-related data of the second object may be various types of data originating from various data sources such as from a Random Access Memory (RAM) for instance.
- RAM Random Access Memory
- the collision detecting unit 202 provides a signal indicative of a collision. It will be appreciated that the signal indicative of a collision is provided when a collision is detected between the first moving object DM_MTL/276794-00007/l 800503.3
- the collision management module 200 further comprises a motion blocking unit 204.
- the motion blocking unit 204 is used to provide amended motion-related data for the first object and the second object depending on whether or not collision has been detected.
- the motion blocking unit 204 receives the signal indicative of a collision provided by the collision detecting unit 202 as well as the motion-related data of the first object and the motion-related data of the second object.
- the motion blocking unit 204 provides a corresponding amended motion-related data for the first object and a corresponding amended motion-related data for the second object according to the collision detected such that the motion of the first moving object in the frame of reference is blocked in the direction pointing to the second object.
- motion blocking unit 204 may be implemented according to various embodiments.
- FIG. 3 there is shown a processing device 300 wherein the collision management module disclosed in Fig. 2 may be implemented.
- the processing device 300 comprises a central processing unit (CPU) 302, input/output (I/O) devices 304, a network interface circuit 308, a data bus 306, a memory 310.
- CPU central processing unit
- I/O input/output
- network interface circuit 308
- data bus 306
- memory 310 a memory 310.
- Each of the central processing unit (CPU) 302, the input/output (I/O) devices 304, the network interface circuit 308 and the memory 310 is operatively connected to one another via the data bus 306 according to technologies known to the skilled addressee and departing from the scope of the present invention.
- the memory 310 is used to store an operating system 312, an interactive video game 314 and a collision management module 316. It will be appreciated that the interactive video game 314 operates with the collision management module 316 as explained above. The skilled addressee will further appreciate that in an embodiment the video game 314 comprises the collision management module 316.
- the effect of the collision on the motion of the second object is computed as if the first object was an immutable stationary object. Consequently, when the motion of a first object is blocked by a second object, the act of blocking the motion of the first object as it is defined does not impact the motion of the second object, for instance, there is no transfer of momentum as there would be in a more standard physic to prevent the first object and the second object to penetrate into each other. It has been contemplated that this increases the stability of the interactive video game, especially if one considers the case of a stationary object.
- a stationary object does not gain momentum when colliding with a second object since the effect on its motion is computed as if it was colliding with second stationary object; and in turn, the motion of the second object is blocked in the direction pointing to the stationary object without affecting the motion of the stationary object.
- the stability of the interactive game is de facto increased.
- the blocking is implicitly defined with respect to a frame of reference since an object is stationary relative to a frame of reference, thus the motion of an object may only be stopped relative to a frame of reference and the motion of an object may only be blocked in a given direction relative to the frame of reference.
- the method disclosed herein is advantageously used in a game involving a reference object also referred to as a planet, and objects referred to as marbles gravitating around the planet or moving on its surface.
- An attraction force attracts the gravitating marbles towards the planet.
- the same attraction force or other attraction forces also attracts the marbles moving on the surface towards various attraction points located on the surface of the planet where the marbles tend to aggregate in clusters, for instance, in a cubic planet with the marbles aggregating at the center of each face.
- the player has control over the orientation of the planet, and the change of orientation of the planet may be used to generate an impulse on the marbles in the direction of the rotation.
- the increased stability provided by the method disclosed herein occurs in the frame of reference of the planet, that is, the method will favor marbles to be at a stationary position relative to the planet which is of great advantage.
- the planet appears to be rotating, from the player point of view, and the player has control over the orientation of the planet, but for the purpose of the method for increasing the stability disclosed herein, the planet is at a fixed position and orientation in the frame of reference.
- the blocking is defined with respect to a first frame of reference, that is, if a collision is detected between a first object and a second object, the effect of the collision on the motion of the first object in the first frame of reference is computed as if the second object was an immutable stationary object in the first frame of reference, this translates in a second frame of reference as the effect of the collision on the motion of the first object in the second frame of reference is computed as if the second object was an object with an infinite mass and with a motion in the second frame of reference that when expressed in the first frame of reference would be stationary.
- the initial motion is subjected, under the method disclosed herein, to be blocked in the direction pointing to the plurality of objects colliding with the stationary object, if any such plurality of objects exists, which may well prevent the stationary object from gaining a motion, further increasing the stability of the interactive game.
- a stationary object colliding a plurality of objects around it will stay stationary, under the method disclosed herein, if in order to block the initial motion in the direction pointing to the plurality of objects, the initial motion needs to be completely blocked, which will necessarily be the case, for instance, if the plurality of objects colliding with the first object surrounds it from every direction, as the initial motion would be blocked from every direction.
- a video game in which a cluster of stationary objects together with an attractor at a fixed location near the center of the cluster is considered.
- the cluster is in a stable state, that is, none of the stationary objects in the cluster may get closer to the attractor without its motion being completely blocked according to the collision scheme disclosed by colliding objects in the way of the motion.
- the cluster of stationary objects will be unaffected by a collision with a new object attracted to the attractor in the case where the new object is nearby the cluster of stationary objects and moving towards it.
- the blocking of the motion of the first object in the direction pointing to the second object in the event of a collision between the first object and the second object means that the effect of the collision on the motion of the first object is as if the second object was an immutable stationary object, and conversely for the effect of the collision on the motion of the second object.
- the motion of an object is expressed through the notion of quantity of motion and the motion of an object is altered by adding impulses to the quantity of motion, that is, an impulse is a change in the quantity of motion.
- an impulse is a change in the quantity of motion.
- a collision between a first object and a second object is handled by having two impulses of equal magnitude but opposite direction, one affecting the motion of the first object and the other one affecting the motion of the second object in order to prevent the penetration.
- the method disclosed herein requires that the two impulses are computed independently as if the other object was an immutable stationary object.
- the impulse affecting the first object may be set to the opposite to the component of the quantity of motion of the first object in the direction pointing to the second object. It will be appreciated that if the direction of the motion of the first object forms an obtuse angle with the direction pointing to the second object no impulse needs to be generated to block the motion of the first object in the DM_MTL/276794-00007/l 800503.3
- the first impulse may also be scaled up, typically by a factor up to two. Such a first impulse may be used to block the motion of the first object in the direction pointing to the second object, the higher magnitude making the first object rebound on the second object instead of just sliding on it.
- the impulse to block the motion of the first object may take into account a plurality of objects it is colliding with simultaneously, thereby improving the quality of the simulation.
- one technique that may be used for a sliding collision is to detect the collision between the first object and a plurality of objects. Of that plurality of objects, only those for which the direction of the motion of the first object forms a sharp angle with the direction pointing from the first object to them are considered, since the others will not participate in blocking the motion of the first object.
- the collision induces no impulse on the motion of the first moving object.
- the collision induces an impulse on the motion of the first object which is, as discussed previously, when only the collision between a first object and a second object was considered.
- a final quantity of motion for the first object is determined as the quantity of motion of the first object in the direction simultaneously perpendicular to both the directions pointing to the plurality of the two objects.
- the collision induces an impulse on the motion of the first object which is equal to the difference between the final quantity of motion for the first object and the quantity of motion for the first object.
- the collision induces an impulse on the motion of the first object equal to the quantity of motion of the first object but in the opposite direction.
- the impulse induced on the motion of the first object does not need to be literally computed as it is just used to be added on the quantity of motion of the first object, so the quantity of motion of the first object may be instead updated directly accordingly.
- the impulse used to block the motion of the first object in the direction pointing to the second object on a more sophisticated impulse-based physic simulation system may be expressed in terms of constraints, on such a system, for instance, the impulse used to block the motion of the first object in the direction pointing to the second object may be a vector of variable intensity in the direction pointing from the second object to the first object.
- constraints on such a system, for instance, the impulse used to block the motion of the first object in the direction pointing to the second object may be a vector of variable intensity in the direction pointing from the second object to the first object.
- a constraint requiring the quantity of motion of the first object being perpendicular to the direction pointing to the second object may be added.
- the various impulses and various constraints needed to represent the dynamics of the system may be computed. These together with the current quantity of motion of each object will be used to solve a constraint system and obtain a new quantity of motion for each object respecting the stated constraints.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
A method is disclosed for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference, the method comprising detecting a collision between a first moving object in the frame of reference and a second object and blocking a motion of the first moving object in the frame of reference in the direction pointing to the second object during the collision to thereby increase the stability of the interactive video game.
Description
DM_MTL'276794-00007/l 8OO5O3.3
- 1 -
METHOD FOR INCREASING THE STABILITY OF AN INTERACTIVE GAME
RELATED APPLICATION
The application claims priority of US provisional patent application having serial N° 60/990,409, entitled "Method for increasing the stability of an interactive game" that was filed on November 27, 2007, the specification of which is hereby incorporated by reference.
The application further claims priority of US provisional patent application having serial N0 60/990,473, entitled "Interactive game" that was filed on November 27, 2007, the specification of which is hereby incorporated by reference.
The application is also related to PCT application entitled "Interactive game", that was filed on November 21 , 2008.
FIELD OF THE INVENTION
The invention relates to games. More precisely, this invention pertains to a method for increasing the stability of an interactive game.
BACKGROUND OF THE INVENTION
It has been contemplated that a level of freedom in a 3-dimension environment makes it difficult to have games that are easy to play with while providing a good mental challenge.
The predictability of the physic system must be easy to understand in order to enable a user to use it as part of the game play.
In the case of a game involving a large amount of objects which may collide, the issue of the predictability of the physic system becomes key.
DM_MTL/276794-00007/l 800503.3
- 2 -
In fact, it is desirable in a 3D action puzzle game to provide a physic system which must give enough control and stability for the player in order to enable a user to create configuration strategies while feeling organic and intuitive.
There is a need for a method that will overcome at least one of the above- identified drawbacks.
Features of the invention will be apparent from review of the disclosure, drawings and description of the invention below.
BRIEF SUMMARY
According to one embodiment there is provided a method for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference, the method comprising detecting a collision between a first moving object in the frame of reference and a second object and blocking a motion of the first moving object in the frame of reference in the direction pointing to the second object during the collision to thereby increase the stability of the interactive video game.
In one alternative embodiment, the second object is also moving in the frame of reference.
In another alternative embodiment, the interactive video game involves a plurality of marbles; the first moving object comprises one of the plurality of marbles and the second object comprises at least one other marble of the plurality of marbles.
In another alternative embodiment, the second object comprises a plurality of marbles forming a cluster of marbles.
In one embodiment the reference object comprises a 3 dimension object.
In one embodiment, the blocking of a motion of the first moving object in the frame of reference in the direction pointing to the second object during the collision is displayed in an interface to a user.
DM MTL/276794-00007/1800503.3
- 3 -
According to another embodiment, there is provided a collision management module for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference, the collision management module comprising a collision detecting unit receiving a motion-related data of a first moving object in the frame of reference and a motion-related data of a second object, the collision detecting unit detecting a collision between the first moving object and the second object and providing a signal indicative of the collision; and a motion blocking unit receiving the signal indicative of the collision, the motion-related data of the first moving object and the motion-related data of the second object and providing an amended motion-related data for the first moving object and an amended motion-related data for the second object such that the motion of the first moving object in the frame of reference is blocked during the collision in the direction pointing to the second object.
In one embodiment of the collision management module, the interactive video game involves a plurality of marbles, wherein the first moving object comprises one of the plurality of marbles and the second object comprises at least one other marble of the plurality of marbles.
In one alternative embodiment of the collision management module the second object is also moving in the frame of reference.
According to another embodiment there is provided a computer-readable medium comprising a plurality of instructions which when executed perform the method disclosed above.
The method disclosed herein is of great advantage since it helps a user to interact in a predictable way with a high amount of objects which may collide amongst themselves on a reference object.
The method disclosed may help a player to give him more control for creating specific configurations of cluster of objects and manipulate them.
DM_MTI7276794-00007/1800503.3
- 4 -
It will be further appreciated that, in one exemplary embodiment, the method disclosed helps to enable a player to slightly modify a configuration by gently shaking a planet, moving most external marbles of a cluster first (i.e. the marbles that are the most external to the cluster). Also it may further help a player to throw out of the planet some marbles, starting with external ones, by shaking more strongly.
BRIEF DESCRIPTION OF THE DRAWINGS
In order that the invention may be readily understood, embodiments of the invention are illustrated by way of example in the accompanying drawings.
Figure 1 is a flowchart which shows an embodiment of a method for increasing the stability of a video game.
Figure 2 is a block diagram which shows an embodiment of a collision management module for increasing the stability of a video game.
Figure 3 is a block diagram which shows an embodiment wherein the collision management module for increasing the stability of a video game may be used.
Further details of the invention and its advantages will be apparent from the detailed description included below.
DETAILED DESCRIPTION
In the following description of the embodiments, references to the accompanying drawings are by way of illustration of an example by which the invention may be practiced. It will be understood that other embodiments may be made without departing from the scope of the invention disclosed.
Now referring to Figure 1 , there is shown an embodiment of a method for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object fixed in a frame of reference.
DM_MTL/276794-00007/l 800503.3
- O ™
According to processing step 100 a collision between a first moving object in the frame of reference and a second object is detected.
According to processing step 110 a motion of the first moving object in the frame of reference in the direction pointing to the second object is blocked during the collision to thereby increase the stability of the interactive video game.
Now referring to Figure 2, there is shown an embodiment of a collision management module 200 used for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference. It will be appreciated that many alternative embodiments for the collision management module 200 may be provided.
The collision management module 200 comprises a collision detecting unit 202 and a motion blocking unit 204.
More precisely, the collision detecting unit 202 is used for detecting a collision between at least two objects. In the embodiment shown in Fig. 2, the collision detecting unit 202 receives a motion-related data of a first moving object in the frame of reference and a motion-related data of a second moving object. The skilled addressee will appreciate that alternatively, the collision detecting unit 202 may receive a motion-related data of a plurality of objects. It will be appreciated by the skilled addressee that the motion-related data may be of various types depending on an implementation. For instance, the motion-related data may comprise an indication of a position together with a speed vector, etc.
It will be appreciated by the skilled addressee that the motion-related data of the first moving object and the motion-related data of the second object may be various types of data originating from various data sources such as from a Random Access Memory (RAM) for instance.
Still in the embodiment shown in Fig. 2, the collision detecting unit 202 provides a signal indicative of a collision. It will be appreciated that the signal indicative of a collision is provided when a collision is detected between the first moving object
DM_MTL/276794-00007/l 800503.3
- 6 -
and the second object. The skilled addressee will appreciate that various algorithms or methods known to the skilled addressee may be used for detecting a collision.
Still referring to Fig. 2, the collision management module 200 further comprises a motion blocking unit 204. The motion blocking unit 204 is used to provide amended motion-related data for the first object and the second object depending on whether or not collision has been detected.
More precisely, the motion blocking unit 204 receives the signal indicative of a collision provided by the collision detecting unit 202 as well as the motion-related data of the first object and the motion-related data of the second object.
The motion blocking unit 204 provides a corresponding amended motion-related data for the first object and a corresponding amended motion-related data for the second object according to the collision detected such that the motion of the first moving object in the frame of reference is blocked in the direction pointing to the second object.
It will be appreciated by the skilled addressee that the motion blocking unit 204 may be implemented according to various embodiments.
Now referring to Fig. 3, there is shown a processing device 300 wherein the collision management module disclosed in Fig. 2 may be implemented.
The processing device 300 comprises a central processing unit (CPU) 302, input/output (I/O) devices 304, a network interface circuit 308, a data bus 306, a memory 310.
Each of the central processing unit (CPU) 302, the input/output (I/O) devices 304, the network interface circuit 308 and the memory 310 is operatively connected to one another via the data bus 306 according to technologies known to the skilled addressee and departing from the scope of the present invention.
DM_MTL/276794-00007/l 800503.3
- 7 -
The memory 310 is used to store an operating system 312, an interactive video game 314 and a collision management module 316. It will be appreciated that the interactive video game 314 operates with the collision management module 316 as explained above. The skilled addressee will further appreciate that in an embodiment the video game 314 comprises the collision management module 316.
It will be appreciated by the skilled addressee that the method and its implementation disclosed herein are of great advantage over the prior art since an object cannot not push another, that is, if a collision is detected between a first moving object in the frame of reference and a second object, the effect of the collision on the motion of the first object is computed, using techniques known to someone versed in the art of computer physic simulations, as if the second object was an immutable stationary object. Accordingly, the motion of the first object is blocked in the direction of the second object. It has been contemplated that this is of great advantage as explained further below.
In fact, it will be appreciated that the effect of the collision on the motion of the second object is computed as if the first object was an immutable stationary object. Consequently, when the motion of a first object is blocked by a second object, the act of blocking the motion of the first object as it is defined does not impact the motion of the second object, for instance, there is no transfer of momentum as there would be in a more standard physic to prevent the first object and the second object to penetrate into each other. It has been contemplated that this increases the stability of the interactive video game, especially if one considers the case of a stationary object. Under this scheme, a stationary object does not gain momentum when colliding with a second object since the effect on its motion is computed as if it was colliding with second stationary object; and in turn, the motion of the second object is blocked in the direction pointing to the stationary object without affecting the motion of the stationary object. This means that a stationary object may only gain a motion through other means than through colliding with other objects when this method
DM_MTL/276794-00007/l 800503.3
- 8 -
is advantageously used. The stability of the interactive game is de facto increased.
It will be appreciated by the skilled addressee that the blocking is implicitly defined with respect to a frame of reference since an object is stationary relative to a frame of reference, thus the motion of an object may only be stopped relative to a frame of reference and the motion of an object may only be blocked in a given direction relative to the frame of reference.
As an illustrative example, in one embodiment, the method disclosed herein is advantageously used in a game involving a reference object also referred to as a planet, and objects referred to as marbles gravitating around the planet or moving on its surface. An attraction force attracts the gravitating marbles towards the planet. The same attraction force or other attraction forces also attracts the marbles moving on the surface towards various attraction points located on the surface of the planet where the marbles tend to aggregate in clusters, for instance, in a cubic planet with the marbles aggregating at the center of each face. Also the player has control over the orientation of the planet, and the change of orientation of the planet may be used to generate an impulse on the marbles in the direction of the rotation. It will be appreciated that the rules of the game allow for a marble to be destroyed and to disappear, potentially leaving a hole inside a cluster and potentially forcing it to be reorganized under the pressure of the attraction forces. This game is disclosed in co-pending US patent application entitled "Interactive game", filed on November 27, 2007 by the inventors, the specification of which is hereby incorporated by reference. It will be appreciated that the game physics are defined using the planet as a frame of reference, that is, for instance, a marble is at a stationary position if it is in a fixed position relative to the position and orientation of the planet, and the motion of the object is characterized by its change of position and orientation relative to the position and orientation of the planet. This is of great advantage over the prior art since it excludes situations where a plurality of marbles could avoid the planet from moving because of the method disclosed above as explained further below.
DM_MTL/276794-00007/l 800503.3
- 9 -
In this case, the increased stability provided by the method disclosed herein occurs in the frame of reference of the planet, that is, the method will favor marbles to be at a stationary position relative to the planet which is of great advantage.
It will be further appreciated that, in this embodiment the planet appears to be rotating, from the player point of view, and the player has control over the orientation of the planet, but for the purpose of the method for increasing the stability disclosed herein, the planet is at a fixed position and orientation in the frame of reference.
It will be further appreciated by the skilled addressee that the blocking is defined with respect to a first frame of reference, that is, if a collision is detected between a first object and a second object, the effect of the collision on the motion of the first object in the first frame of reference is computed as if the second object was an immutable stationary object in the first frame of reference, this translates in a second frame of reference as the effect of the collision on the motion of the first object in the second frame of reference is computed as if the second object was an object with an infinite mass and with a motion in the second frame of reference that when expressed in the first frame of reference would be stationary.
Moreover, in order for a stationary object to gain an initial motion, the initial motion is subjected, under the method disclosed herein, to be blocked in the direction pointing to the plurality of objects colliding with the stationary object, if any such plurality of objects exists, which may well prevent the stationary object from gaining a motion, further increasing the stability of the interactive game. For instance, a stationary object colliding a plurality of objects around it will stay stationary, under the method disclosed herein, if in order to block the initial motion in the direction pointing to the plurality of objects, the initial motion needs to be completely blocked, which will necessarily be the case, for instance, if the plurality of objects colliding with the first object surrounds it from every direction, as the initial motion would be blocked from every direction.
DM_MTIV276794-00007/1800503.3
- 10 -
To illustrate the stability provided by the method disclosed herein, a video game in which a cluster of stationary objects together with an attractor at a fixed location near the center of the cluster is considered. In this embodiment, the cluster is in a stable state, that is, none of the stationary objects in the cluster may get closer to the attractor without its motion being completely blocked according to the collision scheme disclosed by colliding objects in the way of the motion.
It will first be appreciated that the cluster of stationary objects will be unaffected by a collision with a new object attracted to the attractor in the case where the new object is nearby the cluster of stationary objects and moving towards it.
This is the case since all the objects of the cluster are stationary, so the new object will move on the periphery of the cluster of objects thereby preserving the stability of the cluster of objects. Eventually, further assuming that the new object is subject to friction to dampen its motion and its motion diminishes whenever it is blocked, the new object will eventually settle to a stationary position on the periphery of the cluster of stationary objects at a stable position where the motion in the direction of the attractor is completely blocked by the colliding stationary objects of the cluster of stationary objects.
Moreover and in the event of an impulse generated by the game in response to an input from the user and acting on the stationary objects of the cluster of stationary object, the impulse generated being potentially different for each stationary object, it will be appreciated by the skilled addressee that a motion will be induced only on the objects at the periphery of the cluster of stationary objects which are free to move in the direction of the motion. This is the case since the induced motion on a stationary object, for instance, in the middle of the cluster will be advantageously blocked by the stationary objects surrounding it. This implies that only the objects at the periphery of the cluster of objects are subject to gain motion when the method disclosed herein is implemented. This therefore increases the stability of the interactive video game.
DM_MTL/276794-00007/l 800503.3
- 11 -
As mentioned previously, the blocking of the motion of the first object in the direction pointing to the second object in the event of a collision between the first object and the second object means that the effect of the collision on the motion of the first object is as if the second object was an immutable stationary object, and conversely for the effect of the collision on the motion of the second object.
It will be appreciated by the skilled addressee that the effect on the motion may be computed using techniques known to someone versed in the art of computer programming.
It will be appreciated that this translates differently depending on the type of computer physic simulation system used and the degree of sophistication of the simulation. It should be further appreciated that some computer physic simulation systems may have internal limitations preventing them from expressing these constraints.
For instance, on an impulse based physic simulation system, the motion of an object is expressed through the notion of quantity of motion and the motion of an object is altered by adding impulses to the quantity of motion, that is, an impulse is a change in the quantity of motion. Typically on such systems a collision between a first object and a second object is handled by having two impulses of equal magnitude but opposite direction, one affecting the motion of the first object and the other one affecting the motion of the second object in order to prevent the penetration.
The method disclosed herein however requires that the two impulses are computed independently as if the other object was an immutable stationary object.
As an example, the impulse affecting the first object may be set to the opposite to the component of the quantity of motion of the first object in the direction pointing to the second object. It will be appreciated that if the direction of the motion of the first object forms an obtuse angle with the direction pointing to the second object no impulse needs to be generated to block the motion of the first object in the
DM_MTL/276794-00007/l 800503.3
- 12 -
direction pointing to the second object. It will be further appreciated that alternatively, in another embodiment the first impulse may also be scaled up, typically by a factor up to two. Such a first impulse may be used to block the motion of the first object in the direction pointing to the second object, the higher magnitude making the first object rebound on the second object instead of just sliding on it.
In another more sophisticated embodiment, the impulse to block the motion of the first object may take into account a plurality of objects it is colliding with simultaneously, thereby improving the quality of the simulation.
For instance, one technique that may be used for a sliding collision is to detect the collision between the first object and a plurality of objects. Of that plurality of objects, only those for which the direction of the motion of the first object forms a sharp angle with the direction pointing from the first object to them are considered, since the others will not participate in blocking the motion of the first object.
It will be appreciated that if the plurality of objects considered does not comprise any objects, the collision induces no impulse on the motion of the first moving object.
In the case where the plurality of objects considered comprises a single second object, then the collision induces an impulse on the motion of the first object which is, as discussed previously, when only the collision between a first object and a second object was considered.
In the case where the plurality of objects comprises two objects, a final quantity of motion for the first object is determined as the quantity of motion of the first object in the direction simultaneously perpendicular to both the directions pointing to the plurality of the two objects. The collision induces an impulse on the motion of the first object which is equal to the difference between the final quantity of motion for the first object and the quantity of motion for the first object.
DM MTL/276794-00007/1800503.3
- 13 -
In the case where the plurality of objects comprises three or more objects, the collision induces an impulse on the motion of the first object equal to the quantity of motion of the first object but in the opposite direction.
It will be appreciated that in this example, the impulse induced on the motion of the first object does not need to be literally computed as it is just used to be added on the quantity of motion of the first object, so the quantity of motion of the first object may be instead updated directly accordingly.
It will be further appreciated that, for better accuracy, the quantity of motion of the first object should already include the effect of other forces.
In another alternative embodiment, the impulse used to block the motion of the first object in the direction pointing to the second object on a more sophisticated impulse-based physic simulation system may be expressed in terms of constraints, on such a system, for instance, the impulse used to block the motion of the first object in the direction pointing to the second object may be a vector of variable intensity in the direction pointing from the second object to the first object. A constraint requiring the quantity of motion of the first object being perpendicular to the direction pointing to the second object may be added.
The various impulses and various constraints needed to represent the dynamics of the system may be computed. These together with the current quantity of motion of each object will be used to solve a constraint system and obtain a new quantity of motion for each object respecting the stated constraints.
A similar discussion applies for a force-based physic simulation system. It will be further appreciated that the method disclosed herein translates naturally when using a collision system with a sequential update scheme. For example, at each frame, each object is moved one at a time according to the game physics, and if a collision is detected, the move is blocked accordingly as if the colliding objects where stationary and immutable. It should be noted that the momentum of the objects may be obtained using their effective motion to take into account the effect of the blocking. Also it will be noted that this scheme does not require other
DM_MTL/276794-00007/l 800503.3
- 14 -
treatments by the game physics, such as explicit collision forces or impulses, in order to handle the collisions in a way consistent with the method disclosed herein. It will be further noted that the usability of this scheme depends on representing the location and the orientation of the objects in the frame of reference that implicitly defines the notion of stationary, that is, in which a stationary object has a fixed location and orientation.
It will be appreciated that the methods disclosed herein may be stored in a computer-readable medium comprising a plurality of instructions which when executed performs the methods disclosed herein.
Although the above description relates to a specific embodiment as presently contemplated by the inventor, it will be understood that the invention in its broad aspect includes functional equivalents of the elements described herein.
Claims
1. A method for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference, the method comprising: detecting a collision between a first moving object in the frame of reference and a second object; and blocking a motion of the first moving object in the frame of reference in the direction pointing to the second object during the collision to thereby increase the stability of the interactive video game.
2. The method as claimed in claim 1 , wherein said second object is also moving in the frame of reference.
3. The method as claimed in claim 1 , wherein said interactive video game involves a plurality of marbles, wherein said first moving object comprises one of the plurality of marbles and said second object comprises at least one other marble of the plurality of marbles.
4. The method as claimed in claim 3, wherein said second object comprises a plurality of marbles forming a cluster of marbles.
5. The method as claimed in any one of claims 1 to 4, wherein said reference object comprises a 3 dimension object.
6. The method as claimed in any one of claims 1 to 5, wherein the blocking of a motion of the first moving object in the frame of reference in the direction pointing to the second object during the collision is displayed in an interface to a user. DM_MTL/276794-00007/1800503.3
- 16 -
7. A collision management module for increasing the stability of an interactive video game in which a plurality of objects are moving on a reference object, fixed in a frame of reference, the collision management module comprising: a collision detecting unit receiving a motion-related data of a first moving object in the frame of reference and a motion-related data of a second object, the collision detecting unit detecting a collision between the first moving object and the second object and providing a signal indicative of the collision, a motion blocking unit receiving the signal indicative of the collision, the motion-related data of the first moving object and the motion-related data of the second object and providing an amended motion-related data for the first moving object and an amended motion-related data for the second object such that the motion of the first moving object in the frame of reference is blocked during the collision in the direction pointing to the second object.
8. The collision management module as claimed in claim 7, wherein said interactive video game involves a plurality of marbles, wherein said first moving object comprises one of the plurality of marbles and said second object comprises at least one other marble of the plurality of marbles.
9. The collision management module as claimed in claim 7, wherein said second object is also moving in the frame of reference.
10. A computer-readable medium comprising a plurality of instructions which when executed perform the method as claimed in any one of claims 1 to 6.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US99040907P | 2007-11-27 | 2007-11-27 | |
US99047307P | 2007-11-27 | 2007-11-27 | |
US60/990,409 | 2007-11-27 | ||
US60/990,473 | 2007-11-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009067795A1 true WO2009067795A1 (en) | 2009-06-04 |
Family
ID=40677980
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2008/002067 WO2009067796A1 (en) | 2007-11-27 | 2008-11-24 | Interactive game |
PCT/CA2008/002066 WO2009067795A1 (en) | 2007-11-27 | 2008-11-24 | Method for increasing the stability of an interactive game |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2008/002067 WO2009067796A1 (en) | 2007-11-27 | 2008-11-24 | Interactive game |
Country Status (1)
Country | Link |
---|---|
WO (2) | WO2009067796A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9898870B2 (en) | 2010-06-17 | 2018-02-20 | Micorsoft Technologies Licensing, Llc | Techniques to present location information for social networks using augmented reality |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150031004A1 (en) | 2013-07-24 | 2015-01-29 | Lumos Labs, Inc. | Physically intuitive, real-time, multiple object tracking, planning and divided attention task for enhancing cognition |
US20150093730A1 (en) * | 2013-10-02 | 2015-04-02 | Lumos Labs, Inc. | Systems and methods for a search driven, visual attention task for enhancing cognition |
US20150278740A1 (en) | 2014-03-26 | 2015-10-01 | Lumos Labs, Inc. | System and method for multiple timer management task for enhanced cognition |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049341A (en) * | 1997-10-20 | 2000-04-11 | Microsoft Corporation | Edge cycle collision detection in graphics environment |
US6628287B1 (en) * | 2000-01-12 | 2003-09-30 | There, Inc. | Method and apparatus for consistent, responsive, and secure distributed simulation in a computer network environment |
US7146297B2 (en) * | 2002-03-27 | 2006-12-05 | Intel Corporation | Detecting collisions of three-dimensional models |
-
2008
- 2008-11-24 WO PCT/CA2008/002067 patent/WO2009067796A1/en active Application Filing
- 2008-11-24 WO PCT/CA2008/002066 patent/WO2009067795A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049341A (en) * | 1997-10-20 | 2000-04-11 | Microsoft Corporation | Edge cycle collision detection in graphics environment |
US6628287B1 (en) * | 2000-01-12 | 2003-09-30 | There, Inc. | Method and apparatus for consistent, responsive, and secure distributed simulation in a computer network environment |
US7146297B2 (en) * | 2002-03-27 | 2006-12-05 | Intel Corporation | Detecting collisions of three-dimensional models |
Non-Patent Citations (1)
Title |
---|
KATAMARI DAMACY: "(THELOGBOOK.COM)", vol. 13022007, Retrieved from the Internet <URL:http://web.archive.org/web/20070213202448/http://www.thelogbook.com/pf/kata mari> [retrieved on 20070213] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9898870B2 (en) | 2010-06-17 | 2018-02-20 | Micorsoft Technologies Licensing, Llc | Techniques to present location information for social networks using augmented reality |
Also Published As
Publication number | Publication date |
---|---|
WO2009067796A1 (en) | 2009-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Buro | ORTS: A hack-free RTS game environment | |
US20170291108A1 (en) | Method for controlling automatic attack of user character | |
Grassberger et al. | Phase transitions in cooperative coinfections: Simulation results for networks and lattices | |
US20140004941A1 (en) | Conversion of haptic events into screen events | |
US11494048B2 (en) | View virtualization | |
McQueen | Four tails problems for dynamical collapse theories | |
WO2002025585A2 (en) | Object positioning and display in virtual environments | |
KR20140121901A (en) | network game system without dynamic obstructions and processing method thereof | |
US20230055516A1 (en) | Collision data processing method and apparatus, computer device, and storage medium | |
WO2009067795A1 (en) | Method for increasing the stability of an interactive game | |
CN110694276B (en) | Physical effect simulation method and device, storage medium, processor and electronic device | |
WO2021244307A1 (en) | Method and apparatus for selecting virtual object, and device and storage medium | |
US11344815B2 (en) | Systems and method for dynamic content unlock and adaptive controls | |
Baron | Procedural dungeon generation analysis and adaptation | |
CN113827974A (en) | AI role control method and device in game | |
Krekora et al. | Klein paradox with spin-resolved electrons and positrons | |
US9332071B2 (en) | Data stage-in for network nodes | |
WO2017074826A1 (en) | Computer-implemented method and system for simulating large structures | |
WO2023185393A1 (en) | Image processing method and apparatus, device, and storage medium | |
US20150116328A1 (en) | System, program, and method for generating image of virtual space | |
CN102566860B (en) | Click response method for 3D (three-dimensional) objects in display and display system | |
CN116069154A (en) | Information interaction method, device, equipment and medium based on enhanced display | |
Krumm-Heller et al. | Using determinism to improve the accuracy of dead reckoning algorithms | |
Neerdal et al. | Navigating procedurally generated overt self-overlapping environments in VR | |
US20150343310A1 (en) | Apparatus and methods for computer implemented game |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08855385 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08855385 Country of ref document: EP Kind code of ref document: A1 |