US6203431B1 - Video game apparatus and memory medium used therefor - Google Patents

Video game apparatus and memory medium used therefor Download PDF

Info

Publication number
US6203431B1
US6203431B1 US09/190,240 US19024098A US6203431B1 US 6203431 B1 US6203431 B1 US 6203431B1 US 19024098 A US19024098 A US 19024098A US 6203431 B1 US6203431 B1 US 6203431B1
Authority
US
United States
Prior art keywords
shadow
data
displaying
object data
ground
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
US09/190,240
Inventor
Shigeru Miyamoto
Yoshiaki Koizumi
Toru Osawa
Yoichi Yamada
Toshio Iwawaki
Tsuyoshi Kihara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Assigned to NINTENDO CO., LTD. reassignment NINTENDO CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IWAWAKI, TOSHIO, KIHARA, TSUYOSHI, KOIZUMI, YOSHIAKI, MIYAMOTO, SHIGERU, OSAWA, TORU, YAMADA, YOICHI
Priority to US09/765,442 priority Critical patent/US6290604B2/en
Application granted granted Critical
Publication of US6203431B1 publication Critical patent/US6203431B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • 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/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • 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/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1081Input via voice recognition
    • 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/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • 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/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6646Methods for processing data by generating or executing the game program for rendering three dimensional images for the computation and display of the shadow of an object or character
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/949Animation processing method
    • Y10S345/95Sprite processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/949Animation processing method
    • Y10S345/953Geometric processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/949Animation processing method
    • Y10S345/955Morphing

Definitions

  • This invention relates to video game apparatuses and memory mediums. More specifically, the invention relates to a video game apparatus for processing shadows to be displayed by an improved method, and a memory medium used therefor.
  • 3D games a player object is moved in a three-dimensional virtual space.
  • a shadow of the player object is displayed on a ground object (a floor, water surface, earth surface, etc.) thus enhancing three-dimensional realistic feelings.
  • the conventional methods of displaying player object shadows involve one to put a circular shadow to a location of directly under the player object.
  • the shadows are simply in circular forms regardless of the scene, resulting in deficiency in realistic feelings.
  • this method requires to calculate polygons in the same number as that of the player object, resulting in a problem of excessive quantity of calculation and hence heavy burden on a game processor. Accordingly, where realizing this method by using an image processing apparatus with low processing speed, such as a home-use game machine, there encounters a limitation in displaying an object shadow to at most one in number.
  • a method for displaying a shadow with a video game apparatus includes the steps of: (a) generating basic shadow object data; (b) deforming the basic shadow object data to create displaying shadow object data according to at least position data of a light and player object data; and (c) supplying an image signal to a display unit based on at least the player object data on a player object and the displaying shadow object data.
  • a video game apparatus comprises: a basic object data generating means for generating basic shadow object data; a player object image data generating means for generating a player object data; a displaying shadow object data creating means for deforming the basic shadow object data to create displaying shadow object data according to at least the player object data and position data on a light for illuminating the player object; and an image processing means for supplying an image signal to a display unit based on at least the player object data and the displaying shadow object data.
  • a memory medium is to be detachably attached to a video game apparatus for displaying a shadow of a player object, and comprises: a first memory area for generating basic shadow object data; a second memory area for generating player object data; a displaying shadow object creating program for deforming the basic shadow object data to create displaying shadow object data according to at least the player object data and position data of a light for illuminating the player object; and an image processing program for supplying an image signal to a display unit based on at least the player object image data and displaying shadow object data.
  • a circular basic shadow object is formed by two polygons and textures to be put thereto.
  • This basic shadow object is deformed depending, for example, upon a light position, ground object state (a position, inclination, step, material (water, soil, etc.)), or player object position or its ground contact portion, being created into a displaying shadow object.
  • the creation of a display shadow object involves determining a direction in which a shadow is thrown, determining a shadow length based on a light source height and a player object leg length, determining a shadow depth based on a foot height, and determining a shape of a displaying shadow object depending on a state of a ground object to which the shadow is thrown.
  • a displaying shadow object is created by deforming a basic shadow object, the burden on the processor is reduced.
  • shadows are represented by being varied in various forms instead of simple shapes of shadows.
  • the shadows are varied matching to left and right leg movements, thus providing shadow representation with greater realism.
  • FIG. 1 is a schematic illustrative view showing a video game system according to one embodiment of the present invention
  • FIG. 2 is a block diagram showing in detail a video game machine in FIG. 1;
  • FIG. 3 is a block diagram showing in further detail a controller control circuit in FIG. 2;
  • FIG. 4 is a block diagram showing in detail a controller and a cartridge in FIG. 1;
  • FIG. 5 is an illustrative view showing a memory map of an external ROM in FIG. 2;
  • FIG. 6 is an illustrative view showing a memory map of a RAM in FIG. 2;
  • FIG. 7 is an illustrative view showing in detail an image data area included in the RAM of FIG. 6;
  • FIG. 8 is an illustrative view showing polygons for a basic shadow object
  • FIG. 9 is a flowchart showing an overall operation of the FIG. 1 embodiment
  • FIG. 10 is a flowchart showing in detail a ground object processing routine in the FIG. 8 embodiment
  • FIG. 11 is a flowchart showing in detail a player object processing routine in the FIG. 8 embodiment
  • FIG. 12 is a flowchart showing in detail a shadow object processing routine in the FIG. 8 embodiment
  • FIG. 13 is an illustrative view showing various elements of a player object
  • FIG. 14 is an illustrative view showing how a player object shadow varies depending upon a difference in light source height position
  • FIG. 15 is an illustrative view showing one example of an animation table
  • FIG. 16 is an illustrative view showing in detail a relationship between the light source height and shadow length
  • FIG. 17 is an illustrative view showing in detail differences in shadow length
  • FIG. 18 is an illustrative view showing shadow depth to be varied depending upon leg height
  • FIG. 19 is an illustrative view showing one example of a shape of a shadow projected onto a ground
  • FIG. 20 is an illustrative view showing a shadow displayed in an actual game scene.
  • FIG. 21 is an illustrative view showing a rendering process routine of the FIG. 9 embodiment.
  • a video game system in this embodiment includes a video game machine 10 , a ROM cartridge 20 as one example of a memory medium, a display unit 30 connected to the video game machine 10 , and a controller 40 .
  • the controller 40 is dismountably mounted with a cartridge 50 .
  • the controller 40 is structured by a plurality of switches or buttons provided on the housing 41 in a form graspable by both or one hand.
  • the controller 40 includes handles 41 L, 41 C, 41 R downwardly extending respectively from a left end, a right end and a center of the housing 41 , providing an operation area on a top surface of the housing 41 .
  • an analog-inputtable joystick hereinafter referred to as “analog joystick” 45 at a central lower portion thereof, a cross-shaped digital direction switch (hereinafter called “cross switch”) 46 on the left side, and a plurality of button switches 47 A, 47 B, 47 D, 47 E and 47 F on the right side.
  • the analog joystick 45 is used to input moving directions and/or moving speeds or moving amounts of the player object as determined by an amount and direction of joystick inclination.
  • the cross switch 46 is used to designate a moving direction of the player object, in place of the joystick 45 .
  • the button switches 47 A and 47 B are used to designate a motion of the player object.
  • Button switches 47 C- 47 D are used to switch over a sight point for a three-dimension image camera or to adjust the speed or the like of the player object.
  • a start switch 47 S is provided almost at a center of the operation area. This start switch 47 S is operated when starting a game.
  • a switch 47 Z is provided at a backside of the central handle 41 C. This switch 47 Z is utilized, for example, as a trigger switch in a shoot game. This switch (may be hereinafter called “Z button”) 47 Z is operated when the player object is to be caused to pay attention to a non-player object. That is, this switch 47 Z functions as a second operating means.
  • Switches 47 L and 47 R are provided at upper left and right of a lateral surface of the housing 41 .
  • the above-stated button switches 47 C- 47 F can also be used to control the moving speed (e.g. acceleration or deceleration) of the player object in a shoot or action game, besides for the purpose of switching the camera visual point.
  • these switches 47 A- 47 F, 47 S, 47 Z, 47 L and 47 R can be arbitrarily defined in their function depending upon a game program.
  • FIG. 2 is a block diagram of the video game system of the FIG. 1 embodiment.
  • the video game machine 10 incorporates therein a central processing unit (hereinafter referred to as “CPU”) 11 and a coprocessor (reality coprocessor: hereinafter referred to as “RCP”) 12 .
  • the RCP 12 includes a bus control circuit 121 for controlling buses, a signal processor (reality signal processor; hereinafter referred to as “RSP”) 122 for performing polygon coordinate transformation, shading treatment and so on, and a rendering processor (reality display processor; hereinafter referred to as “RDP”) 46 for rasterizing polygon data into an image to be displayed and converting the same into a data form (dot data) memorable on a frame memory.
  • RDP rendering processor
  • the RCP 12 is connected with a cartridge connector 13 for unloadably loading a ROM cartridge 20 having an external ROM 21 incorporated therein, a disc-drive connector 197 for detachably mounting a disc drive 29 , and a RAM 14 . Also, the RCP 12 is connected with DAC (Digital/Analog Converters) 15 and 16 for respectively outputting a sound signal and video signal to be processed by the CPU 11 . Further, the RCP 12 is connected with a controller control circuit 17 to serially transfer operating data on one or a plurality of controllers 40 and/or data of the cartridge 50 .
  • DAC Digital/Analog Converters
  • the bus control circuit 121 included in the RCP 12 performs parallel/serial conversion on a command supplied in a parallel signal from the CPU via a bus, to thereby supply a serial signal to the controller control circuit 18 . Also, the bus control circuit 121 converts a serial signal inputted from the controller control circuit 17 into a parallel signal, giving an output to the CPU 11 via the bus.
  • the data representative of an operating state (operating signal or operating data) read out of the controller 40 A- 40 D is processed by the CPU 11 , and temporarily stored within a RAM 14 , and so on.
  • the RAM 15 includes a storage site for temporarily memorizing the data to be processed by the CPU 11 , so that it is utilized for smoothly reading and writing data through the bus control circuit 121 .
  • the sound DAC 15 is connected with a connector 195 provided at a rear face of the video game machine 10 .
  • the image DAC 16 is connected with a connector 196 provided at the rear face of the video game machine 10 .
  • the connector 195 is connected with a speaker 31 of a display 30
  • the connector 196 is connected with a display 30 such as a TV receiver, CRT or LCD.
  • the controller control circuit 17 is connected with a controller connector provided at the front face of the video game machine 10 .
  • the connector 18 is disconnectably connected by a controller 40 through a connecting jack. The connection of the controller 40 to the connector 18 places the controller in electrical connection to the video game machine 10 , thereby enabling transmission/reception or transfer of data therebetween.
  • the controller control circuit 17 is used to transmit and receive data in serial between the RCP 12 and the connector 18 .
  • the controller control circuit 17 includes, as shown in FIG. 3, a data transfer control circuit 171 , a transmitting circuit 172 , a receiving circuit 173 and a RAM 174 for temporarily memorizing transmission and reception data.
  • the data transfer control circuit 171 includes a parallel/serial converting circuit and a serial/parallel converting circuit in order to convert a data format during data transfer, and further performs write/read control on the RAM 174 .
  • the serial/parallel converting circuit converts the serial data supplied from the RCP 12 into parallel data, supplying it to the RAM 174 or the transmitting circuit 172 .
  • the parallel/serial converting circuit converts the parallel data supplied from the RAM 174 or the receiving circuit 173 into serial data, to supply it to the RCP 12 .
  • the transmitting circuit 172 converts the command for reading signals from the controller 40 and the writing data (parallel data) to the cartridge 50 , into serial data to be delivered to channels CH1-CH4 corresponding to the respective controllers 40 .
  • the receiving circuit 173 receives, in serial data, operational state data of the controllers inputted through corresponding channels CH1-CH4 and data read from the cartridge 50 , to convert them into parallel data to be delivered to the data transfer control circuit 171 .
  • the data transfer control circuit 171 writes into the RAM 174 data transferred from the RCP 12 , data of the controller received by the receiving circuit 183 , or data read out of the RAM cartridge 50 , and reads data out of the RAM 174 based on a command from the RCP 12 so as to transfer it to the RCP 12 .
  • the RAM 174 includes memory sites for the respective channels CH1-CH4. Each of the memory sites is stored with a command for the channel, transmitting data and/or reception data.
  • FIG. 4 is a detailed circuit diagram of the controller 40 and the cartridge 50 .
  • the housing of the controller 40 incorporates an operating signal processing circuit 44 , etc. in order to detect an operating state of the joystick 45 , switches 46 , 47 , etc. and transfer the detected data to the controller control circuit 17 .
  • the operating signal processing circuit 44 includes a receiving circuit 441 , a control circuit 442 , a switch signal detecting circuit 443 , a counter circuit 444 , a joyport control circuit 446 , a reset circuit 447 and a NOR gate 448 .
  • the receiving circuit 441 converts a serial signal, such as a control signal transmitted from the controller control circuit 17 or writing data to the cartridge 50 , into a parallel signal to supply it to the control circuit 442 .
  • the control circuit 442 generates a reset signal to reset (0), through the NOR gate 448 , count values of an X-axis counter 444 X and a Y-axis counter 444 Y within the counter 444 , when the control signal transmitted from the controller control circuit 17 is a signal for resetting X, Y coordinates of the joystick 45 .
  • the joystick 45 includes X-axis and Y-axis photo-interrupters in order to decompose a lever inclination into X-axis and Y-axis components, generating pulses in number proportional to the inclination.
  • the pulse signals are respectively supplied to the counter 444 X and the counter 444 Y.
  • the counter 444 X counts a number of pulses generated in response to an inclination amount when the joystick 45 is inclined in the X-axis direction.
  • the counter 444 Y counts a number of pulses generated responsive to an inclination amount when the joystick 45 is inclined in the Y-axis direction.
  • the resultant X-axis and Y-axis vector determined by the count values of the counters 444 X and 444 Y serves to determine a moving direction and a coordinate position of the player object or hero character or a cursor.
  • the counter 444 X and the 444 Y are reset, when a reset signal is supplied from the reset signal generating circuit 447 upon turning on the power or a reset signal is supplied from the switch signal detecting circuit 443 by simultaneous depression of predetermined two switches.
  • the switch signal detecting circuit 443 responds to a switch-state output command supplied at an interval of a constant period (e.g. a ⁇ fraction (1/30) ⁇ second interval as a TV frame period) from the control circuit 442 , to read a signal varying depending upon a depression state of the cross switch 46 and the switches 47 A- 47 Z.
  • the read signal is delivered to the control circuit 442 .
  • the control circuit 442 responds to a read-out command signal of operational state data from the controller control circuit 17 to supply in a predetermined data format the operational state data on the switches 47 A- 47 Z and count values of the counters 444 X and 444 Y to the transmitting circuit 445 .
  • the transmitting circuit 445 converts the parallel signal outputted from the control circuit 442 into a serial signal, and transfer it to the controller control circuit 17 via a converting circuit 43 and a signal line 42 .
  • the control circuit 442 is connected with a joystick control circuit 446 via an address bus and a data bus as well as a port connector 46 .
  • the joyport control circuit 446 performs data input/output (or transmission/reception) control according to a command from the CPU 11 when the cartridge 50 is connected to the port connector 46 .
  • the cartridge 50 is structured by connecting the RAM 51 to the address bus and data bus and connecting the RAM 51 with a battery 52 .
  • the RAM 51 is a RAM having a capacity (e.g. 256k bits), for example, of lower than a half of a maximum memory capacity accessible through the address bus.
  • the RAM 51 is to store backup data in relation to a game, and saves backup data by the application of electric power from the battery 52 even if the cartridge 50 is withdrawn from the port connector 46 .
  • FIG. 5 is a memory map showing a memory space of the external ROM 21 incorporated in the ROM cartridge 20 (FIG. 1 ).
  • the external ROM 21 includes a plurality of memory areas (hereinafter referred to merely as “area”), for example, such as a program area 22 , a character code area 23 , an image data area 24 and a sound memory area 25 , as shown in FIG. 5, thereby previously storing various program in a fixed manner.
  • the program area 22 is stored with programs required to process for game images, and game data and the like in accordance with a game content.
  • the program area 22 includes a plurality of memory areas to previously store operating programs for the CPU 11 in a fixed manner.
  • a main program area 22 a is stored with a main routine processing program, for example, for a game shown in FIG. 8 stated later.
  • a controller data program area 22 b is stored with a program for processing operational data on the controller 40 .
  • a write program area 22 c is stored with a write program by which the CPU 11 causes the RCP 12 to perform writing into a frame memory and Z buffer.
  • the write program area 22 c is stored with a program to write, into an image data area 203 (FIG. 6, FIG.
  • a move program area 22 d is stored with a control program by which the CPU 11 causes the RCP 12 to vary the position of a moving body in a three-dimension space.
  • a camera control program area 22 e is stored with a camera control program that controls as to in which direction and/or position the movable objects including player object or the background objects are to be photographed in the three-dimension space.
  • a player object program area 22 f is stored with a program that controls, in displaying, an object operated by the player (player object).
  • a ground object program area 22 g is stored with a program to control, in displaying, a ground object (a ground, water surface, floor, etc.) on or above which the player object may stand or exist.
  • a shadow object program area 22 h is stored with a program to display a shadow of the player object on a ground object according to the data of a light object for illuminating the player object.
  • the character code area 23 is an area to store a plurality of kinds of character codes, e.g. a plurality of kinds of character dot data corresponding to the codes.
  • the character code data memorized in the character code area 23 is utilized to display an instruction sentence to the player in the process of a game.
  • An image data area 24 is stored with image data, such as coordinate data of a plurality of polygons for each of the background object and/or movable objects, and texture data, and also a display control program to display these objects stationary at a predetermined position or in a moving state.
  • a sound memory area 25 is stored with sound data, such as phrases for outputting in sound the above message, effect sounds, game musics (BGM), etc., in a manner appropriate for a scene.
  • sound data such as phrases for outputting in sound the above message, effect sounds, game musics (BGM), etc.
  • the memory medium or external memory device may use various kinds of memory mediums, such as CD-ROMs or magnetic discs, in place of or in addition to the ROM cartridge 20 .
  • a disc drive 29 (FIG. 2) is provided in order to read or write, if required, various data (including program data and data for image presentation) for a game from or onto an optical or magnetical disc memory medium such as a CD-ROM or magnetic disc.
  • the disc drive 29 reads data out of a magnetic disc or optical disc magnetically or optically memorizing program data similarly to the external ROM 21 , and transfer the same data to the RAM 14 .
  • FIG. 6 is a memory map illustrative of a memory space of the RAM 14 .
  • the RAM 14 includes a display list area 201 . When the player object or the non-player object is to be displayed, its object No. is registered in the display list area 201 .
  • the RAM 14 includes further a program area 202 and an image data area 203 .
  • the image data area 203 includes a frame memory area 203 a to temporarily memorize 1 frame of image data, and a Z buffer area 203 b to memorize, dot by dot, depth data of the frame memory area.
  • the image data area 203 further includes, as shown in FIG.
  • a player object image data area 203 c a player object image data area 203 c , an animation table area 203 d , a ground object image data area 203 e , a basic shadow object image data area 203 f and an other-object image data area 203 g .
  • the areas 203 c - 203 g each temporarily memorizes polygon data or texture data.
  • the animation table area 203 d is memorized with an animation data table as shown in FIG. 15 hereinafter referred to.
  • the program data area 202 is to temporarily memorize a program.
  • the program data given on each area of the ROM 21 (FIG. 5) is temporarily memorized, as required, in the program data area 202 .
  • the CPU 11 and the RCP 12 (FIG. 2) make access to the program area thereby putting the game forward.
  • the image data area 203 is to temporarily memorize, as required, the image data stored in the ROM 21 , which is directly accessible by the CPU 11 or the RCP 12 .
  • the image data area 203 memorizes coordinate data and texture data for a plurality of polygons to constitute a stationary object and/or movable object stored, for game image display, in the external ROM 21 , to which 1 course or stages of data is transferred, prior to image processing, from the external ROM 21 .
  • a sound memory area 204 temporarily memorizes sound data of BGM or effect sound given on the sound memory area 25 of the ROM 21 , as shown in FIG. 5.
  • a controller data memory area 205 temporarily memorizes operation status data indicative of an operation status read out through the controller 40 .
  • a flag register area 206 sets a flag, or memorizes variables or constants as required, during execution of a program by the CPU 11 .
  • the registers to be set on this flag register area 206 includes a light number register (Ln) representative of the number of light sources (natural light, external light or point light) existing in one virtual three-dimensional space (scene), a ground object number register (ob1) representative of the number of ground objects on which shadows are to be displayed, an other-object number register (ob2) representative of the number of other objects, a length register (F1, F2) representative of a leg length of the player object, a length register (Fmax) representative of a maximum leg length of the player object, a height register (h1, h2) representative of a foot height of the player object, an angle register ( ⁇ ) representative of an angle of light illuminated from a point light and a length register (X1, X2) representative of a length of a shadow to be displayed.
  • Ln light number register
  • ob1 representative of the number of
  • the basic shadow object image data area 203 f shown in FIG. 7 is memorized, for example, with the polygon data or texture data of a basic shadow object, shown in FIG. 8 .
  • the basic shadow object is in a circular form represented by two sets of polygons, wherein this embodiment has texture data that gives three steps of depth (transparency) degrees.
  • the shadow is highest in depth and hence lowest in transparency at a central portion thereof.
  • the respective portions has transparency stepwisely increased with decrease in depth as the center of the shadow is gone distant.
  • the basic shadow object is deformed in each scene so that a shadow object can be created and displayed on a ground for the player object in an realistic fashion. This satisfies at the same time the requirements of relieving the burden of calculation and providing versatility in displaying shadows.
  • FIG. 9 is a main flowchart for the video game system in this embodiment.
  • the CPU 11 at a first step S 1 sets the video game machine 10 to a predetermined initial state in order to start operation. For example, the CPU 11 transfers a start program among the game programs stored in the program area 22 of the external ROM into the program area 202 of the RAM 14 , and sets each parameter to an initial value and executes the steps of FIG. 9 in the order.
  • step S 14 The operation of the main flowchart of FIG. 8 is executed, for example, every 1 frame ( ⁇ fraction (1/60) ⁇ second) or every two or three frames, wherein steps S 1 -S 13 are repeatedly executed before the course is cleared. If the game becomes over without success of course clear, a game-over process is effected at a step S 14 following the step S 13 . If course clear is successfully done, the process returns from the step S 13 to the step S 1 .
  • a game course screen and/or course opting screen is displayed.
  • a first course screen is displayed. If the first course is cleared, a next course is set on.
  • a controller process is performed. This process includes a detection on any of which the joystick 45 , cross switch 46 and switches 47 A- 47 Z on the controller has been operated.
  • the operation state detection data (controller data) is read in, and the controller data, thus read is written into the controller data area 205 of the RAM 14 .
  • the positional data of a light for illuminating the player object e.g., a point light or external light (natural light)
  • a light for illuminating the player object e.g., a point light or external light (natural light)
  • the number of light sources to illuminate the player object is written into the light number register Ln
  • the image data of a light object other than the natural light is written from the image data area 24 (FIG. 5) of the RAM 21 into the image data area 203 of the RAM 14 . If there is a light object, that light object is registered in the display list area 201 of the RAM 14 .
  • a process for displaying a ground object is carried out.
  • This step S 4 is executed concretely by a subroutine shown in FIG. 10 .
  • the ground object number register ob1 is set at “1”.
  • the ground object is registered in the display list area 201 (FIG. 6 ).
  • the ground object number register ob1 is incremented.
  • a process for displaying a player object is carried out. This process is concretely executed by a subroutine of FIG. 11 .
  • the player object is moved in position based on an operating state of the player-operated joystick 45 and cross key 46 or a program transferred from the memory area 22 f (FIG. 6) of the external ROM 21 and the polygon data for the player object transferred from the memory area 24 , i.e. an operating state of the joystick 45 and cross key 46 .
  • the player object is changed in movement in response to a button 47 operating state (controller data) on the controller 40 .
  • the polygon data after changing the movement is determined by calculation.
  • the player object is registered in the display list area 201 .
  • a process for other objects is carried out. This step includes calculation of a position or shape of an other object based on a program partly transferred from the memory area 22 h and the polygon data of the other object transferred from the memory area 24 (FIG. 5 ).
  • step S 7 a process for displaying a shadow object is carried out. This step S 7 is executed concretely by a subroutine shown in FIG. 12 .
  • the CPU 11 sets “1” in the light number register Ln of the RAM 14 .
  • the CPU 11 detects a coordinate (x1, y1, z1) of a left heel and a coordinate (x2, y2, z2) of a right heel respectively at steps S 702 and S 703 .
  • the CPU 11 checks on floors (ground objects) respectively existing under the left and right feet based on the image data of the ground object image data area 203 e in FIG. 7 . Specifically, checks are made on positions, inclination and materials (water, soil, etc.) of the ground objects.
  • steps S 706 and S 707 the left and right foot shadows are respectively determined in position.
  • the foot shadows are determined in position respectively by changing, only in (height) “y”, the heel coordinate positions (x1, y1, z1) and (x2, y2, z2) detected at the afore-said steps S 702 and S 703 .
  • the CPU 11 detects a direction of the light designated at the afore-said step S 701 .
  • the coordinate position of a point light is detected based on the image data stored in the other-object image data area 203 g (FIG. 7) of the RAM 14 .
  • a direction to which the shadow of the player object is to be extended is determined.
  • the coordinate position of a center of the player object (FIG. 13) is read out of the player object image data area 203 c and then at a step S 708 the point light is detected in coordinate position. Accordingly, the direction in which a shadow is to be extended is given as an opposite side to a line connecting between the coordinate positions of that center and the point light.
  • the direction of the shadow is determined such that the shadow extends in an opposite direction to the light on the line connecting between the light and the player object.
  • step S 710 the point light having designated at the step S 701 is detected of its height. Because the coordinate position of the point light has been detected at the step S 708 , the step S 710 is to detect only “y” (height) data at the coordinate position. The reason of detecting the point light height is that, as shown in FIG. 14, the length of the player object shadow varies depending upon the height i.e., “high”, “medium” or “low”, of the point light.
  • each leg length F is given by Equation 1.
  • Fmax is a maximum value (maximum length) in leg length and h is a height of the foot with respect to a ground.
  • the maximum value Fmax in leg length is given by a height of the center of the player object with respect to a ground surface.
  • the maximum value Fmax of each foot length may be given by a distance between the ground surface and a leg root.
  • the steps S 711 and S 712 may be effected by, besides determining a leg length by Equation 1, setting previously an animation table as shown in FIG. 15 in the animation table area 203 d in FIG. 7 and then reading out leg length data corresponding a player object to be displayed.
  • the animations 1 to 12 represent changes in size or position of the player object, wherein when the player object is for example in the animation 1, the right leg length and the left leg length are both set at “20”.
  • a left leg shadow length (X1) and a right leg shadow length (X2) are determined according to Equation 2, based on the point light height detected at the afore-said step S 710 as well as the leg length (F) determined at the steps S 711 and S 712 .
  • X is a shadow length
  • b is 90 degrees
  • a is a constant
  • is an illumination angle of the point light shown in FIG. 16
  • c is a constant
  • d is a size of a basic shadow object.
  • the constants a and c are both “1” in this embodiment.
  • the illumination angle ⁇ of the point light is an angle given by a line with respect to a ground surface, connecting between the point light and the leg root (or player object center) of the player object.
  • the angle is 90 degrees when the point light illuminates the player object from an above thereof.
  • the angle ⁇ is varied as ⁇ 1, ⁇ 2, ⁇ 3 by varying the height position of the point light from an immediately above the player object up to the leg root (or center) of the player object.
  • the shadow length X0 is the same as that of the basic shadow object as shown in FIG. 17 .
  • the shadow length gradually increases as X1, X2, X3 . . . with the gradual decrease in the angle as ⁇ 1, ⁇ 2, ⁇ 3, . . . .
  • the left and right shadows are respectively determined of depth.
  • the shadow of the left leg is projected light as compared to the shadow of the right leg as shown on the right in FIG. 18 . That is, the shadow depth is lightened when the height h is high, and the depth is darkened when the height h is low.
  • the transparency data stored in the basic shadow object image data area 203 f is changed. That is, the change of shadow depth requires change of transparency.
  • steps S 717 and S 718 checks are made on states of floors (ground objects) on which the left and right leg shadows are respectively thrown.
  • the ground object e.g. a step, slant or material, onto which the left and right foot shadows are cast is detected of state based on the data of the ground object image data area 203 e (FIG. 7 ).
  • the shapes of the left and right foot shadows are respectively determined by taking the detected state of the ground object into account. Where a shadow is thrown onto a slant ground object as shown in FIG. 19, the shape of the shadow is shortened depending on the inclination angle ⁇ 0.
  • the shadow length determined at the steps S 713 , S 714 is modified. Specifically, the top position of the shadow object (polygon) is to be changed in accordance with the slant angle. In this manner, a displaying shadow object to be finally displayed is determined at the steps S 719 and S 720 , and then registered in the display list area 201 (FIG. 6 ).
  • the steps S 708 -S 720 are repeatedly executed until the process of the step S 721 is completed for all the light souces. That is, if the number of the light sources, including natural light, for creating shadows for the player object is two or more in number, displaying shadow objects due to these lights are created in accordance with light source positions, player object states, etc.
  • FIG. 20 shows an example of a concrete game screen wherein a shadow S1 is being displayed by a light L1 while another shadow S2 is being displayed by a light (natural light) positioned behind the player object and not shown on the display screen.
  • a camera process is performed. For example, a visual point coordinate is calculated for each object so that a line or field of sight as viewed through a camera finder assumes an angle as designated through the joystick 45 by the player.
  • the position (visual point) or the sight line direction of a hypothetical camera is controlled basically by operating the joystick 45 .
  • the RSP 122 executes a rendering process. That is, the RCP 12 performs transformation (coordinate transformation and frame memory rendering shown in FIG. 21) on the image data to display movable or stationary objects under the control of the CPU 11 , based on the texture data for the movable objects, such as the enemy objects, player object or displaying shadow objects as well as the stationary objects, such as the backgrounds stored in the image data area 203 of the RAM 14 . Specifically, colors are given to polygons for each of the movable and stationary objects.
  • transformation coordinate transformation and frame memory rendering shown in FIG. 21
  • the CPU 11 performs a sound process based on sound data, such as a message, music and effect sound.
  • a step S 11 the CPU 11 reads out the image data having been memorized by the step S 7 rendering process in the frame memory area of the RAM 14 . Due to this, a player object, shadow object, non-player object such as a movable or stationary object, enemy object or the like, is displayed on a screen of the display unit 30 (FIG. 1, FIG. 2 ).
  • a step S 12 the sound data having been sound processed at the step S 18 by the RCP 12 is read out, thereby outputting sound such as music, effect sound, speech, etc.
  • step S 13 it is determined whether the course has been cleared or not (course clear detection). If the course has not been cleared, then it is determined at a step S 14 whether it is game over or not. If not game over, the process returns to the step S 2 to repeat the steps S 1 -S 14 until a game over condition is detected. If it is detected of under a game over condition that the number of mistakes permitted for the player is reached by a predetermined number of times or the life of the player object is consumed by a predetermined amount, then at succeeding step S 14 is effected a game over process, such as of a selection to continue a game or memorize back up data.
  • a course clear condition e.g. defeating a boss, or the like
  • the course clear process is effected and then a process returns to the steps S 1 .

Abstract

A video game apparatus includes an external ROM. This external ROM is previously memorized with player object data, basic shadow object data and light object data. A direction in which a shadow is thrown is determined according to the player object data and the light object data, to thereby determine a length of each leg of the player object. Based on the length of the leg and the height of the light, a length of the shadow is determined. Based on the height of each leg, a depth of the shadow is determined. A shape of a displaying shadow object is determined from a state of a ground object to which the shadow is thrown.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to video game apparatuses and memory mediums. More specifically, the invention relates to a video game apparatus for processing shadows to be displayed by an improved method, and a memory medium used therefor.
2. Description of the Prior Art
In so-called “3D games” a player object is moved in a three-dimensional virtual space. In such a case, a shadow of the player object is displayed on a ground object (a floor, water surface, earth surface, etc.) thus enhancing three-dimensional realistic feelings.
The conventional methods of displaying player object shadows involve one to put a circular shadow to a location of directly under the player object. However, in this method the shadows are simply in circular forms regardless of the scene, resulting in deficiency in realistic feelings.
Under such a circumstance, another method has been adopted that the polygon data for the player object is calculated and then put to a ground object through planation.
However, this method requires to calculate polygons in the same number as that of the player object, resulting in a problem of excessive quantity of calculation and hence heavy burden on a game processor. Accordingly, where realizing this method by using an image processing apparatus with low processing speed, such as a home-use game machine, there encounters a limitation in displaying an object shadow to at most one in number.
SUMMARY OF THE INVENTION
Therefore, it is a primary object of the present invention to provide a shadow displaying method which is capable of reducing the burden on a processor and enhancing the realistic feeling.
It is another object of the present invention to provide a video game apparatus which can display shadows in a variety of forms through easy calculations.
A method for displaying a shadow with a video game apparatus according to the present invention, includes the steps of: (a) generating basic shadow object data; (b) deforming the basic shadow object data to create displaying shadow object data according to at least position data of a light and player object data; and (c) supplying an image signal to a display unit based on at least the player object data on a player object and the displaying shadow object data.
A video game apparatus according to the present invention, comprises: a basic object data generating means for generating basic shadow object data; a player object image data generating means for generating a player object data; a displaying shadow object data creating means for deforming the basic shadow object data to create displaying shadow object data according to at least the player object data and position data on a light for illuminating the player object; and an image processing means for supplying an image signal to a display unit based on at least the player object data and the displaying shadow object data.
Further, a memory medium according to the present invention is to be detachably attached to a video game apparatus for displaying a shadow of a player object, and comprises: a first memory area for generating basic shadow object data; a second memory area for generating player object data; a displaying shadow object creating program for deforming the basic shadow object data to create displaying shadow object data according to at least the player object data and position data of a light for illuminating the player object; and an image processing program for supplying an image signal to a display unit based on at least the player object image data and displaying shadow object data.
For example, a circular basic shadow object is formed by two polygons and textures to be put thereto. This basic shadow object is deformed depending, for example, upon a light position, ground object state (a position, inclination, step, material (water, soil, etc.)), or player object position or its ground contact portion, being created into a displaying shadow object.
The creation of a display shadow object, in concrete, involves determining a direction in which a shadow is thrown, determining a shadow length based on a light source height and a player object leg length, determining a shadow depth based on a foot height, and determining a shape of a displaying shadow object depending on a state of a ground object to which the shadow is thrown.
When the player object has two legs, displaying shadow objects are created for each leg.
In the present invention, because a displaying shadow object is created by deforming a basic shadow object, the burden on the processor is reduced. Further, shadows are represented by being varied in various forms instead of simple shapes of shadows.
Also, when the player object has two legs and the two legs are displayed with respective shadows, the shadows are varied matching to left and right leg movements, thus providing shadow representation with greater realism.
The above described objects and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic illustrative view showing a video game system according to one embodiment of the present invention;
FIG. 2 is a block diagram showing in detail a video game machine in FIG. 1;
FIG. 3 is a block diagram showing in further detail a controller control circuit in FIG. 2;
FIG. 4 is a block diagram showing in detail a controller and a cartridge in FIG. 1;
FIG. 5 is an illustrative view showing a memory map of an external ROM in FIG. 2;
FIG. 6 is an illustrative view showing a memory map of a RAM in FIG. 2;
FIG. 7 is an illustrative view showing in detail an image data area included in the RAM of FIG. 6;
FIG. 8 is an illustrative view showing polygons for a basic shadow object;
FIG. 9 is a flowchart showing an overall operation of the FIG. 1 embodiment;
FIG. 10 is a flowchart showing in detail a ground object processing routine in the FIG. 8 embodiment;
FIG. 11 is a flowchart showing in detail a player object processing routine in the FIG. 8 embodiment;
FIG. 12 is a flowchart showing in detail a shadow object processing routine in the FIG. 8 embodiment;
FIG. 13 is an illustrative view showing various elements of a player object;
FIG. 14 is an illustrative view showing how a player object shadow varies depending upon a difference in light source height position;
FIG. 15 is an illustrative view showing one example of an animation table;
FIG. 16 is an illustrative view showing in detail a relationship between the light source height and shadow length;
FIG. 17 is an illustrative view showing in detail differences in shadow length;
FIG. 18 is an illustrative view showing shadow depth to be varied depending upon leg height;
FIG. 19 is an illustrative view showing one example of a shape of a shadow projected onto a ground;
FIG. 20 is an illustrative view showing a shadow displayed in an actual game scene; and
FIG. 21 is an illustrative view showing a rendering process routine of the FIG. 9 embodiment.
DETAILED DESCRIPTION OF ONE PREFERRED EMBODIMENT
Referring to FIG. 1, a video game system in this embodiment includes a video game machine 10, a ROM cartridge 20 as one example of a memory medium, a display unit 30 connected to the video game machine 10, and a controller 40. The controller 40 is dismountably mounted with a cartridge 50.
The controller 40 is structured by a plurality of switches or buttons provided on the housing 41 in a form graspable by both or one hand. Specifically, the controller 40 includes handles 41L, 41C, 41R downwardly extending respectively from a left end, a right end and a center of the housing 41, providing an operation area on a top surface of the housing 41. In the operation area, there are provided an analog-inputtable joystick (hereinafter referred to as “analog joystick”) 45 at a central lower portion thereof, a cross-shaped digital direction switch (hereinafter called “cross switch”) 46 on the left side, and a plurality of button switches 47A, 47B, 47D, 47E and 47F on the right side.
The analog joystick 45 is used to input moving directions and/or moving speeds or moving amounts of the player object as determined by an amount and direction of joystick inclination. The cross switch 46 is used to designate a moving direction of the player object, in place of the joystick 45. The button switches 47A and 47B are used to designate a motion of the player object. Button switches 47C-47D are used to switch over a sight point for a three-dimension image camera or to adjust the speed or the like of the player object.
A start switch 47S is provided almost at a center of the operation area. This start switch 47S is operated when starting a game. A switch 47Z is provided at a backside of the central handle 41C. This switch 47Z is utilized, for example, as a trigger switch in a shoot game. This switch (may be hereinafter called “Z button”) 47Z is operated when the player object is to be caused to pay attention to a non-player object. That is, this switch 47Z functions as a second operating means. Switches 47L and 47R are provided at upper left and right of a lateral surface of the housing 41.
Incidentally, the above-stated button switches 47C-47F can also be used to control the moving speed (e.g. acceleration or deceleration) of the player object in a shoot or action game, besides for the purpose of switching the camera visual point. However, these switches 47A-47F, 47S, 47Z, 47L and 47R can be arbitrarily defined in their function depending upon a game program.
FIG. 2 is a block diagram of the video game system of the FIG. 1 embodiment. The video game machine 10 incorporates therein a central processing unit (hereinafter referred to as “CPU”) 11 and a coprocessor (reality coprocessor: hereinafter referred to as “RCP”) 12. The RCP 12 includes a bus control circuit 121 for controlling buses, a signal processor (reality signal processor; hereinafter referred to as “RSP”) 122 for performing polygon coordinate transformation, shading treatment and so on, and a rendering processor (reality display processor; hereinafter referred to as “RDP”) 46 for rasterizing polygon data into an image to be displayed and converting the same into a data form (dot data) memorable on a frame memory.
The RCP 12 is connected with a cartridge connector 13 for unloadably loading a ROM cartridge 20 having an external ROM 21 incorporated therein, a disc-drive connector 197 for detachably mounting a disc drive 29, and a RAM 14. Also, the RCP 12 is connected with DAC (Digital/Analog Converters) 15 and 16 for respectively outputting a sound signal and video signal to be processed by the CPU 11. Further, the RCP 12 is connected with a controller control circuit 17 to serially transfer operating data on one or a plurality of controllers 40 and/or data of the cartridge 50.
The bus control circuit 121 included in the RCP 12 performs parallel/serial conversion on a command supplied in a parallel signal from the CPU via a bus, to thereby supply a serial signal to the controller control circuit 18. Also, the bus control circuit 121 converts a serial signal inputted from the controller control circuit 17 into a parallel signal, giving an output to the CPU 11 via the bus. The data representative of an operating state (operating signal or operating data) read out of the controller 40A-40D is processed by the CPU 11, and temporarily stored within a RAM 14, and so on. In other words, the RAM 15 includes a storage site for temporarily memorizing the data to be processed by the CPU 11, so that it is utilized for smoothly reading and writing data through the bus control circuit 121.
The sound DAC 15 is connected with a connector 195 provided at a rear face of the video game machine 10. The image DAC 16 is connected with a connector 196 provided at the rear face of the video game machine 10. The connector 195 is connected with a speaker 31 of a display 30, while the connector 196 is connected with a display 30 such as a TV receiver, CRT or LCD.
The controller control circuit 17 is connected with a controller connector provided at the front face of the video game machine 10. The connector 18 is disconnectably connected by a controller 40 through a connecting jack. The connection of the controller 40 to the connector 18 places the controller in electrical connection to the video game machine 10, thereby enabling transmission/reception or transfer of data therebetween.
The controller control circuit 17 is used to transmit and receive data in serial between the RCP 12 and the connector 18. The controller control circuit 17 includes, as shown in FIG. 3, a data transfer control circuit 171, a transmitting circuit 172, a receiving circuit 173 and a RAM 174 for temporarily memorizing transmission and reception data. The data transfer control circuit 171 includes a parallel/serial converting circuit and a serial/parallel converting circuit in order to convert a data format during data transfer, and further performs write/read control on the RAM 174. The serial/parallel converting circuit converts the serial data supplied from the RCP 12 into parallel data, supplying it to the RAM 174 or the transmitting circuit 172. The parallel/serial converting circuit converts the parallel data supplied from the RAM 174 or the receiving circuit 173 into serial data, to supply it to the RCP 12. The transmitting circuit 172 converts the command for reading signals from the controller 40 and the writing data (parallel data) to the cartridge 50, into serial data to be delivered to channels CH1-CH4 corresponding to the respective controllers 40. The receiving circuit 173 receives, in serial data, operational state data of the controllers inputted through corresponding channels CH1-CH4 and data read from the cartridge 50, to convert them into parallel data to be delivered to the data transfer control circuit 171. The data transfer control circuit 171 writes into the RAM 174 data transferred from the RCP 12, data of the controller received by the receiving circuit 183, or data read out of the RAM cartridge 50, and reads data out of the RAM 174 based on a command from the RCP 12 so as to transfer it to the RCP 12.
The RAM 174, though not shown, includes memory sites for the respective channels CH1-CH4. Each of the memory sites is stored with a command for the channel, transmitting data and/or reception data.
FIG. 4 is a detailed circuit diagram of the controller 40 and the cartridge 50. The housing of the controller 40 incorporates an operating signal processing circuit 44, etc. in order to detect an operating state of the joystick 45, switches 46, 47, etc. and transfer the detected data to the controller control circuit 17. The operating signal processing circuit 44 includes a receiving circuit 441, a control circuit 442, a switch signal detecting circuit 443, a counter circuit 444, a joyport control circuit 446, a reset circuit 447 and a NOR gate 448. The receiving circuit 441 converts a serial signal, such as a control signal transmitted from the controller control circuit 17 or writing data to the cartridge 50, into a parallel signal to supply it to the control circuit 442. The control circuit 442 generates a reset signal to reset (0), through the NOR gate 448, count values of an X-axis counter 444X and a Y-axis counter 444Y within the counter 444, when the control signal transmitted from the controller control circuit 17 is a signal for resetting X, Y coordinates of the joystick 45.
The joystick 45 includes X-axis and Y-axis photo-interrupters in order to decompose a lever inclination into X-axis and Y-axis components, generating pulses in number proportional to the inclination. The pulse signals are respectively supplied to the counter 444X and the counter 444Y. The counter 444X counts a number of pulses generated in response to an inclination amount when the joystick 45 is inclined in the X-axis direction. The counter 444Y counts a number of pulses generated responsive to an inclination amount when the joystick 45 is inclined in the Y-axis direction. Accordingly, the resultant X-axis and Y-axis vector determined by the count values of the counters 444X and 444Y serves to determine a moving direction and a coordinate position of the player object or hero character or a cursor. Incidentally, the counter 444X and the 444Y are reset, when a reset signal is supplied from the reset signal generating circuit 447 upon turning on the power or a reset signal is supplied from the switch signal detecting circuit 443 by simultaneous depression of predetermined two switches.
The switch signal detecting circuit 443 responds to a switch-state output command supplied at an interval of a constant period (e.g. a {fraction (1/30)} second interval as a TV frame period) from the control circuit 442, to read a signal varying depending upon a depression state of the cross switch 46 and the switches 47A-47Z. The read signal is delivered to the control circuit 442. The control circuit 442 responds to a read-out command signal of operational state data from the controller control circuit 17 to supply in a predetermined data format the operational state data on the switches 47A-47Z and count values of the counters 444X and 444Y to the transmitting circuit 445. The transmitting circuit 445 converts the parallel signal outputted from the control circuit 442 into a serial signal, and transfer it to the controller control circuit 17 via a converting circuit 43 and a signal line 42. The control circuit 442 is connected with a joystick control circuit 446 via an address bus and a data bus as well as a port connector 46. The joyport control circuit 446 performs data input/output (or transmission/reception) control according to a command from the CPU 11 when the cartridge 50 is connected to the port connector 46.
The cartridge 50 is structured by connecting the RAM 51 to the address bus and data bus and connecting the RAM 51 with a battery 52. The RAM 51 is a RAM having a capacity (e.g. 256k bits), for example, of lower than a half of a maximum memory capacity accessible through the address bus. The RAM 51 is to store backup data in relation to a game, and saves backup data by the application of electric power from the battery 52 even if the cartridge 50 is withdrawn from the port connector 46.
FIG. 5 is a memory map showing a memory space of the external ROM 21 incorporated in the ROM cartridge 20 (FIG. 1). The external ROM 21 includes a plurality of memory areas (hereinafter referred to merely as “area”), for example, such as a program area 22, a character code area 23, an image data area 24 and a sound memory area 25, as shown in FIG. 5, thereby previously storing various program in a fixed manner.
The program area 22 is stored with programs required to process for game images, and game data and the like in accordance with a game content. Specifically, the program area 22 includes a plurality of memory areas to previously store operating programs for the CPU 11 in a fixed manner. A main program area 22 a is stored with a main routine processing program, for example, for a game shown in FIG. 8 stated later. A controller data program area 22 b is stored with a program for processing operational data on the controller 40. A write program area 22 c is stored with a write program by which the CPU 11 causes the RCP 12 to perform writing into a frame memory and Z buffer. For example, the write program area 22 c is stored with a program to write, into an image data area 203 (FIG. 6, FIG. 7) of the RAM 14, chrominance data as image data based on texture data for a plurality of movable objects or background objects to be displayed in one background scene. A move program area 22 d is stored with a control program by which the CPU 11 causes the RCP 12 to vary the position of a moving body in a three-dimension space. A camera control program area 22 e is stored with a camera control program that controls as to in which direction and/or position the movable objects including player object or the background objects are to be photographed in the three-dimension space. A player object program area 22 f is stored with a program that controls, in displaying, an object operated by the player (player object). A ground object program area 22 g is stored with a program to control, in displaying, a ground object (a ground, water surface, floor, etc.) on or above which the player object may stand or exist. A shadow object program area 22 h is stored with a program to display a shadow of the player object on a ground object according to the data of a light object for illuminating the player object.
The character code area 23 is an area to store a plurality of kinds of character codes, e.g. a plurality of kinds of character dot data corresponding to the codes. The character code data memorized in the character code area 23 is utilized to display an instruction sentence to the player in the process of a game.
An image data area 24 is stored with image data, such as coordinate data of a plurality of polygons for each of the background object and/or movable objects, and texture data, and also a display control program to display these objects stationary at a predetermined position or in a moving state.
A sound memory area 25 is stored with sound data, such as phrases for outputting in sound the above message, effect sounds, game musics (BGM), etc., in a manner appropriate for a scene.
Incidentally, the memory medium or external memory device may use various kinds of memory mediums, such as CD-ROMs or magnetic discs, in place of or in addition to the ROM cartridge 20. In such a case, a disc drive 29 (FIG. 2) is provided in order to read or write, if required, various data (including program data and data for image presentation) for a game from or onto an optical or magnetical disc memory medium such as a CD-ROM or magnetic disc. The disc drive 29 reads data out of a magnetic disc or optical disc magnetically or optically memorizing program data similarly to the external ROM 21, and transfer the same data to the RAM 14.
FIG. 6 is a memory map illustrative of a memory space of the RAM 14. The RAM 14 includes a display list area 201. When the player object or the non-player object is to be displayed, its object No. is registered in the display list area 201. The RAM 14 includes further a program area 202 and an image data area 203. The image data area 203 includes a frame memory area 203 a to temporarily memorize 1 frame of image data, and a Z buffer area 203 b to memorize, dot by dot, depth data of the frame memory area. The image data area 203 further includes, as shown in FIG. 7, a player object image data area 203 c, an animation table area 203 d, a ground object image data area 203 e, a basic shadow object image data area 203 f and an other-object image data area 203 g. The areas 203 c-203 g each temporarily memorizes polygon data or texture data. However, the animation table area 203 d is memorized with an animation data table as shown in FIG. 15 hereinafter referred to.
The program data area 202 is to temporarily memorize a program. The program data given on each area of the ROM 21 (FIG. 5) is temporarily memorized, as required, in the program data area 202. The CPU 11 and the RCP 12 (FIG. 2) make access to the program area thereby putting the game forward. Similarly, the image data area 203 is to temporarily memorize, as required, the image data stored in the ROM 21, which is directly accessible by the CPU 11 or the RCP 12. That is, the image data area 203 memorizes coordinate data and texture data for a plurality of polygons to constitute a stationary object and/or movable object stored, for game image display, in the external ROM 21, to which 1 course or stages of data is transferred, prior to image processing, from the external ROM 21.
A sound memory area 204 temporarily memorizes sound data of BGM or effect sound given on the sound memory area 25 of the ROM 21, as shown in FIG. 5. A controller data memory area 205 temporarily memorizes operation status data indicative of an operation status read out through the controller 40.
Also, a flag register area 206 sets a flag, or memorizes variables or constants as required, during execution of a program by the CPU 11. The registers to be set on this flag register area 206 includes a light number register (Ln) representative of the number of light sources (natural light, external light or point light) existing in one virtual three-dimensional space (scene), a ground object number register (ob1) representative of the number of ground objects on which shadows are to be displayed, an other-object number register (ob2) representative of the number of other objects, a length register (F1, F2) representative of a leg length of the player object, a length register (Fmax) representative of a maximum leg length of the player object, a height register (h1, h2) representative of a foot height of the player object, an angle register (θ) representative of an angle of light illuminated from a point light and a length register (X1, X2) representative of a length of a shadow to be displayed.
The basic shadow object image data area 203 f shown in FIG. 7 is memorized, for example, with the polygon data or texture data of a basic shadow object, shown in FIG. 8. That is, the basic shadow object is in a circular form represented by two sets of polygons, wherein this embodiment has texture data that gives three steps of depth (transparency) degrees. The shadow is highest in depth and hence lowest in transparency at a central portion thereof. The respective portions has transparency stepwisely increased with decrease in depth as the center of the shadow is gone distant. In this embodiment, the basic shadow object is deformed in each scene so that a shadow object can be created and displayed on a ground for the player object in an realistic fashion. This satisfies at the same time the requirements of relieving the burden of calculation and providing versatility in displaying shadows.
FIG. 9 is a main flowchart for the video game system in this embodiment. When a power is turned on, the CPU 11 at a first step S1 sets the video game machine 10 to a predetermined initial state in order to start operation. For example, the CPU 11 transfers a start program among the game programs stored in the program area 22 of the external ROM into the program area 202 of the RAM 14, and sets each parameter to an initial value and executes the steps of FIG. 9 in the order.
The operation of the main flowchart of FIG. 8 is executed, for example, every 1 frame ({fraction (1/60)} second) or every two or three frames, wherein steps S1-S13 are repeatedly executed before the course is cleared. If the game becomes over without success of course clear, a game-over process is effected at a step S14 following the step S13. If course clear is successfully done, the process returns from the step S13 to the step S1.
That is, at a step S1 a game course screen and/or course opting screen is displayed. However, when the game is started after turning on the power, a first course screen is displayed. If the first course is cleared, a next course is set on.
At a step S2 following the step S1, a controller process is performed. This process includes a detection on any of which the joystick 45, cross switch 46 and switches 47A-47Z on the controller has been operated. The operation state detection data (controller data) is read in, and the controller data, thus read is written into the controller data area 205 of the RAM 14.
At a step S3, the positional data of a light for illuminating the player object, e.g., a point light or external light (natural light), is processed. For example, the number of light sources to illuminate the player object is written into the light number register Ln, and further, the image data of a light object other than the natural light is written from the image data area 24 (FIG. 5) of the RAM 21 into the image data area 203 of the RAM 14. If there is a light object, that light object is registered in the display list area 201 of the RAM 14.
At a step S4 a process for displaying a ground object is carried out. This step S4 is executed concretely by a subroutine shown in FIG. 10. At a first step S401 in FIG. 1, the ground object number register ob1 is set at “1”. At a next step S402 the ground object is registered in the display list area 201 (FIG. 6). At a step 403 the ground object number register ob1 is incremented. Then it is determined at a next step S404 whether all the ground objects have been registered in the display list area 201. If “NO” at the step S404, the process returns to the step S402 to repeat the steps S402 and S403 until the process for the ground object is ended.
At a step S5 a process for displaying a player object is carried out. This process is concretely executed by a subroutine of FIG. 11. At a first step S501 in FIG. 11, the player object is moved in position based on an operating state of the player-operated joystick 45 and cross key 46 or a program transferred from the memory area 22 f (FIG. 6) of the external ROM 21 and the polygon data for the player object transferred from the memory area 24, i.e. an operating state of the joystick 45 and cross key 46. At a next step S502 the player object is changed in movement in response to a button 47 operating state (controller data) on the controller 40. The polygon data after changing the movement is determined by calculation. At a step S503 the player object is registered in the display list area 201.
At a step S6 a process for other objects is carried out. This step includes calculation of a position or shape of an other object based on a program partly transferred from the memory area 22 h and the polygon data of the other object transferred from the memory area 24 (FIG. 5).
At a step S7 a process for displaying a shadow object is carried out. This step S7 is executed concretely by a subroutine shown in FIG. 12.
At a first step S701 in FIG. 12, the CPU 11 (FIG. 2) sets “1” in the light number register Ln of the RAM 14. At next steps S702 and S703 the left and right feet are detected in position. Where the player object is the one as shown in FIG. 13, the CPU 11 detects a coordinate (x1, y1, z1) of a left heel and a coordinate (x2, y2, z2) of a right heel respectively at steps S702 and S703.
At next steps S704 and S705 the CPU 11 checks on floors (ground objects) respectively existing under the left and right feet based on the image data of the ground object image data area 203 e in FIG. 7. Specifically, checks are made on positions, inclination and materials (water, soil, etc.) of the ground objects.
At steps S706 and S707 the left and right foot shadows are respectively determined in position. In these steps S706 and S707, the foot shadows are determined in position respectively by changing, only in (height) “y”, the heel coordinate positions (x1, y1, z1) and (x2, y2, z2) detected at the afore-said steps S702 and S703.
Subsequently, at a step S708 the CPU 11 detects a direction of the light designated at the afore-said step S701. For example, the coordinate position of a point light is detected based on the image data stored in the other-object image data area 203 g (FIG. 7) of the RAM 14.
At a step S709 a direction to which the shadow of the player object is to be extended is determined. The coordinate position of a center of the player object (FIG. 13) is read out of the player object image data area 203 c and then at a step S708 the point light is detected in coordinate position. Accordingly, the direction in which a shadow is to be extended is given as an opposite side to a line connecting between the coordinate positions of that center and the point light. Assuming, with reference to FIG. 14, that the player object OBJ is being irradiated by light from a behind thereof, the shadow of the player object will extend in a forward direction thereof on a line connecting between the player object and the light. That is, the direction of the shadow is determined such that the shadow extends in an opposite direction to the light on the line connecting between the light and the player object.
At a next step S710 the point light having designated at the step S701 is detected of its height. Because the coordinate position of the point light has been detected at the step S708, the step S710 is to detect only “y” (height) data at the coordinate position. The reason of detecting the point light height is that, as shown in FIG. 14, the length of the player object shadow varies depending upon the height i.e., “high”, “medium” or “low”, of the point light.
At next steps S711 and S712, determinations are respectively made on a left leg length (F1) and a right leg length (F2) respectively. For the player object shown in FIG. 13, each leg length F is given by Equation 1.
F=Fmax−h  [Equation 1]
where Fmax is a maximum value (maximum length) in leg length and h is a height of the foot with respect to a ground.
In the FIG. 13 example, the maximum value Fmax in leg length is given by a height of the center of the player object with respect to a ground surface.
Note that the maximum value Fmax of each foot length may be given by a distance between the ground surface and a leg root.
The steps S711 and S712 may be effected by, besides determining a leg length by Equation 1, setting previously an animation table as shown in FIG. 15 in the animation table area 203 d in FIG. 7 and then reading out leg length data corresponding a player object to be displayed. In the FIG. 15 example, the animations 1 to 12 represent changes in size or position of the player object, wherein when the player object is for example in the animation 1, the right leg length and the left leg length are both set at “20”.
At next steps S713 and S714, a left leg shadow length (X1) and a right leg shadow length (X2) are determined according to Equation 2, based on the point light height detected at the afore-said step S710 as well as the leg length (F) determined at the steps S711 and S712.
X=b−(a×θ)−c(Fmax−F)x+d  [Equation 2]
where X is a shadow length, b is 90 degrees, a is a constant, θ is an illumination angle of the point light shown in FIG. 16, c is a constant and d is a size of a basic shadow object. Incidentally, the constants a and c are both “1” in this embodiment.
The illumination angle θ of the point light is an angle given by a line with respect to a ground surface, connecting between the point light and the leg root (or player object center) of the player object. The angle is 90 degrees when the point light illuminates the player object from an above thereof. The angle θ is varied as θ1, θ2, θ3 by varying the height position of the point light from an immediately above the player object up to the leg root (or center) of the player object.
When the point light is at an immediately above the player object, the shadow length X0 is the same as that of the basic shadow object as shown in FIG. 17. The shadow length gradually increases as X1, X2, X3 . . . with the gradual decrease in the angle as θ1, θ2, θ3, . . . .
At steps S715 and S716, the left and right shadows are respectively determined of depth. When the left leg is lifted for example as shown in FIG. 13, the shadow of the left leg is projected light as compared to the shadow of the right leg as shown on the right in FIG. 18. That is, the shadow depth is lightened when the height h is high, and the depth is darkened when the height h is low. In order to change the shadow depth, the transparency data stored in the basic shadow object image data area 203 f is changed. That is, the change of shadow depth requires change of transparency.
At steps S717 and S718, checks are made on states of floors (ground objects) on which the left and right leg shadows are respectively thrown. The ground object, e.g. a step, slant or material, onto which the left and right foot shadows are cast is detected of state based on the data of the ground object image data area 203 e (FIG. 7). At steps S719 and S720, the shapes of the left and right foot shadows are respectively determined by taking the detected state of the ground object into account. Where a shadow is thrown onto a slant ground object as shown in FIG. 19, the shape of the shadow is shortened depending on the inclination angle θ0. That is, when the ground object to which a shadow is thrown is slanted, the shadow length determined at the steps S713, S714 is modified. Specifically, the top position of the shadow object (polygon) is to be changed in accordance with the slant angle. In this manner, a displaying shadow object to be finally displayed is determined at the steps S719 and S720, and then registered in the display list area 201 (FIG. 6).
The steps S708-S720 are repeatedly executed until the process of the step S721 is completed for all the light souces. That is, if the number of the light sources, including natural light, for creating shadows for the player object is two or more in number, displaying shadow objects due to these lights are created in accordance with light source positions, player object states, etc.
FIG. 20 shows an example of a concrete game screen wherein a shadow S1 is being displayed by a light L1 while another shadow S2 is being displayed by a light (natural light) positioned behind the player object and not shown on the display screen.
Returning to FIG. 9, at a step S8 a camera process is performed. For example, a visual point coordinate is calculated for each object so that a line or field of sight as viewed through a camera finder assumes an angle as designated through the joystick 45 by the player. The position (visual point) or the sight line direction of a hypothetical camera is controlled basically by operating the joystick 45.
At a step S9 the RSP 122 executes a rendering process. That is, the RCP 12 performs transformation (coordinate transformation and frame memory rendering shown in FIG. 21) on the image data to display movable or stationary objects under the control of the CPU 11, based on the texture data for the movable objects, such as the enemy objects, player object or displaying shadow objects as well as the stationary objects, such as the backgrounds stored in the image data area 203 of the RAM 14. Specifically, colors are given to polygons for each of the movable and stationary objects.
At a step S10 the CPU 11 performs a sound process based on sound data, such as a message, music and effect sound.
At a step S11 the CPU 11 reads out the image data having been memorized by the step S7 rendering process in the frame memory area of the RAM 14. Due to this, a player object, shadow object, non-player object such as a movable or stationary object, enemy object or the like, is displayed on a screen of the display unit 30 (FIG. 1, FIG. 2).
At a step S12 the sound data having been sound processed at the step S18 by the RCP 12 is read out, thereby outputting sound such as music, effect sound, speech, etc.
At a step S13 it is determined whether the course has been cleared or not (course clear detection). If the course has not been cleared, then it is determined at a step S14 whether it is game over or not. If not game over, the process returns to the step S2 to repeat the steps S1-S14 until a game over condition is detected. If it is detected of under a game over condition that the number of mistakes permitted for the player is reached by a predetermined number of times or the life of the player object is consumed by a predetermined amount, then at succeeding step S14 is effected a game over process, such as of a selection to continue a game or memorize back up data.
Incidentally, if a course clear condition (e.g. defeating a boss, or the like) is detected at the step S13, the course clear process is effected and then a process returns to the steps S1.
Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the spirit and scope of the present invention being limited only by the terms of the appended claims.

Claims (17)

What is claimed is:
1. A method for displaying a shadow with a video game apparatus, including the steps of:
(a) generating basic shadow object data;
(b) deforming the basic shadow object data to create displaying shadow object data according to at least position data of a light and player object data; and
(c) supplying an image signal to a display unit based on at least the player object data on a player object and the displaying shadow object data.
2. A method for displaying a shadow according to claim 1, wherein the step (b) is to create the displaying shadow object data according to ground object data for a ground to which the player object data shadow is thrown and the light position data.
3. A method for displaying a shadow according to claim 2, wherein the step (b) is to create the displaying shadow object data based on a state of the ground object.
4. A method for displaying a shadow according to claim 3, wherein the step (b) is to determine a length of the shadow based on the position data on the light and the player object, and to deform the basic shadow object data based on the length of the shadow and the state of the ground object.
5. A method for displaying a shadow according to claim 4, wherein the player object includes a ground contact portion contactable with the ground object, and the step (b) being to determine the length based on positions of the ground contact portion and the light.
6. A method for displaying a shadow according to claim 1, wherein the basic shadow object data includes depth data for the shadow, and the step (b) being to detect a height of the ground contact portion with respect to the ground object existing immediately thereunder, and to change the depth data depending upon the height.
7. A method for displaying a shadow according to claim 6, wherein the step (b) is to change in transparency of the basic shadow object.
8. A method for displaying a shadow according to claim 1, wherein the player object has at least two legs, and the step (b) being to create, for the two legs, first displaying shadow object data and second displaying shadow object data.
9. A video game apparatus, comprising:
a basic object data generator for generating basic shadow object data;
a player object image data generator for generating a player object data;
a displaying shadow object data creator for deforming the basic shadow object data to create displaying shadow object data according to at least the player object data and position data on a light for illuminating the player object; and
an image processor for supplying an image signal to a display unit based on at least the player object data and the displaying shadow object data.
10. A video game apparatus according to claim 9, further comprising a ground object data generator for generating ground object data for a ground object to which the displaying the shadow object is thrown, wherein the displaying shadow object data creator creates the displaying shadow object data based on the ground object data.
11. A video game apparatus according to claim 10, further comprising a state detector for detecting a state of the ground object based on the ground object data, wherein the displaying shadow object data creator creates the displaying shadow object data based on the state of the ground object.
12. A video game apparatus according to claim 11, wherein the displaying shadow object data creator includes a length determiner for determining a length of a shadow based on the light position data and the player object data, to deform the basic shadow object data based on the length of the shadow and the state of the ground object.
13. A video game apparatus according to claim 12, wherein the player object includes a ground contact portion contactable with the ground object, and the length determiner determining the length based on positions of the ground contact portion and the light.
14. A video game apparatus according to claim 9, further comprising a height detector for detecting a height of the ground contact portion with respect to the ground object existing immediately thereunder, wherein the basic shadow object includes depth data for the shadow, and the displaying shadow object data generator including a depth changer for changing the depth data depending upon the height.
15. A video game apparatus according to claim 14, wherein the depth changer includes a transparency changer for changing in transparency of the basic shadow object.
16. A video game apparatus according to claim 9, wherein the player object has at least two legs, the displaying shadow object data creator including, for the two legs, a first data creator for creating first displaying shadow object data and a second data creator for creating second displaying shadow object data.
17. A memory medium to be detachably attached to a video game apparatus for displaying a shadow of a player object, comprising:
a first memory area for generating basic shadow object data;
a second memory area for generating player object data;
a displaying shadow object creating program for deforming the basic shadow object data to create displaying shadow object data according to at least the player object data and position data of a light for illuminating the player object; and
an image processing program for supplying an image signal to a display unit based on at least the player object image data and displaying shadow object data.
US09/190,240 1997-11-14 1998-11-13 Video game apparatus and memory medium used therefor Expired - Lifetime US6203431B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/765,442 US6290604B2 (en) 1997-11-14 2001-01-22 Video game apparatus and memory used therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP31315797A JP4105788B2 (en) 1997-11-14 1997-11-14 Video game apparatus and storage medium thereof
JP9-313157 1997-11-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/765,442 Division US6290604B2 (en) 1997-11-14 2001-01-22 Video game apparatus and memory used therefor

Publications (1)

Publication Number Publication Date
US6203431B1 true US6203431B1 (en) 2001-03-20

Family

ID=18037804

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/190,240 Expired - Lifetime US6203431B1 (en) 1997-11-14 1998-11-13 Video game apparatus and memory medium used therefor
US09/765,442 Expired - Lifetime US6290604B2 (en) 1997-11-14 2001-01-22 Video game apparatus and memory used therefor

Family Applications After (1)

Application Number Title Priority Date Filing Date
US09/765,442 Expired - Lifetime US6290604B2 (en) 1997-11-14 2001-01-22 Video game apparatus and memory used therefor

Country Status (4)

Country Link
US (2) US6203431B1 (en)
EP (1) EP0916374A3 (en)
JP (1) JP4105788B2 (en)
CA (1) CA2253991C (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044335A1 (en) * 2000-03-10 2001-11-22 Toshihisa Satake Game apparatus, specified position determining method and recording medium and program
US20010049300A1 (en) * 2000-03-30 2001-12-06 Shinichiro Okamoto Game machine and information storage medium
US6362822B1 (en) * 1999-03-12 2002-03-26 Terminal Reality, Inc. Lighting and shadowing methods and arrangements for use in computer graphic simulations
US6478678B1 (en) * 2000-06-07 2002-11-12 Square Co., Inc. Computer readable recording medium recording a program of a ball game and the program, ball game processing apparatus and its methods
US6482086B1 (en) * 2000-06-07 2002-11-19 Square Co., Ltd. Computer readable recording medium recording a program of a ball game and the program, ball game processing apparatus and its method
US6482090B1 (en) * 2000-06-07 2002-11-19 Square Co., Ltd. Computer readable recording medium recording a program of a ball game and the program, ball game processing apparatus and its method
US20020193156A1 (en) * 1999-12-01 2002-12-19 Keisuke Nishimura Video game machine and after-image display method of video game machine
US6549203B2 (en) * 1999-03-12 2003-04-15 Terminal Reality, Inc. Lighting and shadowing methods and arrangements for use in computer graphic simulations
US6577444B2 (en) * 2000-08-03 2003-06-10 Ulead Systems, Inc. Method for image-based illumination effect in a three-dimensional scene
US20030228905A1 (en) * 2002-06-07 2003-12-11 Satoru Osako Game system and game program
US6676518B1 (en) * 1999-07-26 2004-01-13 Konami Corporation Image generating device, an image generating method, a readable storage medium storing an image generating program and a video game system
US20040166914A1 (en) * 2000-12-14 2004-08-26 Yoshifumi Ishihata Game machine, communication game system, and recorded medium
US6798408B2 (en) 2000-07-27 2004-09-28 Namco Ltd. Image generation apparatus, method and recording medium
US6831659B1 (en) * 1998-05-20 2004-12-14 Kabushiki Kaisha Sega Enterprises Image processor unit, game machine, image processing method, and recording medium
US20050174337A1 (en) * 2004-02-11 2005-08-11 Nielsen Paul S. Electronic handheld drawing and gaming system using television monitor
US20050233804A1 (en) * 2002-05-21 2005-10-20 Shintaro Hata Game control method
US6980214B2 (en) * 1999-12-28 2005-12-27 Square Co., Ltd. Methods and apparatus for shading object drawings in video games
US7033275B1 (en) * 1999-09-16 2006-04-25 Kabushiki Kaisha Sega Enterprises Game device, game processing method and recording medium having a program recorded thereon
US20070060342A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Button encounter system
US20070207843A1 (en) * 2006-03-03 2007-09-06 Hwang Paul J Multi-disc changer for computer gaming device
US20090054142A1 (en) * 1996-06-05 2009-02-26 Kabushiki Kaisha Sega Enterprises Image processing for a game
US20100162306A1 (en) * 2005-01-07 2010-06-24 Guideworks, Llc User interface features for information manipulation and display devices

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226006B1 (en) * 1997-06-27 2001-05-01 C-Light Partners, Inc. Method and apparatus for providing shading in a graphic display system
JP3295033B2 (en) * 1998-03-19 2002-06-24 コナミ株式会社 Game system and computer-readable recording medium used therefor
US6565443B1 (en) 1999-09-14 2003-05-20 Innovative Gaming Corporation System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device
US7071937B1 (en) 2000-05-30 2006-07-04 Ccvg, Inc. Dirt map method and apparatus for graphic display system
JP4512240B2 (en) * 2000-07-27 2010-07-28 株式会社バンダイナムコゲームス GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2002052256A (en) * 2000-08-07 2002-02-19 Konami Co Ltd Supporting device of game winning, terminal device, and recording medium
JP3641578B2 (en) * 2000-08-31 2005-04-20 コナミ株式会社 3D image processing method and apparatus for games, computer-readable recording medium recording game 3D image processing program, and video game apparatus
WO2002064228A2 (en) * 2000-10-25 2002-08-22 Ngame Limited Adapting a game state to be compatible with a new version of a game
JP2002222436A (en) * 2000-11-22 2002-08-09 Sony Computer Entertainment Inc Object control method, object control processing program executed by computer, computer readable-recording medium with recorded object control processing program executed by computer, and program executing device executing object control processing program
US6614431B1 (en) * 2001-01-18 2003-09-02 David J. Collodi Method and system for improved per-pixel shading in a computer graphics system
JP4079410B2 (en) * 2002-02-15 2008-04-23 株式会社バンダイナムコゲームス Image generation system, program, and information storage medium
JP2004088757A (en) * 2002-07-05 2004-03-18 Toshiba Corp Three-dimensional image display method and its apparatus, light direction detector and light direction detection method
JP3700857B2 (en) * 2004-03-03 2005-09-28 コナミ株式会社 GAME PROGRAM AND GAME DEVICE
US8287372B2 (en) * 2006-09-28 2012-10-16 Mattel, Inc. Interactive toy and display system
US7764286B1 (en) * 2006-11-01 2010-07-27 Adobe Systems Incorporated Creating shadow effects in a two-dimensional imaging space
US7733343B2 (en) * 2007-06-25 2010-06-08 Hewlett-Packard Development Company, L.P. Virtual shadow for physical object placed on surface
JP5350612B2 (en) * 2007-07-04 2013-11-27 任天堂株式会社 GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD
WO2010120227A1 (en) 2009-04-17 2010-10-21 Trapcode Ab Method for adding shadows to objects in computer graphics
JP5256153B2 (en) * 2009-09-16 2013-08-07 株式会社コナミデジタルエンタテインメント Image processing apparatus, image processing apparatus control method, and program
US8672761B2 (en) * 2010-05-10 2014-03-18 Michael Kidakarn Hand held controller with pressure controls
JP5798601B2 (en) * 2013-08-22 2015-10-21 任天堂株式会社 GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD
JP6090237B2 (en) * 2014-06-02 2017-03-08 株式会社三洋物産 Game machine
JP6015791B2 (en) * 2015-02-26 2016-10-26 株式会社三洋物産 Game machine
JP6015792B2 (en) * 2015-02-26 2016-10-26 株式会社三洋物産 Game machine
JP6131972B2 (en) * 2015-02-26 2017-05-24 株式会社三洋物産 Game machine
JP6011659B2 (en) * 2015-02-26 2016-10-19 株式会社三洋物産 Game machine
JP6625801B2 (en) * 2015-02-27 2019-12-25 ソニー株式会社 Image processing apparatus, image processing method, and program
US9710934B1 (en) * 2015-12-29 2017-07-18 Sony Corporation Apparatus and method for shadow generation of embedded objects
JP6311762B2 (en) * 2016-09-27 2018-04-18 株式会社三洋物産 Game machine
JP6311763B2 (en) * 2016-09-27 2018-04-18 株式会社三洋物産 Game machine
US11321904B2 (en) 2019-08-30 2022-05-03 Maxon Computer Gmbh Methods and systems for context passing between nodes in three-dimensional modeling
US11714928B2 (en) 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4600919A (en) * 1982-08-03 1986-07-15 New York Institute Of Technology Three dimensional animation
US4752836A (en) * 1984-09-07 1988-06-21 Ivex Corporation Method and apparatus for reproducing video images to simulate movement within a multi-dimensional space
US4952922A (en) * 1985-07-18 1990-08-28 Hughes Aircraft Company Predictive look ahead memory management for computer image generation in simulators
US5261041A (en) * 1990-12-28 1993-11-09 Apple Computer, Inc. Computer controlled animation system based on definitional animated objects and methods of manipulating same
US5577175A (en) * 1993-08-06 1996-11-19 Matsushita Electric Industrial Co., Ltd. 3-dimensional animation generating apparatus and a method for generating a 3-dimensional animation
US5768415A (en) * 1995-09-08 1998-06-16 Lucent Technologies Inc. Apparatus and methods for performing electronic scene analysis and enhancement
US5838330A (en) * 1995-01-23 1998-11-17 Matsushita Electric Industrial Co., Ltd. Scenery displaying system for displaying a scenery from an arbitrary position
US5846131A (en) * 1993-07-28 1998-12-08 Sega Enterprises, Ltd. Information storage medium and electronic device using the same for authentication purposes
US5882262A (en) * 1993-09-15 1999-03-16 Nsm Aktiengesellschaft Program-controlled entertainment and game device
US5909218A (en) * 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof
US6007428A (en) * 1995-10-09 1999-12-28 Nintendo Co., Ltd. Operation controlling device and video processing system used therewith
US6031538A (en) * 1994-08-30 2000-02-29 Thomson Broadband Systems Method for the generation of synthetic images
US6030292A (en) * 1994-06-01 2000-02-29 Sony Corporation Video signal reproducing apparatus
US6045447A (en) * 1996-03-19 2000-04-04 Namco Ltd. Image synthesis method, games machine, and information storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58121091A (en) * 1982-01-14 1983-07-19 池上通信機株式会社 Stereoscopic display system
US5415549A (en) * 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
JP3442181B2 (en) * 1995-02-17 2003-09-02 株式会社ナムコ 3D game device and image composition method
JP3667393B2 (en) * 1995-08-04 2005-07-06 株式会社ナムコ 3D game device and image composition method

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4600919A (en) * 1982-08-03 1986-07-15 New York Institute Of Technology Three dimensional animation
US4600919B1 (en) * 1982-08-03 1992-09-15 New York Inst Techn
US4752836A (en) * 1984-09-07 1988-06-21 Ivex Corporation Method and apparatus for reproducing video images to simulate movement within a multi-dimensional space
US4952922A (en) * 1985-07-18 1990-08-28 Hughes Aircraft Company Predictive look ahead memory management for computer image generation in simulators
US5261041A (en) * 1990-12-28 1993-11-09 Apple Computer, Inc. Computer controlled animation system based on definitional animated objects and methods of manipulating same
US5846131A (en) * 1993-07-28 1998-12-08 Sega Enterprises, Ltd. Information storage medium and electronic device using the same for authentication purposes
US6034930A (en) * 1993-07-28 2000-03-07 Sega Enterprises, Ltd. Information storage medium and electronic device using the same for authentication purposes
US5577175A (en) * 1993-08-06 1996-11-19 Matsushita Electric Industrial Co., Ltd. 3-dimensional animation generating apparatus and a method for generating a 3-dimensional animation
US5882262A (en) * 1993-09-15 1999-03-16 Nsm Aktiengesellschaft Program-controlled entertainment and game device
US6030292A (en) * 1994-06-01 2000-02-29 Sony Corporation Video signal reproducing apparatus
US6031538A (en) * 1994-08-30 2000-02-29 Thomson Broadband Systems Method for the generation of synthetic images
US5838330A (en) * 1995-01-23 1998-11-17 Matsushita Electric Industrial Co., Ltd. Scenery displaying system for displaying a scenery from an arbitrary position
US5768415A (en) * 1995-09-08 1998-06-16 Lucent Technologies Inc. Apparatus and methods for performing electronic scene analysis and enhancement
US6007428A (en) * 1995-10-09 1999-12-28 Nintendo Co., Ltd. Operation controlling device and video processing system used therewith
US6045447A (en) * 1996-03-19 2000-04-04 Namco Ltd. Image synthesis method, games machine, and information storage medium
US5909218A (en) * 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090054142A1 (en) * 1996-06-05 2009-02-26 Kabushiki Kaisha Sega Enterprises Image processing for a game
US8172678B2 (en) * 1996-06-05 2012-05-08 Kabushiki Kaisha Sega Image processing for a game
US20050035979A1 (en) * 1998-05-20 2005-02-17 Kabushiki Kaisha Sega Enterprises Image processing unit, game machine, image processing method, and recording medium
US6831659B1 (en) * 1998-05-20 2004-12-14 Kabushiki Kaisha Sega Enterprises Image processor unit, game machine, image processing method, and recording medium
US6549203B2 (en) * 1999-03-12 2003-04-15 Terminal Reality, Inc. Lighting and shadowing methods and arrangements for use in computer graphic simulations
US7061488B2 (en) * 1999-03-12 2006-06-13 Terminal Reality, Inc. Lighting and shadowing methods and arrangements for use in computer graphic simulations
US6362822B1 (en) * 1999-03-12 2002-03-26 Terminal Reality, Inc. Lighting and shadowing methods and arrangements for use in computer graphic simulations
US6676518B1 (en) * 1999-07-26 2004-01-13 Konami Corporation Image generating device, an image generating method, a readable storage medium storing an image generating program and a video game system
US7762890B2 (en) 1999-09-16 2010-07-27 Kabushiki Kaisha Sega Game device, game processing method and recording medium having a program recorded thereon
US7033275B1 (en) * 1999-09-16 2006-04-25 Kabushiki Kaisha Sega Enterprises Game device, game processing method and recording medium having a program recorded thereon
US20060160592A1 (en) * 1999-09-16 2006-07-20 Yoshiaki Endo Game device, game processing method and recording medium having a program recorded thereon
US20020193156A1 (en) * 1999-12-01 2002-12-19 Keisuke Nishimura Video game machine and after-image display method of video game machine
US7014562B2 (en) * 1999-12-01 2006-03-21 Namco Ltd. Video game machine and after-image display method of video game machine
US6980214B2 (en) * 1999-12-28 2005-12-27 Square Co., Ltd. Methods and apparatus for shading object drawings in video games
US20010044335A1 (en) * 2000-03-10 2001-11-22 Toshihisa Satake Game apparatus, specified position determining method and recording medium and program
US7101283B2 (en) * 2000-03-30 2006-09-05 Namco Ltd. Game machine and information storage medium
US20010049300A1 (en) * 2000-03-30 2001-12-06 Shinichiro Okamoto Game machine and information storage medium
US6478678B1 (en) * 2000-06-07 2002-11-12 Square Co., Inc. Computer readable recording medium recording a program of a ball game and the program, ball game processing apparatus and its methods
US6482090B1 (en) * 2000-06-07 2002-11-19 Square Co., Ltd. Computer readable recording medium recording a program of a ball game and the program, ball game processing apparatus and its method
US6482086B1 (en) * 2000-06-07 2002-11-19 Square Co., Ltd. Computer readable recording medium recording a program of a ball game and the program, ball game processing apparatus and its method
US6798408B2 (en) 2000-07-27 2004-09-28 Namco Ltd. Image generation apparatus, method and recording medium
US6577444B2 (en) * 2000-08-03 2003-06-10 Ulead Systems, Inc. Method for image-based illumination effect in a three-dimensional scene
US20040166914A1 (en) * 2000-12-14 2004-08-26 Yoshifumi Ishihata Game machine, communication game system, and recorded medium
US8105142B2 (en) 2000-12-14 2012-01-31 Sega Corporation Game device, communication game system, and recorded medium
US20060252535A1 (en) * 2000-12-14 2006-11-09 Sega Corporation Game device, communication game system, and recorded medium
US20060258450A1 (en) * 2000-12-14 2006-11-16 Sega Corporation Game device, communication game system, and recorded medium
US7336276B2 (en) * 2000-12-14 2008-02-26 Sega Corporation Game device, recording medium, and image processing method for displaying a projected image object
US20050233804A1 (en) * 2002-05-21 2005-10-20 Shintaro Hata Game control method
US7582018B2 (en) * 2002-05-21 2009-09-01 Sega Corporation Game control method
US20030228905A1 (en) * 2002-06-07 2003-12-11 Satoru Osako Game system and game program
US6971957B2 (en) * 2002-06-07 2005-12-06 Nintendo Co., Ltd. Game system and program using a shadow volume to display a shadow of an object in a three dimensional video game
US20050174337A1 (en) * 2004-02-11 2005-08-11 Nielsen Paul S. Electronic handheld drawing and gaming system using television monitor
US20100162306A1 (en) * 2005-01-07 2010-06-24 Guideworks, Llc User interface features for information manipulation and display devices
US20070060342A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Button encounter system
US7833096B2 (en) * 2005-09-09 2010-11-16 Microsoft Corporation Button encounter system
US20070207843A1 (en) * 2006-03-03 2007-09-06 Hwang Paul J Multi-disc changer for computer gaming device

Also Published As

Publication number Publication date
EP0916374A2 (en) 1999-05-19
EP0916374A3 (en) 2001-02-21
US6290604B2 (en) 2001-09-18
JP4105788B2 (en) 2008-06-25
CA2253991A1 (en) 1999-05-14
CA2253991C (en) 2007-01-16
US20010001767A1 (en) 2001-05-24
JPH11144077A (en) 1999-05-28

Similar Documents

Publication Publication Date Title
US6203431B1 (en) Video game apparatus and memory medium used therefor
US6220962B1 (en) Video game apparatus having a direction pointing mark and player object displayed on a game screen
US6626760B1 (en) Video game apparatus and memory medium therefor
US7070507B2 (en) Video game system
US6612930B2 (en) Video game apparatus and method with enhanced virtual camera control
US6908388B2 (en) Game system with tilt sensor and game program including viewpoint direction changing feature
US6280329B1 (en) Video game apparatus outputting image and music and storage medium used therefor
US6781598B1 (en) Entertainment apparatus, image generation method, and storage medium
JP3637031B2 (en) GAME DEVICE AND GAME PROGRAM
JP4791852B2 (en) GAME DEVICE, GAME PROGRAM, AND GAME CONTROL METHOD
US6325717B1 (en) Video game apparatus and method with enhanced virtual camera control
US6692357B2 (en) Video game apparatus and method with enhanced player object action control
EP1213044B1 (en) Video game system, character action control method, and readable storage medium storing character action control program
CA2289973C (en) Video game apparatus and information storage medium for video game
EP1235187A1 (en) Image processor, image processing method, and storage medium
CA2289391C (en) Video game apparatus and information storage medium for video game
JP3839355B2 (en) GAME DEVICE AND GAME PROGRAM
EP1085404A2 (en) Method for selecting a display object, storage medium and program executing apparatus
GB2363584A (en) Vibrating game controller for computer game system.

Legal Events

Date Code Title Description
AS Assignment

Owner name: NINTENDO CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MIYAMOTO, SHIGERU;KOIZUMI, YOSHIAKI;OSAWA, TORU;AND OTHERS;REEL/FRAME:009724/0312

Effective date: 19981201

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12