What is claimed is:
1. A multi-player game system for allowing a plurality of players to play a game, comprising:
number-of-players detection means for detecting the number of players participating in the game;
primary game field data storage means f or storing primary game field data concerning a predetermined primary game field which does not vary depending on the number of participating players;
secondary game field data storage means for storing at least two units of secondary game field data concerning a secondary game field which varies depending on the number of participating players, wherein each unit of secondary game field data is associated with a different number of participating players;
secondary game field data selection means for selecting, in accordance with the number of participating players as detected by the number-of-players detection means, one of the at least two units of secondary game field data from the secondary game field data storage means;
game field generation means for combining the primary game field data which has been read from the primary game field data storage means with the secondary game field data which has been selected by the secondary game field data selection means to generate a game field; and
game progression means for allowing the plurality of players to play the game on the game field generated by the game field generation means.
2. The multi-player game system according to claim 1, wherein,
each unit of secondary game field data contains geography data representing a geography of the game field, and
the game field generation means generates the game field so as to have a different geography depending on the number of participating players.
3. The multi-player game system according to claim 1, wherein,
each unit of secondary game field data contains obstacle data representing an obstacle on the game field, and
the game field generation means generates the game field so as to include a different obstacle depending on the number of participating players.
4. The multi-player game system according to claim 3, wherein the obstacle has a different size depending on the number of participating players.
5. The multi-player game system according to claim 4, further comprising collision determination means for detecting the number of player objects which are pushing the obstacle,
wherein, if the collision determination means has determined that the player objects corresponding to a predetermined number of players are pushing the obstacle, the game field generation means generates the game field such that the obstacle appears to have moved.
6. The multi-player game system according to claim 1, wherein
the secondary game field data contains item data representing an item which affects the progress of the game, and
the game field generation means generates the game field so as to include a different item depending on the number of participating players.
7. The multi-player game system according to claim 6, wherein the generated game field includes a different number of items depending on the number of participating players.
8. The multi-player game system according to claim 1, wherein the generated game field includes a plurality of secondary game fields, such that each of the plurality of secondary game fields is defined as a predetermined region on the generated game field from predetermined coordinates.
9. The multi-player game system according to claim 1, wherein the multi-player game system comprises a plurality of game machines, wherein
each player operates a corresponding one of the plurality of game machines,
each game machine includes display means, the display means displaying a portion of the game field near the player object operated by each player.
10. The multi-player game system according to claim 1, wherein
the secondary game field is a region of the primary game field,
the game field generation means applies the secondary game field data which is selected by the secondary game field data selection means to a portion of the primary game field data which is read from the primary game field data storage means.
11. A multi-player game program to be executed by a plurality of game machines on which a plurality of players are allowed to play a game, each of the plurality of game machines comprising: primary game field data storage means for storing primary game field data concerning a predetermined primary game field which does not vary depending on the number of participating players; secondary game field data storage means for storing at least two units of secondary game field data concerning a secondary game field which varies depending on the number of participating players, wherein each unit of secondary game field data is associated with a different number of participating players,
wherein the multi-player game program comprises:
a number-of-players detection program for detecting the number of players participating in the game;
a secondary game field data selection program for selecting, in accordance with the number of participating players as detected by the number-of-players detection program, one of the at least two units of secondary game field data from the secondary game field data storage means;
a game field generation program for combining the primary game field data which has been read from the primary game field data storage means with the secondary game field data which has been selected by the secondary game field data selection program to generate a game field; and
a game progression program for allowing the plurality of players to play the game on the game field generated by the game field generation program.
12. The multi-player game program according to claim 11, wherein,
each unit of secondary game field data contains geography data representing a geography of the game field, and
the game field generation program generates the game field so as to have a different geography depending on the number of participating players.
13. The multi-player game program according to claim 11, wherein,
each unit of secondary game field data contains obstacle data representing an obstacle on the game field, and
the game field generation program generates the game field so as to include a different obstacle depending on the number of participating players.
14. The multi-player game program according to claim 13, wherein the obstacle has a different size depending on the number of participating players.
15. The multi-player game program according to claim 14, further comprising a collision determination program for detecting the number of player objects which are pushing the obstacle,
wherein, if the collision determination program has determined that the player objects corresponding to a predetermined number of players are pushing the obstacle, the game field generation program generates the game field such that the obstacle appears to have moved.
16. The multi-player game program according to claim 11, wherein
the secondary game field data contains item data representing an item which affects the progress of the game, and
the game field generation program generates the game field so as to include a different item depending on the number of participating players.
17. The multi-player game program according to claim 16, wherein the generated game field includes a different number of items depending on the number of participating players.
18. The multi-player game program according to claim 11, wherein the generated game field includes a plurality of secondary game fields, such that each of the plurality of secondary game fields is defined as a predetermined region on the generated game field from predetermined coordinates.
19. The multi-player game program according to claim 11, wherein the number-of-players detection program, the secondary game field data selection program, and the game field generation program are simultaneously executed on the plurality of game machines.
20. The multi-player game program according to claim 11, wherein
the secondary game field is a region of the primary game field,
the game field generation program applies the secondary game field data which is selected by the secondary game field data selection program to a portion of the primary game field data which is read from the primary game field data storage means.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method comprising:
receiving an activity type that represents a type of activity performed by a processor;
determining, based on the activity type, an activity level for each region of a plurality of regions of a memory accessed by the processor, wherein the activity levels include a most-active level and one or more less-active levels;
repositioning data from the regions of the most-active level into a contiguous most-active portion of the memory;
repositioning data from the regions of the one or more less-active levels into a contiguous less-active portion of the memory; and
applying, to the contiguous most-active portion of the memory, higher power than is applied to the contiguous less-active portion of the memory.
2. The method of claim 1, wherein the one or more less-active levels include a mid-active level and a low-active level, and the method further comprises:
repositioning data from regions of the mid-active level into a contiguous mid-active portion of the memory; and
repositioning data from regions of the low-active level into a contiguous low-active portion of the memory.
3. The method of claim 2, further comprising:
applying, to the mid-active portion, a higher power than is applied to the low-active portion.
4. The method of claim 3, further comprising:
disabling the low-active portion.
5. The method of claim 1, wherein the activity type represents a type of a current activity being performed by the processor.
6. The method of claim 1, wherein the activity type represents a type of an upcoming activity to be performed by the processor.
7. The method of claim 1, wherein the repositioning steps result in:
for each respective activity level, data from regions of the respective activity level being in a single contiguous memory portion that is associated with the respective activity level; and
each respective contiguous memory portion occupying memory addresses that are lower than any memory address occupied by any contiguous memory portion of a lower activity level.
8. A system comprising:
a region creator configured to
receive an activity type that represents a type of activity performed by a processor,
determine, based on the activity type, an activity level for each region of a plurality of regions of a memory accessed by the processor, wherein the activity levels include a most-active level and one or more less-active levels,
reposition data from the regions of the most-active level into a contiguous most-active portion of the memory, and
reposition data from the regions of the one or more less-active levels into a contiguous less-active portion of the memory; and
a memory controller configured to apply, to the contiguous most-active portion of the memory, higher power than is applied to the contiguous less-active portion of the memory.
9. The system of claim 8, wherein the one or more less-active levels include a mid-active level and a low-active level, and the region creator is configured to:
reposition data from regions of the mid-active level into a contiguous mid-active portion of the memory; and
reposition data from regions of the low-active level into a contiguous low-active portion of the memory.
10. The system of claim 9, wherein the memory controller is configured to:
apply, to the mid-active portion, a higher power than is applied to the low-active portion.
11. The system of claim 10, wherein the memory controller is configured to:
disable the low-active portion.
12. The system of claim 8, wherein the activity type represents a type of a current activity being performed by the processor.
13. The system of claim 8, wherein the activity type represents a type of an upcoming activity to be performed by the processor.
14. The system of claim 8, wherein the region creator is configured to rearrange the data such that:
for each respective activity level, data from regions of the respective level is in a single contiguous memory portion that is associated with the respective activity level; and
each respective contiguous portion occupies memory addresses that are lower than any memory address occupied by any contiguous portion of a lower activity level.
15. A method for use with a memory that includes memory banks, wherein each memory bank includes regions, and wherein the regions include active regions and inactive regions, the method comprising:
identifying each memory bank that has zero inactive regions as a fully-active bank;
identifying each memory bank that has zero active regions as an inactive bank;
identifying each memory bank that has both (i) at least one active region and (ii) at least one inactive region as a partially-active bank;
identifying the bank, from among the partially-active banks, that has the largest number of active regions as a most active bank; and
swapping the most active bank with another memory bank when the most active bank is not contiguous with one of the fully-active banks.
16. The method of claim 15, further comprising:
identifying the bank, from among the partially-active banks, that has the smallest number of active regions as the least active bank;
applying, to the fully-active banks, higher power than is applied to any of the partially-active banks; and
disabling the inactive banks.
17. The method of claim 15, wherein the swapping leaves the memory banks arranged such that, for each respective memory bank, any memory address of the respective memory bank is lower than any memory address of any memory bank of lower activity level than the activity level of the respective memory bank.
18. A system for use with a memory that includes memory banks, wherein each memory bank includes regions, and wherein the regions include active regions and inactive regions, the system comprising:
a region creator configured to
identify each memory bank that has zero inactive regions as a fully-active bank,
identify each memory bank that has zero active regions as an inactive bank,
identify each memory bank that has both (i) at least one active region and (ii) at least one inactive region as a partially-active bank, and
identify the bank, from among the partially-active banks, that has the largest number of active regions as a most active bank;
a memory controller configured to
swap the most active bank with another memory bank when the most active bank is not contiguous with one of the fully-active banks.
19. The system of claim 18, wherein the region creator is configured to:
identify the bank, from among the partially-active bank, that has the smallest number of active regions as a least active bank;
apply, to the fully-active banks, higher power than is applied to any of the partially-active banks; and
disable the inactive banks.
20. The system of claim 18, wherein the region creator is configured to leave the memory banks arranged such that, for each respective memory bank, any memory address of the respective memory bank is lower than any memory address of any memory bank of lower activity level than the activity level of the respective memory bank.