U.S. Pat. No. 8,062,128
UTILIZING LINE-OF-SIGHT VECTORS IN A GAME ENVIRONMENT
AssigneeSony Interactive Entertainment LLC
Issue DateMay 21, 2003
Illustrative Figure
Abstract
Utilizing line-of-sight volumes in a game environment comprises calculating a line-of-sight vector defined by the position of a game camera and the position of a character in the game environment, determining whether one of a set of predetermined game elements intersects the line-of-sight vector, and if the line-of-sight vector is intersected, replacing the game element with its corresponding line-of-sight volume. In one embodiment, a line-of-sight volume is a grid volume that has the same size and shape as it corresponding game element. The line-of-sight volume allows a user to substantially view the character in the game environment.
Description
DETAILED DESCRIPTION OF THE INVENTION FIG. 1is a block diagram of one embodiment of an electronic entertainment system100in accordance with the invention. System100includes, but is not limited to, a main memory110, a central processing unit (CPU)112, vector processing units VU0111and VU1113, a graphics processing unit (GPU)114, an input/output processor (IOP)116, an IOP memory118, a controller interface120, a memory card122, a Universal Serial Bus (USB) interface124, and an IEEE 1394 interface126. System100also includes an operating system read-only memory (OS ROM)128, a sound processing unit (SPU)132, an optical disc control unit134, and a hard disc drive (HDD)136, which are connected via a bus146to IOP116. System100is preferably an electronic gaming console; however, system100may also be implemented as a general-purpose computer, a set-top box, or a hand-held gaming device. CPU112, VU0111, VU1113, GPU114, and IOP116communicate via a system bus144. CPU112communicates with main memory110via a dedicated bus142. VU1113and GPU114may also communicate via a dedicated bus140. CPU112executes programs stored in OS ROM128and main memory110. Main memory110may contain prestored programs and may also contain programs transferred via IOP116from a CD-ROM, DVD-ROM, or other optical disc (not shown) using optical disc control unit134. Main memory110may also contain programs transferred via IOP116from a remote server via a network (not shown). IOP116controls data exchanges between CPU112, VU0111, VU1113, GPU114and other devices of system100, such as controller interface120. GPU114executes drawing instructions from CPU112and VU0111to produce images for display on a display device (not shown). VU1113transforms objects from three-dimensional coordinates to two-dimensional coordinates, and sends the two-dimensional coordinates to GPU114. SPU132executes instructions to produce sound signals that are output on an audio device (not shown). A user of system100provides instructions via controller interface120to CPU112. For example, the user may instruct CPU112to store certain game information on memory card122or may instruct a character in a game to perform some specified action. Other devices ...
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1is a block diagram of one embodiment of an electronic entertainment system100in accordance with the invention. System100includes, but is not limited to, a main memory110, a central processing unit (CPU)112, vector processing units VU0111and VU1113, a graphics processing unit (GPU)114, an input/output processor (IOP)116, an IOP memory118, a controller interface120, a memory card122, a Universal Serial Bus (USB) interface124, and an IEEE 1394 interface126. System100also includes an operating system read-only memory (OS ROM)128, a sound processing unit (SPU)132, an optical disc control unit134, and a hard disc drive (HDD)136, which are connected via a bus146to IOP116. System100is preferably an electronic gaming console; however, system100may also be implemented as a general-purpose computer, a set-top box, or a hand-held gaming device.
CPU112, VU0111, VU1113, GPU114, and IOP116communicate via a system bus144. CPU112communicates with main memory110via a dedicated bus142. VU1113and GPU114may also communicate via a dedicated bus140. CPU112executes programs stored in OS ROM128and main memory110. Main memory110may contain prestored programs and may also contain programs transferred via IOP116from a CD-ROM, DVD-ROM, or other optical disc (not shown) using optical disc control unit134. Main memory110may also contain programs transferred via IOP116from a remote server via a network (not shown). IOP116controls data exchanges between CPU112, VU0111, VU1113, GPU114and other devices of system100, such as controller interface120.
GPU114executes drawing instructions from CPU112and VU0111to produce images for display on a display device (not shown). VU1113transforms objects from three-dimensional coordinates to two-dimensional coordinates, and sends the two-dimensional coordinates to GPU114. SPU132executes instructions to produce sound signals that are output on an audio device (not shown).
A user of system100provides instructions via controller interface120to CPU112. For example, the user may instruct CPU112to store certain game information on memory card122or may instruct a character in a game to perform some specified action. Other devices may be connected to system100via USB interface124and IEEE 1394 interface126.
FIG. 2is a block diagram of one embodiment of main memory110ofFIG. 1, according to the invention. Main memory110includes, but is not limited to, game software212which includes instructions executable by CPU112, VU0111, VU1113, and SPU132that allow a user of system100to play a game. In theFIG. 2embodiment, game software212is a fighting game where a user controls the actions of a character roaming in a three-dimensional game environment. In other embodiments, game software212may be any other type of game, including but not limited to a combat simulation game, a role-playing game (RPG), a flight simulation game, and a civilization-building simulation game.
Game software212includes, but is not limited to, game element data214and line-of-sight (LOS) volume data216. Game software212uses game element data214to represent various game elements in the game environment. Game element data214include interactive game elements, such as characters and vehicles, and non-interactive game elements such as background structures and trees.
LOS volume data216includes data for LOS volumes that correspond to a set of predetermined game elements in game element data214. A designer, producer, or programmer of game software212predetermines which game elements in game element data214have corresponding LOS volumes in LOS volume data216. An LOS volume is a three-dimensional representation of a game element that may replace the game element in the game environment. In one embodiment, an LOS volume is a grid volume having a shape and size of its corresponding game element. LOS volumes are further discussed below in conjunction withFIGS. 3A-3D.
In another embodiment, game software212generates LOS volume data in real time. In other words, when game software212determines that an LOS volume should be displayed, game software212generates rendering instructions for a corresponding LOS volume. Thus, in this embodiment, LOS volume data is not stored in a memory.
FIG. 3Ais a diagram of a game screen322on a display device310, according to one embodiment of the invention. Game screen322includes, but is not limited to, structures330and332, a character340, and a tree350. Although only one tree350is shown, the game environment may include additional trees and other types of environmental elements such as rocks, mountains, and bodies of water. Game screen322is a display of the game environment from the viewpoint of a game camera. For purposes of ease of illustration inFIGS. 3A-3D, the viewpoint of the game camera is perpendicular to the page. A user of system100controls the movements of character340in the game environment by actuating controls on a controller coupled to controller interface120.
During game play, game software212continuously calculates a line-of-sight vector, which is a vector defined by the position of the camera and the position of character340in the game environment. Game software212determines whether the line-of-sight vector is intersected by a game element, such as structure330. In other words, game software212determines whether the line-of-sight vector passes through any plane of a game element. If the line-of-sight vector is intersected by one of the set of predetermined game elements (or the line-of-sight vector passes through a plane of the game element), game software212replaces that game element with its corresponding LOS volume from LOS volume data216. Not every game element shown in game screen322has a corresponding LOS volume in LOS volume data216. For example, tree350does not have a corresponding LOS volume. So if tree350intersects the line-of-sight vector, game software212does not modify tree350.
FIG. 3Bis a diagram of a game screen324on display device310, according to one embodiment of the invention. Game screen324includes, but is not limited to, structure332, character340, tree350, and a LOS volume360. InFIG. 3B, the user has moved character340to a position that is behind the position of structure330. Structure330thus intersects the line-of-sight vector, so game software212has replaced structure330with LOS volume360. LOS volume360is a grid volume that has the same size and shape as structure330. LOS volume360allows character340to be sufficiently visible for the user to maneuver character340in relation to LOS volume360as if structure330were still on-screen. For example, the user cannot move character340into the space in the game environment occupied by LOS volume360.
In one embodiment, LOS volume360is a grid volume of white grid lines. The areas between the grid lines are shaded slightly darker than the rest of the game environment such that it is readily apparent to the user that there is some intervening material between the camera and character340. The grid lines of LOS volume360obscure some portions of character340. The grid lines of LOS volume360clearly present to the user the three-dimensional nature of LOS volume360, which mimics the three-dimensional nature of structure330.
FIG. 3Cis a diagram of a game screen326on display device310, according to one embodiment of the invention. Game screen326includes, but is not limited to, structure330, character340, tree350, and a LOS volume362. InFIG. 3C, the user has moved character340to a position behind the position of structure332. Structure332intersects the line-of-sight vector (the line-of-sight vector passes through one or more planes of structure332), so game software212has replaced structure332with LOS volume362. Also, since character340is no longer behind the position of structure330, game software212once again displays structure330on game screen326.
As shown inFIG. 3C, character340is not entirely within the outside edges of LOS volume362. Game software212will replace one of the predetermined game elements with its corresponding LOS volume when a significant portion of character340would otherwise be hidden by the game element.
FIG. 3Dis a diagram of a game screen328on display device310, according to one embodiment of the invention. Game screen328includes, but is not limited to, character340, structures330and332, and tree350. InFIG. 3D, the user has moved character340to a position to the left of the position of structure332. Since structure332no longer intersects the line-of-sight vector, game software212once again displays structure332on game screen328.
Although LOS volumes360and362are shown as grid volumes, other embodiments of LOS volumes are within the scope of the invention. For example, LOS volumes may be shown as semitransparent volumes of a single color, for example white or gray. In another example, LOS volumes may have an outline of the same shape and size as the corresponding game element, but the game environment within the outline is shown as black and white instead of the usual color scheme.
In one embodiment, predetermined game elements that are large, for example structure330, may have a set of corresponding LOS volumes in LOS volume data216. The set of corresponding LOS volumes includes a plurality of LOS volumes where each corresponds to a portion of the game element. For example, structure330may have a set of corresponding LOS volumes in LOS volume data216that includes two LOS volumes, one representing a left half of structure330and the other representing a right half of structure330. Thus if character340is in a position such that the left half of structure330intersects the line-of-sight vector, then game software212replaces the left half of structure330with its corresponding LOS volume and continues to display the right half of structure330normally.
In one embodiment, the LOS volume is defined as a certain area surrounding the character in the game environment. For example, the LOS volume may be defined as a “bubble” surrounding the character that is shown on screen when the line-of-sight vector intersects one or more planes of a game element. In this embodiment an entire game element, such as a structure, is not replaced by a corresponding LOS volume. Instead, a portion of the game element is shown as a LOS volume bubble surrounding the position of the character in the game environment.
FIG. 4is a flowchart of method steps for utilizing a line-of-sight volume, according to one embodiment of the invention. In step412, game software212calculates a line-of-sight vector that is determined according to the position of the camera and the position of character340. Then, in step414, game software212determines whether one of a set of predetermined game elements in game element data214intersects the line-of-sight vector (whether the line-of-sight vector passes through one or more planes of one of the set of game elements). If one of the set of predetermined game elements does not intersect the line-of-sight vector, then in step416game software212displays each game element currently on screen as usual. The method then returns to step412.
If one of the set of predetermined game elements does intersect the line-of-sight vector, then in step418game software212displays the game element's corresponding LOS volume in LOS volume data216in the place of the game element. The method then returns to step412. In one embodiment, game software212continues to perform the steps of the method ofFIG. 4until the game ends or is restarted.
The invention has been described above with reference to specific embodiments. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The foregoing description and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims
- A method for utilizing line-of-sight vectors in a game environment, comprising: calculating a line-of-sight vector in the game environment, wherein the line-of-sight vector is defined by a position of a game environment camera with respect to a position of an object in the game environment;determining whether the line-of-sight vector is intersected in the game environment by a plane of a game element corresponding to a line-of-sight volume;and replacing the game element that intersects the line-of-sight vector with a line-of-sight volume corresponding to the game element.
- The method of claim 1 , wherein the object is a game character in the game environment.
- The method of claim 2 , wherein the position of the game character in the game environment is controlled by a user playing a game.
- The method of claim 2 , wherein if the line-of-sight vector is not intersected by the plane of a game element corresponding to a line-of-sight volume, the game element corresponding to the line-of-sight volume continues to be displayed.
- The method of claim 1 , wherein the replacement of the game element that intersects the line-of-sight vector with the corresponding line-of-sight volume allows a user to substantially view the object in the game environment.
- The method of claim 1 , wherein the corresponding line-of-sight volume is a grid volume having a size and shape that matches the size and shape of the game element that intersects the line-of-sight vector.
- The method of claim 6 , wherein the grid volume comprises a thr dimensional grid of white lines.
- The method of claim 1 , wherein the corresponding line-of-sight volume is a semitransparent volume having a size and shape that matches the size and shape of the game element that intersects the line-of-sight vector.
- The method of claim 8 , wherein the semitransparent volume is white.
- The method of claim 8 , wherein the semitransparent volume is gray.
- The method of claim 1 , wherein the corresponding line-of-sight volume is a portion of the game element.
- The method of claim 1 , wherein the corresponding line-of-sight volume substantially mimics the game element that intersects the line-of-sight vector.
- A system for utilizing line-of-sight vectors in a game environment, comprising: a memory configured to store game software including game element data and line-of-sight volume data, the game element data including a set of game elements that each correspond to a line-of-sight volume, the line-of-sight volume data each corresponding to one of the set of game elements;a processor configured to execute the game software;and a display device configured to display one of the set of game elements or its corresponding line-of-sight volume when a line-of-sight vector defined by a position of a game environment camera and a position of an object in the game environment is intersected by a plane of one of the set of game elements that corresponds to a line-of-sight volume as determined by the processor when executing the game software.
- The system of claim 13 , wherein the object is a character in the game environment.
- The system of claim 14 , wherein the position of the character in the game environment is controlled by a user playing a game.
- The system of claim 13 , wherein displaying the corresponding line-of-sight volume allows a user to substantially view the object in the game environment.
- The system of claim 13 , wherein the corresponding line-of-sight volume is a grid volume having a size and shape that matches the size and shape of the game element that intersects the line-of-sight vector.
- The system of claim 17 , wherein the grid volume comprises a three-dimensional grid of white lines.
- The system of claim 13 , wherein the corresponding line-of-sight volume is a semitransparent volume having a size and shape that matches the size and shape of the game element that intersects the line-of-sight vector.
- The system of claim 19 , wherein the semitransparent volume is white.
- The system of claim 19 , wherein the semitransparent volume is gray.
- A computer-readable storage medium having embodied thereon one or more instructions executable by a computer to perform a method for utilizing line-of-sight vectors in a game environment, the method comprising: calculating a line-of-sight vector in the game environment, wherein the line-of-sight vector is defined by a position of a game environment camera with respect to a position of an object in the game environment;determining whether the line-of-sight vector is intersected in the game environment by a plane of a game element corresponding to a line-of-sight volume;and replacing the game element that intersects the line-of-sight vector with a line-of-sight volume corresponding to the game element.
- The computer-readable storage medium of claim 22 , wherein the object is a game character in the game environment.
- The computer-readable storage medium of claim 23 , wherein if the line-of-sight vector is not intersected by the plane of a game element corresponding to a line-of-sight volume, the game element corresponding to the line-of-sight volume continues to be displayed.
- The computer-readable storage medium of claim 22 , wherein the replacement of the game element that intersects the line-of-sight vector with the corresponding line-of-sight volume allows a user to substantially view the object in the game environment.
- The computer-readable storage medium of claim 22 , wherein the corresponding line-of-sight volume is a grid volume having a size and shape that matches the size and shape of the game element that intersects the line-of-sight vector.
- The computer-readable storage medium of claim 26 , wherein the grid volume comprises a three-dimensional grid of white lines.
- The computer-readable storage medium of claim 22 , wherein the corresponding line-of-sight volume is a semitransparent volume having a size and shape that matches the size and shape of the game element that intersects the line-of-sight vector.
- The computer-readable storage medium of claim 28 , wherein the semitransparent volume is white.
- The computer-readable storage medium of claim 28 , wherein the semitransparent volume is gray.
- A system for utilizing line-of-sight vectors in a game environment, comprising: means for calculating a line-of-sight vector in the game environment, wherein the line-of-sight vector is defined by a position of a game environment camera with respect to a position of an object in the game environment;means for determining whether the line-of-sight vector is intersected in the game environment by a plane of a game element corresponding to a line-of-sight volume;and means for replacing the game element that intersects the line-of-sight vector with a line-of-sight volume corresponding to the game element.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.