WO2009067795A1 - Method for increasing the stability of an interactive game - Google Patents

Method for increasing the stability of an interactive game Download PDF

Info

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
Application number
PCT/CA2008/002066
Other languages
French (fr)
Inventor
Robert LIZÉE
Martin LIZÉE
Original Assignee
Gamerizon Studio Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gamerizon Studio Inc. filed Critical Gamerizon Studio Inc.
Publication of WO2009067795A1 publication Critical patent/WO2009067795A1/en

Links

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods 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/643Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods 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/646Methods 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/80Features 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/8011Ball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision 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

DM_MTL/276794-00007/1800503.3- 15 -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.
PCT/CA2008/002066 2007-11-27 2008-11-24 Method for increasing the stability of an interactive game WO2009067795A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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