U.S. Pat. No. 8,187,099
GAME METHOD AND APPARATUS FOR ENABLING A VIDEO GAME SYSTEM CONSOLE TO EXECUTE VIDEO GAME PROGRAMS ORIGINALLY WRITTEN FOR EXECUTION ON ARCHITECTURALLY DIFFERENT VIDEO GAME PLATFORMS
AssigneeNintendo Co., Ltd.
Issue DateAugust 17, 2005
Illustrative Figure
Abstract
A video game selection program runs on a home video game console system connected to the Internet and displays on a home color television set a menu of one or more video game titles corresponding to video game programs available via the Internet from a remote server. At least some video game programs available from the server are designed for execution by a computer having a different hardware architecture than the home video game console system. The video game selection program, in response to selection of a video game title on the menu, sends game title ID information to the server and downloads and stores both a video game program corresponding to a title selected from said menu and corresponding emulator program of a type especially suited for enabling execution of the selected video game program on the home video game console. The video game selection program further creates and stores a table for associating downloaded video game titles with corresponding emulator program types and inhibits the downloading of emulator program types which have been previously downloaded and stored on the home video game system.
Description
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1is an exterior view of a game system, andFIG. 2is a block diagram of the game system in accordance with one embodiment of the present invention. InFIG. 1, a game system10includes a video game machine20as one example of a superior, first game machine (e.g., with respect to processing capability) and a game information storage medium30detachably mounted on the video game machine20. The game information storage medium30uses, for example, a large-capacity storage medium of various kinds, such as a digital versatile disk (hereinafter abbreviated as “DVD”) or CD-ROM (as one example of an optical information recording medium), a high-density magnetic storage medium or semiconductor memory. The exemplary embodiment described below includes a DVD. The video game machine20is connected to a game controller40as one example of an operating means to control character (also called an object) or cursor movement for a game or an action of the character, and a home-use television receiver (hereinafter abbreviated as “TV”)50as one example of a display device to display game images or graphics. Furthermore, the video game20includes a removable memory card (or cartridge)60to provide backup/additional storage, as required, for example, during game program execution. InFIG. 2, the video game machine20incorporates a circuit board (not shown) within a main body housing21. The circuit board includes various electronic components mounted thereon such as a CPU22(central processor unit), etc. The CPU22is connected to a graphics processor unit (graphic CPU)24through a bus23, and to a working RAM (also referred to as work RAM)25, a video RAM (VRAM)26, a plurality of controller connection ports27a-27d, a memory card connection port28and a DVD drive29. A TV (or CRT display)50is connected to the graphics processor unit (graphic CPU)24. Game controllers40a-40dare connected to the controller connection ports27a-27d. A memory card60is detachably connected to the memory card connection port28. ...
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1is an exterior view of a game system, andFIG. 2is a block diagram of the game system in accordance with one embodiment of the present invention. InFIG. 1, a game system10includes a video game machine20as one example of a superior, first game machine (e.g., with respect to processing capability) and a game information storage medium30detachably mounted on the video game machine20. The game information storage medium30uses, for example, a large-capacity storage medium of various kinds, such as a digital versatile disk (hereinafter abbreviated as “DVD”) or CD-ROM (as one example of an optical information recording medium), a high-density magnetic storage medium or semiconductor memory. The exemplary embodiment described below includes a DVD. The video game machine20is connected to a game controller40as one example of an operating means to control character (also called an object) or cursor movement for a game or an action of the character, and a home-use television receiver (hereinafter abbreviated as “TV”)50as one example of a display device to display game images or graphics. Furthermore, the video game20includes a removable memory card (or cartridge)60to provide backup/additional storage, as required, for example, during game program execution.
InFIG. 2, the video game machine20incorporates a circuit board (not shown) within a main body housing21. The circuit board includes various electronic components mounted thereon such as a CPU22(central processor unit), etc. The CPU22is connected to a graphics processor unit (graphic CPU)24through a bus23, and to a working RAM (also referred to as work RAM)25, a video RAM (VRAM)26, a plurality of controller connection ports27a-27d, a memory card connection port28and a DVD drive29. A TV (or CRT display)50is connected to the graphics processor unit (graphic CPU)24. Game controllers40a-40dare connected to the controller connection ports27a-27d. A memory card60is detachably connected to the memory card connection port28.
CPU22processes instructions using a first kind or computer architecture. The CPU22, at start-up, controls and administers the entire game system based on an operating systems program stored within a program ROM (not shown) built into the game machine20. When a DVD30is loaded on, the CPU22performs processing for a game based on a game program read out of the DVD30by the DVD drive29. For example, based on a game program, CPU22controls the reading of data out of the DVD30, writing or reading to or from the work RAM25or V-RAM26, reading input data from a game controller40a-40d, the GPU24and processing other than graphics processing such as various operation processes for game processing. Also, the CPU22receives an input signal from the controller40a-40dthrough the controller connection port28a-28dand processes a game image according to the input signal.
The GPU24performs processing for image display, such as geometry operation processing and rendering processing, according to an instruction received, for example, from CPU22. The work RAM25stores CPU22operation results, etc. and stores program data read out of the DVD30(first or second-game-machine game program and an emulator). The V-RAM26temporarily stores display data to configure a game image (color data on a pixel basis), and is controlled in reading and writing by GPU24. The memory card29incorporates a writable/readable semiconductor memory, such as a flash memory, to, for example, temporarily store game progress data. Data may then be read out as required after a game is interrupted to enable resuming the game from point at which is was halted (replay).
FIG. 3is an illustrative view of a hierarchical configuration of hardware, an operating system and various programs. InFIG. 3, an operating system program stored in an internal ROM (not shown) is executed on the hardware (CPU22) of the video game machine20(first game machine). When the game program read out of the DVD30is for the first game machine20, a game program for a first game machine is processed using the operating system program (or by the CPU22through the operating system program).
When the game program read out of the DVD30is a game program for an older-type second game machine different in architecture from the first game machine and lower in processing capability (and/or processing speed) than that machine, the same program cannot be directly processed using the processing system for the first game machine20. In such a case, in order to make the second-game-machine game program executable on the first game machine operation system, an emulator for converting the second-game-machine game program into a first game machine architecture is run on the operating system so that a second-game-machine game program can be run on the emulator. In this manner, the processing is made similar to that using a two-level hierarchical OS.
The relationship between the video game machine20(superior machine) as the first game machine and the second game machine (inferior machine; not shown) will now be explained. These machines are not compatible with respect to hardware because of differences in their architecture. For example, if the CPU of the second game machine is an 8-bit machine, a 16-bit machine or a 32-bit machine, and CPU22of the first game machine20has 64 bits, 128 bits or the like that is higher by 1 or 2 “ranks”, the first game machine is by far higher in processing capability and/or processing speed than the CPU of the second game machine. In this case, if the second-game-machine game program is processed on the first game machine20, the differences in instruction words leads to malfunction. In order for preventing this, an emulator program is employed to convert the second-game-machine game program into the software architecture for the first game machine20. The emulator program includes, for example, an operational emulator and a graphics processing emulator. Specifically, the operation processing emulator is a program to convert the instruction words or functions to be processed by the second game machine CPU into an architecture adapted for the first game machine CPU22. The graphics processing emulator is a program to convert the graphics processing function to be processed by a graphics processing unit of the second game machine such that it will function in the architecture adapted for the GPU24of the first game machine. The program for the first game machine20or second game machine20and the emulator program are read out of the DVD30prior to starting a game and stored in the work RAM25.
Where the second game machine is extremely low in capability e.g. 8-bit or 16-bit CPU, and the CPU of the first game machine20is significantly higher in capability by 2 ranks or more, the desired results can be achieved by time-division-processing both functions of operation processing and graphics processing only on the CPU22without using the GPU24of the first game machine20. Also, the first game machine20may use a high-speed computer instead of a special purpose-game machine, to execute game programs.
Various exemplary embodiments of game information storage mediums of the invention as well as game systems using the same will now be described in further detail.
[Embodiment 1]
FIG. 4shows a memory map illustrating storage data on a game information storage medium (DVD)30according to a first embodiment.FIG. 5is a figure showing in further detail the storage data. In this first embodiment, the game information storage medium (DVD) stores at least one or a plurality of game programs applicable for any one of the inferior, second game machines (e.g., an 8-bit FAMILY COMPUTER (NES), a 16-bit SUPER FAMICOM (SNES) and a 64-bit NINTENDO 64: All trademarks). In this example, an emulator program of one kind only is stored to convert game program architecture for the video game machine into architecture for the 128-bit machine (first game machine20).
The DVD30includes, as shown inFIG. 4, storage areas (or recording areas)31,321-32n, and33. A game selection program is stored on the storage area31. The game selection program includes a title list of the game programs (or information indicative of game titles) for the second game machine stored on the storage areas321-32n, a program to display a menu of recorded game titles and the like, a game selection program, etc., and as required, emulator-related information such as the kind or the necessity or non-necessity of an emulator to be applied for each of game programs. In the storage areas321-32n, game programs are respectively stored for second-game-machine game program (game1to game n). The game program stored on the storage area321-32n includes, for each game, a game title, a game control program, image displaying data (and/or graphics processing program) and sound data for sound processing (or sound program) (seeFIG. 5(a)). The emulator program is an emulator program to convert the game program architecture applied on the second game machine into an architecture for the first game machine20, and includes those for operation processing and graphics processing as required (seeFIG. 5(b)). This emulator program, although hereafter described in detail with reference toFIG. 7, is to be realized, for example, by an instruction-word conversion table, etc. to convert an instruction for the second game machine into an instruction for the first game machine. Consequently, the instructions, e.g. A, D, T, . . . , included in the game control program are instructions not to be directly interpreted by the CPU22(and/or GPU24). These instructions, after being converted by use of the emulator program, are first given as instructions to be processed by the CPU22.
FIG. 6illustratively shows one example of an emulator program. InFIG. 6, an emulation program stores a plurality of instructions for conversion and the corresponding instructions of after conversion such that, where receiving an instruction (A, B, . . . , J or K+L) constituting a game program for the second game machine, the same is converted into an instruction for the processing (a, b, . . . , j or kl) corresponding to that instruction to be executed by the CPU22. Each time an instruction for the second game machine is given, the instruction is converted into an instruction for the CPU22corresponding to the received instruction and then supplied to the CPU22, thereby emulating the instruction. Specifically, when an instruction A for the second-game-machine game program is provided, it is converted into an instruction suited for the second-game-machine game program architecture corresponding to the instruction A, thereby carrying out processing “a” corresponding to that instruction. The processing “a” may be configured by a plurality of instructions a1-a3, e.g., due to the architecture of the first game machine20. Also, where the instruction due to the second-game-machine game program is an instruction exclusive for graphics processing (e.g. T, U), the graphics processing emulator converts it into an instruction suited for the GPU24architecture, according to which a processing (t1+t2+t3, etc.) is to be carried out. The detail of the processing will be described hereafter.
FIG. 7andFIG. 8are flowcharts for explaining the operation of the first embodiment. In particular,FIG. 7shows a main routine depicting the general flow of that embodiment andFIG. 8is a subroutine for step4. Next, the operation of the video game system10of the first embodiment along with the flowcharts shown inFIG. 7andFIG. 8is explained.
In a step (abbreviated as a symbol “S” in the figure) S1, a title of the second-game-machine game program (or information indicative thereof) recorded on the DVD30is displayed. Specifically, the player25mounts the DVD30on the DVD drive29of the video game machine20and turns on power. In response, CPU22executes an operating system program stored on the ROM (not shown) and starts up the video game machine20. At the beginning, the CPU22reads out a menu display/select program stored in the DVD30and writes it to a storage area251of the work RAM25, thereby executing the menu display/selection program on the work RAM25. This displays titles of a plurality of ones of game program stored on the DVD30based on game list data contained in a game selection program. For example, a game program selection screen51is displayed on a display screen of a television50, as shown inFIG. 9. The game program selection screen51is, preferably, structured using a plurality of (three in the embodiment) layered screens52a-52cseparately provided on a series-by-series basis of game program. The layer screens52a-52chave a tag to select the screen. A series name indicative of a game program is displayed on the tag. These game programs are, for example, game programs for an older-generation video game machine (second game machine) different in architecture from and lower in processing speed than the first game machine20.
In a step S2, a game program selection process is performed. Specifically, a cursor53controllable by the game controller40is displayed on the game program selection screen51. The player selects a desired game title by operating the cursor53while viewing the menu screen. That is, the player clicks a tag of a desired series name to select an arbitrary series of a layer screen52a-52c, and then clicks an arbitrary game title of the series to select a desired one of game program.
In a step S3, the selected game title is recognized by a selected-game starting program. A selected game program is read out of the DVD30, and transferred to the work RAM25and written to the storage area252. In this case, when the selected game program stored on the game program storage area252has a program capacity greater than a capacity of the game program storage area252, a part of the game program is read out, e.g. reading out is appropriately divided in accordance with game progress. In association with reading out of the game program, an emulator program (X) related to the game title is automatically read out and written to the emulator storage area252. Thereafter, the emulator program is started up by the CPU22.
In a step S4, the CPU22executes the selected second-game-machine game program using the emulator program. In the emulation process of this case, as was explained with reference toFIG. 6, the emulator program accesses an instruction the game program is to execute and performs processing operations according to that instruction, thereby indirectly executing a game program for the second game machine. This realizes, on the video game machine20, a game based on the game program for the second game machine. The operation of step S4is repeated until reaching game over or a game clear condition as determined at step S5, the details of which will be described later with reference toFIG. 8.
Now, explanation will be made in detail on the processing of the second-game-machine program to be executed by referring to the emulator program, with reference to aFIG. 8subroutine.
In order to facilitate understanding the processing, explanation is made by relating the CPU and GPU processing of the conventional second game machine shown inFIG. 23to the processing by the emulator program of the exemplary embodiments. In the conventional system, when displaying a figure such as a game character, object or the like by the second game machine, the CPU of the second game machine has executed instructions A, B (VI-V3) and thereafter the GPU has executed processing (V4-V6) based on an instruction T. It is herein assumed for the CPU of the second game machine that the instruction A is an instruction to write a value Y to an A register of the CPU, the instruction B is an instruction to add a value Z to the A register of the CPU, and the instruction T is an instruction to cause the GPU of the second game machine to perform processing of before displaying a figure based on a value of the A register.
The emulator program allocates, in the work RAM25of the video game machine20, a virtual setting area to virtually reproduce for the CPU and GPU (second processing means) of the second game machine or the work RAM and VRAM included in the second game machine. For example, a virtual CPU setting area is allocated, in a predetermined address, a virtual register, etc. corresponding to each register incorporated in the CPU of the second game machine. Due to this, a virtual A register corresponding to a particular register (A register in one example) of the CPU of the second game machine is set in a particular address of a storage area in the work RAM25. When there is processing to the A register of the CPU of the second game machine, the CPU22accesses the virtual A register in the predetermined address set in the work RAM25thereby emulating the function of the CPU and GPU of the second game machine. Emulation is similarly made for the second game machine GPU, work RAM, V-RAM and so on.
First, in a step S11, in order to execute a program to display a figure, the emulator program reads out an instruction A in the program and performs a processing operation corresponding to the instruction A. Specifically, the emulator program (CPU emulator) writes a value Y to a virtual A register having a particular address allocated in the work RAM25and corresponding to the A register of the CPU of the second game machine. This processing a is executed by instructions a1, a2and a3executable directly by the CPU22.
In a succeeding step S12, an instruction B is read out and the corresponding processing b is carried out. Specifically, the CPU22reads out the value Y stored in the virtual A register and calculates a value (Y+Z) as a value Y added with a value Z. Then, the value (Y+Z) is written again to the virtual A register.
Furthermore, in steps S13, S14and S15, an instruction T is read out and the processing t1, t2and t3corresponding to the instruction T are made in the order. This instruction T is to cause the CPU of the second game machine to deliver a value of the A register to the GPU of the second game machine so that the GPU can makes processing to render a figure. Specifically, the CPU22makes the following processing based on the GPU emulator program. That is, the processing t1is first executed to thereby read a value (Y+Z) out of the virtual A register of the work RAM25. The value (Y+Z) is written to an exclusive register in the virtual GPU setting area. Next, the processing t2is executed to thereby perform operation processing, e.g. geometry operation, based on the value (Y+Z) written on the exclusive register. Due to this, figure data is produced in the virtual VRAM area corresponding to the VRAM of the second game machine. Furthermore, the processing t3is executed to thereby produce a figure in the V-RAM26based on the figure data in the virtual VRAM area. Then, the CPU22instructs the GPU to render the figure. The GPU22produces an image based on the figure in the V-RAM and outputs the image data onto a television (step S16). The above processing by the video game machine20provides, on the television50, display of a game picture which is nearly the same as a game picture to be displayed by a game program for the second game machine (step S17). If there is input through the game controller40, the instructions for the second-game-machine game program are sequentially read out to sequentially execute the process corresponding to the instructions. In this manner, the game program for the second game machine is made executable by the video game machine20having a different architecture.
This makes it possible to use a plurality of ones of game programs for the older-type second game machine on the newer-type first game machine without incurring complications in structure and cost increases of the first game machine. Also, the game program for the older-type game machine is comparatively smaller than the game program for the newer type game machine. The storage medium storing the game program for the newer-type game machine has an increased capacity greater than that for the older-type. Accordingly, it is possible to store a plurality of older-type games in a single storage medium for the newer-type game machine. Furthermore, there is an advantage of providing user-game information storage mediums at low cost
[Embodiment 2]
FIG. 11illustratively shows storage data on a game information storage medium (DVD30) according to the second embodiment. The second embodiment is different from the first embodiment (FIG. 4) in that the game information storage medium (DVD) stores a plurality of game programs (game1to game n) to be applied to any of at least of two kinds of inferior, second game machines (an 8-bit machine, a 16-bit machine and a 64-bit machine, in an example of the video game machines marketed by the applicants' assignee, Nintendo). This example stores emulator programs in a number dependent upon the number of the inferior machine models (at least two kinds α and β, where α is an emulator to convert 16-bit one into 128-bit one and β is an emulator to convert 64-bit one into 128-bit one) to convert game program architectures for at least two kinds of game machines into an architecture for the superior first game machine20.
The DVD30has at least two kinds of emulator programs (α, β) stored in storage areas33α,33β, in addition to the storage data ofFIG. 4, as shown inFIG. 11. Furthermore, a game selection program, as shown inFIG. 12, stores the kinds of emulators (for three in kinds, α, β, v) to be used in executing on the first game machine a game corresponding to a game title.
Next, explanation follows for a case of processing a game using the DVD30storing information or programs as in the second embodiment as shown inFIG. 11andFIG. 12. The processing in this case is to be achieved by additionally processing steps S6and S7in the flowchart ofFIG. 7.
When a game title for a particular game program is selected in step S2, as indicated in the succeeding step S6, a game program kind is accessed. The game selection program herein includes, as shown inFIG. 12(A), game title list data, emulator list data (emulator identifying data), a menu display/select program and a selected-game start program. The game title list data is letters to display all the game titles of the game programs. The emulator list data is a list of emulator programs in kind corresponding to the game titles.
The game title list data and the selected-game start program have already been explained and further explanation is omitted. The game title list data and the emulator list data are stored by providing the relation to an emulator in kind required to execute the game program on a game-title basis, as shown inFIG. 12(B).
When a player selects for example a game title1, in step S6a game program kind of the game title1is accessed. In the succeeding step S7determination is made based on emulator list data corresponding to the game title in order to determine an emulator in kind to execute the game program for the selected game title1(seeFIG. 12(B)). As a result, selected is an emulator program for an emulator α corresponding to the game title1. Thereafter, operation is made similarly to the above steps S3-S5whereby the game program for the game title1is executed based on the emulator program of the emulator α. In this manner, processing steps S1, S2, S6, S7, S3,S4and S5makes it possible to play on the video game machine20a game program selected for a plurality of kinds of second game machines different in architecture from the video game machine20.
This makes it possible to record and store, on one DVD30, a series of game programs developed for the 8-bit machine, the 16-bit machine and the 64-bit machine different in architecture (e.g. Super Mario 1, 2 and 3 for the 8-bit machine, Super Mario World for the 16-bit machine, and Super Mario 64 for the 64-bit machine: all the trademarks). The series of game programs for different models can be played on the common first game machine20by merely selecting game titles. There is no need of exchanging hardware or platform, connection to the TV and game information storage medium. The user can remember game rules in order while enjoying earlier released older series games. Thus, it is possible to prevent the feeling of sudden rise in difficulty level in using a new platform as compared to the case of immediately playing game for the newest game machine, providing the advantage of enhancing stepwise the difficulty level, the game clear rate for all of the series and satisfaction by the user.
[Embodiment 3]
FIG. 13illustrates storage data on a game information storage medium (DVD)30according to a third embodiment. In the third embodiment, a game information storage medium (DVD) stores at least one game program (in the case of plurality, game1to game n) to be applied to one kind second game machine (in the example of marketed by the present applicants' assignee, Nintendo, any one model of the 8-bit video game machine, the 16-bit video game machine and the 64-bit game machine), an emulator program in one kind to convert the game program architecture for the second game machine into an architecture for the first game machine20, and at least one game program inherent to the first game machine.
The DVD30has a game selection program stored in a storage area31similar toFIG. 4, at least one game program for the second game machine stored in a storage area321, and an emulator program stored in a storage area33, as shown inFIG. 13. Furthermore, at least one game program for the first game machine is stored as storage information particular to this embodiment in a storage area32m. The game program for the second game machine may store a plurality of ones of game programs. In such a case, as in the second embodiment, a plurality of ones of game programs different in kind for the second game machine may be stored and emulators in kind corresponding to the kind of them be stored.
FIG. 14is a flowchart for explaining the operation in the third embodiment. Next, explanation is made on the operation of this embodiment with reference toFIG. 13andFIG. 14. InFIG. 14duplicated portions with those of theFIG. 7flowchart explained before are given the same symbols, omitting explanations thereof. Also, the step S7inFIG. 14is shown by the broken lines, which show that the step be omitted for a single emulator program case.
As shown inFIG. 14, a game title desired by a player is selected by steps S1, S2and S6. In the case that a selected game has a game title (m) for the first game machine20, the processing shown in step S21-S23is carried out. On the other hand, where the selected game title is on the game program for a game machine other than the first game machine20, the processing shown in steps S7, S3, S4and S5is performed.
Specifically, if in step S6a game title (m) for example is selected, the CPU22determines that the game program with that game title does not require an emulator (see the lowermost column inFIG. 12(b)). In response, it is determined in step S21that game program for the first game machine20was selected, and the process advances to step S22. In step S22, the CPU22and/or GPU24directly execute (execute without using an emulator) each instruction of the game program with the game title (m). In step S23, it is determined whether the game is over or cleared or not. The operation of the step S22is repeated until any game ending conditions are detected. Where there are plurality of ones of game programs for the first game machine20, the above steps S1, S2, S6, S21, S22and S23are similarly supplied.
If a game title for the second game machine is selected in step S2, a game program kind is accessed for the selected game title in step S6, thus determining that the game is a game requiring an emulator (seeFIG. 12(b)). In response, in step S21determination is made that the program for the first game machine20requires an emulator, and the process proceeds to step S7. In step S7, where there are a plurality of emulators, an emulator kind is selected and in step S3an emulator program is executed. However, where there is a single kind of an emulator, the process directly advances to step S3.
Thereafter, the steps S4and S5are processed. However, the operation of steps S3to S5or S7is similar to that ofFIG. 7, detailed explanation thereof is omitted.
This makes it possible to play with comparison between the game program for the older-type (inferior) second game machine and the game program for the newer-type (superior) first game machine, thus providing the advantage of allowing enjoyment of a game with a feeling of improvement of performance over the first game machine.
[Embodiment 4]
FIG. 15illustratively shows storage data on a game information storage medium (DVD30) according to the fourth embodiment, andFIG. 16is an illustrative view showing the details of demonstration program list data. In addition to the third embodiment (FIG. 13), the fourth embodiment stores on the game information storage medium30a demonstration program that is one example of a preliminary program showing an outline of the game according to the game program, and in selecting a game title by a player, the information showing the outline of the game of that game title is outputted and displayed. In this embodiment shown, in order to output the preliminary information showing the game outline, a case that the demonstration is displayed by an animation will be described.
Specifically, as shown inFIG. 15, the DVD30stores in addition to the storage data ofFIG. 4(orFIG. 11) at least the demonstration program list data in a storage area34, and demonstration programs DP1-DPn in storage areas351-35n. The demonstration program DP1-DPn is a program for displaying on the TV50connected to the game machine20an animation of at least a portion of the game according to the game title1-n. Furthermore, the demonstration program list data is data in which the demonstration programs DP1-DPn are respectively associated with the game titles1-n as shown inFIG. 16.
FIG. 17is a flowchart for explanation of the operation of the fourth embodiment, andFIG. 18is a figure showing a game selection screen displayed in the embodiment. Next, explanation is made on the operation of this embodiment with reference toFIG. 17. InFIG. 17duplicated portions with those of the flowchart having been explained are given with the same symbols, omitting explanations thereof.
As shown inFIG. 17, in step S1, the game selection screen shown inFIG. 18is displayed on the TV. In order to understand the game outline of a desired game title, the player operates the cursor53while viewing the game selection screen so as to adjust the cursor53to a desired game title, and then, provisionally selects the game title (for example, single-click). In response to the provisional selection thus made, processing of the steps S31-S34are performed, and therefore, the animation of the game title that is provisionally selected is displayed on the TV50as the demonstration. Then, the player who grasped the desired game title through the animation formally selects the game title (for example, double-click). In response to the formal selection, the processing after the step S3shown inFIG. 7are performed. On the other hand, if the player grasped that the game title is non-desired game title through the animation, further provisionally selects other game title. During such the provisional selection, steps S31-S34are repeated.
Specifically, in the step S1, by executing the menu display/selection program of the game selection program, as shown inFIG. 18, the game selection screen51is displayed, and the cursor53is displayed on the screen. Incidentally, at this time, the demonstration screen54has not been displayed.
In step S31, the player provisionally selects (for example, single-click) the desired game title, for example, “Dr. Mario”: hereinafter, “game title i” by the cursor53, in response to this, in the step S32, the game selection program detects that the provisional selection was made, and references to the demonstration program list data (FIG. 16) stored in the storage area34of the DVD30. The CPU22executes the game selection program, and based on the list data, reads the demonstration program DPi, for example corresponding to the provisionally-selected game title i, and stores the demonstration program in the work RAM25. Then, the execution of the demonstration program DPi in the work RAM25is started.
In step S33, by executing the demonstration program DPi, the demonstration screen54is set on the game selection screen51, and the demonstration animation of the game of the game title “Dr. Mario (trademark)” is displayed on the demonstration screen54(FIG. 18). In step S34, the player recognizes the animation displayed on the demonstration screen54, and if the game is one that the player desires, formally selects the game title (for example, double-click) by the cursor53. The game selection program detects the game title is formally selected, and then, continues processing after the above-described step S3(FIG. 7). On the other hand, when the provisional selection is made again in the step S34, the steps S31-S34are repeated. By doing so, the player can grasp the outline of the game for the second-game-machine game program, and therefore, it becomes for the player possible to play the desired game more quickly and more surely. In this fashion, there is the advantage that it is possible to prevent a selection error by the player where the player knew the selected game title is not the desired game after the game is started.
In addition, in the fourth embodiment, a case that as the preliminary information showing the game outline, the animation is displayed for the demonstration of the game was described, but as other preliminary information, a still picture in the game may be displayed, or a comment sentence explaining the outline of the game may be displayed. That is, instead of the demonstration program, a program including the text data of the comment or the image data of the still picture can be executed by the CPU21. Thus, in the demonstration screen54of the game selection screen51displayed on the TV50connected to the game machine20, instead of the animation, the comment sentence or the still picture can be displayed. If the comment sentence is utilized, it is possible to grasp the game outline in more detail, and if the still picture is utilized, the game outline can be grasped quickly with short time.
Furthermore, instead of the animation, it is possible to output a sound from the speaker (not shown) of the TV50. More specifically, instead of the demonstration program, a program including the sound data is executed, whereby the outline of the game is generated from the speaker of the TV50in sound. In this case, there is advantage that it makes the player more easily grasp the game outline by the sound.
[Fifth Embodiment]
FIG. 19illustrates storage data on the game information storage medium (DVD)30according to the fifth embodiment, andFIG. 20illustrates the second-game-machine game program and replacement graphics data stored in the game information storage medium in detail. In addition to the third embodiment (FIG. 13), in the fifth embodiment, a character display/selection program for displaying characters and making the player to select a desired character, and a data replacement program which replaces the character graphics data included in the game program with the character graphics data separately prepared are stored on the game information storage medium (DVD30).
Specifically, as shown inFIG. 19, the DVD30stores, in addition to the storage data ofFIG. 4(FIG. 11), the character display/selection program in a storage area36, the data replacement program in a storage area37, and the replacement graphics data in storage areas381-38n, respectively. Furthermore, as shown inFIG. 20(c), the replacement graphics data includes respective graphics data of the character graphics CGa-CGz and map graphics MGa-MGz. Furthermore, as shown inFIG. 20(a) the second-game-machine game program comprises the game title, the game control program, the graphics data and the sound data utilized by the game control program as described above. In addition, as shown inFIG. 20(b), the graphics data included in the game program is constructed by the graphics data of the character of the hero or heroine in the game (the character graphics CG1and etc.) and the map graphics data (map graphics MG1and etc.). As described later, the data replacement program replaces the graphics data of the character graphics CG1included in the game program1, for example with the video data of the character graphics CGa for replacement. Therefore, the player can play the game character different from the original hero or heroine character as the hero or heroine. In the description of the embodiment, the explanation is made on the hero or heroine character by way of example, but the present invention is not limited thereto, and it is possible to suitably change the map or other characters.
FIG. 21is a flowchart for explaining the operation of the fifth embodiment. Next, the operation of this embodiment will be described with reference toFIG. 21while applying the same symbols to the portions having been described, omitting explanations thereof.
As shown inFIG. 21, in the step S1, the game titles that can be selected are displayed. In the step S2, the game title that the player desires is selected. Furthermore, in the step S41, the characters that can be selected by the player are displayed. In the step S42, the player selects a desired character. In the step S43, the game program in which the hero or heroine character of the previously-selected game program is replaced with the selected character is generated. According to the generated game program, the processing operations shown in the steps S6, S7, and S3-S5are performed.
Specifically, in the step S41, the character display/selection program is read from the storage area36of the DVD30, and the program is written in the work RAM25. Then, by executing the character display/selection program, the character selection screen52das shown inFIG. 22is set so as to be displayed on the game program selection screen51as one example of a layered screen.
In the step S42, the player operates the cursor53and clicks the tag of the character selection screen52d. In response to this click, the character display/selection program displays the character selection screen52d. Then, the player moves the cursor onto the desired character name, for example, Mario, Luize, and etc. displayed on the character selection screen52dand clicks the desired character. In response to the click of the character name, the character display/selection program grasp the character name thus clicked.
In the step S43, the data replacement program is read from the storage area37of the DVD30to be written in the work RAM25. Then, the data replacement program is executed. The data replacement program replaces the graphics data of the hero or heroine character included in the game program with the replacement graphics data as selected in transferring the game program previously selected from the DVD30to the work RAM25. Then, the game program in which the graphics data of the selected character is replaced is stored in the work RAM25. The processing operations after the step S3, the game program stored in the work RAM25are executed by the emulator. The processing operations after the step S3have been explained, and therefore, the explanations thereof are omitted here.
Thus, in the newer-type first game machine, the game program for the older type game machine can be played while the character selected by the player is the hero or heroine thereof, and therefore, the player can enjoy the older-type-game-machine game program multilaterally.
In addition, in the data replacement program of the fifth embodiment, the graphics data included in the game program is replaced at a time that the game program is transferred to the work RAM25, but by making the data replacement program always existing in the memory to supervise the processing in the step S4, and the game program is executed by the emulator, and at a time that the hero or heroine character is read-out by the game program, the graphics data of the hero or heroine character may be replaced with the selected graphics data.
[Other Embodiments or Applicable Examples]
In the case of playing games using an emulator in the first to fifth embodiment, if emulated and converted instructions are stored in order in the work RAM25for a constant time (e.g. several minutes or several seconds) so that a program that the CPU22executes the temporarily stored instructions at predetermined timing after game-over can be stored as a part of an emulator program, an advantage is available that the game can be easily replayed regardless of a game program structure for the second game machine. The addition of such a program allows a game scene desired by the player to be arbitrarily replayed, thus enhancing player's amusement.
Furthermore, in the above-described embodiments, the game information storage medium which is for the first game machine having a single kind of architecture and stores the game programs for one or two more kinds of second game machine was described, but the technical idea according to the exemplary embodiments is not limited thereto. For example, the present invention can be also applied to the game information storage medium which stores the emulator programs by which the game programs for one or two more kinds of second game machines can be executed on the first game machines each having individual architecture. For example, by executing the game selection program on the first game machine to which the game information storage medium is loaded, the emulator program according to the architecture of the first game machine is selected. Furthermore, the player selects the desired game title. Then, the execution of the game program of the selected game title is started based on the selected emulator program. This causes the player to utilize the single game information storage medium (CD, DVD-ROM, etc.) on plural kinds of first game machines (superior machine or newer-type machine). Therefore, it is possible for the game program makers to avoid a risk that the game information storage medium dedicated for each kind of the game machine and the medium manufactured for a specific game machine remain unsold in a large amount. Incidentally, the selection of the emulator program can be performed by judging the kind of the first game machine by the game selection program, or the name of the first game machine is displayed and then the player decides the name of the first game machine to which the game information storage medium is loaded.
The technical idea of the exemplary embodiments is not limited to storing an emulator program and game program on an information storage medium such as a DVD, CD-ROM or the like, but can be applied for delivering both the data through a bi-directional public line such as the Internet. For example, if the storage data stored on the above game information storage medium (DVD30) is structurally stored on a storage medium (e.g. hard disk, DVD, etc.) provided in a server apparatus, a similar effect to the effect of the invention can be realized in a game machine on a terminal side connected through an information transmission line such as the Internet with respect to the server apparatus.
That is, a similar effect can be provided for a user on the game machine on the terminal side by delivering, from the server apparatus to the terminal-side game machine, a set of game programs for a plurality of kinds of game machines different in architecture and a plurality of emulator programs to be executed on the terminal-side game machine. Specifically, when the server apparatus is accessed by the terminal-side game machine through the Internet, it transmits a game selection program to the terminal-side game machine. The terminal-side game machine executes the game selection program. A game select screen51shown inFIG. 9is displayed on a display device such as a TV so that a game title desired by a user is selected. When the identification data representative of a selected game title is transmitted to the server apparatus, the server apparatus determines an emulator kind required for the selected game title based on correspondence data between a game title and an emulator as shown inFIG. 12(b). Transmitted are a set of the emulator program and a selected game program to the terminal-side game machine.
This allows the user to play on the terminal-side game machine with game program or the older-generation game machine by use of an emulator. By thus transmitting a set of an emulator and game program, it is possible to play with game program not to be played in nature on a model other than the game machine being used. Incidentally, by saving an emulator kind transmitted to a particular player and the data given correspondence to identification information to identify that player, where the particular player accesses the server apparatus and selects a game title requiring the same kind emulator, then it is also possible to transmit only the same game program.
Furthermore, the above embodiment was explained for the case, as an applicable example of the invention, that the game program for the older-generation game machine manufactured/marketed by the applicant is to be used on the next-generation game machine20. However, it is pointed out that the invention is applicable not limited to between the older-generation and next-generation game machines of this company but to between the game machines of other manufacturers.
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
- A home video game system and game delivery communications system arrangement comprising: a network server machine located remotely from the home video game system;at least one handheld controller;at least one memory device;at least one central processor unit (CPU);at least one dedicated graphics processing (GPU) unit for rendering video game graphics in accordance with data provided by a video game program for display on a home-use television receiver;an audio subsystem for producing sounds in accordance with data provided by a video game program;a video game selection program that communicates with a remote network server and displays a game selection menu for requesting video games from the remote server;and a bi-directional communications link providing access via the network to said remote network server, wherein the remote network server transmits said video game selection program to the home video game system and said video game selection program enables the home video game system to communicate corresponding player information to said remote network server and obtain a listing of video game titles of video game programs that are stored on said server and which are available for selectively downloading from said server along with appropriate corresponding video game system emulators for controlling said CPU and said GPU to emulate operations of a hardware architecture different from said home video game system, an emulation being at least in part responsive to signals provided by said at least one handheld controller, said video game selection program displaying a menu of game titles on said home-use television receiver comprising at least a list of video game titles selectable by a user using said handheld controller, wherein one or more of said server-stored video games written for one or more different video game systems having a hardware architecture different from said home video game system, and said video game selection program transmitting said player information and identification data representative of a selected game title to the server apparatus, and wherein the server saves information regarding each emulator program type transmitted to a particular player's home video game system, and wherein based on received player-selected game title information the server apparatus transmits a copy of the selected game program and determines a particular corresponding emulator program kind that is required for running the player-selected game program on the home video game system and, based on a server-saved relationship of a correspondence between an emulator kind previously transmitted to a player and the player information received from a player's home video game machine currently accessing the server, the server conditionally transmits a copy of said corresponding emulator program to said appropriate home video game system if that player has not previously been provided with the same emulator type.
- A home video game system and game delivery communications system arrangement comprising: a server apparatus operative to communicate with the home video game system via the network;data storage memory comprising a work RAM data storage portion and a VRAM data storage portion;at least one control processor unit (CPU);at least one dedicated graphics processing unit (GPU) for rendering video game graphics in accordance with data provided by a video game program for display on a home-use television receiver;at least one handheld game controller;and a bi-directional communications link providing access via the network to a remote server apparatus, wherein the server transmits a video game selection program to the home video game system and the home video game system executes the video game selection program which causes said home video game system to contact said server and download a player selected video game program and an appropriate emulator program for emulating a specific video game platform on the player's particular home video game system, said emulator program controlling said CPU and said GPU to emulate a hardware architecture of a legacy video game system or a hand-held portable video game system, said legacy or portable video game system being different in architecture from said home video game system, said video game selection program displaying a menu of player selectable video game titles on said home-use television receiver to enable a player to select a video game program to obtain from said server, and wherein said video game selection program, in response to a selection of a particular game title from said menu, transmits player information and the player-selected video game title information to the remote server which, in response, provides a game program corresponding to the player-selected game title and wherein, based on a saved relationship of a correspondence between an emulator kind previously transmitted to a player and the player information received from a player's home video game machine currently accessing the server, the server conditionally provides an appropriate emulator program of a type corresponding to the player-selected game title only if the home video game system has not previously been provided with the same emulator type.
- The home video game system of claim 2 , further comprising a removable portable memory card device for temporary storage of game progress data.
- The home video game system of claim 2 , wherein the remote server stores a plurality of different video game programs that are written for said legacy video game system.
- The home video game system of claim 4 , wherein said video game selection program further provides a display on the home-use television receiver which includes one or more titles corresponding to said game programs, said video game selection program further controlling said processor to enable a user to select one of said titles using said game controller so as to initiate emulation of said legacy home video game system and execution of a selected video game program.
- The home video game system of claim 5 , wherein said remote server stores a plurality of different emulator programs and the game selection program selects an emulator program that corresponds to a game program of a game title selected by a user.
- The home video game system of claim 2 , wherein said emulator program comprises a graphic processing emulator program portion and an operation processing emulator program portion, wherein the graphic processing emulator program portion causes the special purpose graphic sub-system to emulate graphic functions of the legacy game system and the operation processing emulator program portion causes the processor to emulate operations performed by a main processor of the legacy game system.
- The home video game system of claim 2 , wherein said emulator program utilizes at least one virtual register when executed by said video game system.
- A home video game console system and game delivery communications system arrangement comprising: a home video game console having: memory for executing game programs, at least one handheld controller, at least one central processor unit, at least one dedicated graphics processing (GPU) unit for rendering video game graphics in accordance with data provided by a video game program for display on a home-use television receiver, programmed logic circuitry configured to communicate with a remote server via the network;a remote server apparatus operative to communicate over the network with the home video game console system, the remote server storing a plurality of different video game system emulator program kinds and video game programs, said video game programs designed for executing on video game systems having a different hardware architecture than said home video game console system and said emulator programs being available as different emulator kinds for emulating different video game system hardware;wherein the video game console system contacts the remote server and receives a video game selection program that displays on said home-use television receiver a menu of one or more video game titles corresponding to video game programs available from said server, and wherein said video game selection program, in response to a selection of a game title from said menu by a player via manipulation of said handheld controller, transmits corresponding game player information and player-selected game title information to the server and, in response, receives a corresponding player-selected video game program and, based upon a saved relationship between an emulator kind previously transmitted to a player and the player information received from a player's home video game machine currently accessing the server, the video game selection program also conditionally receives a corresponding appropriate emulator program kind suitable for enabling execution of said selected video game on the player's home video game system only if that player has not previously been provided with that same emulator by the server, and wherein said server stores and maintains information regarding each video game program and each emulator program previously provided to the home video game system of each player.
- A method for delivering a video game program and an appropriate game processor emulator program from a server apparatus through a bi-directional public information transmission line for operating on a user's terminal-side home video game machine console system connected via said information transmission line to the server apparatus, comprising: operating a server apparatus for providing a video game program and an appropriate game processor emulator program to a terminal-side home video game machine console system, said server storing a plurality of different video game processor emulator programs and video game programs;transmitting a game selection program from the server to the terminal-side game machine in response to the server being accessed by the terminal-side game machine;receiving player identification information and data representative of a selected game title at the server from the terminal-side game machine, wherein when the player identification information and data representative of a selected game title is received by the server apparatus, the server apparatus determines if an emulator is required for a terminal-side game machine corresponding to the player identification information and, if so, determines an emulator kind required for operating a game program corresponding to the selected game title on the terminal-side game machine;and transmitting a game program corresponding to the selected game title from the server along with an appropriate emulator for using the game program on the user's terminal-side home video game machine console system, wherein the emulator is transmitted only if that player has not previously been provided with that same emulator by the server.
- A method for obtaining a video game program and an appropriate game processor emulator program from a server apparatus through a bi-directional public information transmission line for operating on a user's terminal-side home video game machine console system connected via said information transmission line to the server apparatus, comprising: using the terminal-side game machine to access the server through the public information transmission line;receiving a game selection program from the server at the terminal-side game machine in response to the server being accessed by the terminal-side game machine;executing the game selection program on the terminal-side game machine upon receiving the game selection program from the server, wherein the game selection program displays a game title select menu screen on a display device associated with the terminal-side game machine so that a game title may be selected by a user;transmitting player identification information and data representative of a selected game title to the server apparatus, wherein when the player identification information and data representative of a selected game title is received by the server apparatus, the server apparatus determines if an emulator is required for a terminal-side game machine corresponding to the player identification information and, if so, determines an emulator kind required for operating a game program corresponding to the selected game title on the terminal-side game machine;and receiving a game program corresponding to the selected game title from the server along with an appropriate emulator for using the game program on the user's terminal-side home video game machine console system, wherein the emulator is received only if that player has not previously been provided with that same emulator by the server.
- A non-transitory physical computer readable storage medium storing one or more sequences of one or more processing instructions which when executed by a computer operating as a server, implement a method for operating the server to provide a video game program and an appropriate game processor emulator program to a terminal-side home video game machine console system, said server storing a plurality of different video game processor emulator programs and video game programs, the processing instructions causing the computer server to perform operations comprising: transmitting a game selection program from the server to the terminal-side game machine in response to the server being accessed by the terminal-side game machine;receiving player identification information and data representative of a selected game title at the server from the terminal-side game machine, wherein when the player identification information and data representative of a selected game title is received by the server apparatus, the server apparatus determines if an emulator is required for a terminal-side game machine corresponding to the player identification information and, if so, determines an emulator kind required for operating a game program corresponding to the selected game title on the terminal-side game machine;and transmitting a game program corresponding to the selected game title from the server along with an appropriate emulator for using the game program on the user's terminal-side home video game machine console system, wherein the emulator is transmitted only if that player has not previously been provided with that same emulator by the server.
- A non-transitory physical computer readable storage medium storing one or more sequences of one or more processing instructions which when executed by a computer operating as a terminal-side home video game machine console system, implement a method for obtaining a video game program and an appropriate game processor emulator program from a remote computer server via a bi-directional public information transmission line for operating on the terminal-side home video game machine console system having an associated display device, the processing instructions causing the terminal-side home video game machine console system to perform operations comprising: accessing the server through the public information transmission line;receiving a game selection program from the server at the terminal-side game machine in response to the server being accessed by the terminal-side game machine;executing the game selection program on the terminal-side game machine upon receiving the game selection program from the server, wherein the game selection program displays a game title select menu screen on the display device associated with the terminal-side game machine so that a game title may be selected by a user;transmitting player identification information and data representative of a selected game title to the server, wherein when the player identification information and data representative of a selected game title is received by the server apparatus, the server determines if an emulator is required for the terminal-side game machine corresponding to the player identification information and, if so, determines an emulator kind required for operating a game program corresponding to the selected game title on the terminal-side game machine;and receiving a game program corresponding to the selected game title from the server along with an appropriate emulator for using the game program on the user's terminal-side home video game machine console system, wherein the emulator is received only if that player has not previously been provided with that same emulator by the server.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.