U.S. patent application number 10/575705 was filed with the patent office on 2007-07-05 for game system.
Invention is credited to Yuichi Futa, Toshihisa Nakano, Motoji Ohmori, Kaoru Yokota.
Application Number | 20070155486 10/575705 |
Document ID | / |
Family ID | 34510395 |
Filed Date | 2007-07-05 |
United States Patent
Application |
20070155486 |
Kind Code |
A1 |
Futa; Yuichi ; et
al. |
July 5, 2007 |
Game system
Abstract
Provided is a game system in which a plurality of game execution
apparatuses, having internal structures different from each other,
are capable of proceeding with a game while sharing characteristics
of a character appearing in the game. A stationary game apparatus
100 obtains character data from a server apparatus 600, and writes
the character data to a memory card 300. The stationary game
apparatus 100 executes a stationary game software program stored in
a DVD 500, using the character data stored in the memory card 300.
A portable game apparatus 200 executes a portable game software
program stored in a cartridge 400, using the character data stored
in the memory card 300.
Inventors: |
Futa; Yuichi; (Osaka,
JP) ; Ohmori; Motoji; (Osaka, JP) ; Nakano;
Toshihisa; (Osaka, JP) ; Yokota; Kaoru;
(Hyogo, JP) |
Correspondence
Address: |
WENDEROTH, LIND & PONACK L.L.P.
2033 K. STREET, NW
SUITE 800
WASHINGTON
DC
20006
US
|
Family ID: |
34510395 |
Appl. No.: |
10/575705 |
Filed: |
October 28, 2004 |
PCT Filed: |
October 28, 2004 |
PCT NO: |
PCT/JP04/16367 |
371 Date: |
April 13, 2006 |
Current U.S.
Class: |
463/29 |
Current CPC
Class: |
A63F 2300/206 20130101;
A63F 2300/50 20130101; A63F 13/73 20140902; A63F 2300/532 20130101;
A63F 2300/636 20130101; A63F 2300/407 20130101; A63F 2300/401
20130101; A63F 2300/65 20130101; A63F 13/95 20140902; A63F 13/12
20130101; A63F 2300/201 20130101; A63F 13/58 20140902 |
Class at
Publication: |
463/029 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Oct 29, 2003 |
JP |
2003-369552 |
Claims
1. A game system comprising a first game execution apparatus and a
second game execution apparatus that have a different internal
structure from each other, wherein the first game execution
apparatus includes: a first program reading unit operable to read,
from a first game recording medium, a first game program that
indicates a procedure of a game; a first character reading unit
operable to read, from a portable recording medium, character data
that indicates a characteristic of a character that appears in the
game; a first input unit operable to receive an inputting operation
from a user; and a first game execution unit operable to proceed
with the game according to the inputting operation received at the
first input unit and the procedure indicated by the first game
program, and make the character appear in the game in accordance
with the character data read by the first character reading unit,
and the second game execution apparatus includes: a second program
reading unit operable to read, from a second game recording medium,
a second game program that indicates the procedure of the game; a
second character reading unit operable to read the character data
from the portable recording medium; a second input unit operable to
receive an inputting operation from the user; and a second game
execution unit operable to proceed with the game according to the
inputting operation received at the second input unit and the
procedure indicated by the second game program, and make the
character appear in the game in accordance with the character data
read by the second character reading unit.
2. A game execution apparatus that proceeds with a game according
to a game program, comprising: a program reading unit operable to
read, from a game recording medium, a game program that indicates a
procedure of a game; a character reading unit operable to read,
from a portable recording medium, character data that indicates a
characteristic of a character that appears in the game; an input
unit operable to receive an inputting operation from a user; and a
game execution unit operable to proceed with the game according to
the inputting operation and the procedure, and make the character
appear in the game in accordance with the character data.
3. The game execution apparatus of claim 2, further comprising: a
request unit operable to request the character data from a server
apparatus; an obtaining unit operable to obtain the character data
from the server apparatus via a network; and a writing unit
operable to write the obtained character data to the portable
recording medium.
4. The game execution apparatus of claim 2, further comprising: an
authentication unit operable to check authenticity of the portable
recording medium, wherein the character reading unit reads the
character data when the authenticity has been ensured.
5. The game execution apparatus of claim 2, wherein the game
recording medium further stores therein permission information that
indicates whether change is permissible on the character's
characteristic, the character reading unit further reads the
permission information from the game recording medium, and the game
execution unit, when the read permission information indicates
affirmatively, changes the character's characteristic as the game
proceeds, and prohibits the character's characteristic from being
changed when the read permission information indicates
negatively.
6. The game execution apparatus of claim 5, further comprising: a
character writing unit operable to, when the game execution unit
changes the character's characteristic, overwrite the character
data in the portable recording medium with after-change character
data that indicates a characteristic of the character after
changed, wherein the character reading unit further reads the
after-change character data from the portable recording medium, and
the game execution unit changes the character's characteristic as
the game proceeds, in accordance with the read after-change
character data.
7. The game execution apparatus of claim 5, further comprising: a
writing unit operable to write the read permission information to
the portable recording medium.
8. The game execution apparatus of claim 5, wherein the game
recording medium further stores therein a degree of change allowed
on the character, in association with the permission information,
and the game execution unit changes the character's characteristic
as the game proceeds, in accordance with the degree of change
stored in the game recording medium.
9. A portable recording medium comprising: a storage unit that
stores therein character data that indicates a characteristic of a
character that appears in a game; an authentication unit operable
to check authenticity of a game execution apparatus; and an output
unit operable to, when the authenticity has been ensured, read the
character data from the storage unit and output the read character
data to the game execution apparatus.
10. A game execution method used by a game execution apparatus that
proceeds with a game according to a game program that indicates a
procedure of the game, the game execution method comprising: a
program reading step of reading, from a game recording medium, a
game program that indicates a procedure of a game; a character
reading step of reading, from a portable recording medium,
character data that indicates a characteristic of a character that
appears in the game; an input step of receiving an inputting
operation from a user; and a game execution step of proceeding with
the game according to the inputting operation and the procedure,
and making the character appear in the game in accordance with the
character data.
11. A game execution program used by a game execution apparatus
that proceeds with a game according to a game program that
indicates a procedure of the game, the game execution program have
the game execution apparatus to execute: a program reading step of
reading, from a game recording medium, a game program that
indicates a procedure of a game; a character reading step of
reading, from a portable recording medium, character data that
indicates a characteristic of a character that appears in the game;
an input step of receiving an inputting operation from a user; and
a game execution step of proceeding with the game recording to the
inputting operation and the procedure, and making the character
appear in the game in accordance with the character data.
12. The game execution program of claim 11, further having the game
execution apparatus to execute: a request step of requesting the
character data from server apparatus; an obtaining step of
obtaining the character data from the server apparatus via a
network; and a writing step of writing the obtained character data
to the portable recording medium.
13. The game execution program of claim 12, being recorded in a
computer-readable recording medium.
14. A computer-readable recording medium that stores therein a game
execution program used by a game execution apparatus that proceeds
with a game according to a game program, the game program
indicating a procedure of the game, wherein the game execution
program has the game execution apparatus to execute: a program
reading step of reading, from a game recording medium, a game
program that indicates a procedure of a game; a character reading
step of reading, from a portable recording medium, character data
that indicates a characteristic of a character that appears in the
game; an input step of receiving an inputting operation from a
user; and a game execution step of proceeding with the game
according to the inputting operation and the procedure, and making
the character appear in the game in accordance with the character
data.
Description
TECHNICAL FIELD
[0001] The present invention relates to a computer game processing
technology for proceeding with a game according to a computer
program in which a game procedure and the like are described.
BACKGROUND ART
[0002] Recently, as the computer technology advances, stationary
game apparatuses equipped with high-performance processing
competence and portable game apparatuses that are compact and so
are easy to be carried with have been developed and are now
commercially available.
[0003] These game apparatuses operate according to a computer
program in which a game procedure and the like are described, so as
to proceed with a game. In a game proceeded by the game
apparatuses, an imaginary object called "character" appears. The
acts of the character are freely controllable by a user. The
character has varieties of imaginary competence that can be both
increased and decreased as a game proceeds. In addition, the form
of the character can change in various ways as the game
proceeds.
[0004] When the user suspends a game in progress, the game
apparatus stores the characteristics of the character such as
competence and form as well as the information indicating the time
at which the game was suspended. When the user resumes the game,
the game apparatus reads the stored characteristics of the
character such as competence ahd form, as well as the information
indicating the time at which the game was suspended, so as to
proceed with the game by putting on the character having the
competence and the form that are the same as before.
[0005] The stationary and portable game apparatuses are provided
with computer programs via different media. For example, for
stationary game apparatuses, a computer program is provided in a
form stored in an optical disk and the like. Whereas for portable
game apparatuses, a computer program is provided in a form stored
in a dedicated cartridge. Therefore there is a problem that an
optical disk storing a computer program for a stationary apparatus
cannot be loaded to a portable apparatus, and conversely, a
dedicated cartridge storing a computer program for a portable
apparatus cannot be loaded to a stationary apparatus.
[0006] In addition, there are many specification differences
between stationary game apparatuses and portable game apparatuses,
such as in system architecture adopted, kinds and number of the
processor installed, and display capacity of the screen. In other
words, a computer program for a stationary apparatus is not
designed to be executed in a portable apparatus as it is, and
conversely, a computer program for a portable apparatus is not
designed to be executed in a stationary apparatus as it is.
[0007] In non-patent reference 1, a dedicated adopter is used to
load, to a stationary game apparatus, a dedicated cartridge storing
a game software program for a portable game apparatus, so that the
stationary game apparatus can execute the game software program.
Accordingly, a user can enjoy the game produced for a portable game
apparatus, even on a stationary game apparatus. [0008] (non-patent
reference 1)
[0009] http://www.nintendo.co.jp/ngc/acce/gbplayer [0010]
(non-patent reference 2)
[0011] Practical computer graphics (David F. Rogers, Nov. 15, 1996,
Nikkan Kogyo Shinbun Co.) [0012] (non-patent reference 3)
[0013] "To be a game programmer" IBM PC/AT compatible apparatus
(Yamazaki Yoshinori, Feb. 1, 1998, CQ Publishing company)
(Problem to be Solved by the Invention)
[0014] However, according to the technology disclosed in the
non-patent reference 1, while a stationary game apparatus is
capable of executing a game software program produced for a
portable game apparatus, it is not possible that one of stationary
and portable game apparatuses proceeds with a game, then after.the
game is suspended, the other of the game apparatuses resumes the
game in exactly the same contents.
DISCLOSURE OF THE INVENTION
[0015] So as to deal with this problem, the present invention has
an objective of providing a game system, a game execution
apparatus, a game execution method, and a game execution program,
by which the characteristics of a character appearing in a game can
be shared between two game execution apparatuses that have a
different internal structure from each other, under a condition
where one of the game execution apparatuses proceeds with a game
after another has proceeded with the same game.
[0016] So as to achieve the above objective, the present invention
is a game system including: a memory card storing character data
that indicates appearance, competence, etc. of a character
appearing in game software of stationary/portable game apparatuses;
a cartridge storing portable game software to be executed by the
portable game apparatus; and a DVD (digital versatile disc) storing
stationary game software to be executed by the stationary game
apparatus.
[0017] A user loads the memory card and the DVD to the stationary
game apparatus, and the stationary game apparatus reads the
character data from the memory card and executes the stationary
game software stored in the DVD in accordance with a user's
instruction, thereby making the character appear in the game and
proceeding with the game.
[0018] After this, the user loads the memory-card and the cartridge
to the portable game apparatus, and the portable game apparatus
reads the character data from the memory card and executes the
portable game software stored in the cartridge in accordance with a
user's instruction, thereby making the character appear in the game
and proceeding with the game.
[0019] In the above way, the user is able to enjoy the same game
with the same character, both on the stationary game apparatus and
the portable game apparatus.
[0020] The present invention is a game system having a first game
execution apparatus and a second game execution apparatus that have
a different internal structure from each other, where the first
game execution apparatus includes: a first program reading unit
operable to read, from a first game recording medium, a first game
program that indicates a procedure of a game; a first character
reading unit operable to read, from a portable recording medium,
character data that indicates a characteristic of a character that
appears in the game; a first input unit operable to receive an
inputting operation from a user; and a first game execution unit
operable to proceed with the game according to the inputting
operation received at the first input unit and the procedure
indicated by the first game program, and make the character appear
in the game in accordance with the character data read by the first
character reading unit, and the second game execution apparatus
includes: a second program reading unit operable to read, from a
second game recording medium, a second game program that indicates
the procedure of the game; a second character reading unit operable
to read the character data from the portable recording medium; a
second input unit operable to receive an inputting operation from
the user; and a second game execution unit operable to proceed with
the game according to the inputting operation received at the
second input unit and the procedure indicated by the second game
program, and make the character appear in the game in accordance
with the character data read by the second character reading
unit.
[0021] According to the above structure, the first game execution
apparatus reads the first game program from the first game
recording medium, reads the character data from the portable
recording medium, and makes a character, whose characteristic is in
accordance with the read character data, appear in a game. The
second game execution apparatus reads the second game program from
the second game recording medium, reads the character data
fromtheportable recording medium, and makes a character, whose
characteristic is in accordance with the read character data,
appear in the game. Therefore the characteristics of the character
are shared between the games proceeded respectively in the first
game execution apparatus and the second game execution
apparatus.
[0022] The present invention is a game execution apparatus that
proceeds with a game according to a game program, having: a program
reading unit operable to read, from a game recording medium, a game
program that indicates a procedure of a game; a character reading
unit operable to read, from a portable recording medium, character
data that indicates a characteristic of a character that appears in
the game; an input unit operable to receive an inputting operation
from a user; and a game execution unit operable to proceed with the
game according to the inputting operation and the procedure, and
make the character appear in the game in accordance with the
character data.
[0023] According to the above structure, character data indicating
a characteristic of a character is stored in a portable recording
medium that is different from a game recording medium storing a
game program indicating a procedure of a game. Therefore a game
execution apparatus with any kind of internal structure is able to
read the character data from the portable recording medium, thereby
making a character, which has the characteristic indicated by the
read character data, appear in the game.
[0024] Here, the game execution apparatus may further have a
request unit operable to request the character data from a server
apparatus; an obtaining unit operable to obtain the character data
from the server apparatus via a network; and a writing unit
operable to write the obtained character data to the portable
recording medium.
[0025] According to the above structure, it becomes possible to
obtain character data from the server apparatus and to write the
obtained character data to the portable recording medium. Therefore
the game execution apparatus is able to obtain the character data,
without fail.
[0026] Here, the game execution apparatus may further have an
authentication unit operable to check authenticity of the portable
recording medium, where the character reading unit reads the
character data when the authenticity has been ensured.
[0027] According to the above structure, the game execution
apparatus checks authenticity of the portable recording medium, and
only when the authenticity has been ensured, character data is read
from the portable recording medium. This prevents use of
unauthorized portable recording medium.
[0028] Here, the game execution apparatus may have a structure in
which the game recording medium further stores therein permission
information that indicates whether change is permissible on the
character's characteristic, the character reading unit further
reads the permission information from the game recording medium,
and the game execution unit, when the read permission information
indicates affirmatively, changes the character's characteristic as
the game proceeds, and prohibits the character's characteristic
from being changed when the read permission information indicates
negatively.
[0029] According to the above structure, when the permission
information read from the game recording medium indicates
affirmatively, the game execution apparatus makes the character,
whose characteristic is permitted to change, appear in the game. On
the contrary, when the permission information indicates negatively,
the game execution apparatus prohibits the character's
characteristic from changed. Therefore, the user enjoys different
changes in character's characteristic on different game execution
apparatuses.
[0030] Here, the game execution apparatus may further have: a
character writing unit operable to, when the game execution unit
changes the character's characteristic, overwrite the character
data in the portable recording medium with after-change character
data that indicates a characteristic of the character after
changed, where the character reading unit further reads the
after-change character data from the portable recording medium, and
the game execution unit changes the character's characteristic as
the game proceeds, in accordance with the read after-change
character data.
[0031] According to the above structure, the game execution
apparatus is able to overwrite the portable recording medium with
after-change character data that indicates a characteristic of a
character after changed, read the after-change character data from
the portable recording medium, and make a character whose
characteristic is indicated by the after-change character data,
appear in the game. Therefore the user is able to make the
character whose characteristic has been changed appear in a game,
in a case when the game was suspended and was resumed thereafter
from the suspension point.
[0032] In addition, the present invention is a portable recording
medium having: a storage unit that stores therein character data
that indicates a characteristic of a character that appears in a
game; an authentication unit operable to check authenticity of a
game execution apparatus; and an output unit operable to, when the
authenticity has been ensured, read the character data from the
storage unit and output the read character data to the game
execution apparatus.
[0033] According to the above structure, the portable recording
medium checks authenticity of a game execution apparatus to which
the portable recording medium is to be loaded, and the character
data stored in the portable recording medium is outputted to the
game execution apparatus only when the authenticity has been
ensured. This prevents execution of a game by an unauthorized game
execution apparatus.
BRIEF DESCRIPTION OF THE DRAWINGS
[0034] FIG. 1 is a structure diagram showing the structure of a
game system 10.
[0035] FIG. 2 is a block diagram showing the structure of a server
apparatus 600.
[0036] FIG. 3 is a data structure diagram showing the data
structure of a game sales information table 641.
[0037] FIG. 4 is a data structure diagram showing the data
structure of a user purchase information table 631.
[0038] FIG. 5 illustrates the structure of a program and data
stored in a DVD 500.
[0039] FIG. 6 shows one example of the screen displayed on a
monitor 120, in each game step in each game stage.
[0040] FIG. 7 shows one example of the screen displayed on a
monitor 120, in each game step in each game stage.
[0041] FIG. 8 shows one example of the screen displayed on a
monitor 120, in each game step in each game stage.
[0042] FIG. 9 is a flowchart showing the content of a stationary
main program, which continues to FIG. 10.
[0043] FIG. 10 is a flowchart showing the content of the stationary
main program, which is a continuation from FIG. 9.
[0044] FIG. 11 is a flowchart showing the content of a stationary
frame processing program, which continues to FIG. 12.
[0045] FIG. 12 is a flowchart showing the content of the stationary
frame processing program, which is a continuation from FIG. 11.
[0046] FIG. 13 is a flowchart showing the content of a fighting
program, which continues to FIG. 14.
[0047] FIG. 14 is a flowchart showing the content of the fighting
program, which is a continuation from FIG. 13.
[0048] FIG. 15 is a flowchart showing the content of a stationary
image generating program, which continues to FIG. 16.
[0049] FIG. 16 is a flowchart showing the content of the stationary
image generating program, which is a continuation from FIG. 15.
[0050] FIG. 17 is a block diagram showing the structure of a
stationary game apparatus 100.
[0051] FIG. 18 shows one example of information stored in a main
storage unit 110.
[0052] FIG. 19 shows one example of information stored in a
graphics storage unit 114.
[0053] FIG. 20 shows the content of each register provided in the
register unit 109.
[0054] FIG. 21 shows kinds of instructions stored in a register R0
of the register unit 109.
[0055] FIG. 22 shows one example of menu screen 160 generated by
the main control unit 108.
[0056] FIG. 23 is a block diagram showing the structure of a memory
card 300.
[0057] FIG. 24 is a block diagram showing the structure of a
cartridge 400.
[0058] FIG. 25 is a flowchart showing the content of a portable
main program, which continues to FIG. 26.
[0059] FIG. 26 is a flowchart showing the content of the portable
main program, which is a continuation from FIG. 25.
[0060] FIG. 27 is a flowchart showing the content of a portable
frame processing program, which continues to FIG. 28.
[0061] FIG. 28 is a flowchart showing the content of the portable
frame processing program, which is a continuation from FIG. 27.
[0062] FIG. 29 is a flowchart showing the content of a portable
image generating program.
[0063] FIG. 30 is a block diagram showing the structure of a
portable game apparatus 200.
[0064] FIG. 31 shows one example of information stored in a main
storage unit 210.
[0065] FIG. 32 is a block. diagram showing the structure of a
convenience-store terminal 700.
[0066] FIG. 33 is a flowchart showing the operation performed by
the stationary game apparatus 100.
[0067] FIG. 34 is a flowchart showing the game operation performed
by the stationary game apparatus 100.
BEST MODE FOR CARRYING OUT THE INVENTION
1. First Embodiment
[0068] The following explains a game system 10, as one embodiment
relating to the present invention.
1.1 Structure of Game System 10
[0069] As FIG. 1 shows, the game system 10 is made up of a
stationary game apparatus 100, a portable game apparatus 200, a
memory card 300, a cartridge 400, a DVD 500, a server apparatus
600, and a convenience-store terminal 700.
[0070] The stationary game apparatus 100 is connected to the server
apparatus 600, via the Internet 20. A user loads the DVD 500 to the
stationary game apparatus 100, the DVD 500 storing therein a game
software program to be executed by the stationary game apparatus
100. In addition, the user loads the memory card 300 to the
stationary game apparatus 100. The stationary game apparatus 100
obtains character data indicating appearance, competence, etc. of a
character appearing in the stationary game software program, from
the server apparatus 600 via the Internet 20, and writes the
obtained character data to the memory card 300.
[0071] Next, according to a user operation, the stationary game
apparatus 100 executes the stationary game software program stored
in the DVD 500 with use of the character data written in the memory
card 300.
[0072] In addition, the user loads the cartridge 400 to the
portable game apparatus 200, the cartridge 400 storing the portable
game soft ware program to be executed by the portable game
apparatus 200. Here, the game by means of the portable game
software program stored in the cartridge 400 is of the same content
as the game by means of the stationary game software stored in the
DVD 500. The user also loads the memory card 300 to which the
character data has been written, to the portable game apparatus
200.
[0073] Next, according to a user operation, the portable game
apparatus 200 executes the portable game software program stored in
the cartridge 400 with use of the character data written in the
memory card 300.
[0074] In this way, the user is able to perform the same game in
which the same character appears, in both of the stationary game
apparatus 100 and the portable game apparatus 200.
[0075] Here, a different structure is possible in which the memory
card 300 is loaded to the portable game apparatus 200, where the
portable game apparatus 200 and the stationary game apparatus 100
are connected to each other by a cable 30. Here, the portable game
apparatus 200 obtains character data from the server apparatus 600
via the Internet 20 and via the stationary game apparatus 100, and
writes the obtained character data into the memory card 300.
[0076] Furthermore, another different structure is possible in
which the memory card 300 is loaded to a convenience-store terminal
700, where the convenience-store terminal 700 is connected to the
server apparatus 600 via the Internet 700. The convenience-store
terminal 700 obtains character data from the server apparatus 600
via the Internet 20, and writes the obtained character data to the
memory card 300.
1.2 Structure of Server Apparatus 600
[0077] As FIG. 2 shows, the server apparatus 600 is comprised of an
information storage unit 601, a control unit 602, an input unit
603, a display unit 604, a communication unit 605, and an
authentication unit 606.
[0078] The server apparatus 600 is specifically a computer system
comprised of a microprocessor, a ROM, a RAM, a hard disk unit, a
LAN connection unit, a display unit, a keyboard, a mouse, and the
like. The RAM or the hard disk unit stores a computer program
therein. The server apparatus 600 achieves a part of its function,
by the microprocessor operating according to the computer
program.
[0079] (1) Information Storage Unit 601
[0080] As FIG. 2 shows, the information storage unit 601 has a game
information table 621, a user purchase information table 631, and a
game sales information table 641.
[0081] (Game Information Table 621)
[0082] As FIG. 2 shows, the game information table 621 includes a
plurality of sets of game information. Each set of game information
is comprised of two game identifiers, one piece of character data,
and two secret keys.
[0083] Each of the two game identifiers is identification
information for identifying a game software program. Between the
two game identifiers, the first game identifier identifies a game
software program operated by a stationary game apparatus, whereas
the second game identifier identifies a game software program
operated by a portable game apparatus. In addition, the first game
identifier corresponds to the first secret key of the two secret
keys, and the second game identifier corresponds to the second
secret key.
[0084] Each game identifier is formed by a combination of type
information and identification number. Type information indicates
whether the game software program is operated by a stationary game
apparatus or by a portable game apparatus, and takes one of the
values "A" and "B". Here, "A" identifies a game software program
operated by a portable game apparatus, and "B" identifies a game
software program operated by a stationary game apparatus. The
identification number is a number unique to each game, and so a
same identification number is assigned to a game by means of a game
soft program operated by a stationary game apparatus and a game by
means of a game soft program operated by a portable game apparatus,
if the mentioned games are identical.
[0085] For example, the game identifier 622 "A001" is formed by a
combination of type information "A" and identification number
"001", and the game identifier 625 "B001" is formed by a
combination of type information "B" and identification number
"001". Therefore the game identifier 622 "A001" and the game
identifier 625 "B001" are respectively a game software program
operated by a portable game apparatus, and a game software program
operated by a stationary game apparatus. In addition, the games by
means of these two game software programs are identical to each
other.
[0086] The character data are information showing external form and
competence of a character appearing in a game.
[0087] To be more specific, the character data 623 is made up of a
character ID, tribe, sex, occupation, height, weight, hairstyle,
shape of eyes, shape of ears, lifepower, fighting power, and fund.
These items will be detailed later.
[0088] If a game by means of a game software program operated by a
portable game apparatus is identical to a game by means of a game
software program operated by a stationary game apparatus, a
character will be shared in the game system 10. In other words, the
external forms, competence, etc. of both the characters
respectively appearing in these games are identified by one piece
of character data. Therefore two game identifiers that have an
identical identification number are associated with one piece of
character data. For example, the game identifier 622 "A001" and the
game identifier 625 "B001" are both associated with the character
data 623.
[0089] One secret key is generated for each game software
program.
[0090] (2) Game Sales Information Table 641
[0091] As FIG. 3 shows, the game sales information table 641
includes a plurality of sets of game sales information. Each set of
game sales information includes two game identifiers, one game
title, and two prices.
[0092] As already described, two game identifiers are each
identification information for identifying a game software program.
Between the two game identifiers, the first game identifier
identifies a game software program operated by a stationary game
apparatus, whereas the second game identifier identifies a game
software program operated by a portable game apparatus. In
addition, the first game identifier is associated with the first
price between the two prices, and the second game identifier is
associated with the second price.
[0093] The game title is a title identifying a corresponding game.
When the game by means of a game software program operated by a
portable game apparatus is identical to a game by means of a game
software program operated by a stationary game apparatus, the game
titles for these two game software programs are identical to each
other, which means that the two game identifiers correspond to one
game title.
[0094] Each of the two prices shows a sales price of a game
software program identified by a corresponding game identifier.
[0095] (3) User Purchase Information Table 631
[0096] As FIG. 4 shows, the user purchase information table 631
includes a plurality of sets of purchase information. Each set of
purchase information is made up of either: one user. ID, one game
identifier, and one purchase date; or of one user ID, two game
identifiers, and two purchase dates.
[0097] When the user purchases one of a game software program
operated by a portable game apparatus and a game software program
operated by a stationary game apparatus, the purchase information
will be made up of one user ID, one game identifier, and one
purchase date. When the user purchases both of the game software
programs, the purchase information will be made up of one user ID,
two game identifiers, and two purchase dates.
[0098] The user ID is identification information for identifying a
user that has purchased the game software program.
[0099] As described above, the game identifier identifies either a
game software program operated by a portable game apparatus or a
game software apparatus operated by a stationary game apparatus,
the game software programs having been purchased by this user.
[0100] The purchase date indicates a date at which the user
purchased a corresponding game software program.
[0101] (4) Authentication Unit 606
[0102] The authentication unit 606 performs mutual apparatus
authentication with an external apparatus using challenge-response
method by being controlled by the control unit 602, prior to
communication start between the control unit 602 and the external
apparatus via the communication unit 605. Here, explanation on
challenge-response method is omitted because it is publicly
known.
[0103] The authentication unit 606 outputs the result of apparatus
authentication to the control unit 602. When the mutual
authentication has failed, the authentication unit 606 prohibits
the control unit 602 from communicating with the external
apparatus, and when the mutual authentication has succeeded, the
authentication unit 606 permits the control unit 602 to communicate
with the external apparatus.
[0104] In this example, the external apparatus is the memory card
300.
[0105] (5) Communication Unit 605
[0106] The communication unit 605 is connected to the stationary
game apparatus 100 and to the convenience-store terminal 700, via
the Internet 20.
[0107] The communication unit 605, via the Internet 20,
transmits/receives information to/from the stationary game
apparatus 100 and the authentication unit 606, and to/from the
stationary game apparatus 100 and the control unit 602.
[0108] In addition, via the Internet 20, the communication unit 605
transmits/receives information to/from the convenience-store
terminal 700 and the authentication unit 606, and to/from the
stationary game apparatus 100 and the control unit 602.
[0109] (6) Control Unit 602
[0110] Transmission of character data to stationary game apparatus
100)
[0111] The control unit 602 receives a user ID, a game identifier,
and signature data, from the stationary game apparatus 100 via the
Internet 20 and via the communication unit 605.
[0112] As described above, the user ID is identification
information for identifying a user, and the game identifier is
identification for identifying a game software program. In
addition, the signature data is generated by performing a digital
signature SIG on the game identifier and the user ID, using a
public key corresponding to the game software program, as detailed
later.
[0113] Here, one example of digital signature SIG is a digital
signature algorithm whose security is assured based on discrete
logarithm problem on an elliptic curve. This is a publicly known
technology and so is not described here.
[0114] Next, the control unit 602 reads a secret key corresponding
to the received game identifier from the game information table 621
that the information storage unit 601 owns.
[0115] Next, the control unit 602 performs digital signature
verification "VRFY" on the game identifier, the user ID, and the
signature data, thereby obtaining a verification result. Here, the
digital signature verification "VRFY" is a signature verification
algorithm by way of the ElGamal signature method on the elliptic
curve.
[0116] Next, the control unit 602 transmits the verification result
obtained by the digital signature verification "VRFY" to the
stationary game apparatus 100 via the communication unit 605 and
the Internet 20. When the verification result indicates a failure,
the control unit 602 does not perform the processing
thereafter.
[0117] When the verification result indicates a success, the
control unit 602 receives a communication instruction from the
stationary game apparatus 100 via the Internet 20 and the
communication unit 605, and furthermore controls the authentication
unit 606 to perform mutual apparatus authentication with the memory
card 300 loaded to the stationary game apparatus 100.
[0118] The control unit 602 receives an authentication result from
the authentication unit 606, and transmits the received
authentication result to the stationary game apparatus 100 via the
communication unit 605 and the Internet 20. Here, when the
authentication result indicates a failure, the control unit 602
does not perform the processing thereafter.
[0119] On the other hand, when the authentication result indicates
a success, the control unit 602 searches the user purchase
information table 631 for the received user ID, and when the
received user ID cannot be found in the user purchase information
table 631, the control unit 602 transmits the search result showing
such to the stationary game apparatus 100 via the communication
unit 605 and the Internet 20.
[0120] When the received user ID is found in the user purchase
information. table 631, the control unit 602 reads the character
data corresponding to the received game identifier from the game
information table 621, and transmits the read character data to the
stationary game apparatus 100 via the communication unit 605 and
the Internet 20.
[0121] Next, the control unit 602 receives completion information
indicating completion of writing of the character data to the
memory card 300, from the stationary game apparatus 100 via the
Internet 20 and the communication unit 605. Upon receiving the
completion information, the control unit 602 performs billing
processing directed to the user that the user ID identifies.
[0122] (Transmission of character data to the convenience-store
terminal 700)
[0123] The control unit 602 receives an authentication instruction
that indicates request for mutual authentication with the memory
card 300, from the convenience-store terminal 700 via the Internet
20 and the communication unit 605.
[0124] Upon receiving the authentication instruction, the control
unit 602 controls the authentication unit 606 to perform mutual
apparatus authentication with the memory card 300. Next, the
control unit 602 receives an authentication result from the
authentication unit 606, and transmits the authentication result to
the convenience-store terminal 700 via the communication unit 605
and the Internet 20.
[0125] When the authentication result indicates a failure, the
control unit 602 does not perform the processing thereafter.
[0126] When the authentication result indicates a success, the
control unit 602 reads all the sets of game sales information from
the game sales information table 641, and transmits the read sets
of game sales information to the convenience-store terminal 700 via
the communication unit 605 and the Internet 20.
[0127] Next, the control unit 602 receives a game identifier from
the convenience-store terminal 700 via the Internet 20 and the
communication unit 605. Upon receiving the game identifier, the
control unit 602 reads character data corresponding to the game
identifier from the game information table 621, and transmits the
read character data to the convenience-store terminal 700 via the
communication unit 605 and the Internet 20.
[0128] (7) Input Unit 603 and Display Unit 604
[0129] The input unit 603 receives input of either data or an
instruction from the operator of the server apparatus 600, and
outputs either data or an instruction having been received, to the
control unit 602.
[0130] The display unit 604 displays a variety of information by
being controlled by the control unit 602.
[0131] 1.3 DVD 500
[0132] The DVD 500 is a portable optical disk medium that can
record therein a large amount of data.
[0133] For example, the DVD 500 prestores a stationary main program
511, a stationary character processing program 551, and a
stationary development item table 561. These are either a computer
program or data for the computer, used at the stationary game
apparatus 100, and constitute one game software program.
[0134] (1) Explanation About Game
[0135] First, the game by way of the game software program is
explained, prior to explanation about the stationary game program
511, the stationary character processing program 551, and the
stationary development item table 561.
[0136] The game is constituted by "n" game stages 1, 2, . . . , n.
The game will proceed in the order of the game stages 1, 2, . . . ,
n. Each game stage is constituted by "m" game steps 1, 2, . . . ,
m, and the game will proceed in the order of the game steps 1, 2, .
. . , m.
[0137] Within each game step, the maximum time of game play allowed
for a user is determined as "MAX". If the game play time exceeds
the maximum value "MAX" in a step, the game step will be ended
normally, and the operation proceeds to a next game step.
[0138] In a game, a character who is an operation target of a
player of the stationary game apparatus 100 (i.e. a user), a
background expressing each scene of the game, an attacker who will
attack the character, and other objects, will appear.
[0139] FIGS. 6-8 show an example of screen in the monitor 120
displayed. in each game step in each game stage.
[0140] The character 572, the background 573, and the other objects
are displayed at the screen 571 shown in FIG. 6. The character 575,
the background 576, and other objects are displayed at the screen
574 shown in FIG. 7. The character 578, the background 579, the
attacker 580, and other objects are displayed at the screen 577
shown in FIG. 8.
[0141] The character is given tribe, sex, and occupation, which
constitute personality characteristics of the character. In
addition, height, weight, hair style, shape of eyes, shape of ears
are given to the character as form characteristics. In addition,
lifepower, fighting power, and fund are given to the character as
power characteristics.
[0142] Here, tribe, sex, occupation, height, weight, hair style,
shape of eyes, shape of ears are what they mean literally, and so
whose explanation is not given.
[0143] Tribe, sex, occupation, hair style, shape of eyes, and shape
of ears are characteristics that do not change. On the other hand,
height, weight, life power, fighting power, and fund will change as
the game proceeds.
[0144] The life power indicates power of the character to live.
When it takes greater value than 0, the character is alive, and
when it takes the value of 0, the character is dead. For example,
when the character is given an inevitable attack from an attacker,
the value of the life power decreases. On the other hand, when each
game stage is ended normally, the value of the life power
increases.
[0145] The fighting power indicates power of the character to
attack the attacker. When it takes greater value than 0, the
character is able to attack the attacker. When it takes.the value
of 0, the character is unable to attack the attacker. In addition,
when each game stage is ended normally, the value of the fighting
power increases.
[0146] The fund indicates the value of currency owned by the
character, which can be used to purchase other goods. When the
character succeeded in effectively attacking the attacker, or when
each game stage has ended normally, the value of the fund
increases.
[0147] The height and weight change as the game proceeds, as
mentioned above. When each game stage is ended normally, the value
of height and weight respectively increases by a predetermined
value. In other words, the character grows up in terms of form.
[0148] Here, the character, the attacker, and the background exist
imaginarily in the three-dimension game space. The game space is
expressed in orthogonal coordinates of X-coordinate, Y-coordinate,
and Z-coordinate.
[0149] A part of the game space is clipped so as to generate a
display space. A character existing in the display space is thrown
in a frame by perspective projection, to form an image.
[0150] (2) Stationary Game Program 511
[0151] As FIG. 5 shows, the stationary game program 511 is
comprised of a related information unit 521, a program unit 531,
and an object data unit 541.
[0152] (Related Information Unit 521)
[0153] The related information unit 521 is comprised of a game
section 522, a game identifier BID 523, a public key BPK 524, a
game title 525, and audio information not drawn in this
drawing.
[0154] The game section 522 indicates that the stationary game
program 511 is a game program used in a stationary game
apparatus.
[0155] The game identifier BID 523 is identification information
for identifying the stationary game program 511.
[0156] The public key BPK 524 is generated using a secret key and
by the public-key generation method. Here, the secret key
corresponds to the game identifier found in the game information
table 621 that the information storage unit 601 of the server
apparatus 600 owns, which is identical to the game identifier BID
523. Here, one example of the public-key generation method is a
public-key generation algorithm by means of ElGama1 signature
method on an elliptic curve.
[0157] The game title is a title used for identifying a game
realized by the stationary game program 511.
[0158] The audio information is coded data of the character's
voice, music, and sound effect.
[0159] (Program Unit 531)
[0160] The program unit 531 includes a computer program for a
stationary game (hereinafter called "stationary main program"), a
computer program for processing one frame of image (hereinafter
called "stationary frame processing program") and a computer
program for processing fighting scenes (hereinafter called
"fighting-scene program"). Each computer program is comprised of a
plurality of instructions in various machine language formats. The
machine language formats are a format to be decoded and executed by
a main control unit 108 of the stationary game apparatus 100 (the
main control unit 108 will be described in detail later). The
stationary main program, the stationary frame processing program,
and the fighting-scene program are used by the main control unit
108.
[0161] The stationary frame processing program is called by the
stationary main program for use. In addition, the fighting-scene
program is called by the stationary frame processing program for
use.
[0162] The following describes the content of each computer
program. For easier understanding of the. content of each compute
reprogram, the following description uses flowcharts to represent
computer programs, instead of representation using instructions in
machine language format.
[0163] (a) Stationary Main Program
[0164] The following describes the stationary main program with use
of the flowcharts of FIGS. 9-10.
[0165] The stationary main program reads the resumption stage No.
335 and the resumption step No. 336, and writes the read resumption
stage No. and resumption step No. to the main storage unit 110.
Here, the resumption stage No. and the resumption step No. are
respectively numbers indicating the game stage and the game step,
from which the game should be resumed. When each of the resumption
stage No. and the resumption step No. is "1", the game will proceed
from the first game step of the first game stage. When the
resumption stage No. and the resumption step No. are respectively
"5" and "3" for example, the game will proceed from the third game
step of the fifth game stage. In this way, the resumption stage No.
and the resumption step No. are information for controlling the
position to restart the game proceeding (Step S101).
[0166] Next, the stationary main program reads the character data
321 from the memory card 300, and writes the read character data to
the main storage unit 110 (Step S102).
[0167] Next, the stationary main program extracts the height and
the weight from the character data in the main storage unit 110,
and updates the character object data stored in the main storage
unit 110, so as to change the form of the character based on the
ratio of the height to the weight. Specifically, when the height is
large and the weight is heavy, or when the height is small and the
weight is light, the updating is performed so that the character
will have a standard form. If the height is large and the weight is
light, the updating is performed so that the character will have a
slender form. If the height is small and the weight is heavy, the
updating is performed so that the character will have a fat form.
As detailed later, character object data is three-dimensional data
showing a three-dimensional form of a character (Step S103).
[0168] Next, in Step S105-Step S124, the following Step S106-Step
S123 are repeated until the game stage shown by "n" is completed by
starting with the game stage shown by the resumption stage No.
[0169] (i) In Step S106-Step S113, the following step S107-Step
S112 are repeated until the game step shown by "m" is completed by
starting with the game step shown by the resumption step No.
[0170] It is judged whether the life power written in the main
storage unit 110 shows "0" (Step S107).
[0171] When the life power is judged.to show "0" (Step S107), a
screen showing game ending is generated, and the generated screen
is written to the frame buffer 106 as a frame image (Step S108).
Then a screen display instruction indicating to transfer the frame
image in the frame buffer 106 to the VRAM 115 is written to the
register R0 151 of the register unit 109. Then a control signal
indicating that the writing of the instruction to the register unit
109 has been completed is outputted to the graphics control unit
113 (Step S109). Then the game ends.
[0172] When the life power is judged not to show "0" (Step S107),
it is judged whether the elapsed time in the game step exceeds the
maximum value MAX (Step S110), and when the elapsed time is judged
to exceed the maximum value MAX (Step S110), the game step is
ended, and the operation goes on to the next game step.
[0173] When the elapsed time is judged not to exceed the maximum
value MAX (Step S110), the elapsed time is counted (Step S111), and
the stationary frame processing program is called so as to move the
control to the stationary frame processing program, thereby
performing processing for one frame image (Step S112). After the
processing for one frame image has ended, the operation returns to
Step S110, so as to repeat the processing.
[0174] (ii) Next, it is judged whether the height flag written in
the main storage unit 110 is "ON" or "OFF" (Step S114). If the
height flag is judged to be "OFF". (Step S114), the control is
moved to Step S117. If the height flag is judged to be "ON" (Step
S114), the value "10" is added to the height written in the main
storage unit 110 (Step S115), and the height after 10 is added is
written to the high-order bit of the register R4 155 of the
register unit 109 (Step S116).
[0175] (iii) Next, it is judged whether the weight flag written in
the main storage unit 110 is "ON" or "OFF" (Step S117). If the
weight flag is judged to be "OFF" (Step S117), 15 the control is
moved to Step S120. If the weight flag is judged.to be "ON" (Step
S117), the value "0.5" is added to the weight written in the main
storage unit 110 (Step S118), and the weight after 0.5 is added is
written to the low-order bit of the register R4 155 of the register
unit 109 (Step S119).
[0176] (iv) Next, it is judged whether the life-power flag written
in the main storage unit 110 is "ON" or "OFF" (Step S120). If the
life-power flag is judged to be "OFF" (Step S120), the control is
movedto Step S122. If the life-power flag is judged to be "ON"
(Step S120), the value "10" is added to the life power written in
the main storage unit 110 (Step S121).
[0177] (v) Next, it is judged whether the fighting-power flag
written in the main storage unit 110 is "ON" or "OFF" (Step S122).
If the fighting-power flag is judged to be "ON" (Step S122), the
value "10" is added to the fighting power written in the main
storage unit 110 (Step S123). If the fighting-power flag is judged
to be "OFF" (Step S122), nothing is performed.
[0178] (b) Stationary Frame Processing Program
[0179] The following describes the stationary frame processing
program with use of the flowcharts shown in FIGS. 11-12.
[0180] The stationary frame processing program calculates the
coordinates value (three-dimensional coordinates) of the current
attack object in the game space. Here, the coordinates value of an
attack object is a point of game space at which the center of the
form of the attach object exists (e.g. the center of the head when
an object is in a form of human being). Note that this also applies
to the coordinates value of a character object and to the
coordinates value of a background object.
[0181] Specifically, the coordinates value of an attack object is
calculated as follows.
[0182] The initial value of the coordinates value of an attack
object is described within the stationary frame processing program.
Initially, this initial value is considered as the coordinates
value of the attack object.
[0183] Later, three random numbers (each corresponding to
X-coordinate value, Y-coordinate value, and Z-coordinate value) are
generated, and a new coordinates value for the attack object is
calculated by adding the three random numbers to the corresponding
coordinates value of the attack object (i.e. X-coordinate value,
Y-coordinate value, and Z-coordinate value) (Step S131).
[0184] Next, the calculated coordinates value of the attack object
is written to the register R3 154 of the register unit 109 (Step
S132).
[0185] Next, operation instruction information corresponding to the
button on the operation controller 122 is received from the
operation controller 122 via the controller control unit 101, and a
type of the received operation instruction information is judged
(Step S133).
[0186] When received operation instruction information corresponds
to up-button, down-button, left-button, and right-button (Step
S133), then Y-coordinate value of the character object is
incremented by 1 (Step S134), decremented by 1 (Step S135),
X-coordinate value is decremented by 1 (Step S136), and
X-coordinate value is incremented by 1 (Step S137),
respectively.
[0187] Here, the initial value of the coordinates value of the
character object is described in the stationary frame processing
program, just as the initial value of the coordinates value of the
attack object. Initially, this initial value is set as the
coordinates value of the character object.
[0188] When received operation instruction information corresponds
to STOP button (Step S133), the control is moved on to Step
S145.
[0189] When received operation instruction information corresponds
to DECISION button (Step S133), nothing is performed and the
control is moved to Step S139.
[0190] When received operation instruction information corresponds
to one of the other buttons (Step S133), the processing
corresponding to the button is performed (Step S138), and then the
stationary frame processing program is ended.
[0191] When operation instruction information is not received (Step
S133), nothing is performed and the control is moved to Step
S139.
[0192] Next, the fighting program is called thereby moving the
control to the fighting program, so as to perform processing at
fighting (Step S139).
[0193] When processing at fighting is finished, the coordinates
value of the character object is written to the register R1 152 of
the register unit 109 (Step S140).
[0194] Next, the coordinates value of the background object is
calculated (Step S141), and the calculated coordinates value for
the background is written to the register R2 153 of the register
unit 109 (Step S142).
[0195] Next, a generating instruction for the background object is
called. Specifically, a generating instruction indicating
generation of the background object is written to the register R0
151 of the register unit 109, and a control signal indicating that
the instruction has been written to the register unit 109 is
outputted to the graphics control unit 113 (Step S143).
[0196] Next, a generating instruction for an attack object is
called. Specifically, a generating instruction indicating
generation of the attack object is written to the register R0 151
of the register unit 109, and a control signal indicating that the
instruction has been written to the register unit 109 is outputted
to the graphics control unit 113 (Step S144).
[0197] Next, a generating instruction for a character object is
called. Specifically, a generating instruction indicating
generation of the character object is written to the register R0
151 of the register unit 109, and a control signal indicating that
the instruction has been written to the register unit 109 is
outputted to the graphics control unit 113 (Step S151).
[0198] Next, a screen display instruction, which indicates to
transfer a frame image of the frame buffer 106 to the VRAM 115, is
written to the register R0 151 of the register unit 109, and a
control signal indicating that the instruction has been written to
the register unit 109 is outputted to the graphics control unit 113
(Step S152), and the processing for the stationary frame processing
program is ended.
[0199] When received operation instruction information corresponds
to STOP button (Step S133), a SAVE screen is generated which
includes a message for confirming the user whether 1) character
data, a resumption stage No., and a resumption step No. should be
saved in the memory card 300 before ending of the game, or 2) the
game can be ended without saving the above information. Then the
generated SAVE screen is written to the frame buffer 106 as a frame
image (Step S145). Next, a screen display instruction, which
indicates to transfer the frame image of the frame buffer 106 to
the VRAM 115, is written to the register R0 151 of the register
unit 109, and a control signal indicating that the instruction has
been written to the register unit 109 is outputted to the graphics
control unit 113 (Step S146)
[0200] Next, operation instruction information corresponding to a
button on the operation controller 122 is received from the
operation controller 122 via the controller control unit 101. Here,
the operation instruction information indicates either to perform
the save or not. Next, a type of the received operation instruction
information is judged (Step S147).
[0201] When the received operation instruction information
indicates not to perform the save (Step S147), the game processing
is ended there.
[0202] When the received operation instruction information
indicates to perform the save (Step S147), height, weight, life
power, fighting power, fund, resumption stage No. and resumption
step No. are read from the main storage unit 110 (Step S148), and
the character data 321 in the information storage unit 301 of the
memory card 300 is overwritten with the read height, weight, life
power, fighting power, and fund. In addition, the resumption stage
No. 335 and the resumption step No. 335 are overwritten with the
read resumption stage No. and the resumption step No. (Step S149).
Next, the processing of the stationary frame processing program is
ended.
[0203] (c) Fighting Program
[0204] The following describes the fighting program with use of the
flowcharts in FIGS. 13-14.
[0205] The fighting program judges whether the coordinates value
for the character object exists within an attack range whose center
is the coordinates value of the attack object. Here, the attack
range is a spacious range in the game space in which the effect of
the attack weapon that the attack object owns can reach.
[0206] The fighting program further judges whether the coordinates
value for the attack object exists within a counter-attack range
whose center is the coordinates value of the character object.
Here, the counter-attack range is a spacious range in the game
space in which the effect of the counter-attack weapon that the
character object owns can reach
[0207] Furthermore, the fighting program judges whether there is an
attack by the attack object, and judges whether there is a counter
attack by the character object.
[0208] According to a combination of four judgment results, the
processing content of the fighting program changes.
[0209] (i) Within attack range and within counter-attack range
[0210] Within the attack range (Step S171) and within the
counter-attack range (Step S172), when there is no attack (Step
S173) and there is no counter attack (Step S174), the fighting
program is ended without performing anything.
[0211] Within the attack range (Step S171) and within the
counter-attack range (Step S172), when there is no attack (Step
S173) but there is a counter attack (Step S174), 1 is added to the
fund stored in the main storage unit 110 (Step S175), and 1 is
subtracted by the fighting power stored in the main storage unit
110 (Step S176), and then the fighting program is ended.
[0212] Within the attack range (Step S171) and within the
counter-attack range (Step S172), when there is an attack (Step
S173) and there is no counter attack (Step S177), 1 is subtracted
from the life power stored in themain storage unit 110 (Step S178),
and then the fighting program is ended.
[0213] Within the attack range (Step S171) and within the
counter-attack range (Step S172), when there is an attack (Step
S173) and there is a counter attack (Step S177), 1 is subtracted
from the fighting power (Step S179), and then the fighting program
is ended.
[0214] (ii) Within attack range and out of counter-attack range
[0215] Within the attack range (Step S171) and out of the
counter-attack range (Step S172), when there is no attack (Step
S180) and there is no counter attack (Step S181), the fighting
program is ended without performing anything.
[0216] Within the attack range (Step S171) and out of the
counter-attack range (Step S172), when there is no attack (Step
S180) and there is a counter attack (Step S181), then 1 is
subtracted from the fighting power (Step S182) and then the
fighting program is ended.
[0217] Within the attack range (Step S171) and out of the
counter-attack range (Step S172), when there is an attack (Step
S180) and there is no counter attack (Step S183), 1 is subtracted
from the life power (Step S184), and then the fighting program is
ended.
[0218] Within the attack range (Step S171) and out of the
counter-attack range (Step S172), when there is an attack (Step
S180) and there is a counter attack (Step S183), 1 is subtracted
from the life power (Step S185), and 1 is subtracted from the
fighting power (Step S186), and then the fighting program is
ended.
[0219] (iii) Out of attack range and within counter-attack
range
[0220] Out of the attack range (Step S171) and within the
counter-attack range (Step S191), when there is no attack (Step
S192) and there is no counter attack (Step S193), the fighting
program is ended without performing anything.
[0221] Out of the attack range (Step S171) and within the
counter-attack range (Step S191), when there is no attack (Step
S192) and there is a counter attack (Step S193), 1 is added to the
fund (Step S194), and 1 is subtracted from the fighting power (Step
S195), and then the fighting program is ended.
[0222] Out of the attack range (Step S171) and within the
counter-attack range (Step S191), when there is an attack (Step
S192) and there is no counter attack (Step S196), the fighting
program is ended without performing anything.
[0223] Out of the attack range (Step S171) and within the
counter-attack range (Step S191), when there is an attack (Step
S192) and there is a counter attack (Step S196), 1 is added to the
fund (Step S197), and 1 is subtracted from the fighting power
(StepS178), and then the fighting program is ended.
[0224] (iv) Out of attack range and out of counter-attack range
[0225] Out of the attack range (Step S171) and out of the
counter-attack range (Step S191), when there is no attack (Step
S201) and there is no counter attack (Step S202), the fighting
program is ended without performing anything.
[0226] Out of the attack range (Step S171) and out of the
counter-attack range (Step S191), when there is no attack (Step
S201) and there is a counter attack (Step S202), 1 is subtracted
from the fighting power (Step S203), and the fighting program is
ended.
[0227] (Object Data Unit 541)
[0228] As FIG. 5 shows, the object data unit 541 includes character
object data 542, background object data 543, attack object data
544, and other object data that are not shown in the drawing.
[0229] The character object data 542, the background object data
543, and the attack object data 544 are three-dimensional curve
data respectively showing three-dimensional form of a character
object, a background object, and an attack object, which are for a
stationary game apparatus.
[0230] (2) Stationary Character Processing Program 551
[0231] As FIG. 5 shows, the stationary character processing program
551 is comprised of a program unit 552. The program unit 552
includes a stationary image generating program shown below.
[0232] The stationary image generating program is a computer
program comprised of instructions in machine language formats.
These machine language formats are to be decoded and executed by
the graphics control unit 113 in the stationary game apparatus 100
(the graphics control unit 113 being detailed later), and the
stationary image generating program is used by the graphics control
unit 113.
[0233] The following describes the content of the stationary image
generating program. For easier understanding of the content of the
stationary image generating program, the following description uses
flowcharts shown in FIGS. 15-16 to represent the stationary image
generating program, instead of representation using instructions in
machine language format. Accordingly, the stationary image
generating program is explained as follows with use of these
flowcharts.
[0234] The stationary image generating program receives a control
signal indicating that writing of an instruction from the main
control unit 108 to the register unit 109 has been complete. This
control signal indicates an image generating request issued from
the main control unit 108 and directed to the graphics control unit
113 (Step S301).
[0235] Upon receiving the control signal, the contents of the
register R0 151 of the register unit 109 is read. The register R0
151 stores an instruction, which has been written by the main
control unit 108 (Step S302).
[0236] Next, it is judged whether the contents read from the
register R0 151, namely the instruction, is a screen display
instruction or not (Step S303). If it is judged affirmatively (Step
S303), during a vertical retrace time detailed later, a frame image
stored in the frame buffer 106 of the stationary game apparatus 100
is transferred to the VRAM 115 (Step S310), and the control will
return to Step S301 for repeating processing.
[0237] If it is judged negatively (Step S303), namely if it is
judged that the read contents is one of a character-object
generating instruction, a background-object generating instruction,
and an attack-object generating instruction, the coordinates of the
object which is the target of a corresponding generating
instruction is read from the register unit 109. Specifically, in a
case where the generating instruction is one of a character-object
generating instruction, a background-object generating instruction,
and an attack-object generating instruction, the contents in the
register R1 152, the register R2 153, and the register R3 154 is
respectively read (Step S304).
[0238] Next, the corresponding object data is read from the
graphics storage unit 114 of the stationary game apparatus 100
(Step S305).
[0239] Here, if the corresponding object data corresponds to a
character object (Step S306), the height and weight are read from
the register R4 155 of the register unit 109 (Step S307), and
correction is performed to the read character data using the read
height and weight. This correction is a processing operation
identical to as in the update performed at Step S103 in the
flowchart of FIG. 9 (Step S308).
[0240] Next, object image generating is performed using the object
data. The object image generating is detailed later (Step S309).
Then the control will return to Step S301, for repeating
processing.
[0241] (Procedure of Object Image Generation)
[0242] Next, the procedure of object image generation is
described.
[0243] The object data is subjected to perspective projection
transformation to generate wire frame data (step S321). Then
polygon data is generated (Step S322), and processing of hidden
plane clearing and hidden line clearing is performed (Step S323),
and shade/shadow data is generated (Step S324).
[0244] Note that the perspective projection transformation, the
polygon data generation, hidden plane clearing, hidden line
clearing, and shade/shadow generation are disclosed in the
non-patent references 2 and 3, and so are publicly known. Therefore
explanation thereof is omitted in this description.
[0245] (3) Stationary Development Item Table 561
[0246] As shown in FIG. 5, the stationary development item table
561 includes a height flag 562, a weight flag 563, a life-power
flag 564, and a fighting-power flag 565.
[0247] The height flag 562 indicates whether update of height is
permitted for the character data obtained from the server apparatus
600 while the game is proceeded in the stationary game apparatus
100. The height flag 562 takes a value of either ON or OFF, where
ON indicates that height update is permitted, and OFF indicates
that height update is not permitted. Here in FIG. 5, the height
flag 562 is set to be ON, which means that update directed to the
height included in the character data obtained from the server
apparatus 600 is permitted during the game proceeding in the
stationary game apparatus 100.
[0248] The aforesaid rule also applies to the other flags.
[0249] The weight flag 563 indicates whether update of weight is
permitted for the character data obtained from the server apparatus
600 while the game is proceeded in the stationary game apparatus
100. The weight flag 563 takes a value of either ON or OFF, where
ON indicates that weight update is permitted, and OFF indicates
that weight update is not permitted. Here in FIG. 5, the weight
flag 563 is set to be ON, whichmeans that update directedto the
weight included in the character data obtained from the server
apparatus 600 is permitted during the game proceeding in the
stationary game apparatus 100.
[0250] The life-power flag 664 indicates whether update of life
power is permitted for the character data obtained from the server
apparatus 600 while the game is proceeded in the stationary game
apparatus 100. The life-power flag 664 takes a value of either ON
or OFF, where ON indicates that life power update is permitted, and
OFF indicates that life power update i s not permitted. Here in
FIG. 5, the life-power flag 664 is set to be OFF, which means that
update directed to the life power included in the character data
obtained from the server apparatus 600 is not permitted during the
game proceeding in the stationary game apparatus 100.
[0251] The fighting-power flag 665 indicates whether update of
fighting power is permitted for the character data obtained from
the server apparatus 600 while the game is proceeded in the
stationary game apparatus 100. The fighting-power flag 665 takes a
value of ON or OFF, where ON indicates that fighting power update
is permitted, and OFF indicates that fighting power update is not
permitted. Here in FIG. 5, the fighting-power flag 665 is set to be
OFF, which means that update directed to the fighting power
included in the character data obtained from the server apparatus
600 is not permitted during the game proceeding in the stationary
game apparatus 100.
[0252] 1.4 Stationary Game Apparatus 100
[0253] As FIG. 17 shows, the stationary game apparatus 100 is
structured by a controller control unit 101, a memory card
input/output unit 102, a drive unit 103, a communication unit 104,
a connection unit 105, a frame buffer 106, an authentication unit
107, amain control unit 108, a register unit 109, a main storage
unit 110, a large-capacity storage unit 111, a graphics control
unit 113, a graphics storage unit 114, a VRAM 115, a video signal
generating unit 116, an audio signal generating unit 117, a system
bus 118, and an image bus 119.
[0254] The controller control unit 101, the memory card
input/output unit 102, the drive unit 103, the communication unit
104, the connection unit 105, the frame buffer 106, the
authentication unit 107, the main control unit 108, the main
storage unit 110, the large-capacity storage unit 111, the graphics
storage unit 114, the audio signal generating unit 117, and the
video signal generating unit 116 are respectively connected to the
system bus 118. In addition, the frame buffer 106, the graphics
control unit 113, the graphics storage unit 114, the VRAM 115, and
the video signal generating unit 116 are respectively connected to
the image bus 119.
[0255] As FIG. 1 shows, an operation controller 122 and a monitor
120 are connected to the stationary game apparatus 100. In
addition, a portable game apparatus 200 is connected to the
stationary game apparatus 100 via the cable 30. Furthermore, the
DVD 500 and the memory card 300 are loaded to the stationary game
apparatus 100.
[0256] (1) Operation Controller 122
[0257] The operation controller 122 is provided with, on its
surface, UP button, DOWN button, LEFT button, RIGHT button,
DECISION button, START button, STOP button, and other buttons. When
an operation directed to each button is received from a user,
operation instruction information corresponding to the button to
which the operation is directed is outputted to the stationary game
apparatus 100.
[0258] (2) Controller Control Unit 101, Memory Card Input/Output
Unit 102, Drive Unit 103, Communication Unit 104, and Connection
Unit 105
[0259] The controller control unit 101 is connected to the
operation controller 122, and receives operation instruction
information corresponding to a button from the operation controller
122, and outputs the received operation instruction information to
the main control unit 108 via the system bus 118.
[0260] In addition, upon loading of the memory card 300 to the
stationary game apparatus 100, the memory card input/output unit
102 is connected to the memory card 300, and reads information from
the memory card 300 by being controlled by the main control unit
108, and outputs the read information to the main control unit 108
via the system bus 118. In addition, the memory card input/output
unit 102 receives information from the main control unit 108 via
the system bus 118, and writes the received information to the
memory card 300.
[0261] The drive unit 103, by being controlled by the main control
unit 108, reads information stored in the DVD 500, and outputs the
read information to the main control unit 108 via the system bus
118.
[0262] The communication unit 104 is connected to the Internet 20,
and performs transmission/reception of information between the main
control unit 108 and an external apparatus connected to the
Internet 20. In this example, the external apparatus is
specifically a server apparatus 600.
[0263] In addition, the connection unit 105 is connected to the
portable game apparatus 200 via the cable 30, andreceives
information from the portable game apparatus 200 via the cable 300,
and outputs the received information to the main control unit 108.
In addition, the connection unit 105 receives information from the
main control unit 108, and outputs the received information to the
portable game apparatus 200 via the cable 30.
[0264] (3) Monitor 120
[0265] The monitor 120 includes therein a speaker 121, receives a
video signal, which includes a vertical retrace time and a
horizontal retrace time, from the video signal generating unit 116,
and displays an image according to the received video signal. The
speaker 121 receives an audio signal from the audio signal
generating unit 117, converts the received audio signal into a
sound, and outputs the sound.
[0266] (4) Main Storage Unit 110, Large-Capacity Storage Unit 111,
and Graphics Storage Unit 114
[0267] The main storage unit 110 is made of a RAM, and stores a
stationary game program 131, a stationary development item table
132, character data 133, for example as shown in FIG. 18.
[0268] The large-capacity storage unit 111 is made of a hard disk
unit, and stores game software 1, game software 2, . . . . The game
software 1, the game software 2, . . . have the same data structure
as the game software that the DVD 500 store.
[0269] The graphics storage unit 114 is made of a RAM, and stores
an object data unit 134, a stationary character processing program
135, and character data 136, for example as shown in FIG. 19.
[0270] (5) Register Unit 109
[0271] As FIG. 20 shows, the register unit 109 is equipped with
five registers: a register R0 151, a register R1 152, a register R2
153, a register R3 154, and a register R4 155. Each register is 128
bits in length.
[0272] The register unit 109 is connected to both of the main
control unit 10 and the graphics control unit 113.
[0273] The use of each register unit is predefined.
[0274] The register R0 151 stores an instruction that the main
control unit 108 has recorded to the register R0 151. The kind of
instruction to be stored in the register R0 151 is shown in FIG.
21. As shown in this drawing, the instruction to be stored in the
register R0 151 is one instruction out of: a character-object
generating instruction 156; a background-object generating
instruction 157; an attack-object generating instruction 158; and a
screen display instruction 159.
[0275] The character-object generating instruction 156, the
background-object generating instruction 157, and the attack-object
generating instruction 158 are respectively for instructing
generation of an image respectively corresponding to character
object, background object, and attack object. The screen display
instruction 159 is for instructing transfer of a frame image from
the frame buffer 106 to the VRAM 115.
[0276] In addition, the register R1 152, the register R2 153, the
register R3 154 are respectively used to store: a character-object
coordinates value; a background-object coordinates value; and an
attack-object coordinates value. Note that the highest 32 bits of
each register is used to store an X-coordinate value, a
Y-coordinate value, and a Z-coordinate value.
[0277] In addition, the highest 64 bits of the register R4 155 is
used to store height, and the lowest 64 bits is used to store
weight.
[0278] (6) Frame Buffer 106
[0279] The frame buffer 106 has an area for storing one frame of
image. The frame image is made up of 256,000 pixels in matrix
configuration (640 in a vertical line and 400 in a horizontal
line).
[0280] (7) Authentication Unit 107
[0281] The authentication unit 107 performs mutual apparatus
authentication with an external apparatus connected to the
stationary game apparatus 100, using the challenge-response method
and by being controlled by the main control unit 108, prior to
communication or transmission/reception of information between the
main control unit 108 and the external apparatus.
[0282] Here, explanation on challenge-response method is omitted
because it is publicly known.
[0283] The authentication unit 107 outputs the result of the
apparatus authentication to the main control unit 108. In failure
of the apparatus authentication, the authentication unit 107
prohibits the main control unit 108 from communicating and
transmitting/receiving information to/from the external apparatus,
and in success of the apparatus authentication, the authentication
unit 107 permits, to the main control unit 108, communication and
transmission/reception of information with the external
apparatus.
[0284] Here, the external apparatus is one of the portable game
apparatus 200, the memory card 300, and the server apparatus
600.
[0285] (8) Main Control Unit 108
[0286] The main control unit 108 is specifically comprised of a
microprocessor and a RAM, which are not shown in the drawings. The
RAM, the main storage unit 110, or the large-capacity storage unit
111 stores a computer program. The main control unit 108 achieves
its function by the microprocessor operating according to the
computer program.
[0287] (Menu Display)
[0288] When a user turns on the power to the stationary game
apparatus 100, the main control unit 108 generates a menu screen
160, as FIG. 22 shows. The menu screen 160 is comprised of a
plurality of alternatives 161, 163, and 165.
[0289] The alternative 161 is used to instruct to display a list of
game titles from which the user will make a selection. The
alternative 163 is used to instruct to obtain character data from
the server apparatus 600 via the Internet 20, and to write the
character data to the memory card 300. The alternative 164 is used
to instruct other operations.
[0290] When a user selects any one of the alternatives, the main
control unit 108 receives instruction information corresponding to
the selected alternative from the operation controller 122 via the
controller control unit 101, and performs an operation
corresponding to the received instruction information.
[0291] (Game Selection)
[0292] When the received instruction information indicates a
display of the title list, the main control unit 108 reads the game
title from the DVD 500 via the drive unit 103, and reads a
plurality of game titles from the large-capacity storage unit 111.
Then the main control unit generates a list of game titles
constituted by the read game titles, and writes the generated list
of game titles to the frame buffer 106, as frame images. Next, the
user selects one game title from among the list of game titles.
Note that in this example, the user selects the game stored in the
DVD 500.
[0293] When the user selects one game title, the main control unit
108 obtains a game identifier corresponding to the selected game
title, from the operation controller 122 and via the controller
control unit 101.
[0294] Next, the main control unit 108 controls the authentication
unit 107 to perform apparatus authentication with the memory card
300, and in success of the apparatus authentication, performs game
processing explained below. In failure of the apparatus
authentication, the main control unit does not perform the game
processing thereafter.
[0295] (Game Selection)
[0296] Next, the main control unit 108 reads the stationary game
program 511 from the DVD 500, writes the stationary game program
511 to the main storage unit 110, reads the object data unit 541,
writes the object data unit 541 to the graphics storage unit 114,
reads the stationary character processing program 551, writes the
stationary character processing program 551 to the graphics storage
unit 114, reads the stationary development item table 561, and
writes the stationary development item table 561 to the main
storage unit 110. In addition, the main control unit 108 reads the
character data 321, the resumption stage No. 335, and the
resumption step No. 336, from the memory card 300, and writes the
character data 321, the resumption stage No. 335, and the
resumption step No. 336, to the main storage unit 110, and writes
the height and weight included in the character data, to the
graphics storage unit 114.
[0297] Next, the main control unit 108 fetches the instructions one
by one, from the program unit of the stationary game program stored
in the main storage unit 110, decodes the fetched instructions, and
executes the decoded instructions. Hereinafter, the fetching, the
decoding, and the executing of instruction are repeated.
[0298] (Obtaining Operation of Character Data Performed by
Stationary Game Apparatus 100)
[0299] When the received instruction information indicates
obtaining character data from the server apparatus 600 and writing
the character data to the memory card 300, the main control unit
108 reads a user ID from the memory card 300 via the memory card
input/output unit 102, reads a game identifier BID and a public key
BPK, from the DVD 500 via the drive unit 103. Next, themain control
unit 108 performs a digital signature SIG on the game identifier
BID and the user ID using the public key BPK, thereby generating
signature data.
[0300] Next, the main control unit 108 transmits the user ID, the
game identifier, and the signature data, to the server apparatus
600 via the communication unit 104 and the Internet 20.
[0301] The main control unit 108 receives a verification result of
the digital signature from the server apparatus 600 via the
Internet 20 and the communication unit 104. When the received
verification result indicates a failure, the main control unit 108
generates a display screen displaying such, writes the generated
display screen to the frame buffer 106 as a frame image, outputs,
to the graphics control unit 113, a control signal indicating that
an instruction has been written to the register unit 109, writes a
screen display instruction to the register R0 151 of the register
unit 109, and ends the processing.
[0302] When the received verification result indicates a success,
the main control unit 108 transmits a communication instruction to
the server apparatus 600 via the communication unit 104 and the
Internet 20, so that the server apparatus 600 performs a
communication with the memory card 300. In addition, the main
control unit 108 outputs a communication instruction to the memory
card 300 via the memory card input/output unit 102, so that the
memory card 300 communicates with the server apparatus 600.
[0303] Next, the main control unit 108 receives a result of
apparatus authentication between the server apparatus 600 and the
memory card 300, from the server apparatus 600 via the Internet 20
and the communication unit 104. In addition, the main control unit
108 receives a result of apparatus authentication between the
server apparatus 600 and the memory card 300, from the memory card
300 via the memory card input/output unit 102. When at least one of
the received results indicates a failure in apparatus
authentication, the main control unit 108 generates a display
screen displaying a message indicating such, writes to the frame
buffer 106 the generated display screen as a frame image, and
outputs to the graphics control unit 113 a control signal
indicating that an instruction has been written to the register
unit 109, writes a screen display instruction to the register R0
151 of the register unit 109, and ends the processing.
[0304] When both of the received results show success in the
apparatus authentication, the main control unit 108 receives a
search result of the user ID, from the server apparatus 600 and via
the Internet 20 and the communication unit 104, and when the
received search result shows that the user ID does not exist, the
main control unit 108 generates a display screen displaying a
message indicating such, writes to the frame buffer 106 the
generated display screen as a frame image, and outputs to the
graphics control unit 113 a control signal indicating that an
instruction has been written to the register unit 109, writes a
screen display instruction to the register R0 151 of the register
unit 109, outputs the received search result to the memory card 300
via the memory card input/output unit 102, and ends the
processing.
[0305] When the received search result indicates that the user ID
exists, the main control unit 108 receives character data from the
server apparatus 600 via the Internet 20 and the communication unit
104, and outputs the received character data to the memory card 300
via the memory card input/output unit 102.
[0306] In addition, the main control unit 108 receives completion
information indicating completion in writing of character data,
from the memory card 300 via the memory card input/output unit 102,
and outputs the received completion information to the server
apparatus 600 via the communication unit 104 and the Internet
20.
[0307] (Relay Processing Performed by Stationary Game Apparatus 100
When Portable Game Apparatus 200 Obtains Character Data)
[0308] When the portable game apparatus 200 obtains character data
from the server apparatus 600 via the stationary game apparatus
100, the main control unit 108 receives a user ID, a game
identifier, and signature data, from the portable game apparatus
200 via the memory card input/output unit 102, receives a
communication instruction, receives completion information,
transmits the user ID, the game identifier, and the signature data,
to the server apparatus 600 via the communication unit 104 and the
Internet 20, transmits the received communication instruction, and
transmits the received completion information.
[0309] In addition, the main control unit 108 receives a
verification result of the digital signature, from the server
apparatus 600 via the Internet 20 and the communication unit 104,
receives a verification result of the digital signature, receives a
search result of the user ID, receives the character data,
transmits the received verification result to the memory card 300
via the memory card input/output unit 102, transmits the received
search result, and transmits the received character data.
[0310] (9) Graphics Control Unit 113
[0311] The graphics control unit 113 is specifically comprised of a
processor dedicated for graphics which is not shown in the
drawings.
[0312] The graphics control unit 113 fetches an instruction
included in the stationary character processing program that the
graphics storage unit 114 stores therein, decodes the fetched
instruction, and executes the decoded instruction. The graphics
control unit 113 repeats the fetching of instruction, the decoding
of instruction, and the executing of instruction.
[0313] (10) VRAM 115
[0314] The VRAM 115 has an area for storing one frame of image. The
frame image is made up of 256,000 pixels in matrix configuration
(640 in a vertical line and 400 in a horizontal line). Here, the
frame image has the same size as the frame image stored in the
frame buffer 106.
[0315] (11) Video Signal Generating Unit 116
[0316] The video signal generating unit 116 repeats the following
(a)-(b), every 1/60 second.
[0317] (a) Generates a vertical synchronizing signal, and outputs
it to the monitor 120. This time period is called "vertical retrace
time".
[0318] (b) Repeats the following (b1)-(b3) for 400 times (400 times
corresponding to the number of pixel in the vertical line of one
frame image).
[0319] (b1) Reads, from the VRAM 115, pixels on one horizontal line
of one frame image (640 pixels).
[0320] (b2) Generates one line of video signal and horizontal
synchronizing signal, using the read frame image.
[0321] (b3) Outputs the one line of video signal and horizontal
synchronizing signal, to the monitor 120.
[0322] (12) Audio signal generating unit 117 and Speaker 121
[0323] The audio signal generating unit 117 reads digital audio
information from the main storage unit 110, by being controlled by
the main control unit 108, decodes the read audio information,
converts the decoded audio information into an analogue audio
signal, and outputs the analogue audio signal to the speaker
121.
[0324] The speaker 121 receives an audio signal from the audio
signal generating unit 117, and outputs a sound. 1.5 Memory Card
300
[0325] As FIG. 23 shows, the memory card 300 is comprised of an
information storage unit 301, a control unit 302, an input/output
unit 303, and an authentication unit 304.
[0326] The memory card 300 is specifically a computer system
comprised of a microprocessor, a ROM, a RAM, and the like. The RAM
stores therein a computer program. The memory card 300 achieves its
function by the microprocessor operating according to the computer
program.
[0327] The memory card 300 is loaded to an external apparatus,
receives information from the external apparatus, stores therein
the received information. Or the memory card 300 reads information
from inside, and outputs the read information to the external
apparatus.
[0328] Here, the external apparatus is one of the stationary game
apparatus 100, the portable game apparatus 200, and the server
apparatus 600.
[0329] (1) Information Storage Unit 301
[0330] As FIG. 23 shows, the information storage unit 301 has an
area for storing character data 321, a user ID 334, a resumption
stage No. 335, and a resumption step No. 336.
[0331] The user ID 334 is identification information for uniquely
identifying the user. of the memory card 300. The user ID 334 has
been written to the memory card 300 by a sales apparatus managed by
a sales agent when the user has purchased either the DVD 500 or the
cartridge 400.
[0332] As FIG. 23 shows, the character data 321 is made up of a
character ID 322, tribe 323, sex 324, occupation 325, height 326,
weight 327, hair style 328, shape of eyes 329, shape of ears 330,
life power 331, fighting power 332, and fund 333. The character
data is the same as described in the former section, and so is not
repeated here.
[0333] The resumption stage No. 335 and the resumption step No. 336
are also the same as described in the former section, and so are
not repeated here.
[0334] (2) Control Unit 302
[0335] Prior to transmitting/receiving information to/from an
external apparatus, the control unit 302 controls the
authentication unit 304 to perform mutual apparatus authentication
with the external apparatus. In success of the apparatus
authentication, the control unit 302 continues
transmission/reception of information with the external apparatus,
and in failure of the apparatus authentication, the control unit
302 stops the transmission/reception of information with the
external apparatus.
[0336] The control unit 302 receives information via the
input/output unit 303, and writes the received information to the
information storage unit 301. The control unit 302 also reads
information from the information storage unit 301, and outputs the
read information to the external apparatus via the input/output
unit 303.
[0337] Specifically, the control unit 302 receives a search result
relating to the user ID, either from the stationary game apparatus
100 or the portable game apparatus 200, via the input/output unit
303. When the received search result indicates nonexistence of the
user ID, the control unit 302 does not perform the processing
thereafter, and when the received search result indicates existence
of the user ID, continues the processing.
[0338] In addition, the control unit 302 receives character data
either from the stationary game apparatus 100 or the portable game
apparatus 200 via the input/output unit 303, and writes the
received character data to the information storage unit 301.
[0339] (3) Input/Output Unit 303
[0340] The input/output unit 303, by being controlled by the
control unit 302, reads information from the information storage
unit 301 and outputs the information to the external apparatus, or
receives information from the external apparatus and writes the
received information to the information storage unit 301.
[0341] (4) Authentication Unit 304
[0342] Prior to transmission/reception of information between the
control unit 302 and the external apparatus to which the memory
card 300 has been loaded, the authentication unit 304 performs
mutual apparatus authentication with the external apparatus, by
being controlled by the control unit 302, using the
challenge-response method. Here, explanation on challenge-response
method is omitted because it is publicly known.
[0343] The authentication unit 304 outputs a result of the
apparatus authentication to the control unit 302. In failure of the
apparatus authentication, the authentication unit 304 prohibits the
control unit 302 from transmitting/receiving information to/from
the external apparatus, and in success of the apparatus
authentication, the authentication unit 304 permits, to the control
unit 302, transmission/reception of information with the external
apparatus.
[0344] 1.6 Cartridge 401
[0345] As FIG. 24 shows, the cartridge 400 is comprised of an
information storage unit 401 and an input/output unit 402.
[0346] (1) Information Storage Unit 401
[0347] As FIG. 24 shows one example thereof, the information
storage unit 401 prestores a stationary game program 411, a
stationary character processing program 451, and a stationary
development item table 461. These are either a computer program or
computer data used in the portable game apparatus 200, and
constitute one game software program.
[0348] A game, proceeded by the portable game program 411, the
portable character processing program 451, and the portable
development item table 461 which are stored in the information
storage unit 401, is the same as the game proceeded by the
stationary game program 511, the stationary character processing
program 551, and the stationary development item table 561 which
are stored in the DVD 500. Therefore the description about the game
is omitted here.
[0349] The portable game program 411 is comprised of a related
information unit 421, a program unit 431, and an object data unit
441.
[0350] (Related Information Unit 421)
[0351] The related information unit 421 is comprised of a game
section 422, a game identifier AID 423, a public key APK 424, a
game title 425, and audio information not drawn in this
drawing.
[0352] The game section 422 indicates that the portable game
program 411 is a game program used in a portable game
apparatus.
[0353] The game identifier AID 423 is identification information
for identifying the portable game program 411.
[0354] The public key APK 424 is generated using a secret key and
by the public-key generation method. Here, the secret key
corresponds to the game identifier found in the game information
table 621 that the information storage unit 601 of the server
apparatus 600 owns, which is identical to the game identifier AID
423. One example of the public-key generation method is as
described above.
[0355] The game title is a title used for identifying a game
realized by the portable game program 411.
[0356] The audio information is coded data of the character's
voice, music, and sound effect.
[0357] (Program Unit 431)
[0358] The program unit 431 includes a computer program for a
portable game (hereinafter called "portable main program"), a
computer program for processing one frame of image (hereinafter
called "portable frame processing program") and a computer program
for processing fighting scenes (hereinafter called "fighting-scene
program"). Each computer program is comprised of a plurality of
instructions in various machine language formats. The machine
language formats are a format to be decoded and executed by a main
control unit 208 of the portable game apparatus 200 (the main
control unit 208 will be described in detail later). The portable
main program, the portable frame processing program, and the
fighting-scene program are used by the main control unit 208.
[0359] The portable frame processing program is called by the
portable main program for use. In addition, the fighting-scene
program is called by the portable frame processing program for
use.
[0360] The following describes the content of each computer
program. For easier understanding of the content of each computer
program, the following description uses flowcharts to represent
computer programs, instead of representation using instructions in
machine language format.
[0361] (a) Portable Main Program
[0362] The following describes the portable main program with use
of the flowcharts of FIGS. 25-26.
[0363] Here, the detailed explanation on the portable main program
is not performed, because it is similar to the stationary main
program shown in FIGS. 9-10.
[0364] The portable main program reads the resumption stage No. 335
and the resumption step No. 336, and writes the read resumption
stage No. and resumption step No. to the main storage unit 210
(Step S401).
[0365] The portable main program reads the character data 321 from
the memory card 300, and writes the read character data to the main
storage unit 210 (Step S402).
[0366] Next, the portable main program extracts the height and the
weight from the character data in the main storage unit 110, and
updates the character object data stored in the main storage unit
210, so as to change the form of the character based on the ratio
of the height to the weight (Step S403).
[0367] Next, in Step S405-Step S424, the following step S406-Step
S423 are repeated until the game stage shown by "n" is completed by
starting with the game stage shown by the resumption stage No.
[0368] (i) In step S406-Step S413, the following step S407-Step
S412 are repeated until the game step shown by "m" is completed by
starting with the game step shown by the resumption step No.
[0369] It is judged whether the life power written in the main
storage unit 210 shows "0" (Step S407).
[0370] When the life power is judged to show "0" (Step S407), a
screen showing game ending is generated, and the generated screen
is written to the frame buffer of the main storage unit 210, as a
frame image (Step S408). During the vertical retrace time, the
frame image in the frame buffer is transferred to the VRAM 215
(Step S409). Then the game ends.
[0371] When the life power is judged not to show "0" (Step S407),
it is judged whether the elapsed time in the game step exceeds the
maximum value MAX (Step S410), and when the elapsed time is judged
to exceed the maximum value MAX (Step S410), the game step is
ended, and the operation goes on to the next game step.
[0372] When the elapsed time is judged not to exceed the maximum
value MAX (Step S410), the elapsed time is counted (Step S411), and
the portable frame processing program is called so as to move the
control to the portable frame processing program, thereby
performing processing for one frame of image (Step S412). After the
processing for one frame of image has ended, the operation returns
to Step S410, so as to repeat the processing.
[0373] (ii) Next, it is judged whether the height flag written in
the main storage unit 210 is "ON" or "OFF" (Step S414) If the
height flag is judged to be "OFF" (Step S414), the control is moved
to Step S417. If the height flag is judged to be "ON" (Step S414),
the value "10" is added to the height written in the main storage
unit 210 (Step S415).
[0374] (iii) Next, it is judged whether the weight flag written in
the main storage unit 210 is "ON" or "OFF" (Step S417). If the
weight flag is judged to be "OFF" (Step S417), the control is moved
to Step S420. If the weight flag is judged to be "ON" (Step S417),
the value "0.5" is added to the weight written in the main storage
unit 210 (Step S418).
[0375] (iv) Next, it is judged whether the life-power flag written
in the main storage unit 110 is "ON" or "OFF" (Step S420). If the
life-power flag is judged to be "OFF" (Step S420), the control is
moved to Step S422. If the life-power flag is judged to be "ON"
(Step S420), the value "10" is added to the life power written in
the main storage unit 210 (Step S421).
[0376] (v) Next, it is judged whether the fighting-power flag
written in the main storage unit 210 shows "ON" or "OFF" (Step
S422). If the fighting-power flag is judged to be "ON" (Step S422),
the value "10" is added to the fighting power written in the main
storage unit 210 (Step S423). If the fighting-power flag is judged
to be "OFF" (Step S422), nothing is performed.
[0377] (b) Portable Frame Processing Program
[0378] The following describes the portable frame processing
program with use of the flowcharts shown in FIGS. 27-28.
[0379] Note that the portable frame processing program is similar
to the stationary frame processing program shown in FIGS. 11 and
12, and so simplified explanation is given below.
[0380] The portable frame processing program calculates the
coordinates value (three-dimensional coordinates) of the current
attack object in the game space (Step S431).
[0381] Next, the calculated coordinates value of the attack object
is written to the.main storage unit 210 (Step S432).
[0382] Next, operation instruction information corresponding to the
button is received from the input unit 201, and a type of the
received operation instruction information is judged (Step
S433).
[0383] When received operation instruction information corresponds
to anyone of UP button, DOWN button, LEFT button, and RIGHT button
(Step S433), the following operations are respectively performed:
adding "1" to the Y-coordinate value of the character object (Step
S434); subtracting "1" from the Y-coordinate value of the character
object (Step S435); subtracting "1" from the X-coordinate value of
the character object (Step S436); and adding "1" to the
X-coordinate value of the character object (Step S437).
[0384] When received operation instruction information corresponds
to the STOP button (Step S433), the control is moved to Step
S445.
[0385] When received operation instruction information corresponds
to the DECISION button (Step S433), nothing is performed and the
control is moved to Step S439.
[0386] When received operation instruction information corresponds
to one of the other buttons (Step S433), the processing
corresponding to the button is performed (Step S438), and then the
portable frame processing program is ended.
[0387] When operation instruction information is not received (Step
S433), nothing is performed and the control is moved to Step
S439.
[0388] Next, the fighting program is called thereby moving the
control to the fighting program, so as to perform processing at
fighting. Here, the detailed explanation on the fighting processing
is omitted, because it is the same as in the flowcharts of FIGS.
13-14 (Step S439).
[0389] When processing at fighting is finished, the coordinates
value of the character object is written to the main storage unit
110 (Step S440).
[0390] Next, the coordinates value of the background object is
calculated (Step S441), and the calculated coordinates value for
the background is written to the main storage unit 110 (Step
S442).
[0391] Next, the back ground object is specified and a portable
frame processing program is called (Step S443). Then an attack
object is specified and the portable frame processing program is
called (Step S444). Then a character object is specified and the
portable frame processing program is called (Step S451).
[0392] Next, during the vertical retrace time, a frame image of the
frame buffer in the main storage unit 210 is transferred to the
VRAM 215 (Step S452). Next, processing of the portable frame
processing program is ended.
[0393] When received operation instruction information corresponds
to the STOP button (Step S433), a SAVE screen is generated which
includes a message for confirming the user whether 1) character
data, a resumption stage No., and a resumption step No. should be
saved in the memory card 300 before ending of the game, or 2) the
game can be ended without saving the above information. Then the
generated SAVE screen is written to the frame buffer of the main
storage unit 210, as a frame image (Step S445) Next, during the
vertical retrace time, the frame image of the frame buffer is
transferred to the VRAM 215 (Step S152).
[0394] Next, operation instruction information corresponding to a
button is received from the input unit 201. Here, the operation
instruction information indicates either to perform the save or
not. Next, a type of the received operation instruction information
is judged (Step S447).
[0395] When the received operation instruction information
indicates not to perform the save (Step S447), the game processing
is ended.
[0396] When the received operation instruction information
indicates to perform the save (Step S447), height, weight, life
power, fighting power, fund, resumption stage No. and resumption
step No. are read from the main storage unit 210 (Step S448), and
the character data 321 in the information storage unit 301 is over
written with the read height, weight, life power, fighting power,
and fund. In addition, the resumption stage No. 335 and the
resumption step No. 335 are overwritten with the read resumption
stage No. and the resumption step No. (Step S449). Next, the
processing of the portable processing program is ended.
[0397] (c) Fighting Program
[0398] The fighting program has the same details as the program
shown by the flowcharts of FIGS. 13-14. Therefore the description
thereof is omitted here.
[0399] (Object Data Unit 441)
[0400] As FIG. 24 shows, the object data unit 441 includes
character object data 442, background object data 443, attack
object data 444, and other object data that are not shown in the
drawing.
[0401] The character object data 442, the background object data
443, and the attack object data 444 are three-dimensional curve
data respectively showing three-dimensional form of a character
object, a background object, and an attack object, which are for a
portable game apparatus.
[0402] (Portable Character Processing Program 451)
[0403] As FIG. 24 shows, the portable character processing program
451 is comprised of a program unit 452. The program unit 452
includes a portable image generating program shown below.
[0404] The portable image generating program is a computer program
comprised of instructions in machine language formats. These
machine language formats are to be decoded and executed by the main
control unit 208 in the portable game apparatus 200 (the main
control unit 208 being detailed later), and the portable image
generating program is used by the main control unit 208.
[0405] The following describes the content of the portable image
generating program. For easier understanding of the content of the
portable image generating program, the following description uses
flowchart shown in FIG. 29 to represent the portable image
generating program, instead of representation using instructions in
machine language format. Accordingly, the portable image generating
program is explained as follows with use of the flowchart.
[0406] The portable image generating program reads, from the main
storage unit 210, the coordinates of the object to be generated
(Step S464).
[0407] Next, the portable image generating program reads
corresponding object data from the main storage unit 210 (Step
S465).
[0408] Here, if the corresponding object data corresponds to a
character object (Step S466), the portable image generating program
reads height and weight from the main storage unit 210 (Step S467),
and corrects the read character data using the read height and
weight. Note that this correction is a processing operation
identical to the update performed at Step S103 in the flowchart of
FIG. 9 (Step S468).
[0409] Next, the object data is subjected to perspective projection
transformation to generate wire frame data (Step S471). Then
polygon data is generated (Step S472), and processing of hidden
plane clearing and hidden line clearing is performed (Step S473),
and shade/shadow data is generated (Step S474).
[0410] (Portable Development Item Table 461)
[0411] As shown in FIG. 24, the portable development item table 461
includes a height flag 462, a weight flag 463, a life-power flag
464, and a fighting-power flag 465.
[0412] The height flag 462 indicates whether update of height is
permitted for the character data obtained from the server apparatus
600 while the game is proceeded in the portable game apparatus 200.
The height flag 462 take a value of either ON or OFF, where ON
indicates that height update is permitted, and OFF indicates that
height update is not permitted. Here in FIG. 24, the height flag
462 is set to be OFF, which means that update directed to the
height included in the character data obtained from the server
apparatus 600 is not permitted during the game proceeding in the
portable game apparatus 200.
[0413] The aforesaid rule also applies to the other flags.
[0414] The weight flag 463 indicates whether update of weight is
permitted for the character data obtained from the server apparatus
600 while the game is proceeded in the portable game apparatus 100.
The weight flag 463 takes a value of either ON or OFF, where ON
indicates that weight update is permitted, and OFF indicates that
weight update is not permitted. Here in FIG. 24, the weight flag
463 is set to be OFF, which means that update directed to the
weight included in the character data obtained from the server
apparatus 600 is not permitted during the game proceeding in the
portable game apparatus 200.
[0415] The life-power flag 464 indicates whether update of life
power is permitted for the character data obtained from the server
apparatus 600 while the game is proceeded in the portable game
apparatus 200. The life-power flag 464 takes a value of either ON
or OFF, where ON indicates that life power update is permitted, and
OFF indicates that life power update is not permitted. Here in FIG.
24, the life-power flag 464 is set to be ON, which means that
update directed to the life power included in the character data
obtained from the server apparatus 600 is permitted during the game
proceeding in the portable game apparatus 200.
[0416] The fighting-power flag 465 indicates whether update of
fighting power is. permitted for the character data obtained from
the server apparatus 600 while the game is proceeded in the
portable game apparatus 200. The fighting-power flag 465 takes a
value of ON or OFF, where ON indicates that fighting power update
is permitted, and OFF indicates that fighting power update is not
permitted. Here in FIG. 24, the fighting-power flag 465 is set to
be ON, which means that update directed to the fighting power
included in the character data obtained from the server apparatus
600 is permitted during the game proceeding in the portable game
apparatus 200.
[0417] 1.7 Portable Game Apparatus 200
[0418] As FIG. 30 shows, the portable game apparatus 200 is
structured by an input unit 201, a memory card input/output unit
202, a cartridge input/output unit 203, a connection unit 205, a
main control unit 208, a main storage unit 210, an authentication
unit 212, a VRAM 215, a video signal generating unit 216, an
electronic sound generating unit 217, a system bus 218, a liquid
crystal display unit 220, and a speaker 221.
[0419] The input unit 201, the memory card input/output unit 202,
the cartridge input/output unit 203, the connection unit 205, the
main control unit 208, the main storage unit 210, the
authentication unit 212, the VRAM 215,the video signal generating
unit 216, and the electronic sound generating unit 217 are
respectively connected to the system bus 218.
[0420] The portable game apparatus 200 is connected to the
stationary game apparatus 100 via the cable 30. In addition, the
cartridge 400 and the memory card 300 are loaded to the portable
game apparatus 200.
[0421] (1) Input Unit 201
[0422] The input unit 201 is provided with UP button, DOWN button,
LEFT button, RIGHT button, DECISION button, START button, STOP
button, and other buttons. When an operation directed to each
button is received from a user, operation instruction information
corresponding to the button to which the operation is directed is
generated, and is outputted to the main control unit 208 via the
system bus 118.
[0423] (2) Memory Card Input/Output Unit 202, Cartridge
Input/Output Unit 203, and Connection Unit 205
[0424] When the memory card 300 is loaded to the portable game
apparatus 200, the memory card input/output unit 202 is connected
to the memory card 300, and by being controlled by the main control
unit 208, reads information from the memory card 300, outputs the
read information to the main control unit 208 via the system bus
218, receives information from the main control unit 208 via the
system bus 218, and writes the received information to the memory
card 300.
[0425] The cartridge input/output unit 203, by being controlled by
the main control unit 208, reads information from the cartridge
400, and outputs the read information to the main control unit 208
via the system bus 218.
[0426] The connection unit 205 is connected to the stationary game
apparatus 100 via the cable 30, receives information from the
stationary game apparatus 100 via the cable 30, and outputs the
received information to the main control unit 208. The connection
unit 205 also receives information from the main control unit 208,
and outputs the received information to the stationary game
apparatus 100 via the cable 30.
[0427] (3) Liquid Crystal Display Unit 220 and Speaker 221
[0428] The liquid crystal display unit 220 receives a video signal
that includes a vertical retrace time and a horizontal retrace time
from the video signal generating unit 216, and displays an image
according to the received video signal.
[0429] The speaker 221 receives an audio signal from the electronic
sound generating unit 217, converts the received audio signal into
a sound, and outputs the sound.
[0430] (4) Main Storage Unit 210
[0431] The main storage unit 210 is made of a RAM, and stores such
information as a portable game program 231, a portable character
processing program 235, a portable development item table 236,
character data 237, a resumption stage No. and a resumption step
No, as shown in FIG. 31. The portable game program 231 includes a
related information unit 232, a program unit 233, and an object
data unit 234.
[0432] In addition, the main storage unit 210 is equipped with a
frame buffer. The frame buffer has an area for storing one frame of
image. The frame image is made up of 64,000 pixels in matrix
configuration (320 in a vertical line and 200 in a horizontal
line).
[0433] (5) Authentication Unit 212
[0434] The authentication unit 212 performs mutual apparatus
authentication with an external apparatus connected to the portable
game apparatus 200, using the challenge-response method and by
being controlled by the man control unit 208, prior to
communication or transmission/reception of information between the
main control unit 208 and the external apparatus.
[0435] Here, explanation on challenge-response method is omitted
because it is publicly known.
[0436] The authentication unit 212 outputs the result of the
apparatus authentication to the main control unit 208. In failure
of the apparatus authentication, the authentication unit 212
prohibits the main control unit 208 from communicating and
transmitting/receiving information to/from the external apparatus,
and in success of the apparatus authentication, the authentication
unit 212 permits, to the main control unit 208, communication and
transmission/reception of information with the external
apparatus.
[0437] Here, the external apparatus is one of the stationary game
apparatus 100 and the memory card 300.
[0438] (6) Main Control Unit 208
[0439] The main control unit 208 is specifically comprised of a
microprocessor and a RAM, which are not shown in the drawings. The
RAM stores a computer program. The main control unit 208 achieves
its function by the microprocessor operating according to the
computer program.
[0440] (Menu Display)
[0441] When a user turns on the power to the portable game
apparatus 200, the main control unit 208 generates a same menu
screen as the menu screen 160 of FIG. 22. During the vertical
retrace time, the main control unit 208 writes the generated menu
screen to the VRAM. This menu screen includes at least 3
alternatives.
[0442] The first alternative is used for instructing executing of
the portable game program 411 recorded in the cartridge 400. The
second alternative is used for instructing obtaining of character
data from the server apparatus 600 via the Internet 20 and the
stationary game apparatus 100, and writing the obtained character
data to the memory card 300. The third alternative is used for
instructing other operations.
[0443] When a user selects any one of the alternatives, the main
control unit 208 receives instruction information corresponding to
the selected alternative from the input unit 201, and performs an
operation corresponding to the received instruction
information.
[0444] (Game Execution)
[0445] Upon receiving instruction information instructing execution
of the portable game program 411 from the input unit 201, the main
control unit 208 controls the authentication unit 212 to perform
apparatus authentication with the memory card 300. In success of
the apparatus authentication, the main control unit 208 performs
processing of a game explained below. In failure of the apparatus
authentication, the main control unit 208 does not perform the game
processing thereafter.
[0446] (Game Processing)
[0447] Next, the main control unit 208 reads the portable game
program 441 from the cartridge 400, writes the portable game
program to the main storage unit 210, reads the portable character
processing program 451, writes the portable character processing
program 451 to the main storage unit 210, reads the portable
development item table 461, and writes the portable development
item table to the main storage unit 210. In addition, the main
control unit 208 reads character data 321, a resumption stage No.
335 and a resumption step No. 336 from the memory card 300, and
writes the character data, the resumption state No. 335, and the
resumption step No. 336 to the main storage unit 210.
[0448] Next, the main control unit 208 fetches the instructions one
by one, from the stationary game program unit of the main storage
unit 210, decodes the fetched instructions, and executes the
decoded instructions. Hereinafter, the fetching, the decoding, and
the executing of instruction are repeated.
[0449] (Obtaining Operation of Character Data Performed by
Stationary Game Apparatus 100)
[0450] When the main control unit 208 receives instruction
information indicating to obtain character data from the server
apparatus 600 via the stationary game apparatus 100 and to write
the character data to the memory card 300, the main control unit
208 reads a user ID from the memory card 300 via the memory card
input/output unit 202, and reads a game identifier AID and a public
key APK from the cartridge 400 via the cartridge input/output unit
203. Then, the main control unit 208 performs a digital signature
SIG on the game identifier AID and the user ID using the public key
APK, thereby generating signature data.
[0451] Next, the main control unit 208 transmits the user ID, the
game identifier AID, and the signature data, to the server
apparatus 600 via the stationary game apparatus 100 and the
Internet 20.
[0452] The main control unit 208 receives a verification result of
the digital signature from the server apparatus 600 via the
Internet 20, the stationary game apparatus 100, and the connection
unit 205. When the received verification result indicates a
failure, the main control unit 208 generates a display screen
displaying a message indicating such, writes the generated display
screen to the frame buffer as a frame image, transmits the frame
image from the frame buffer to the VRAM 215 during the vertical
trace time, and ends the processing.
[0453] When the received verification result indicates a success,
themain control unit 208 transmits a communication instruction to
the server apparatus 600 via the connection unit 205, the
stationary game apparatus 100, and the Internet 20, so that the
server apparatus 600 communicates with the memory card 300. In
addition, the main control unit 208 outputs a communication
instruction to the memory card 300 via the memory card input/output
unit 202, so that the memory card 300 communicates with the server
apparatus 600.
[0454] Next, the main control unit 208 receives a result of
apparatus authentication between the server apparatus 600 and the
memory card 300, from the server apparatus 600 via the Internet 20,
the stationary game apparatus 100, and the connection unit 205. In
addition, the main control unit 208 receives a result of apparatus
authentication between the server apparatus 600 and the memory card
300, from the memory card 300 via the memory card input/output unit
202. When at least one of the received results indicates a failure
in apparatus authentication, the main control unit 208 generates a
display screen displaying a message indicating such, writes to the
frame buffer the generated display screen as a frame image,
transfers the frame image from the frame buffer to the VRAM 215
during the vertical trace time, and ends the processing.
[0455] When both of the received results show success in the
apparatus authentication, the main control unit 208 receives a
search result of the user ID, from the server apparatus 600 and via
the Internet 20, the stationary game apparatus 100, and the
connection unit 205, and when the received search result shows
nonexistence of the user ID, the main control unit 208 generates a
display screen displaying a message indicating such, writes to the
frame buffer the generated display screen as a frame image,
transfers the frame image from the frame buffer to the VRAM 215
during the vertical retrace time. The main control unit 208 also
outputs the received search result to the memory card 300 via the
memory card input/output unit 202, and ends the processing.
[0456] In addition, when the received search result indicates
existence of the user ID, the main control unit 208 receives
character data from the server apparatus 600 via the Internet 20,
the stationary game apparatus 100, and the connection unit 205, and
outputs the received character data to the memory card 300 via the
memory card input/output unit 202.
[0457] In addition, the main control unit 208 receives completion
information indicating completion of writing of the character data,
from the memory card 300 via the memory card input/output unit 202,
and transmits the received completion information to the server
apparatus 600 via the connection unit 205, the stationary game
apparatus 100, and the Internet 20.
[0458] (Execution of Portable Character Processing Program)
[0459] The main control unit 208 also fetches an instruction
included in the portable character processing program stored in the
main storage unit 210, decodes the fetched instruction, and
executes the decoded instruction. The main control unit 208 repeats
the fetching, the decoding, and the executing of instruction.
[0460] (7) VRAM 215
[0461] The VRAM 215 has an area for storing one frame of image. The
frame image is made up of 64,000 pixels in matrix configuration
(320 in avertical line and 200 in a horizontal line). Here, the
frame image has the same size as the frame image stored in the
frame buffer.
[0462] (8) Video Signal Generating Unit 216
[0463] The video signal generating unit 216 repeats the following
(a)-(b), every 1/60 second.
[0464] (a) Generates a vertical synchronizing signal, and outputs
it to the liquid crystal display unit 220. This time period is
called "vertical retrace time".
[0465] (b) Repeats the following (b1)-(b3) for 200 times (200 times
corresponding to the number of pixel in the vertical line of one
frame image).
[0466] (b1) Reads, from the VRAM 215, pixels on one horizontal line
of one frame image (320 pixels).
[0467] (b2) Generates one line of video signal and horizontal
synchronizing signal, using the read frame image.
[0468] (b3) Outputs the one line of video signal and horizontal
synchronizing signal, to the liquid crystal display unit 220.
[0469] (9) Electronic Sound Generating Unit 217 and Speaker 221
[0470] The electronic sound generating unit 217, by being
controlled by the main control unit 208, reads digital audio
information from the main storage unit 210, decodes the read audio
information, converts the decoded audio information into an
analogue audio signal, and outputs the analogue audio signal to the
speaker 221.
[0471] The speaker 221 receives the audio signal from the
electronic sound generating unit 217, converts the received audio
signal into a sound, and outputs the sound. 1.8 Convenience-Store
Terminal 700
[0472] As FIG. 32 shows, the convenience-store terminal 700 is
comprised of a display unit 701, an input unit 702, a control unit
703, a memory card input/output unit 704, a communication unit 705,
a cash receiving unit 706, and a storage 707.
[0473] (1) Display Unit 701 and Input Unit 702
[0474] The display unit 701 displays various types of information,
by being controlled by the control unit 703.
[0475] The input unit 702 receives an instruction from an operator
of the convenience-store terminal 700, and outputs instruction
information corresponding to the received instruction, to the
control unit 703.
[0476] (2) Control Unit 703
[0477] The control unit 703 receives, from the input unit 702,
instruction information indicating obtaining of character data from
the server apparatus 600. Upon reception of the instruction
information, the control unit 703 transmits authentication
instruction for instructing mutual apparatus authentication between
the memory card 300 and the server apparatus 600, to the server
apparatus 600 via the communication unit 705 and the Internet 20.
Then the control unit 703 outputs the authentication instruction to
the memory card 300 via the memory card input/output unit 704.
[0478] Next, the control unit 703 receives a result of apparatus
authentication between the server apparatus 600 and the memory card
300, from the server apparatus 600 via the Internet 20 and the
communication unit 705. In addition, the control unit 703 receives
a result of apparatus authentication between the server apparatus
600 and the memory card 300, from the memory card 300 via the
memory card input/output unit 704. If at least one of the received
results indicates a failure of apparatus authentication, the
control unit 703 generates a display screen displaying a message
indicating such, outputs the generated display screen to the
display unit 701, controls the display unit 701 to display the
display screen, and ends the processing.
[0479] When both of the received results show success in the
apparatus authentication, the control unit 703 receives game sales
information from the server apparatus 600 via the Internet 20 and
the communication unit 705, generates a game list using the
received game sales information, outputs the generated game list to
the display unit 701, and controls the display unit 701 to display
the game list.
[0480] Next, the control unit 703 receives a game identifier of a
game selected by a user, from the input unit 702, receives, from
the cash receiving unit 706, receipt information indicating receipt
of cash corresponding to the selected game, and transmits the
received game identifier to the server apparatus 600 via the
communication unit 705 and the Internet 20.
[0481] Next, the control unit 703 receives character data from the
server apparatus 600 via the Internet 20 and the communication unit
705, and outputs the received character data to the memory card 300
via the memory card input/output Unit 704.
[0482] (3) Memory Card Input/Output Unit 704
[0483] When the memory card 300 is loaded to the convenience-store
terminal 700, the memory card input/output unit 704 is connected to
the memory card 300, and by being controlled by the control unit
703, reads information from the memory card 300 and outputs the
read information to the control unit 703, or receives information
from the control unit 703 and outputs the received information to
the memory card 300.
[0484] (4) Communication Unit 705
[0485] The communication unit 705 is connected to the server
apparatus 600 via the Internet 20, and transmits/receives
information to/from the server apparatus 600 via the Internet
20.
[0486] (5) Cash Receiving Unit 706 and Storage 707
[0487] The cash receiving unit 706 receives cash in an amount
corresponding to the sales price of the game selected by the user,
and outputs receipt information indicating the receipt of the cash,
to the control unit 703.
[0488] The storage 707 stores the cash received by the cash
receiving unit 706.
[0489] 1.9 Operations of Game System 10
[0490] The following describes operations of the game system
10.
[0491] (1) Operations of Stationary Game Apparatus 100
[0492] The following describes operations performed by the
stationary game apparatus 100, with use of the flowchart of FIG.
33.
[0493] When a user turns on the power to the stationary game
apparatus 100, the main control unit 108 generates a menu screen
160, and the monitor 120 displays the generated menu screen 160
(Step S501).
[0494] When the user selects one of the alternatives included in
the menu screen 160, the main.control unit 108 receives instruction
information corresponding to the selected alternative, from the
operation controller 122 via the controller control unit 101 (Step
S502).
[0495] When the received instruction information indicates display
of a title list (Step S503), the main control unit 108 reads a
plurality of game titles from the DVD 500 and from the
large-capacity storage unit 111, via the drive unit 103 (Step
S504), generates a list of game titles which is constituted by the
read game titles, and then the monitor 120 displays the list of
game titles (Step S505).
[0496] When the user selects one of the game titles, the main
control unit 108 obtains a game identifier corresponding to the
selected game title, from the operation controller 122 via the
controller control unit 101 (Step S506).
[0497] Next, the main control unit 108 controls the authentication
unit 107 to perform apparatus authentication with the memory card
300, and the authentication unit 107 performs the apparatus
authentication (Step S507). In success of the apparatus
authentication (Step S508), the main control unit 108 performs game
processing (Step S509). Next, the control returns to Step S501, to
repeat the processing. In failure of the apparatus authentication
(Step S508), the game processing there after is not performed, and
the control returns to Step S501 to repeat the processing.
[0498] When the main control unit 108 obtains, from the server
apparatus 600, instruction information indicating to obtain
character data and to write the character data to the memory card
300 (Step S503), the main control unit 108 performs processing for
obtaining the character data at the stationary game apparatus 100
(Step S510) and returns to Step S501 to repeat the processing.
[0499] When receiving information indicating one of the other
processing instructions (Step S503), the main control unit 108
performs the processing indicated by the received information (Step
S512), and returns to Step S501 to repeat the processing.
[0500] (2) Game Processing by Stationary Game Apparatus 100
[0501] The following describes game processing performed by the
stationary game apparatus 100, using the flowchart of FIG. 34. Note
that the operations described below are the greater details of
Steps 509 of the flowchart shown in FIG. 33.
[0502] The main control unit 108, from the DVD 500, reads a
stationary game program 511, writes the stationary game program 511
to the main storage unit 110 (Step S531), reads an object data unit
541, writes the object data unit 541 to the graphics storage unit
114 (step S532), reads a stationary character processing program
551, writes the stationary character processing program 551 to the
graphics storage unit 114 (Step S533), reads a stationary
development item table 561, and writes the stationary development
item table 561 to the main storage unit 110 (Step S534). In
addition, the main control unit 108 reads character data 321, a
resumption stage No. 335 and a resumption step No. 336, from the
memory card 300, writes the character data, the resumption stage
No. 335, and the resumption step No. 336 to the main storage unit
110, and writes-the height and the weight included in the read
character data 321, to the graphics storage unit 114 (Step
S535).
[0503] Next, the main control unit 108 fetches the instructions one
by one, from the program unit of the stationary game program stored
in the main storage unit 110 (Step S536), decodes the fetched
instructions (Step S537), and executes the decoded instructions
(Step S538). Hereinafter, the control returns to Step S536, thereby
repeating the fetching, the decoding, and the executing of
instruction.
[0504] (3) Obtaining Operation of Character Data Performed by
Stationary Game Apparatus 100
[0505] The following describes operations performed by the
stationary game apparatus 100 in obtaining character data from the
server apparatus 600 and writing the character data to the memory
card 300, using the flowcharts of FIGS. 35-36. Note that the
operations described below are the greater details of Step S510 of
the flowchart shown in FIG. 33.
[0506] Upon reception of instruction information indicating to
obtain character data from the server apparatus 600 and to write
the character data to the memory card 300 (Step S601), the main
control unit 108 reads a user ID from the memory card 300 via the
memory card input/output unit 102 (Step S602), reads a game
identifier BID and a public key BPK from the DVD 500 via the drive
unit 103 (Step S603), and then using the read public key BPK,
performs a digital signature SIG on the game identifier BID and the
user ID, thereby generating signature data (Step S604), and then
transmits the user ID, the game identifier BID, and the signature
data to the server apparatus 600 via the communication unit 104 and
the Internet 20 (Step S605).
[0507] The control unit 602 receives the user ID, the game
identifier BID, and the signature data from the stationary game
apparatus 100 via the Internet 20 and the communication unit 605
(Step S605), and reads a secret key corresponding to the received
game identifier BID, from the game information table 621 that the
information storage unit 601 owns (Step S606), and using the read
secret key, performs a digital signature verification "VRFY" on the
game identifier BID, the user ID, and the signature data, thereby
obtaining a verification result (Step S607). Next, the control unit
602 transmits the verification result, obtained by the digital
signature verification "VRFY", to the stationary game apparatus 100
via the communication unit 605 and the Internet 20 (Steps S609,
S610). When the verification result indicates a failure (Step
S608), the control unit 602 does not perform the processing there
after.
[0508] In addition, the control unit 108 receives the verification
result of the digital verification from the server apparatus 600
via the Internet 20 and the communication unit 104 (Step S609, Step
S610). When the received verification result indicates a failure
(Step S611), the main control unit 108 generates a display screen
displaying a message indicating such, writes the generated display
screen to the frame buffer 106 as a frame image, outputs, to the
graphics control unit 113, a control signal indicating that an
instruction has been written to the register unit 109, writes a
screen display instruction to the register R0 151 of the register
unit 109, and the monitor 120 displays the frame image (Step S612),
then the processing is ended.
[0509] When the received verification result indicates a success
(Step S611), the main control unit 108 transmits a communication
instruction to the server apparatus 600 via the communication unit
104 and the Internet 20, so that the server apparatus 600
communicates with the memory card 300 (Step S613), and also outputs
a communication instruction to the memory card 300 via the memory
card input/output unit 102, so that the memory card 300
communicates with the server apparatus 600 (Step S614).
[0510] When the verification result indicates a success (Step
S608), the control unit 602 receives a communication instruction
from the stationary game apparatus 100 via the Internet 20 and the
communication unit 605 (Step S613), and the server apparatus 600
and the memory card 300 perform mutual apparatus authentication
(Step S615).
[0511] The control unit 302 receives a result of the apparatus
authentication from the authentication unit 304, and outputs the
received result to the stationary game apparatus 100 via the
input/output unit 303 (Step S617). When the result of the apparatus
authentication indicates a failure (Step S619), the control unit
302 ends the processing.
[0512] Next, the main control unit 108 receives the result of the
apparatus authentication between the server apparatus 600 and the
memory card 300, from the server apparatus 600 via the Internet 20
and the communication unit 104 (Step S616), and also receives the
result of the apparatus authentication between the server apparatus
600 and the memory card 300, from the memory card 300 via the
memory card input/output unit 102 (Step S617). When at least one of
the received results indicates a failure in the apparatus
authentication (Step S620), the main control unit 108 generates a
display screen displaying a message indicating such, writes the
generated display screen to the frame buffer 106 as a frame image,
outputs, to the graphics control unit 113, a control signal
indicating that an instruction has been written to the register
unit 109, writes a screen display instruction to the register R0
151 of the register unit 109, and the monitor 120 displays the
frame image (Step S621), and ends the processing.
[0513] The control unit 602 receives an authentication result from
the authentication unit 606, and transmits the received
authentication result to the stationary game apparatus 100 via the
communication unit 605 and the Internet 20 (Step S616). Here, when
the authentication result indicates a failure (Step S618), the
control unit 602 does not perform the processing thereafter.
[0514] On the other hand, when the authentication result indicates
a success (Step S618), the control unit 602 searches the user
purchase information table 631 for the received user ID (Step
S622), and when the received user ID does not exist in the user
purchase information table 631 (Step S623), the control unit 602
transmits a search result indicating such to the stationary game
apparatus 100 via the communication unit 605 and the Internet 20
(Step S624).
[0515] When both of the received results show a success in
apparatus authentication (Step S621), the main control unit 108
receives the search result about the user ID, from the server
apparatus 600 via the Internet 20 and the communication unit 104
(Step S624), and when the received search result indicates
nonexistence of the user ID (Step S625), the main control unit 108
generates a display screen displaying a message indicating such,
writes the generated display screen to the frame buffer 106 as a
frame image, outputs, to the graphics control unit 113, a control
signal indicating that an instruction has been written to the
register unit 109, and writes a screen display instruction to the
register R0 151 of the register unit 109, and the monitor 120
displays the frame image (Step S626). In addition, the main control
unit 108 outputs the received search result to the memory card 300
via the memory card input/output unit 102 (Step S627), and then
ends the processing.
[0516] When the result of the apparatus authentication indicates a
success. (Step S619), and the received search result indicates
nonexistence of the user ID (Step S628), the control unit 302 ends
the processing.
[0517] When the received user ID exists in the user purchase
information table 631 (Step S623), the control unit 602 reads, from
the game information table 621, character data corresponding to the
received game identifier (Step S629), and transmits the read
character data to the stationary game apparatus 100 via the
communication unit 605 and the Internet 20 (Step S630).
[0518] When the received search result shows existence of the user
ID (Step S625), then the main control unit 108 receives character
data from the server apparatus 600 via the Internet 20 and the
communication unit 104 (Step S630), and outputs the received
character data to the memory card 300 via the memory card
input/output unit 102 (Step S631).
[0519] The control unit 302 receives the character data via the
input/output unit 303 (Step S631), writes the received character
data to the information storage unit 301 (Step S632), and when the
writing has been complete, outputs completion information
indicating the writing completion to the stationary game apparatus
100 via the input/output unit 303 (Step S633).
[0520] The main control unit 108 receives the completion
information indicating the writing completion of the character
data, from the memory card 300 via the memory card input/output
unit 102 (Step S633), and transmits the received completion
information to the server apparatus 600 via the communication unit
104 and the Internet 20 (Step S634).
[0521] Next, the control unit 602 receives the completion
information indicating the writing completion of the character data
to the memory card 300, from the stationary game apparatus 100 via
the Internet 20 and the communication unit 605 (Step S634), and
performs billing processing directed to a user that the user ID
identifies (Step S635).
[0522] (4) Obtaining Operations of Character Data Performed by
Portable Game Apparatus 200
[0523] The following describes operations performed by the portable
game apparatus 200 in obtaining character data from the server
apparatus 600 via the Internet 20 and the stationary game apparatus
100, and writing the character data to the memory card 300, using
the flowcharts of FIGS. 37-38.
[0524] The operations performed by the portable game apparatus 200
in obtaining character data are almost the same as the operations
performed by the stationary game apparatus 100 in obtaining
character data shown in the flowcharts of FIGS. 35-36, and so
detailed explanation is omitted in the following.
[0525] The operations performed by the stationary game apparatus
100 explained in the flowcharts of FIGS. 35-36 are replaced by the
operations performed by the portable game apparatus 200 in the
flowcharts of FIGS. 37-38. The portable game apparatus 200 obtains
character data from the server apparatus 600 via the stationary
game apparatus 100.
[0526] Comparing the flowcharts of FIGS. 37-38 with the flowcharts
of FIGS. 35-36, steps assigned reference signs having the identical
4 highest-order characters correspond to each other (e.g.
"S601").
[0527] (5) Game Processing by Portable Game Apparatus 200
[0528] The following describes game processing performed by the
portable game apparatus 200, using the flowchart of FIG. 39.
[0529] The authentication unit 212 performs mutual apparatus
authentication with the memory card 300 (Step S701). In failure of
the apparatus authentication (Step S702), the portable game
apparatus 200 does not perform the game processing thereafter.
[0530] In success of the apparatus authentication (Step S702), the
main control unit 208, from the cartridge 400 , reads a portable
game program 411, writes the read portable game program 411 to the
main storage unit 210 (Step S703), reads a portable character
processing program 451, writes the read portable character
processing program 451 to the main storage unit 210 (Step S705),
reads the portable development item table 461, writes the read
portable development item table 461 to the main storage unit 210
(Step S706). In addition, the main control unit 208 reads character
data 321, a resumption stage No. 335 and a resumption step No. 336
from the memory card 300, and writes the character data, the
resumption stage No. 335 and the resumption step No. 336, to the
main storage unit 210 (Step S707).
[0531] Next, the main control unit 208 fetches the instructions one
by one,from the program unit of the portable game program stored in
them a in storage unit 210 (Step S708), decodes the fetched
instructions (Step S709), and executes the decoded instructions
(Step S710). Hereinafter, the main control unit 208 returns to Step
S708, thereby repeating the fetching, the decoding, and the
executing of instruction.
[0532] (6) Obtaining Operation of Character Data Performed by
Convenience-Store Terminal 700
[0533] The following describes operations performed by the
convenience-store terminal 700 in obtaining character data from the
server apparatus 600 via the Internet 20 and writing the character
data to the memory card 300, using the flowchart of FIG. 40.
[0534] The control unit 703 receives, from the input unit 702,
instruction information indicating to obtain character data from
the server apparatus 600 (Step S801), transmits authentication
instruction indicating to perform mutual apparatus authentication
between the memory card 300 and the server apparatus 600, to the
server apparatus 600 via the communication unit 705 and the
Internet 20 (Step S802), and outputs the authentication instruction
to the memory card 300 via the memory card input/output unit 704
(Step. S803).
[0535] The server apparatus 600 and the memory card 300 perform
mutual apparatus authentication (Step S804).
[0536] The control unit 602 transmits an authentication result of
the apparatus authentication to the convenience-store terminal 700
via the communication unit 605 and the Internet 20 (Step S805).
When the authentication result indicates a failure (Step S807), the
control unit 602 does not perform the processing there after.
[0537] In addition, the input/output unit 303 outputs the
authentication result of the apparatus authentication to the
convenience-store terminal 700 (Step S806). When the authentication
result indicates a failure (Step S808), the control unit302 does
notperform the processing there after.
[0538] When the authentication result indicates a success (Step
S807), the control unit 602 reads all the game sales information
from the game sales information table 641 (Step S809), and
transmits the read game sales information to the convenience-store
terminal 700 via the communication unit 605 and the Internet 20
(Step S810).
[0539] Next, the control unit 703 receives a result of apparatus
authentication between the server apparatus 600 and the memory card
300, from the server apparatus 600 via the Internet 20 and the
communication unit 705 (Step S805), and also receives a result of
apparatus authentication between the server apparatus 600 and the
memory card 300 (Step S806). When at least one of the received
results indicates a failure in apparatus authentication (Step
S820), the control unit 703 generates a display screen displaying a
message indicating such, outputs the generated display screen to
the display unit 701, and controls the display unit 701 to display
the display screen (Step S821), and ends the processing.
[0540] When both of the received results show success in the
apparatus authentication (Step S820), the control unit 703 receives
game sales information from the server apparatus 600 via the
Internet 20 and the communication unit 705 (Step S810), generates a
game list using the received game sales information, outputs the
generated game list to the display unit 701, and controls the
display unit 701 to display the game list (Step S811).
[0541] Next, the control unit 703 receives a game identifier of a
game selected by a user from the input unit 702 (Step S812),
receives receipt information indicating receipt of cash
corresponding to the selected game, from the cash receiving unit
706 (Step S813), and transmits the received game identifier to the
server apparatus 600 via the communication unit 705 and the
Internet 20 (Step S814).
[0542] Next, the control unit 602 receives the game identifier from
the convenience-store terminal 700 via the Internet 20 and the
communication unit 605 (Step S814), reads character data
corresponding to the game identifier from the game information
table 621 (Step S815), transmits the read character data to the
convenience-store terminal 700 via the communication unit 605 and
the Internet 20 (Step S816).
[0543] Next, the control unit 703 receives the character data from
the server apparatus 600 via the Internet 20 and the communication
unit 705 (Step S816), and outputs the received character data to
the memory card 300 via the memory card input/output unit 704 (Step
S817).
[0544] The control unit 302 receives the character data from the
convenience-store terminal 700 via the input/output unit 303 (Step
S817), and writes the received character data to the information
storage unit 301 (Step S818).
2. SUMMARY
[0545] As described so far, the stationary game apparatus and the
portable game apparatus of the present invention save their own
game software program, and the game software program is provided
for a user by being stored in a recording medium suitable for a
corresponding game apparatus.
[0546] In addition, character data representing characteristics of
a character appearing in a game, such as form and competence in the
game, is stored in a memory card.
[0547] The stationary game apparatus and the portable game
apparatus respectively read a game software program from their own
recording medium, reads character data from the memory card, so as
to proceed with the game according to the corresponding game
software program. In the game proceeding, the character appearing
in the game is made to have form and competence represented by the
character data read from the memory card.
[0548] In this way, the same character can be made appear in the
course of the same game, in both of a stationary game apparatus and
a portable game apparatus having different specification with each
other in various aspects such as system architecture, type and
number of internal processors, and display competence of
screen.
[0549] In the course of a game, the form and competence of a
character varies in various ways.
[0550] For example, when a user suspends a game at a stationary
game apparatus, in the middle of a process of the game, the
stationary game apparatus stores to a memory card characteristics
of the character such as competence and form, together with
information indicating a time at which the game was suspended. When
the user resumes the game on a portable game apparatus, the
portable game apparatus reads from the memory card the
characteristics of the character such as competence and form,
together with the information indicating the time at which the game
was suspended, and proceeds with the game by making the character
appear, who has the competence and the form at the time at which
the game was suspended, and vice visa.
[0551] In this way, a user can proceed with a game in one of a
stationary game apparatus and a portable game apparatus, and after
suspension, he can proceed with the same game in the other game
apparatus. 3. OTHER MODIFICATION EXAMPLES
[0552] So far, the present invention has been described based on
the embodiment. However needless to say, the present invention
should not be limited to the above-described embodiment, and
include the following cases.
[0553] (1) As a modification example of the game system 10, a game
system 10a may be comprised of a stationary game apparatus 100a, a
portable game apparatus 200a, a memory card 300a, a cartridge 400a,
a DVD 500a, a server apparatus 600a, and a convenience-store
terminal 700a.
[0554] In the game system 10a, the following structure is possible.
That is, when character data is obtained from the server apparatus
600a and is written to the memory card 300a, the server apparatus
600a encrypts the character data thereby generating encrypted
character data, transmits the encrypted character data. In
response, the memory card 300a receives the encrypted character
data, decrypts the received encrypted character data thereby
generating character data, and memorizes the generated character
data.
[0555] The stationary game apparatus 100a, the portable game
apparatus 200a, the memory card 300a, the cartridge 400a, the DVD
500a, the server apparatus 600a, and the convenience-store terminal
700a respectively have a similar structure as the counterparts in
the game system 10, namely, the stationary game apparatus 100, the
portable game apparatus 200, the memory card 300, the cartridge
400, the DVD 500, the server apparatus 600, and the
convenience-store terminal 700. The following description focuses
the difference therebetween.
[0556] The server apparatus 600a further includes an encryption
unit, and stores therein a character key associated with character
data. The memory card 300a further includes an encryption unit. The
DVD 500a further stores therein medium-unique information that is
unique to the DVD. The cartridge 400a further stores therein
cartridge-unique information that is unique to the cartridge. Here,
the medium-unique information and the cartridge-unique information
are respectively stored in areas to which overwriting is
impossible.
[0557] (a) The following describes operations performed in
obtaining character data from the server apparatus 600a via the
stationary game apparatus 100a and writing it in the memory card
300a, using FIG. 41.
[0558] The server apparatus 600a obtains medium-unique information
from the DVD 500a (Step S851), performs an encryption algorithm E2
on a character key using the obtained medium-unique information as
a key thereby generating an encrypted character key (Step S853),
and transmits the encrypted character key to the memory card 300a
via the stationary game apparatus 100a (Step S855).
[0559] In addition, the server apparatus 600a performs an
encryption algorithm E1 on the character data using the character
key as a key thereby generating encrypted character data (Step
S852), and transmits the encrypted character data to the memory
card 300a via the stationary game apparatus 100a (Step S854).
[0560] The memory card 300a receives the encrypted character data
from the server apparatus 600a via the stationary game apparatus
100a (Step S854), and receives the encrypted character key (Step
S855).
[0561] The memory card 300a obtains medium-unique information from
the DVD 500a via the stationary game apparatus 100a (Step S856),
performs a decryption algorithm D2 on the encrypted character key
using the obtained medium-unique information as a key, thereby
generating a character key (Step S857). Next, the memory card 300a
performs a decryption algorithm D1 on the encrypted character data
using the generated character key as a key, thereby generating
character data, and memorizes the generated character data inside
(Step S858).
[0562] When executing a program, the memory card 300a outputs the
character data stored therein, to the stationary game apparatus
100a (Step S859).
[0563] Here, one example of the encryption algorithm E1 is an
elliptic curve encryption whose security is based on the discrete
logarithm problem. In addition, the decryption algorithm D1 is an
algorithm for decrypting a cipher text generated by the encryption
algorithm E1.
[0564] In addition, one example of the encryption algorithm E2 is
based on DES (data encryption standard). In addition, the
decryption algorithm D2 is an algorithm for decrypting a cipher
text generated by the encryption algorithm E2.
[0565] (b) The following describes operations performed in
obtaining character data from the server apparatus 600a via the
stationary game apparatus 100a and the portable apparatus 200a and
writing it in the memory card 300a, using FIG. 42.
[0566] The server apparatus 600a obtains cartridge-unique
information from the cartridge 400a (Step S861), and performs the
encryption algorithm E2 on the character key using the obtained
cartridge-unique information as a key thereby generating an
encrypted character key (Step S863), and transmits the encrypted
character key to the memory card 300a via the stationary game
apparatus 100a and the portable game apparatus 200a (Step
S865).
[0567] In addition, the server apparatus 600a performs the
encryption algorithm E1 on character data using a character key as
a key thereby generating encrypted character data (Step S862), and
transmits the encrypted character data to the memory card 300a via
the stationary game apparatus 100a and the portable game apparatus
200a (Step S864).
[0568] The memory card 300a obtains the encrypted character data
from the server apparatus 600a via the stationary game apparatus
100a and the portable game apparatus 200a (Step S864), and receives
the encrypted character key (Step S865).
[0569] The memory card 300a obtains cartridge-unique information
from the cartridge 400a via the portable game apparatus 200a (Step
S866), and performs a decryption algorithm D2 on the encrypted
character key using the cartridge-unique information as a key,
thereby generating a character key (Step S867). Next, the memory
card 300a performs a decryption algorithm D1 on the encrypted
character data using the generated character key as a key, thereby
generating character data, and memorizes the character data inside
(Step S868).
[0570] In executing a game, the memory card 300a outputs the
character data memorized therein to the portable game apparatus
200a (Step S869).
[0571] (c) According to the above-described modification example,
without the DVD 500a or the cartridge 400a, the encrypted character
key cannot be decrypted, and so the encrypted character data cannot
be decrypted either.
[0572] Therefore the security in transmission of character data is
enhanced.
[0573] (2) In the embodiment, when the memory card 300 obtains
character data from the server apparatus 600, the server apparatus
600 performs billing processing directed to the user for the amount
of money corresponding to the provided character data. However the
memory card 300 may further has an electronic money function,
receive billing information relating to the amount of money from
the server apparatus 600, and perform billing processing within the
memory card 300 based on the received billing information.
[0574] The memory card 300 stores therein a secret key of itself
and electronic money that can be used in place of currency, in the
area to which external access is prohibited. In addition, the
memory card 300 prestores a billing source ID that identifies the
server apparatus 600. Furthermore, the server apparatus 600
prestores a public key that corresponds to the secret key of the
memory card 300, and also prestores a billing source ID that
identifies itself.
[0575] The following describes billing processing performed between
the server apparatus 600 and the memory card 300, using the
flowchart of FIG. 43. Note that the billing processing explained
here is an alternative of Step S635 in the flowchart of FIG.
36.
[0576] The server apparatus 600 calculates the billing amount (Step
S872), obtains a billing source ID that identifies the server
apparatus 600 (Step S872), performs a digital signature SIG on the
billing amount and the billing source ID using the public key of
the memory card 300 obtained in advance, thereby generating
signature data (Step S873), and transmits the billing amount, the
billing source ID, and the signature data to the memory card 300
via the Internet 20 and the stationary game apparatus 100 (Step
S874-Step S875).
[0577] The memory card 300 performs a verification VRFY of the
digital signature on the billing amount, the billing source ID, and
the signature data, using the secret key that the memory card 300
prestores therein (Step S876).
[0578] When the verification result indicates a failure (Step
S877), the memory card 300 transmits failure information indicating
the verification failure to the server apparatus 600 via the
stationary game apparatus 100 and the Internet 20 (Step S878-Step
S879).
[0579] When the verification result indicates a success (Step
S877), the memory card 300 further judges whether the prestored
billing source ID is in accordance with the received billing source
ID, and when they are not in accordance with each other (Step
S880), failure information indicating such is transmitted to the
server apparatus 600 via the stationary game apparatus 100 and the
Internet 20 (Step S882-Step S883).
[0580] When they are in accordance with each other (Step S880), the
memory card 300 subtracts the received billing amount from the
electronic money stored inside (Step S881).
[0581] (3) In the above-described embodiment, the game system
includes a stationary game apparatus and a portable game apparatus.
However the game system may include a personal computer instead of
a stationary game apparatus, and a portable information terminal
apparatus and a portable phone instead of a portable game
apparatus. In such a case, the personal computer will be designed
to have the same structure as the stationary game apparatus, and
the portable information terminal apparatus and the portable phone
will be designed to have the same structure as the portable game
apparatus.
[0582] In addition, in the above-described embodiment, the game
system includes a stationary game apparatus and a portable game
apparatus. However, the game system may include another stationary
game apparatus instead of the portable game apparatus, which is has
a different internal structure from the stationary game
apparatus.
[0583] (4) In the above-described embodiment, the game system
includes a stationary game apparatus and a portable game apparatus.
However the game system may include: a game apparatus A produced by
a maker A, instead of the stationary game apparatus; and a game
apparatus B produced by a maker B, instead of the portable game
apparatus.
[0584] Here, the game apparatus A and the game apparatus B are
assumed to differ in many aspects such as system architecture, type
and number of internal processor, and display competence of
screens. For example, the game apparatus A is assumed to have the
same structure as the stationary game apparatus of the
above-described embodiment, and the game apparatus B is assumed to
have the same structure as the portable game apparatus of the
above-described embodiment.
[0585] Also in such a case, each of the game apparatuses can save
the same character appear in the course of procedure of the same
game, just as in the embodiment.
[0586] (5) In the above-described embodiment, the character data
indicating the characteristics of the character changes in the
course of the game. When the game is suspended, the character data
after changed is written to the memory card. However it is
alternatively possible to write, to the memory card, only the
difference between the character data in initial state and in
changed state.
[0587] (6) Each game software program may be structured so that
degree of change in character data varies for different game
apparatuses.
[0588] For example, the following arrangements are possible. That
is, the weight flag is set to be ON for both of the stationary
development item table and the portable development item table, and
that the stationary main program includes an instruction for
increasing the weight by "1.0" at Step S118 of FIGS. 9-10. Still,
the portable main program includes an instruction for increasing
the weight by "0.5" as originally shown by Step S418 of FIGS.
25-26.
[0589] With the above arrangement, the degree of character
development can be changed according to a type of game apparatuses,
by changing the degree of character data for each game
apparatus.
[0590] In addition the stationary development item table and the
portable development item table may include the degree of change
for character data.
[0591] Specifically, the following arrangement is possible. In the
stationary development item table, the weight flag and a degree 1.0
indicating the change in weight of a character are associated with
each other. The stationary main program reads the degree 1.0
indicating a degree of change for weight for a character at Step
S118 of FIGS. 9-10, and includes therein an instruction for
increasing the weight by the read degree 1.0.
[0592] In addition, it is possible to have a plurality of
characters appear in a game, and each character has its own
development item table, and a plurality of development item tables
are to be stored in a DVD or in a cartridge.
[0593] (7) In the above-described embodiment, each of the
stationary development item table and the portable development item
table is structured to be prestored in the DVD 500 or the cartridge
400. However, these tables may not be prestored in the DVD 500 or
in the cartridge 400, and is written to the memory card 300 when
they are to be used, as in the following way.
[0594] First, the server apparatus 600 prestores the stationary
development item table and the portable development item table, in
association with game software.
[0595] The memory card 300 obtains the stationary development item
table and the portable development item table from the server
apparatus 600 in one of the following route: via the stationary
game apparatus 100 and the Internet 20; via the portable game
apparatus 200, the stationary game apparatus 100, and the Internet
20; and via the convenience-store terminal 700 and the Internet 20.
Then the memory card 300 stores therein the stationary development
item table and the portable development item table.
[0596] The stationary game apparatus 100 reads the stationary
development item table from the memory card 300 for use, and the
portable game apparatus 200 reads the portable development item
table for use.
[0597] Here, the stationary game apparatus 100 and the portable
game apparatus 200 may be arranged to overwrite a respective one of
the stationary development item table and the portable development
item table stored in the memory card 300, according to an operation
instruction of a user.
[0598] When a plurality of characters appear in a game and there
are a plurality of development item tables for a plurality of
characters respectively, it is possible that some of the
development item tables are prestored either in a DVD or a
cartridge, and the other development item tables are obtained from
a server apparatus and stored into a memory card.
[0599] (8) In the above-described embodiment, the stationary
development item table and the portable development item table are
respectively stored in the DVD 500 and the cartridge 400, and the
stationary game apparatus 100 reads the stationary development item
table from the DVD 500 for use, and the portable game apparatus 200
reads the portable development item table from the cartridge 400
for use. However, it is also possible that these tables are written
in the memory card 300 for use, as described below.
[0600] The memory card 300 obtains either the stationary
development item table or the portable development item table from
the DVD 500 or from the cartridge 400, via the stationary game
apparatus 100 or via the portable game apparatus 200, and stores
the obtained stationary development item table and portable
development item table.
[0601] Hereafter, the stationary game apparatus 100 reads the
stationary development item table from the memory card 300 for use,
and the portable game apparatus 200 reads the portable development
item table from the memory card 300 for use.
[0602] Here, the stationary game apparatus 100 and the portable
game apparatus 200 may respectively overwrite the stationary
development item table and the portable development item table
stored in the memory card 300, according to an operation
instruction by a user.
[0603] (9) The present invention may be any of the methods
described above. The present invention may also be a computer
program realized by performing these methods on a computer, or a
digital signal comprised of the computer program.
[0604] Furthermore, the present invention may be the computer
program or the digital signal in a form recorded on a
computer-readable recording medium, such as a flexible disk, a hard
disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray
Disc), and a semiconductor memory. In addition, the present
invention may be the computer program or the digital signal
recorded in these recording media.
[0605] In addition, the present invention may be the computer
program or the digital signal transmitted via an electric
communication circuit, wireless/wired communication circuits, a
network represented by the Internet, a data broadcast, and the
like.
[0606] In addition, the present invention may be a computer system
equipped with a microprocessor and a memory, where the memory
stores therein the computer program and the microprocessor operates
according to the computer program.
[0607] In addition, the present invention may be executed on
another independent computer system by transmitting the program or
the digital signal in a form recorded in any of the recording
media, or by transmitting the program or the digital signal via the
network, etc.
[0608] (10) The present invention may be a combination of any of
the embodiment and the modification examples.
INDUSTRIAL APPLICATION
[0609] The present invention is applicable managerially,
continually, and repeatedly, in an industry providing users with
computer game software, and in an industry that produces and sells
a stationary game apparatus, a portable game apparatus, and a
computer system that can execute computer game software.
* * * * *
References