U.S. Pat. No. 8,021,232

VIDEO GAME METHOD AND APPARATUS FOR STATE-BASED SCROLLING

AssigneeNintendo Co., Ltd.

Issue DateMay 4, 2004

Illustrative Figure

Abstract

A game apparatus CPU turns on a scroll operating flag when it detects that a player object exists at a predetermined position, that is, within a scroll operating range while performing a predetermined action on a contact object. If the scroll operating flag is turned on, first scrolling is performed, and a screen display position is gradually moved so as to be close to a scroll target value. If the operating flag is not turned on, normal adjustment of a screen display position is performed as necessary. After disappearance of the contact object, the first scrolling is not performed, therefore preventing unnatural scroll display (e.g., displaying an item that it is no longer possible to reach due to change of state).

Description

DETAILED DESCRIPTION A game apparatus10exemplary non-limiting implementation shown inFIG. 1includes a game machine12and a game cartridge14connected to the game machine12. A portable game machine such as a GAMEBOY ADVANCE (GAMEBOY ADVANCE: product name) can be used as the game machine12. The game apparatus10is not limited to the portable game machine12. For example, a video game machine can be utilized and connected to a home-use television receiver. Furthermore, a game information storage medium is not limited to the cartridge14. Various information storage medium such as an optical information storage medium including a CD-ROM, a DVD, a magnetooptical disk, a magnetic disk, or the like may be used. A housing of the game machine12is provided with a color liquid crystal display (LCD)16as a display at a nearly center of a front surface thereof. On the LCD16, a game image including a game world and game characters are displayed. On the front surface of the housing, a cross button18, a start button20and a select button22are provided at a predetermined position of the left of the LCD16, and an A button24and a B button26are provided at a predetermined position of the right of the LCD16. Furthermore, an L button28and an R button30are provided at left and right edge portions on an upper surface (ceiling surface) of the housing, respectively. The respective buttons are an operating means for allowing a user to play the game, and are collectively shown as an operating portion32inFIG. 2. The cross button18functions as a direction switch and can move in a top-to-bottom or left-to-right direction a player character (player object), a cursor, and so on that are displayed on the LCD16by operating one of four depressing portions. The start button20is utilized for instructing starting a game. The select button22is utilized for selecting a game mode. The A button24is utilized for ...

DETAILED DESCRIPTION

A game apparatus10exemplary non-limiting implementation shown inFIG. 1includes a game machine12and a game cartridge14connected to the game machine12. A portable game machine such as a GAMEBOY ADVANCE (GAMEBOY ADVANCE: product name) can be used as the game machine12. The game apparatus10is not limited to the portable game machine12. For example, a video game machine can be utilized and connected to a home-use television receiver. Furthermore, a game information storage medium is not limited to the cartridge14. Various information storage medium such as an optical information storage medium including a CD-ROM, a DVD, a magnetooptical disk, a magnetic disk, or the like may be used.

A housing of the game machine12is provided with a color liquid crystal display (LCD)16as a display at a nearly center of a front surface thereof. On the LCD16, a game image including a game world and game characters are displayed.

On the front surface of the housing, a cross button18, a start button20and a select button22are provided at a predetermined position of the left of the LCD16, and an A button24and a B button26are provided at a predetermined position of the right of the LCD16. Furthermore, an L button28and an R button30are provided at left and right edge portions on an upper surface (ceiling surface) of the housing, respectively. The respective buttons are an operating means for allowing a user to play the game, and are collectively shown as an operating portion32inFIG. 2.

The cross button18functions as a direction switch and can move in a top-to-bottom or left-to-right direction a player character (player object), a cursor, and so on that are displayed on the LCD16by operating one of four depressing portions. The start button20is utilized for instructing starting a game. The select button22is utilized for selecting a game mode. The A button24is utilized for selecting (determining) an item designated by the cursor and the B button26is utilized for canceling the selected item. Each of the A button24, the B button26, the L button28, and the R button30makes the player object displayed on the LCD16perform an arbitrary action set in advance for each operation such as throwing, catching, jumping, cutting by a sword, talking, and so forth by being operated singly or in combination thereof.

The housing is, at a depth side of the upper surface, provided with an inserting slot34. Into this inserting slot34, the game cartridge14is detachably inserted. Connectors36and38(FIG. 2) connectable with each other are respectively provided at a depth portion of the inserting slot34and at an opening of edge portion of the inserting direction of the game cartridge14. Thus, when the connectors36and38are connected with each other, the cartridge14is rendered accessible by a CPU40(FIG. 2) of the game machine12. Furthermore, at the near side of an upper surface of the housing, an external expansion connector (connector for communication)42(FIG. 2) is provided. The connector42is connected with a communication cable (not shown) at a time of performing an interactive play of the multi-player game, and so forth.

On the surface of the housing and below the A button24and the B button26, a speaker44is provided for outputting a game sound such as BGM, a sound effect during the game. Furthermore, above the A button24and the B button26, a power lamp46which lights up when a power is turned on, and changes in color depending on a remaining amount of a battery is provided.

In addition, although not illustrated, at the back surface of the housing, a battery accommodating box for setting a battery therein is provided. At the bottom surface of the housing, a power switch, a volume adjustment knob, and a headphones connecting terminal are provided.

FIG. 2is an electric configuration of the game apparatus10(game machine12and cartridge14). Referring toFIG. 2, the game machine12includes the CPU40, and the CPU40is called as a processor, a computer or the like, and responsible for entirely controlling the game machine12. The CPU40is connected with the LCD16, the operating portion32, and the connector36described above via an internal bus, and is also connected with a working memory48and a transmitting/receiving buffer50.

On the LCD16, a game image is displayed in response to a display signal applied from the CPU40. It is noted that although not illustrated, the CPU40is connected with a VRAM, and an LCD controller so as to render background image data, character image data, and game image data on the VRAM under an instruction of the CPU40. Then, the LCD controller reads out the game image data (displayed data) rendered on the VRAM according to an instruction of the CPU40, and displays the characters, a game screen (display screen) on the LCD16. In this non-limiting implementation, the VRAM has a larger storing area than the screen to be displayed on the LCD16.

The operating portion32includes the respective operating buttons18,20,22,24,26,28and30described above, and an operation input signal in response to an operation of each of the operating buttons is applied to the CPU40. Accordingly, the CPU40executes a process according to an instruction of the player (user) applied through the operating portion32.

The working memory48is a writable/readable memory, and utilized as a work area or a buffer area of the CPU40. The transmitting/receiving buffer50is for temporarily storing transmitting/receiving data at a time of performing the interactive play of the multi-player game, and connected to the external expansion connector42. By connecting the connector42with another game machine12by use of the communication cable (not shown), data communications between a plurality of game machines12becomes possible.

Furthermore, although not illustrated, the CPU40is connected with the speaker46via a sound circuit, and in response to an application of a sound signal from the CPU to the sound circuit, a game sound such as a game music or a sound effect is output from the speaker46.

The cartridge14includes a ROM52and a RAM54that are connected with each other via a bus and that are connected to the connector38. Accordingly, as described above, when the cartridge14is inserted into the game machine12, the connector36and the connector38are connected with each other, which electrically connects the CPU40with the ROM52and the RAM54. Accordingly, the CPU40can read predetermined program data from a predetermined area of the ROM52so as to expand the same on the working memory48, read out predetermined backup data from the RAM54so as to write the same to the working memory48, or write and store to a predetermined area of the RAM54game data generated in correspondence with the proceeding of the game in the working memory48.

It is noted that although the flash nonvolatile memory is coupled to the RAM54, a ferroelectric memory (FeRAM), EEPROM, or the like may be used.

The ROM52includes a game program storing area56and a game data storing area58as shown inFIG. 3. In the game program storing area56, a controller input detecting program60, an object control program62, a background control program64, an object displaying program66, a background displaying program68, a communication control program70, a sound control program72, a game progress control program74, and other game programs76, and so on are stored in advance. In the game data storing area58, object image data78, background image data80, map arrangement data82, sound data84, other data86, and so on are stored in advance.

FIG. 4shows one example of a memory map of the working memory48. The working memory48includes a program storing area88and a data storing area90. In the program storing area88, a game program read from the ROM52of the cartridge14is stored entirely at a time, or partially and sequentially. That is, in the program storing area88, the object control program62, the background control program64, the background displaying program68, the object displaying program66, the controller input detecting program60, and other programs (70,72,74,76, and etc.) are stored. The CPU40executes a game process according to the game program. The object control program62includes programs respectively controlling the player object (moving image character operable by the player), a scroll control object, and other objects (enemy object, background object, and etc.), and specifically includes a player object position detecting program62a, a player object operating program62b, a scroll control object arranging program62c, a scroll control object operating program62d, other objects arranging program62e, other objects control program62f, and etc. The background control program64includes a background arranging program64a, and a scroll control program64b.

Furthermore, in the data storing area90, game data read from the ROM52of the cartridge14and game data generated during the game are stored. That is, in the game data storing area90, screen display position data92, player object position data94, player object image data78a, background image data80, map data82, object control data, other data102are stored. The object control data includes scroll operating range data96, scroll target value data98, and scroll operating flag data100. Furthermore, in the other data102, image data of the objects except for the player object78, sound data84, other data86, other game data and flag data required for progressing the game are stored.

The scroll control object is an object utilized for controlling the scroll, and generated and arranged by the scroll control object arranging program62cin the game world. The scroll control object is arranged in a predetermined position in association with a contact object. The contact object is an object that the player object can contact, and may be displayed as a part of the background image such as a static foothold block, a land, or the like, or may be displayed as a moving object such as a moving foothold, the enemy object, or the like. The contact object to which the scroll control object is set allows the scrolling to be operated. It is noted that the scroll control object itself is transparent and invisible to the player, and is not affected by the player object.

Then, to the scroll control object, the scroll control information including the scroll operating range data96, scroll target value data98. is set. By the scroll control object operating program62d, it is determined whether or not a condition for operating a scroll control is satisfied, and the scroll operating flag data100is set according to a state of the game. Then, by the scroll control program64b, scrolling of the display screen is controlled, and in a case that the scroll operating flag is turned on, a screen display position is moved so as to satisfy a scroll target value.

It is noted that the player object position detecting program62ais for detecting a position of the player object in the game world. The player object operating program62bis for operating the player object on the basis of an operation input from the operating portion32. The other objects arranging program62eis for arranging other objects (enemy object, or the like) in the game world, and the other objects control program62fis for operating the other objects.

Furthermore, the background arranging program64agenerates a background image104on the basis of the background image data80, the map data82, as shown inFIG. 5for example. The map data82is for indicating what kind of background (land such as a foothold, wall, and so on, and movable area, and so on) is arranged in a map divided by squares for each square or unit. In a case that the game world in this non-limiting implementation includes several courses or stages, the background image104is equal to one entire course or stage, for example, and is larger than a display screen106to be displayed on the LCD16.

In addition, the background displaying program68and the object displaying program66are for respectively generating displayed data of the display screen106including the background image104and the object image to display the same on the display16. The controller input detecting program60is for detecting and obtaining an operation input signal generated in the operating portion32according to the operation by the player.

The screen display position data92includes position coordinates data of the display screen (game screen)106in the background image104as shown inFIG. 5. The screen display position is indicated by an X-coordinate SCCH and a Y-coordinate SCCV rendering the fixed point O (upper left corner in this non-limiting implementation) of the background image104the origin. Then, by rendering the screen display position (SCCH, SCCV) the reference point of the display screen106, a display range having predetermined lengths (dots) from the reference point in an X direction (right direction inFIG. 5) and in a Y direction (downward direction inFIG. 5) is regarded as the display screen106. The screen display position data92is adjusted so as to be closer to a scroll target when a scroll operating condition is satisfied, or is updated in association with movement of the player object108such that the player object108is captured within the display screen106in a case that the player object108comes near to the edge of the display screen106, and so forth.

As shown inFIG. 5, the player object position data94is the position coordinates data of the player object108in the background image104, and is indicated by the X-coordinate PLXPOS and the Y-coordinate PLYPOS rendering the fixed point O the origin. The player object position data94is calculated and updated on the basis of the operation input from the operating portion32obtained by the controller input detecting program60, and the player object operating program62b.

The scroll operating range data96and the scroll target value data98are stored for each scroll control object. The scroll operating range data96is for setting one of the scroll operating conditions. That is, one condition is that the player object108is located within the operating range determined by the scroll operating range data96. The scroll operating range data96includes operating range left-side data SCRLEFT defining the X-coordinate on the left side of the operating range, and operating range right-side data SCRRIGHT defining the X-coordinate on the right side of the operating range in this non-limiting implementation. It is noted that the scroll operating range is not limited to define boundaries right to left, and may be for defining the boundaries up and down, or may be a constant area, and so on separated by the boundaries from right to left or up and down, for example.

The scroll target value data98is data SCRPOINT indicative of a target of movement for the screen display position of the display screen106by the scroll control, and the Y-coordinate can be set if scrolling up and down, and the X-coordinate can be set if scrolling right to left. Coordinates of the specific point may be set to the scroll target value.

In the game apparatus10, as shown inFIG. 6, a contact object110is arranged on the background image104. InFIG. 6, the contact object110is, as one example, a foothold block placed over a ground112in the air. The player object108can ride on the foothold block110, or destroy it. Then, the scroll control object114with respect to the foothold block110is arranged at the same position as the foothold block110inFIG. 6example. It is noted that the scroll control object114is transparent and invisible as described above, but in the interests of simplicity, a reference numeral is applied to a position of the foothold block110where the scroll control object114is also arranged. By scrolling in association with the scroll control object114, a target object116to be captured within the display screen106is arranged. The target object116is expected to be provided to the player, and may be an arbitrary thing such as an item, money, an entrance to another place, and so on. The target object116appears within the display screen106when scrolling in associated with the scroll control object114while being arranged in a hidden position out of the display screen106when normally scrolling in association with a movement of the player object108.

Furthermore, in this non-limiting exemplary implementation, the scroll operating range is set so as to become the same widths in the horizontal direction as the scroll control object114as shown inFIG. 6. That is, the scroll operating range left-side data SCRLEFT is set at the far left position of the scroll control object114, and the scroll operating range right-side data SCRRIGHT is set at the far right position of the scroll control object114. Thus, the scroll operating range may be set close to the contact object110. Furthermore, since the screen display position is set at the upper left corner of the display screen106, the scroll target value data SCRPOINT is set slightly above a position of the target object116.

A condition for operating a scroll control in association with the scroll control object114(first scrolling) is that the player object108is located within the scroll operating range, and a predetermined action is performed on the contact object110. By satisfying this condition, the screen display position is adjusted to capture the target object116within the display screen106. The predetermined action as the scroll operating condition is to ride on the foothold block110in this example. Accordingly, in a case of simply passing through below the foothold block110as shown inFIG. 7, for example, the scroll operating condition is not satisfied, the scroll control is not executed, and the target object116does not appear within the display screen116. Furthermore, as shown inFIG. 8, also in a case of bringing the player object108close into the target object116by jumping after passing through below the foothold block110, a enough space is provided between the target object116and the player object108, so that the target object116is never captured within the display screen106.

As shown inFIG. 9, in a case that the player object108performs the predetermined action on the foothold block110, that is, if riding on it in this example, the scroll operating condition is satisfied. It is noted that riding on the foothold block110by the player object108causes the position coordinates of the player object108to exist within the scroll operating range (SCRLEFT<PLXPOS<SCRRIGHT). Therefore, by execution of the first scroll control, the screen display position of the display screen106is gradually moved closer to the scroll target value SCRPOINT as shown inFIG. 10. Then, if the scroll operating condition continues to be satisfied, the screen display position reaches the scroll target value, and such the game image is displayed on the display16. Accordingly, the target object116is captured within the display screen106, and this enables the player to know the presence of the target object116. Then, the player can go to that place if necessary, and obtain it if the target object116is an item to be captured.

Since the scroll operating range is set so as to be in close to the contact object110by the scroll control object114, the player object108directly performs a predetermined action on the contact object110nearby, capable of performing a natural scrolling according to the action of the player object108. Furthermore, merely riding on the foothold block110displayed in a static state as a part of the background image makes it relatively easy for the player to perform the first scrolling.

On the other hand, the contact object110of this example is the foothold block possible to be destroyed. That is, the player object108can destroy it by hitting the foothold block110from below, for example. As shown inFIG. 11, after the foothold block110is destroyed and disappears, the player object108can exist within the scroll operating range, but cannot naturally perform the predetermined action on the foothold block110. It is noted that the scroll control object114is arranged at the same place as the foothold block110, but is not affected by the player object108, and remains at that place without disappearing.FIG. 11shows the hidden scroll control object114by dashed lines. Also, the player object108cannot reach the position of the target object116due to a change of a state of the background. Accordingly, as shown inFIG. 11, after the foothold block disappears, even if the player object108moves again to the position where the player object108can ride on the foothold block110before its disappearance, the scroll operating condition cannot be satisfied, and therefore, the first scrolling operation is not performed. In this case, a normal screen position adjustment (second scrolling) in association with the moving position of the player object108is executed. That is, the screen display position is not adjusted to the scroll target SCRPOINT. Accordingly, the target object116which has already become impossible to be obtained, reached due to the change of the state is not scroll-displayed each time, and shake of the screen due to the troublesome scroll never occurs.

Thus, it is possible to scroll according to the state of the game. Accordingly, it is possible to perform appropriate and natural representation of the image, capable of displaying a screen that is easy for the player to play.

It is appropriate that the scroll operating range may be a definite area divided by the boundaries from right to left, and up and down, for example, and a determination of presence of the player object108within the scroll operating range is performed by determining whether or not the player object108contacts the unit where the scroll control object114is placed, for example.

In addition, a different target value can be set to the scroll target value SCRPOINIT depending upon how to contact the scroll control object114. In this non-limiting exemplary implementation, a different scroll target value is set depending on an approach direction to the scroll operating range. That is, the scroll target value left-side data SCRPOINTL obtained when entering the scroll operating rage from the left and the scroll target value right-side data SCRPOINTR obtained when entering the scroll operating range from the right are stored, and either of them is set to be the scroll target value SCRPOINIT depending on the approach direction. For example, in a case that the player object108enters the scroll operating range from the right, the scroll target value right-side data SCRPOINTR is set to the scroll target value SCRPOINIT as shown inFIG. 12, and the screen display position of the display screen106is adjusted such that the value of the SCRPOINTR is satisfied. InFIG. 12, the scroll target value left-side data is set to a value such that the target object116arranged upper right of the scroll operating range is displayed, but the scroll target value right-side data is set to a value such that the target object116is not displayed. Thus, the scroll control can be performed such that the target object116is displayed only when entering the scroll operating range from an appropriate predetermined direction (left inFIG. 12). Consequently, by changing the scroll target depending on the approach direction to the scroll operating range, varied screen displays can be performed, improving interest as a game.

Furthermore, the scroll target value is not necessarily set to a value such that the target object116is displayed, and is arbitrarily and precisely settable. InFIG. 13, the scroll control object114is arranged below the target object116ain the direction of movement (right direction), for example. The target object116ais scroll-displayed on the basis of the scroll control object114aarranged with respect to the previous contact object110a. Then, with respect to the scroll control object114, the scroll target value SCRPOINT is set to be slightly low such that the progress of the game is prompted. That is, in a case that the player object108rides on the contact object110, the screen is scrolled to the display position where the player object108has to exist on the ground112after getting down the contact object110. In such the case, it is possible to inform the player that another target object116is not hidden with respect to the contact object110(scroll control object114), so that the game can be advanced. Thus, by appropriately setting the scroll target value also, it is possible to scroll according to the state of the game.

Still furthermore, the arrangement position of the scroll control object114is arbitrary, and needs not to be placed at the same place as the contact object110. The scroll control object114may be placed above the arrangement position of the contact object110by one unit, for example. Still furthermore, it is possible that the scroll control object114is placed at only the right end of the foothold block110, and the scroll is operated only when the player object108rides on the right end of the foothold block110, for example. Or, it is also possible that the scroll control object114is placed above the foothold block110in the air, and the scroll is operated only when the player object108jumps up from the contact object110, and contacts the arrangement position of the scroll control object114, for example.

In addition, the contact object110to which the scroll control object114is set is not limited to the static background image such as the foothold block described above, and variable as necessary. The contact object110may be a moving object such as an enemy object, a conveyance, and so on. InFIG. 14, the contact object110is an airplane moving in the air as one example. A predetermined action with respect to the contact object110is to get on the airplane.

The scroll control object114with respect to the moving airplane110is arranged at a position where the scroll control is expected to be performed. In this example, as understood fromFIG. 14(A), the scroll control object114is arranged at a destination a predetermined length away from an initial position of the airplane110in the direction of movement (right direction). Then, the scroll operating range (SCRLEFT, SCRRIGHT) are set at position where the scroll control object114is arranged. Furthermore, the target object116is arranged at a vertical position that is normally invisible (is not displayed) in the further direction of movement, and the scroll target value SCRPOINT is set at a position slightly higher than the target object116.

The airplane110moves back and forth within a constant portion including the arrangement position of the scroll control object114, for example. Then, the player object108can get on the airplane110by jumping. When the airplane110moves with the player object108in the direction of movement, it reaches the arrangement position of the scroll control object114before long. At this time, the player object108is located within the scroll operating range, and the predetermined action of getting on the airplane110is performed, so that the scroll operating condition is satisfied. Accordingly, as shown inFIG. 14(B), by executing the scroll control, the screen display position of the display screen106is adjusted so as to be gradually closer to the scroll target value, so that the target object116can be captured within the display screen106.

Thus, if applying the moving object to the contact object110, the player object108has to perform a predetermined action on the moving object, for example, in order to operate the scroll, which needs a relatively difficult operation. This makes the game challenging for the player, and improves interest.

InFIG. 14example, the scroll control object114is not moved from a position initially set, but in a case that the contact object110is the moving object, the scroll control object114may be moved in association with a condition for moving the contact object110, a moving speed. That is, it is appropriate that the scroll control object114is initially arranged at a position the same as the contact object110, or a nearby position accessible by jumping, and the moving condition and moving speed of the scroll control object114is set to become the same as that of the contact object110.

InFIG. 15, one example of a game operation of the game apparatus10is shown. When a power source of the game machine12to which the cartridge14is attached is turned on, a necessary program and data is read from the ROM52of the cartridge14to be loaded into the working memory48, which starts a process by the CPU40. Then, when the game is instructed to be started by an operation input of the operating portion32by the player, the CPU40reads from the ROM52the background image data80and the map data82that are required for the course or the stage at that time, and loads the same into the data storing area90of the working memory48in a first step S1inFIG. 15. This generates the background of the course, and arranges the foothold block and the ground112.

Next, in a step S3, the CPU40performs an object arrangement process. By the object arrangement process, data of the player object108and other object such as the enemy object, and etc. are loaded, and arranged at each of the initial positions, and an initial setting of data for each object is performed. Furthermore, an arrangement process of the scroll control object114with respect to contact object110is also performed here. Exemplary detail of the setting process with respect to especially the scroll control object114out of the object arrangement process in the step S3is shown inFIG. 16.

As shown inFIG. 16, the CPU40performs the initial setting of the scroll control object114to be arranged in this course in a step S31. More specifically, the CPU40reads initial setting data relating to the scroll control object114from the ROM52, and loads the same in the data storing area90. Then, an initial value is assigned to each of variables of the scroll control object114, that is, the scroll operating range left-side data SCRLEFT, the scroll operating range right-side data SCRRIGHT, the scroll target value SCRPOINT, the scroll target value left-side data SCRPOINTL, the scroll target value right-side data SCRPOINTR, and etc. Furthermore, 0 is assigned to a scroll operating flag SCRFLAG to turn it off. It is noted that it is needless to say that in a case that a plurality of scroll control objects114are arranged, the initial setting is set for each scroll control object114.

By the process in the step S3inFIG. 15, the player object108, the scroll control object114, and the target object116, and etc. are arranged in the course, and the scroll operating range and the scroll target are set.

It is noted that although not illustrated, subsequent to the step S3, as shown inFIG. 6, for example, the background image14including the foothold block110, and etc. and the object such as the player object108, and etc. are rendered on the basis of the initial setting, and the display screen106based on the initial screen display position is displayed on the LCD16. Then, the player plays the game course by operating the operating portion32while watching the display screen106displayed on the LCD16.

Returning toFIG. 15, in a succeeding step S5, the CPU40obtains an operation input signal from the operating portion32. In a following step S7, the CPU40executes an operating process of the player object. That is, in response to the operation input signal (in a case of obtaining the operation input signal in the previous step S5) and the program, the CPU40operates the payer object108. For example, when the player operates the cross button18of the operating portion32, the CPU40moves the player object108to its direction in the game space, and updates the player object position data94to the position coordinates after movement in the step S7. Furthermore, when the A button24is operated, for example, the CPU40causes the player character108to jump up in the step S7.

In a following step S9, the CPU40performs an object operating process. In this process, the objects except for the player object108(enemy object, background object, scroll control object, and etc.) are operated as necessary on the basis of the operation input signal and the program. In the object operating process, a setting process of the scroll operating flag is also performed. Thus, it is determined whether or not the scroll operating condition is satisfied, and the scroll operating flag is set in correspondence to the state of the game. A scroll operating flag setting process out of the object operating process is especially shown in detail inFIG. 17.

In a step S41inFIG. 17, the CPU40determines whether or not scroll operating flag data100of the working memory48is turned off. If “YES” in the step S41, that is, if a condition for operating the scroll has not yet been satisfied, and the SCRFLAG is set to 0, the CPU40determines whether or not the player object108exists in a predetermined position, that is, within the scroll operating range in a following step S43. In a case that the scroll operating range left-side data SCRLEFT and the scroll operating range right-side data SCRRIGHT are set, for example, as in this exemplary non-limiting implementation, it is determined whether or not the X-coordinate PLXPOS of the player position stored in the player object position data94is larger than the SCRLEFT and smaller than SCRRIGHT. If “YES” in the step S43, that is, if the player object108enters the scroll operating range as shown inFIG. 9, for example, the process proceeds to a step S45. On the other hand, if “NO” in the step S43, that is, if the player object108does not exist within the scroll operating range as shown inFIG. 6,FIG. 7,FIG. 8, or the like, the process returns to the flowchart inFIG. 15.

In the step S45, the CPU40determines whether or not the player object108enters the scroll operating range from the right. In a case that the player object108enters the scroll operating range from the right as shown inFIG. 12, for example, the CPU40assigns the scroll target value right-side data SCRPOINTR to the scroll target value data SCRPOINT in a following step S47. On the other hand, if the player object108enters the scroll operating range from the left as shown inFIG. 9, for example, the CPU40assigns the scroll target value left-side data SCRPOINTL to the scroll target value data SCRPOINT in a following step S49. Thus, a different scroll target value is set depending on the approach direction to the scroll operating range.

Succeedingly, in a step S51, the CPU40assigns 2 to the scroll operating flag SCRFLAG to set it to a stand-by state. That is, since one of two conditions for operating the scroll control, that is, a condition that the player object108is located within the scroll operating range is satisfied, it is set to the stand-by state in order to discriminate it from a case that the conditions are not satisfied. After completion of the process in the step S51, the process returns to the flowchart shown inFIG. 15.

On the other hand, if “NO” in the step S41, that is, if the scroll operating flag SCFLAG is not 0, the CPU40determines whether or not the scroll operating flag is turned on in a following step S53.

If “NO” in the step S53, that is, the scroll operating flag SCRFLAG is set in a stand-by state, it is determined that whether or not the player object108performs the predetermined action on the contact object110in a following step S55. In a case that the contact object110is the foothold block as shown inFIG. 9, for example, it is determined whether or not to ride on the foothold block110. If “YES” in the step S55, that is, if the other of two conditions for operating the scroll control is satisfied, the CPU40assigns 1 to the scroll operating flag SCRFLAG to turn it on in a succeeding step S57.

On the other hand, if “YES” in the step S53, that is, if the scroll operating flag SCRFLAG is 1, the process proceeds to a step S59. Furthermore, if “NO” in the step S55, that is, if the player object108is located within the operating range, but the predetermined action has not yet been performed, the process also proceeds to the step S59. Therefore, in a case it is detected that the contact object110has already disappeared as shown inFIG. 11, and so forth, even if the player object108enters the scroll operating range, “NO” is determined in the step S55, and therefore, scrolling to the scroll target is not performed.

The following process from steps S59to S65is for detecting the change of the state of the game, and then changing the setting of the scroll operating flag when the scroll operating flag is turned on or set in a stand-by state.

In the step S59, the CPU40determines whether or not the player object108is located within the scroll operating range. If “YES” in the step S59, the CPU40determines whether or not the player object108performs the predetermined action on the contact object110in the following step S61. If “YES” in the step S61, it is appropriate that the scroll operating flag remains to be turned on as it is, and therefore, the process directly returns to the flowchart inFIG. 15. On the other hand, if “NO” in the step S61, that is, if the state of the game is changed such that the player object does not perform the predetermined action, the CPU40sets the scroll operating flag to the stand-by state in the step S63, and the process returns to the flowchart inFIG. 15. On the other hand if “NO” in the step S59, that is, if the state of the game is changed such that the player object108moves out of the scroll operating range, the CPU40turns the scroll operating flag off in the following step S65, and then, the process returns to the flowchart inFIG. 15.

Returning toFIG. 15, in a succeeding step S11, the CPU40renders the background image on a predetermined area of the VRAM not shown on the basis of the background image data80, the map data82, and etc. Furthermore, in a step S13, the CPU40renders the images of the player object108, another object, and etc. on the basis of the object image data78including the player object image data78a, and etc on a predetermined area of the VRAM.

In a succeeding step S15, the CPU40executes a scroll movement process. By the scroll movement process, when the scroll operating conditions are satisfied, a scrolling different from the normal scrolling is performed. The detail of the process in the step S15is shown inFIG. 18.

In a first step S71inFIG. 18, the CPU40determines whether or not the scroll operating flag SCRFLAG is turned on, and if “YES”, it is determined whether or not the screen display position data92satisfies the scroll target value data98in a step S73. In a case that the Y-coordinate value is set to the scroll target value SCRPOINT, for example, it is determined whether or not the Y-coordinate value SCCV of the screen display position is equal to the SCRPOINT, or, in a case that a specific point is set to the scroll target value, it is determined whether or not the screen display position becomes that target point.

If “NO” in the step S73, that is, if a scroll adjustment of the screen display position is not completed, the CPU40gradually moves the display screen position so as to be closer to the scroll target value in a step S75. It is appropriate that the screen display position is adjusted so as to gradually become closer to the scroll target value from the screen display position before scrolling by a predetermined ratio. By the first scrolling, the screen display position is adjusted, and as shown inFIG. 10,FIG. 12,FIG. 13,FIG. 14, or the like, the display screen106which is subjected to the position adjustment to the scroll target value is displayed. After completion of the process in the step S73, the process returns to the flowchart inFIG. 15.

On the one hand, if “YES” in the step S73, that is, if the scroll adjustment is completed, the process directly returns to the flowchart inFIG. 15.

On the other hand, if “NO” in the step S71, that is, if the scroll operating flag is turned off or set in a stand-by state, the CPU40adjusts the screen display position on the basis of the position of the player object108in a step S77as necessary. By the second scrolling, the display screen106, in a case that the player object108is closer to the edge of the display screen106, is moved in association with its movement if necessary. After completion of the process in the step S77, the process returns to the flowchart inFIG. 15.

Returning toFIG. 15, in a succeeding step S17, the CPU40causes the display16to display the display screen106. More specifically, the CPU40combines various object images such as the background image104, the player object108, and etc. generates image data within the display range, that is, the image data of the display screen106in a frame area of the VRAM not shown, for example, on the basis of the screen display position data92, and applies the image data (displayed data) to the LCD16to display the display screen106on the LCD16by use of an LCD controller not shown.

Then, in a step S19, the CPU40determines whether or not the player object108reaches a goal of the course, and if “YES”, the game processing of the course is completed. On the other hand, if “NO” in the step S19, the process returns to the step S5so as to repeat the game processing of the course.

Accordingly, in a case that the scroll operating condition is satisfied, the process from the steps S5to S19is repeated for each frame or a predetermined number of frames, and whereby as shown inFIG. 10,FIG. 12,FIG. 13,FIG. 14, or the like, the display screen106whose screen display position is moved to the scroll target value is displayed on the LCD16.

According to this exemplary non-limiting implementation, a scrolling (first scrolling) when the player object108is located within the scroll operating range and performs the predetermined action on the contact object110, and a normal scrolling (second scrolling) when the predetermined action is not performed on the contact object110are differentiated. Thus, after the contact object110disappears to change a state of the background, for example, even if the player object108moves once again to the position where the scrolling is operated before the change, the player object108cannot perform the predetermined action on the contact object110, and therefore, the first scrolling is never operated. This can eliminate a useless and unnatural screen display such as displaying an item that becomes impossible to be obtained, and so forth, capable of preventing a shake of the screen and drudgery thereof, and etc. Therefore, it is possible to scroll according to a state of the game. Furthermore, appropriate and natural image representation can be performed in association with the movement of the player object108, capable of displaying a screen that is easy for the player to play.

In addition, the scroll control information such as the scroll target value data, the scroll operating range data, and etc. is prepared in association with the scroll control object114aside from the contact object110, and the scroll control object is arranged with respect to the contact object110only required for the scroll control, capable of providing a less data volume than in giving the scroll control information to all the contact objects110. Furthermore, it is possible to easily perform a precise setting and change the control method for each contact object110.

It is noted that although the kind of the contact object110to which the scroll control object114is set is not variable during the game but constant in the above-described exemplary non-limiting implementation, as shown in modified examples described with reference toFIG. 19,FIG. 20, andFIG. 21, in a case that the contact object110to which the scroll control object114is set is variable kinds in correspondence to the state of the game, the scroll control depending on the kind may be performed.

That is, in the modified example, as shown inFIG. 19, the foothold block110having, on its surface, an arrow to be changed in correspondence with the state of the game is arranged as the contact object110of variable kinds on the background image104. The direction of the arrow may be rotated with the course of time like a clock, may be changed each time the player object comes to that place, or may be different depending on a state of the player object108(amount of money, possessed item, and etc.).

The scroll control object114is arranged with respect to such the contact object110. In the modified example, the scroll control object114is arranged at the same place as the contact object110, and the scroll operating range data SCRLEFT and SCRRIGHT are set at the arrangement position of the scroll control object114in correspondence with the width thereof, for example. The scroll target value having a scroll direction and a scroll amount depending on the kind of the contact object110(direction of the arrow in this example) is set to the scroll control object114. More specifically, the scroll target value SCRPTAD for scrolling down at a time of a down arrow, the scroll target value SCRPTAU for scrolling up at a time of a up arrow, the scroll target value SCRPTAL for scrolling to the left at a time of a left arrow, the scroll target value SCRPTAR for scrolling to the right at a time of a right arrow are respectively set. It is noted that the initial setting relating to the scroll target value, the scroll operating range, and etc. is performed in the object arrangement process in the step S3inFIG. 15as in the above-described exemplary non-limiting implementation.

Then, when the scroll operating condition is satisfied, the scroll target value depending on the kind of the contact object110at that time is adopted. It is noted that the predetermined condition with respect to this contact object110is to ride on it, for example. InFIG. 19example, the target object116is arranged at a position that newly becomes the display range when the scroll target value SCRPTAL at a time of the left arrow is adopted. That is, in this example, only when the player object108rides on the foothold block110on which the left arrow is displayed, the screen in a state that the target object116is within the display screen106is presented to the player, and except that, the target object116is not captured within the display range.

As shown inFIG. 20, the player object108moves within the scroll operating range and rides on the contact object110, so that the scroll operating condition is satisfied, which executes the scroll control. Then, the direction of the arrow of the scroll control object114when the scroll operating condition is satisfied is left inFIG. 20example. Accordingly, the scroll target value SCRPTAL at a time of the left arrow is set to the scroll target value SCRPOINT. Then, the screen display position is moved so as to be gradually closer to the scroll target value SCRPTAL, so that the target object116is displayed within the display screen106.

InFIG. 21, one example of an object operating process in the case of the modified example is shown. The object operating process inFIG. 21is the same as the object operating process of the above-described exemplary non-limiting implementation shown inFIG. 17except that the process in steps S91and S93is added subsequent to the step S57. Accordingly, the same reference numeral is applied to the same process in order to omit the description.

If “YES” in the step S55, that is, if the player object108is located within the scroll operating range, and performs the predetermined action on the contact object110, the CPU40turns the scroll operating flag on in the step S57, and it is determined whether or not the kind of the contact object110is variable in the succeeding step S91.

If “NO” in the step S91, that is, if the contact object110is not variable kinds such as the foothold inFIG. 6example, the airplane inFIG. 14, and etc., the process directly proceeds to the step S59.

On the other hand, if “YES” in the step S91, that is, if the contact object110is variable kinds such as the foothold block having a variable display arrow inFIG. 9example, the CPU40sets the scroll target value SCRPOINT depending on the kind of the contact object110in the succeeding step S93. For example, as shown inFIG. 20, when the contact object110at that time is the foothold block on which left arrow is displayed, the scroll target value SCRPTAL at a time of the left arrow is assigned to the scroll target value SCRPOINT. After the completion of the process in the step S93, the process proceeds to the step S59.

Accordingly, in a case that the scroll operating condition is satisfied at a time of the left arrow as shown inFIG. 20, by the subsequent scroll movement process in the step S15inFIG. 15, the screen display position is brought closer to the scroll target value, and by the following step S17, the display screen106on which the adjustment of the screen position is performed is displayed on the LCD16. Therefore, the target object116is soon displayed within the display screen106.

According to the modified example, it is possible to respond to the contact object110of variable kinds, so that scrolling in correspondence with the state of the game is performed. Furthermore, it is possible to perform varied screen displays depending on the kind of the contact object110and to perform a plurality of screen position adjustments in the same scene, thereby adding flexibility and interest.

In addition, although the predetermined action with respect to the contact object110is to ride on it as one example in the above-described exemplary non-limiting implementation, the predetermined action may arbitrarily be set. For example, the predetermined action may be to simply contact the contact object110, to hit it from below in a case that the contact object110is not destroyed, to crash into the contact object110, and to jump up on the contact object110. In a case that the predetermined action is an instant action such as hitting, crashing, and so forth, and not a successive action such as riding, the condition of the predetermined action is instantly satisfied, the adjustment of the screen position becomes instant, and is never completed to the scroll target value in most cases. Accordingly, it is appropriate that in place of the process in step S61inFIG. 17orFIG. 21, by determining whether or not the scrolling to the scroll target value is completed, and remaining to be turn the scroll operating flag on until the scrolling is completed, the adjustment to the scroll target value is appropriately performed.

In addition, although by arranging the scroll control object114on the contact object110required to be scrolled, scrolling is operated in the above-described exemplary non-limiting implementation, the scroll control object114is not necessarily utilized. Depending on the case, if the contact object110is moving object, for example, the contact object110itself may have the scroll control information. It is possible that the kind of the contact object for operating scrolling can be limited, and common scroll control information is applied to only the limited kind of the contact object to provide constant scrolling.

Although the technology herein has been described in connection with exemplary illustrative non-limiting implementations, the invention is not to be limited by the disclosure. The invention is intended to be defined by the claims and to cover all corresponding and equivalent arrangements whether or not specifically disclosed herein.

Claims

  1. A game apparatus that generates a background image larger than a display screen for display on the display screen by scrolling, comprising: an input device operated by a player;a background image generator which generates a displayed background image based on the background image;a player object generator which generates a player object movable on the basis of an input to the input device;a contact object generator which generates a contact object to be contacted by the player object;a scroll object generator which generates a scroll control object associated with the contact object and arranged in a manner that the scroll control object is not seen by the player;at least one scroll control object information storage area which stores scroll control information associated with the scroll control object;a position detector which detects a position of the player object;an existence determiner which determines whether or not the contact object associated with the scroll control object exists;a first scroller which generates a first scroll, when it is detected by the position detector that the player object exists at a predetermined position with respect to the scroll control object and it is determined by said existence determiner that the contact object associated with the scroll control object exists, wherein the first scroll is operable to scroll the display screen to a scroll target determinable based at least in part on the scroll control information at a predetermined position on the background image and does not generate the first scroll when it is not detected by the position detector that the player object exists at the predetermined position with respect to the scroll control object or when it is not determined by said existence determiner that the contact object associated with the scroll control object exists;and a display data generator which generates display data for the display screen including the player object that is generated by the player object generator and exists within a display range scrolled by the first scroller and the displayed background image generated by the background image generator, wherein the display range includes a target exposed to view when said first scroll occurs.
  1. A game apparatus according to claim 1 , wherein said contact object generator generates said contact object as a part of said background image.
  2. A game apparatus according to claim 1 , wherein said contact object generator generates said contact object as a moving object.
  3. A game apparatus according to claim 1 , wherein said scrolling arrangement changes, when said position detector detects that said player object is disposed at said predetermined position, a scroll target in said first scrolling operation depending on an approach direction of said player object to said predetermined position.
  4. A game apparatus according to claim 1 , further comprising: a predetermined action determiner which determines whether or not the player object performs a predetermined action on the contact object on which the scroll control object is arranged;and a second scroller which generates a second scroll different from the first scroll, in response to the predetermined action determined by said predetermined action determiner, when it is not detected by the position detector that the player object exists at a predetermined position with respect to the scroll control object or when it is not determined by said existence determiner that the contact object associated with the scroll control object exists.
  5. A game apparatus according to claim 5 , wherein said scrolling arrangement differentiates between the first scrolling operation when the action determiner determines that the predetermined action is performed, and the second scrolling operation when the action determiner determines that the predetermined action is not performed by said predetermined action determiner when the position detector detects that said player object exists at a predetermined position close to said contact object.
  6. A game apparatus according to claim 5 , wherein said contact object generator generates different kinds of contact objects, and said scrolling arrangement changes a scroll target in said first scrolling operation depending on a kind of said contact object when said action determiner determines that the predetermined action is performed.
  7. A game apparatus according to claim 5 , wherein the contact object disappears when the player object performs the predetermined action on the contact object.
  8. A game apparatus according to claim 1 , wherein the contact object is generated as a portion of said displayed background image.
  9. A non transitory computer-readable storage medium storing a game program for execution by a game apparatus comprising a player input device, a display, and a graphics generator that generates a scrolling background image larger than the display, said game program controlling a processor of said game apparatus to perform: generating a displayed background image based on the background image;generating a player object movable on the basis of an input to the input device;generating a contact object to be contacted by the player object;generating a scroll control object associated with the contact object and arranged in a manner that the scroll control object is not seen by the player;storing scroll control information associated with the scroll control object;detecting a position of the player object;determining whether or not the contact object associated with the scroll control object exists;generating a first scroll, when it is detected that the player object exists at a predetermined position with respect to the scroll control object and it is determined that the contact object associated with the scroll control object exists, wherein the first scroll includes scrolling the display screen to a scroll target determinable based at least in part on the scroll control information at a predetermined position on the background image and does not generate the first scroll when it is not detected by the position detector that the player object exists at the predetermined position with respect to the scroll control object or when it is not determined that the contact object associated with the scroll control object exists;and generating display data for the display including the player object that exists within a scrolled display range and the generated displayed background image, wherein the display range includes a target exposed to view when said first scroll occurs.
  10. A storage medium storing a game program according to claim 10 , wherein said contact object generating generates said contact object as a part of said background image.
  11. A storage medium storing a game program according to claim 10 , wherein said contact object generating generates said contact object as a moving object.
  12. A storage medium storing a game program according to claim 10 , further including changing, in a case that it is detected that said player object exists at said predetermined position, by a scroll target in said first scrolling operation depending on an approach direction of said player object to said predetermined position.
  13. A storage medium storing a game program according to claim 10 , wherein said contact object generating generates different kinds of contact objects of, and further including changing a scroll target in said first scrolling operation depending on a kind of said contact object when a predetermined action is performed.
  14. A storage medium storing a game program according to claim 10 , further comprising: determining whether or not the player object performs a predetermined action on the contact object on which the scroll control object is arranged;and generating a second scroll different from the first scroll, in response to whether it is determined that the player object performs a predetermined action on the contact object, when it is not detected that the player object exists at a predetermined position with respect to the scroll control object or when it is not determined that the contact object associated with the scroll control object exists.
  15. A storage medium storing a game program according to claim 15 , wherein said differentiating differentiates between the first scrolling operation when the predetermined action is performed and the second scrolling operation when the predetermined action is not performed when said player object exists at a predetermined position close to said contact object.
  16. A storage medium storing a game program according to claim 15 , wherein the contact object disappears when the player object performs the predetermined action on the contact object.
  17. A storage medium storing a game program according to claim 10 , wherein the contact object is generated as a portion of said displayed background image.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.