(57)【特許請求の範囲】
【請求項１】
ゲームの進行に応じて所定のキャラクタを表示させるためのゲーム進行制御プログラムであって、
第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶手段と、
前記第１の制御プログラム及び前記第１の表示データを基に第１のキャラクタを表示する表示手段と、
ゲームの進行に応じて、前記第１の制御プログラムの記憶領域及び前記第１の表示データの記憶領域のうちの一方を解放し、前記第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、前記第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように前記記憶手段を管理する管理手段としてビデオゲーム装置を機能させ、
前記表示手段は、前記第１の制御プログラム及び前記第２の表示データ並びに前記第２の制御プログラム及び前記第１の表示データのうちの一方を基に第２のキャラクタを表示することを特徴とするゲーム進行制御プログラム。
【請求項２】
前記管理手段は、前記第１の表示データの記憶領域を解放し、前記第２の表示データを解放された記憶領域に記憶することを特徴とする請求項１記載のゲーム進行制御プログラム。
【請求項３】
前記管理手段は、前記記憶手段の記憶領域に第１のキャラクタの動作を制御するための複数の第１の制御プログラムを順に記憶した後、第１のキャラクタの表示に関する複数の第１の表示データを順に記憶することを特徴とする請求項１又は２記載のゲーム進行制御プログラム。
【請求項４】
ユーザによって操作されるキャラクタと前記第１のキャラクタとの距離が一定距離以上離れているか否かを判断する判断手段としてビデオゲーム装置をさらに機能させ、
前記管理手段は、一定距離以上離れていると判断された場合、第１のキャラクタの表示に関する第１の表示データの記憶領域を解放し、第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶することを特徴とする請求項１〜３のいずれかに記載のゲーム進行制御プログラム。
【請求項５】
ゲームの進行に応じて所定のキャラクタを表示させるゲーム進行制御方法であって、
ビデオゲーム装置が、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶ステップと、
ビデオゲーム装置が、前記第１の制御プログラム及び前記第１の表示データを基に第１のキャラクタを表示する表示ステップと、
ビデオゲーム装置が、ゲームの進行に応じて、前記第１の制御プログラムの記憶領域及び前記第１の表示データの記憶領域のうちの一方を解放し、前記第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、前記第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように前記記憶ステップを管理する管理ステップとを含み、
前記表示ステップは、前記第１の制御プログラム及び前記第２の表示データ並びに前記第２の制御プログラム及び前記第１の表示データのうちの一方を基に第２のキャラクタを表示することを特徴とするゲーム進行制御方法。
【請求項６】
ゲームの進行に応じて所定のキャラクタを表示させるビデオゲーム装置であって、
第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶手段と、
前記第１の制御プログラム及び前記第１の表示データを基に第１のキャラクタを表示する表示手段と、
ゲームの進行に応じて、前記第１の制御プログラムの記憶領域及び前記第１の表示データの記憶領域のうちの一方を解放し、前記第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、前記第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように前記記憶手段を管理する管理手段とを備え、
前記表示手段は、前記第１の制御プログラム及び前記第２の表示データ並びに前記第２の制御プログラム及び前記第１の表示データのうちの一方を基に第２のキャラクタを表示することを特徴とするビデオゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームの進行に応じて所定のキャラクタを表示させるためのゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置に関するものである。
【０００２】
【従来の技術】
近年、表示画面上に生成される擬似３次元空間上にゲームキャラクタを表示するようにした種々のビデオゲーム装置が普及している。かかるビデオゲーム装置を用いたビデオゲームとして、スキー、モータボート、スノーボード、スケートボード、カーレース、自転車レース等を模したレースゲームが知られている。このようなレースゲームは、ユーザによって操作される自己キャラクタと、ビデオゲーム装置によって動作が制御される複数の相手キャラクタとの順位を競うゲームである。
【０００３】
上記レースゲーム等のビデオゲームでは、相手キャラクタを表示する場合、相手キャラクタの動作を制御するための制御プログラムと相手キャラクタの表示に関する表示データとをビデオゲーム装置に内蔵されるメモリ内の所定の記憶領域に確保する必要がある。そのため従来、相手キャラクタである第１のキャラクタの動作を制御するための第１の制御プログラムと第１のキャラクタの表示に関する第１の表示データとを記憶領域に記憶し、相手キャラクタである第２のキャラクタを表示する際には第１の制御プログラムの記憶領域と第１の表示データの記憶領域とを解放し、第２のキャラクタの動作を制御するための第２の制御プログラムと第２のキャラクタの表示に関する第２の表示データとを共に解放された記憶領域に記憶し、第２の制御プログラム及び第２の表示データを基に第２のキャラクタを表示している。
【０００４】
【発明が解決しようとする課題】
上記レースゲーム等のビデオゲームでは多数の相手キャラクタが登場する場合がある。しかし、ビデオゲーム装置の性能及び処理にかかる時間等を考慮すると全てを表示することは困難である。そのため、表示される相手キャラクタの数を例えば１０とし、この１０の相手キャラクタである第１のキャラクタと自己キャラクタとでビデオゲームを進行させ、ゲームの進行状況に応じて第１のキャラクタを第２のキャラクタに変更することによって第２のキャラクタと自己キャラクタとでビデオゲームを進行させる。
【０００５】
しかしながら、上記従来の方法では、第２のキャラクタを表示するたびに第１の制御プログラムの記憶領域及び第１の表示データの記憶領域を共に解放し、第２のキャラクタの動作を制御するための第２の制御プログラムと第２のキャラクタの表示に関する第２の表示データとを解放された記憶領域に記憶するため、メモリ内の記憶領域の解放、記憶するための処理に時間がかかるという問題が生じる。
【０００６】
本発明は、上記の問題を解決するためになされたもので、メモリ内の記憶領域を解放、記憶するための処理にかかる時間を軽減することができるゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置を提供することを目的とするものである。
【０００７】
【課題を解決するための手段】
請求項１に記載の本発明は、ゲームの進行に応じて所定のキャラクタを表示させるためのゲーム進行制御プログラムであって、
第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶手段と、
前記第１の制御プログラム及び前記第１の表示データを基に第１のキャラクタを表示する表示手段と、
ゲームの進行に応じて、前記第１の制御プログラムの記憶領域及び前記第１の表示データの記憶領域のうちの一方を解放し、前記第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、前記第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように前記記憶手段を管理する管理手段としてビデオゲーム装置を機能させ、
前記表示手段は、前記第１の制御プログラム及び前記第２の表示データ並びに前記第２の制御プログラム及び前記第１の表示データのうちの一方を基に第２のキャラクタを表示することを特徴とするゲーム進行制御プログラムである。
【０００８】
請求項１に記載の本発明に従えば、ゲームの進行に応じて所定のキャラクタを表示させるためのゲーム進行制御プログラムは、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶手段と、第１の制御プログラム及び第１の表示データを基に第１のキャラクタを表示する表示手段と、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方を解放し、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように記憶手段を管理する管理手段としてビデオゲーム装置を機能させ、表示手段は、第１の制御プログラム及び第２の表示データ並びに第２の制御プログラム及び第１の表示データのうちの一方を基に第２のキャラクタを表示する。
【０００９】
すなわち、ビデオゲーム装置によって、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データが所定の記憶領域に記憶され、第１の制御プログラム及び第１の表示データを基に第１のキャラクタが表示され、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方を解放し、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように記憶手段を管理され、第１の制御プログラム及び第２の表示データ並びに第２の制御プログラム及び第１の表示データのうちの一方を基に第２のキャラクタが表示される。
【００１０】
このように、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方が解放され、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムが解放された記憶領域に新たに記憶され、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データが解放された記憶領域に新たに記憶されるため、第１の制御プログラムの記憶領域と第１の表示データの記憶領域とを解放し、第２の制御プログラムと第２の表示データとを解放された記憶領域に共に記憶する処理に比べて、記憶領域を解放し、解放された記憶領域に記憶する処理にかかる時間を短縮することが可能となる。
【００１１】
請求項２に記載の本発明は、前記管理手段は、前記第１の表示データの記憶領域を解放し、前記第２の表示データを解放された記憶領域に記憶することを特徴とする。
【００１２】
請求項２に記載の本発明に従えば、管理手段は、第１の表示データの記憶領域を解放し、第２の表示データを解放された記憶領域に記憶する。
【００１３】
すなわち、管理手段によって、第１のキャラクタの表示に関する第１の表示データの記憶領域が解放され、第２のキャラクタの表示に関する第２の表示データが解放された記憶領域に記憶される。そのため、第１のキャラクタの動作を制御するための第１の制御プログラムを用いて第２のキャラクタの動作を制御することが可能となり、キャラクタの動作が同じであっても表示されるキャラクタの外見等が変化するので、第２のキャラクタを第１のキャラクタとは異なるキャラクタとして表示することが可能となる。
【００１４】
請求項３に記載の本発明は、前記管理手段は、前記記憶手段の記憶領域に第１のキャラクタの動作を制御するための複数の第１の制御プログラムを順に記憶した後、第１のキャラクタの表示に関する複数の第１の表示データを順に記憶することを特徴とする。
【００１５】
請求項３に記載の本発明に従えば、管理手段は、記憶手段の記憶領域に第１のキャラクタの動作を制御するための複数の第１の制御プログラムを順に記憶した後、第１のキャラクタの表示に関する複数の第１の表示データを順に記憶する。
【００１６】
すなわち、管理手段によって、記憶手段の記憶領域に第１のキャラクタの動作を制御するための複数の第１の制御プログラムが記憶手段であるメモリの先頭アドレスから順に記憶された後、第２のキャラクタの表示に関する複数の第１の表示データが順に記憶される。例えば、第１の制御プログラムと第１の表示データとが交互に複数記憶され、第１の表示データの記憶領域が解放され、解放された記憶領域に例えば第１の表示データよりデータ量の少ない微小データが記憶された場合に第２の表示データを解放された記憶領域に記憶しようとしても第２の表示データの大きさによっては記憶することができず、記憶手段の断裂が起こることとなる。しかし、複数の第１の制御プログラムが順に記憶された後、複数の第１の表示データが順に記憶され、複数の第１の表示データの記憶領域が解放され、解放された記憶領域に微小データが記憶された場合でも第２の表示データは微小データの次に記憶されるため記憶手段の断裂が起こることを防止することが可能となる。
【００１７】
請求項４に記載の本発明は、ユーザによって操作されるキャラクタと前記第１のキャラクタとの距離が一定距離以上離れているか否かを判断する判断手段としてビデオゲーム装置をさらに機能させ、
前記管理手段は、一定距離以上離れていると判断された場合、第１のキャラクタの表示に関する第１の表示データの記憶領域を解放し、第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶することを特徴とする。
【００１８】
請求項４に記載の本発明に従えば、ゲームの進行に応じて所定のキャラクタを表示させるためのゲーム進行制御プログラムは、ビデオゲーム空間内におけるユーザによって操作されるキャラクタの位置と第１のキャラクタの位置との距離が一定距離以上離れているか否かを判断する判断手段としてビデオゲーム装置をさらに機能させ、管理手段は、一定距離以上離れていると判断された場合、第１のキャラクタの表示に関する第１の表示データの記憶領域を解放し、第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶する。
【００１９】
すなわち、ビデオゲーム装置によって、ビデオゲーム空間内におけるユーザによって操作されるキャラクタの位置と第１のキャラクタの位置との距離が一定距離以上離れているか否かが判断され、一定距離以上離れていると判断された場合、第１のキャラクタの表示に関する第１の表示データの記憶領域が解放され、第２のキャラクタの表示に関する第２の表示データが解放された記憶領域に記憶される。そのため、例えばレースゲーム等において、ユーザによって操作されるキャラクタと第１のキャラクタとの距離が一定距離以上離れている場合に、第１のキャラクタの表示に関する第１の表示データの記憶領域が解放され、第２のキャラクタの表示に関する第２の表示データが解放された記憶領域に記憶され、第２の表示データに基づいて第２のキャラクタが表示されるため、ユーザによって操作されるキャラクタと第１のキャラクタとの距離を判断することで第２のキャラクタを表示させ、多数のキャラクタが登場するレースゲーム等でも複数のキャラクタを表示させることが可能となる。
【００２０】
請求項５に記載の本発明は、ゲームの進行に応じて所定のキャラクタを表示させるゲーム進行制御方法であって、
ビデオゲーム装置が、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶ステップと、
ビデオゲーム装置が、前記第１の制御プログラム及び前記第１の表示データを基に第１のキャラクタを表示する表示ステップと、
ビデオゲーム装置が、ゲームの進行に応じて、前記第１の制御プログラムの記憶領域及び前記第１の表示データの記憶領域のうちの一方を解放し、前記第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、前記第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように前記記憶ステップを管理する管理ステップとを含み、
前記表示ステップは、前記第１の制御プログラム及び前記第２の表示データ並びに前記第２の制御プログラム及び前記第１の表示データのうちの一方を基に第２のキャラクタを表示することを特徴とするゲーム進行制御方法である。
【００２１】
請求項５に記載の本発明に従えば、ゲームの進行に応じて所定のキャラクタを表示させるゲーム進行制御方法は、ビデオゲーム装置が、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶ステップと、ビデオゲーム装置が、第１の制御プログラム及び第１の表示データを基に第１のキャラクタを表示する表示ステップと、ビデオゲーム装置が、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方を解放し、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように記憶ステップを管理する管理ステップとを含み、表示ステップは、第１の制御プログラム及び第２の表示データ並びに第２の制御プログラム及び第１の表示データのうちの一方を基に第２のキャラクタを表示する。
【００２２】
すなわち、ビデオゲーム装置によって、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データが所定の記憶領域に記憶され、第１の制御プログラム及び第１の表示データを基に第１のキャラクタが表示され、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方を解放し、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように記憶手段を管理され、第１の制御プログラム及び第２の表示データ並びに第２の制御プログラム及び第１の表示データのうちの一方を基に第２のキャラクタが表示される。
【００２３】
このように、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方が解放され、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムが解放された記憶領域に新たに記憶され、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データが解放された記憶領域に新たに記憶されるため、第１の制御プログラムの記憶領域と第１の表示データの記憶領域とを解放し、第２の制御プログラムと第２の表示データとを解放された記憶領域に共に記憶する処理に比べて、記憶領域を解放し、解放された記憶領域に記憶する処理にかかる時間を短縮することが可能となる。
【００２４】
請求項６に記載の本発明は、ゲームの進行に応じて所定のキャラクタを表示させるビデオゲーム装置であって、
第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶手段と、
前記第１の制御プログラム及び前記第１の表示データを基に第１のキャラクタを表示する表示手段と、
ゲームの進行に応じて、前記第１の制御プログラムの記憶領域及び前記第１の表示データの記憶領域のうちの一方を解放し、前記第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、前記第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように前記記憶手段を管理する管理手段とを備え、
前記表示手段は、前記第１の制御プログラム及び前記第２の表示データ並びに前記第２の制御プログラム及び前記第１の表示データのうちの一方を基に第２のキャラクタを表示することを特徴とするビデオゲーム装置である。
【００２５】
請求項６に記載の本発明に従えば、ゲームの進行に応じて所定のキャラクタを表示させるビデオゲーム装置は、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データを所定の記憶領域に記憶する記憶手段と、第１の制御プログラム及び第１の表示データを基に第１のキャラクタを表示する表示手段と、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方を解放し、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように記憶手段を管理する管理手段とを備え、表示手段は、第１の制御プログラム及び第２の表示データ並びに第２の制御プログラム及び第１の表示データのうちの一方を基に第２のキャラクタを表示する。
【００２６】
すなわち、ビデオゲーム装置によって、第１のキャラクタの動作を制御するための第１の制御プログラム及び第１のキャラクタの表示に関する第１の表示データが所定の記憶領域に記憶され、第１の制御プログラム及び第１の表示データを基に第１のキャラクタが表示され、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方を解放し、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムを解放された記憶領域に記憶し、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データを解放された記憶領域に記憶するように記憶手段を管理され、第１の制御プログラム及び第２の表示データ並びに第２の制御プログラム及び第１の表示データのうちの一方を基に第２のキャラクタが表示される。
【００２７】
このように、ゲームの進行に応じて、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域のうちの一方が解放され、第１の制御プログラムの記憶領域が解放された場合は第２のキャラクタの動作を制御するための第２の制御プログラムが解放された記憶領域に新たに記憶され、第１の表示データの記憶領域が解放された場合は第２のキャラクタの表示に関する第２の表示データが解放された記憶領域に新たに記憶されるため、第１の制御プログラムの記憶領域と第１の表示データの記憶領域とを解放し、第２の制御プログラムと第２の表示データとを解放された記憶領域に共に記憶する処理に比べて、記憶領域を解放し、解放された記憶領域に記憶する処理にかかる時間を短縮することが可能となる。
【００２８】
【発明の実施の形態】
以下、本発明の一実施の形態によるビデオゲーム装置について図面を参照しながら説明する。
【００２９】
図１は本発明の一実施の形態によるビデオゲーム装置の構成を示すブロック図である。なお、以下の説明では、ビデオゲーム装置の一例として家庭用ビデオゲーム機を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置について説明するが、本発明はこの例に特に限定されず、モニタが一体に構成された業務用ビデオゲーム装置、ビデオゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
【００３０】
図１に示すビデオゲーム装置は家庭用ゲーム機１００及び家庭用テレビジョン２００を備える。家庭用ゲーム機１００には、プログラムデータが記録されたコンピュータ読み出し可能な記録媒体３００が装填されている。
【００３１】
家庭用ゲーム機１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１、バスライン２、グラフィックスデータ生成プロセッサ３、インターフェース回路（Ｉ／Ｆ）４、メインメモリ５、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６、伸張回路７、パラレルポート８、シリアルポート９、描画プロセッサ１０、音声プロセッサ１１、デコーダ１２、インターフェース回路１３、バッファ１４〜１６、記録媒体ドライブ１７、メモリ１８及びコントローラ１９を含む。家庭用テレビジョン２００はテレビジョンモニタ２１、増幅回路２２及びスピーカ２３を含む。
【００３２】
ＣＰＵ１はバスライン２およびグラフィックスデータ生成プロセッサ３に接続されている。バスライン２はアドレスバス、データバス及びコントロールバス等を含み、ＣＰＵ１、インターフェース回路４、メインメモリ５、ＲＯＭ６、伸張回路７、パラレルポート８、シリアルポート９、描画プロセッサ１０、音声プロセッサ１１、デコーダ１２及びインターフェース回路１３を相互に接続している。
【００３３】
描画プロセッサ１０はバッファ１４に接続される。音声プロセッサ１１はバッファ１５及び増幅回路２２に接続される。デコーダ１２はバッファ１６及び記録媒体ドライブ１７に接続される。インターフェース回路１３はメモリ１８及びコントローラ１９に接続される。
【００３４】
家庭用テレビジョン２００のテレビジョンモニタ２１は描画プロセッサ１０に接続される。スピーカ２３は増幅回路２２に接続される。なお、業務用ビデオゲーム装置の場合、テレビジョンモニタ２１、増幅回路２２及びスピーカ２３は、家庭用ゲーム機１００を構成する各ブロックとともに１つの筺体に収納される場合がある。
【００３５】
また、ビデオゲーム装置がパーソナルコンピュータやワークステーション等を核として構成されている場合、テレビジョンモニタ２１等はコンピュータ用のディスプレイに対応する。また、伸張回路７、描画プロセッサ１０及び音声プロセッサ１１等は、それぞれ記録媒体３００に記録されているプログラムデータの一部又はコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、インターフェース回路４、パラレルポート８、シリアルポート９及びインターフェース回路１３は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ１４〜１６はそれぞれメインメモリ５又は拡張メモリ（図示省略）の各記憶エリアに対応する。
【００３６】
次に、図１に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ３はＣＰＵ１のいわばコプロセッサとしての役割を果たす。すなわち、グラフィックスデータ生成プロセッサ３は座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理によって行う。
【００３７】
グラフィックスデータ生成プロセッサ３が行う主な処理としては、ＣＰＵ１から供給される画像データの２次元又は３次元空間内における各頂点の座標データ、移動量データ、回転量データ等に基づいて、所定の表示エリア上における処理対象画像のアドレスデータを求めてＣＰＵ１に返す処理、仮想的に設定された光源からの距離に応じて画像の輝度を計算する処理等がある。
【００３８】
インターフェース回路４は周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用に用いられる。メインメモリ５はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。ＲＯＭ６にはビデオゲーム装置のオペレーティングシステムとなるプログラムデータが記憶されている。このプログラムはパーソナルコンピュータのＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）に相当する。
【００３９】
伸張回路７は動画に対するＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）規格や静止画に対するＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）規格に準拠したイントラ符号化によって圧縮された圧縮画像に対して伸張処理を施す。伸張処理はデコード処理（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅによってエンコードされたデータのデコード）、逆量子化処理、ＩＤＣＴ（Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）処理、イントラ画像の復元処理等を含む。
【００４０】
描画プロセッサ１０は所定時間Ｔ（例えば、１フレームでＴ＝１／６０秒）ごとにＣＰＵ１が発行する描画命令に基づいてバッファ１４に対する描画処理を行う。
【００４１】
バッファ１４は例えばＲＡＭで構成され、表示エリア（フレームバッファ）と非表示エリアとに分けられる。表示エリアはテレビジョンモニタ２１の表示面上に表示するデータの展開エリアで構成される。非表示エリアはスケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等の記憶エリアで構成される。
【００４２】
ここで、テクスチャデータは２次元の画像データである。カラーパレットデータはテクスチャデータ等の色を指定するためのデータである。記録媒体３００から一度に又はゲームの進行状況に応じて複数回に分けて、ＣＰＵ１はこれらのデータを予めバッファ１４の非表示エリアに記録する。
【００４３】
また、描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の２次元画像を描画するための描画命令がある。ここで、ポリゴンは多角形の２次元仮想図形であり、例えば、三角形や四角形が用いられる。
【００４４】
ポリゴンを用いて立体的な画像を描画するための描画命令は、ポリゴン頂点座標データのバッファ１４の表示エリア上における記憶位置を示すポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャのバッファ１４上における記憶位置を示すテクスチャアドレスデータ、テクスチャの色を示すカラーパレットデータのバッファ１４上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
【００４５】
上記のデータのうち表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ３がＣＰＵ１からの３次元空間上におけるポリゴン頂点座標データを画面自体の移動量データ及び回転量データに基づいて座標変換することによって２次元上でのポリゴン頂点座標データに置換されたものである。  輝度データはＣＰＵ１からの上記座標変換後のポリゴン頂点座標データによって示される位置から仮想的に配置された光源までの距離に基づいてグラフィックスデータ生成プロセッサ３によって決定される。
【００４６】
ポリゴン頂点アドレスデータはバッファ１４の表示エリア上のアドレスを示す。描画プロセッサ１０は３個のポリゴン頂点アドレスデータで示されるバッファ１４の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
【００４７】
ゲーム空間内におけるキャラクタ等の物体は、複数のポリゴンで構成される。ＣＰＵ１は各ポリゴンの３次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ１４に記憶する。そして、後述するコントローラ１９の操作によって、テレビジョンモニタ２１の表示画面上でキャラクタを移動させる等の場合において、キャラクタの動きを表現したり、キャラクタを見ている視点位置を変えるときに、以下の処理が行われる。
【００４８】
すなわち、ＣＰＵ１はグラフィックスデータ生成プロセッサ３に対してバッファ１４の非表示エリア内に保持している各ポリゴンの頂点の３次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データとを与える。
【００４９】
グラフィックスデータ生成プロセッサ３は各ポリゴンの頂点の３次元座標データと各ポリゴンの移動量データ及び回転量データとに基づいて各ポリゴンの移動後及び回転後の３次元座標データを順次求める。
【００５０】
このようにして求められた各ポリゴンの３次元座標データのうち水平及び垂直方向の座標データは、バッファ１４の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして描画プロセッサ１０に供給される。
【００５１】
描画プロセッサ１０は３個のポリゴン頂点アドレスデータによって示されるバッファ１４の表示エリア上に予め割り当てられているテクスチャアドレスデータによって示されるテクスチャデータを書き込む。これによって、テレビジョンモニタ２１の表示画面上には、多数のポリゴンにテクスチャの貼り付けられた物体が表示される。
【００５２】
通常の２次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１４上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データに対して行われる。これらのデータのうち頂点アドレスデータは、ＣＰＵ１からの２次元平面上における頂点座標データをＣＰＵ１からの移動量データ及び回転量データに基づいてグラフィックスデータ生成プロセッサ３が座標変換することによって得られる。
【００５３】
音声プロセッサ１１は記録媒体３００から読み出されたＡＤＰＣＭ（Ａｄａｐｔｉｖｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データをバッファ１５に記憶させ、バッファ１５に記憶されたＡＤＰＣＭデータが音源となる。
【００５４】
また、音声プロセッサ１１は、例えば、周波数４４．１ｋＨｚのクロック信号に基づき、バッファ１５からＡＤＰＣＭデータを読み出す。音声プロセッサ１１は、読み出したＡＤＰＣＭデータに対してピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びバーブの付加等の処理を施す。
【００５５】
記録媒体３００から読み出される音声データがＣＤ−ＤＡ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｉｇｉｔａｌ  Ａｕｄｉｏ）等のＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データの場合、音声プロセッサ１１はこの音声データをＡＤＰＣＭデータに変換する。また、ＰＣＭデータに対するプログラムによる処理は、メインメモリ５上において直接行われる。メインメモリ５上において処理されたＰＣＭデータは、音声プロセッサ１１に供給されてＡＤＰＣＭデータに変換される。その後、上述した各種処理が施され、音声がスピーカ２３から出力される。
【００５６】
記録媒体ドライブ１７としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体３００としては、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。
【００５７】
記録媒体ドライブ１７は記録媒体３００から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダ１２に供給する。デコーダ１２は記録媒体ドライブ１７からの再生したデータに対してＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）によるエラー訂正処理を施し、エラー訂正処理を施したデータをメインメモリ５又は音声プロセッサ１１に供給する。
【００５８】
メモリ１８としては、例えばカード型のメモリが用いられる。カード型のメモリは、例えばゲームを中断した場合において中断時点での状態を保持する等のように、中断時点での各種ゲームパラメータを保持するため等に用いられる。
【００５９】
コントローラ１９はユーザが種々の操作指令を入力するために使用する操作装置であり、ユーザの操作に応じた操作信号をＣＰＵ１に送出する。コントローラ１９には、第１ボタン１９ａ、第２ボタン１９ｂ、第３ボタン１９ｃ、第４ボタン１９ｄ、上方向キー１９Ｕ、下方向キー１９Ｄ、左方向キー１９Ｌ、右方向キー１９Ｒ、Ｌ１ボタン１９Ｌ１、Ｌ２ボタン１９Ｌ２、Ｒ１ボタン１９Ｒ１、Ｒ２ボタン１９Ｒ２、スタートボタン１９ｅ、セレクトボタン１９ｆ、左スティック１９ＳＬ及び右スティック１９ＳＲが設けられている。
【００６０】
上方向キー１９Ｕ、下方向キー１９Ｄ、左方向キー１９Ｌ及び右方向キー１９Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２１の画面上で上下左右に移動させるコマンドをＣＰＵ１に与えるために使用される。
【００６１】
スタートボタン１９ｅは記録媒体３００からゲームプログラムをロードするようにＣＰＵ１に指示するため等に使用される。セレクトボタン１９ｆは記録媒体３００からメインメモリ５にロードされるゲームプログラムに関する各種選択をＣＰＵ１に指示するため等に使用される。
【００６２】
左スティック１９ＳＬ及び右スティック１９ＳＲを除くコントローラ１９の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチで構成される。
【００６３】
左スティック１９ＳＬ及び右スティック１９ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは直立したスティックを有し、このスティックの所定位置を支点として前後左右を含む３６０°方向に亘って傾倒可能な構成になっている。左スティック１９ＳＬ及び右スティック１９ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とする左右方向のｘ座標及び前後方向のｙ座標の値を操作信号としてインターフェース回路１３を介してＣＰＵ１に送出する。
【００６４】
なお、第１ボタン１９ａ、第２ボタン１９ｂ、第３ボタン１９ｃ、第４ボタン１９ｄ、Ｌ１ボタン１９Ｌ１、Ｌ２ボタン１９Ｌ２、Ｒ１ボタン１９Ｒ１及びＲ２ボタン１９Ｒ２は、記録媒体３００からロードされるゲームプログラムに応じて種々の機能に使用される。
【００６５】
次に、上記のビデオゲーム装置の概略動作について説明する。記録媒体３００が記録媒体ドライブ１７に装填されている場合、電源スイッチ（図示省略）がオンされてビデオゲーム装置に電源が投入されると、ＲＯＭ６に記憶されているオペレーティングシステムに基づいて、記録媒体３００からゲームプログラムを読み出すように、ＣＰＵ１は記録媒体ドライブ１７に指示する。これによって、記録媒体ドライブ１７は記録媒体３００から画像データ、音声データ及びプログラムデータを読み出す。読み出された画像データ、音声データ及びプログラムデータはデコーダ１２に供給され、デコーダ１２によってエラー訂正処理が各データに施される。
【００６６】
デコーダ１２によってエラー訂正処理が施された画像データは、バスライン２を介して伸張回路７に供給される。伸張回路７によって上述した伸張処理が行われた画像データは描画プロセッサ１０に供給され、描画プロセッサ１０によってバッファ１４の非表示エリアに書き込まれる。デコーダ１２によってエラー訂正処理が施された音声データは、メインメモリ５又は音声プロセッサ１１を介してバッファ１５に書き込まれる。デコーダ１２によってエラー訂正処理が施されたプログラムデータはメインメモリ５に書き込まれる。
【００６７】
以降、ＣＰＵ１は、メインメモリ５に記憶されているゲームプログラム及びユーザがコントローラ１９を用いて指示する内容に基づいてビデオゲームを進行させる。すなわち、ユーザがコントローラ１９を用いて指示する内容に基づいて、ＣＰＵ１は画像処理の制御、音声処理の制御及び内部処理の制御等を適宜行う。
【００６８】
画像処理の制御として、例えば、キャラクタに指示されるアニメーションに該当するパターンデータから各スケルトンの座標の計算又はポリゴンの頂点座標データの計算、得られた３次元座標データや視点位置データのグラフィックスデータ生成プロセッサ３への供給、グラフィックスデータ生成プロセッサ３が求めたバッファ１４の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等が行われる。
【００６９】
音声処理の制御として、例えば、音声プロセッサ１１に対する音声出力コマンドの発行、レベル、リバーブ等の指定が行われる。内部処理の制御として、例えばコントローラ１９の操作に応じた演算等が行われる。
【００７０】
次に、本発明に係るゲーム進行制御プログラムを用いたビデオゲームの一例について説明する。このビデオゲームは例えばツールドフランス等の自転車レースゲームであり、ユーザによって操作されるキャラクタである自己キャラクタ（選手が乗車した自転車）と対戦相手となるビデオゲーム装置のＣＰＵ１によって動作が制御される複数の相手キャラクタ（相手選手が乗車した自転車）との間でレースを行う対戦ビデオゲームである。
【００７１】
この自転車レースゲームは自己キャラクタと例えば８０の相手キャラクタでレースが行われ、ユーザは、コントローラ１９を操作することによって、テレビジョンモニタ２１に表示される自己キャラクタに対して各種動作を行わせ、相手キャラクタとの順位を競う。
【００７２】
上記ビデオゲーム装置を用いて８０の相手キャラクタを表示した場合、自己キャラクタ及び相手キャラクタの動作が不自然になる等の不具合が生じ、ビデオゲーム装置の性能及び処理にかかる時間等を考慮すると８０全てのキャラクタを表示画面上に表示することは困難である。そこで、表示される第１の相手キャラクタの数を例えば１０にし、この１０の第１の相手キャラクタと自己キャラクタとで構成されるグループを表示することによってビデオゲームを進行させる。そして、自己キャラクタと第１の相手キャラクタとの距離が一定距離以上離れると、自己キャラクタと第２の相手キャラクタとで構成される他のグループとして表示し、ビデオゲームを進行させる。
【００７３】
次に、上記のように構成されたビデオゲーム装置を用いて自転車レースゲームを行う場合のビデオゲーム装置の主要な機能について説明する。
【００７４】
図２は図１に示すビデオゲーム装置の主要機能を示すブロック図である。図２に示すように、ビデオゲーム装置は、機能的には、プログラム実行部３１、データ記憶部３２、プログラム記憶部３３及び表示部３４を含む。
【００７５】
プログラム実行部３１はＣＰＵ１等から構成され、ＣＰＵ１等がメインメモリ５に記憶されているゲーム進行制御プログラムを実行することによって、プログラム及びデータ記憶制御部５１、通常レース処理部５２、チェックポイント検出部５３、順位検出部５４、距離判断部５５及びメモリ管理部５６として機能する。
【００７６】
プログラム及びデータ記憶制御部５１は、相手キャラクタの動作を制御するための制御プログラムと相手キャラクタの表示に関する表示データとをメインメモリ５の所定の記憶領域に記憶する。なお、表示データは、相手キャラクタの形状を表すデータ、表示される座標位置を表す座標データ、テクスチャを表すデータ及び走力や体力等の相手キャラクタの能力を表すパラメータデータ等の相手キャラクタの表示に関する各種データを含む。
【００７７】
通常レース処理部５２は、プログラム及びデータ記憶制御部５１によって記憶領域に記憶された第１の相手キャラクタの動作を制御するための第１の制御プログラム及び第１の相手キャラクタの表示に関する第１の表示データに基づいて第１の相手キャラクタを表示させ、自己キャラクタと第１の相手キャラクタとのレースを行うための処理をする。また、第１の制御プログラム及び第２の相手キャラクタの表示に関する第２の表示データに基づいて第２の相手キャラクタを表示させ、自己キャラクタと第２の相手キャラクタとのレースを行うための処理をする。
【００７８】
チェックポイント検出部５３は、ビデオゲーム空間内に予め設けられた特定の位置であるチェックポイントを、ユーザによって操作される自己キャラクタが通過したか否かを検出する。なお、このチェックポイントは、ビデオゲームの戦略上重要なポイントとしてビデオゲーム空間内に複数設けられており、設定位置はゲーム状況によって異なる。
【００７９】
順位検出部５４は、自己キャラクタと複数の第１の相手キャラクタとで構成されるグループの中で、チェックポイント検出部５３でチェックポイントを通過したと検出された際の自己キャラクタのグループ内における順位を検出する。
【００８０】
距離判断部５５は、グループの中で１位でチェックポイントを通過したと順位検出部５４によって検出された自己キャラクタと、同一グループに属する第１の相手キャラクタとの距離が一定距離以上離れているか否かを判断する。なお、本実施の形態における一定距離とは、第１の相手キャラクタが表示画面に表示されない距離に設定されている。
【００８１】
メモリ管理部５６は、同一グループに属する自己キャラクタと第１の相手キャラクタとの距離が一定距離以上離れていると判断された場合、第１の相手キャラクタの表示に関する複数の第１の表示データを記憶する記憶領域を解放し、第２の相手キャラクタの表示に関する複数の第２の表示データを記憶する記憶領域を確保し、第２の表示データを格納する。
【００８２】
データ記憶部３２はメインメモリ５から構成される。プログラム記憶部３３は記録媒体ドライブ１７等から構成され、コンピュータ読み取り可能な記録媒体４１を含む。記録媒体４１は記録媒体３００から構成され、ゲームプログラムとしてゲーム進行制御プログラムを記憶している。また、ゲーム進行制御プログラムは、相手キャラクタの動作を制御するための制御プログラム及び表示される相手キャラクタに関する表示データを含む。なお、記録媒体４１からゲーム進行制御プログラムが読み取られ、当該プログラムがメインメモリ５に記録されている場合、メインメモリ５がプログラム記憶部３３として機能する。
【００８３】
図３及び図４は、データ記憶部３２におけるデータの確保の一例を説明するための図である。図３に示すようにデータ記憶部３２は主にプログラム領域６１、静的領域６２、ヒープ領域６３及びスタック領域６４を含む。
【００８４】
プログラム領域６１は本ゲームプログラムの基本的なプログラムを記憶する領域である。ヒープ領域６３はゲームの進行に応じて割り付けられる動的な領域であり、静的領域６２は動的な領域であるヒープ領域に対して書き換えられることのない静的なデータ領域である。スタック領域６４はプログラムの実行を行う際等に利用するＦＩＬＯ（Ｆｉｒｓｔ    Ｉｎ    Ｌａｓｔ    Ｏｕｔ）構造等の一時的なデータ格納領域である。
【００８５】
なお、ヒープ領域６３は、Ｃ＋＋等のオブジェクト指向言語において使用されるｎｅｗ（演算子）によって動的に確保される領域であり、ｄｅｌｅｔｅ（演算子）によって解放される領域である。
【００８６】
さらに、ヒープ領域６３におけるデータの確保の方法は、ヒープ領域６３の先頭アドレス（図４の上部）から順にデータを確保していくもので、図３に示すように、まず第１の相手キャラクタ８１１〜８１ｎの動作を制御するための複数の第１の制御プログラム９１１〜９１ｎの記憶領域７１１〜７１ｎを確保し、第１の制御プログラム９１１〜９１ｎを格納（記憶）する。続いて、第１の相手キャラクタ８１１〜８１ｎの表示に関する複数の第１の表示データ９２１〜９２ｎの記憶領域７２１〜７２ｎを確保し、第１の表示データ９２１〜９２ｎを格納する。なお、本実施の形態においてはｎ＝１０、つまり同一グループにおける相手キャラクタの数を１０とするが、本発明は特にこれに限定されず、ｎの値はビデオゲームに応じて好適な値にしてもよい。メモリ管理部５６は第１の相手キャラクタ８１１〜８１ｎの表示に関する複数の第１の表示データ９２１〜９２ｎの記憶領域７２１〜７２ｎを解放する。そして、図４に示すように、第２の相手キャラクタ８２１〜８２ｎの表示に関する複数の第２の表示データ９３１〜９３ｎの記憶領域７３１〜７３ｎを確保し、第２の表示データ９３１〜９３ｎを格納する。この際、第１の制御プログラム９１１〜９１ｎを用いて第２の相手キャラクタ８２１〜８２ｎの動作を制御する。このようにして、例えば１０の相手キャラクタを表示する場合、第１の制御プログラムの記憶領域及び第１の表示データの記憶領域を解放し、第２の制御プログラムの記憶領域及び第２の表示データの記憶領域を確保することによって単純に４０回行われていた処理が、第１の表示データの記憶領域を解放し、第２の表示データの記憶領域を確保することによって２０回となり、解放及び確保の処理にかかる実行時間を軽減することができる。
【００８７】
図５は、本実施の形態におけるヒープ領域６３のデータ構造を説明するための図である。
【００８８】
図５（ａ）に示すように、第１の相手キャラクタ８１１の動作を制御するための第１の制御プログラム９１１を記憶する記憶領域７４１、第１の相手キャラクタ８１１の表示に関する第１の表示データ９２１を記憶する記憶領域７４２、第１の相手キャラクタ８１２の動作を制御するための第１の制御プログラム９１２を記憶する記憶領域７４３及び第１の相手キャラクタ８１２の表示に関する第１の表示データ９２２を記憶する記憶領域７４４の順にヒープ領域６３内の記憶領域が確保されているとする。
【００８９】
ここで、第１の表示データ９２１及び第１の表示データ９２２を記憶する記憶領域７４２及び記憶領域７４４が解放され、続いて例えば煙等を表示するための微小データ９４１が記憶されると、先頭から順に記憶領域が確保されるためデータ９４１は記憶領域７４２に記憶される。そして、第２の相手キャラクタ８２１及び８２２の表示に関する第２の表示データ９３１及び９３２を記憶する記憶領域を確保しようとすると、記憶領域７４２には入らないため、記憶領域７４３に続けて記憶領域７４４及び記憶領域７４５が確保され、データが格納される（図５（ｂ））。
【００９０】
このように、制御プログラム及び表示データを交互に格納し、記憶領域の解放、確保を繰り返すことによって記憶領域７４３（図５（ｂ））のようにメモリ内の断裂が起こることとなり、メモリを効率的に使用する上でこのような状態は好ましい状態ではない。そのため、図３に示すように、第１の相手キャラクタ８１１〜８１ｎの動作を制御するための複数の第１の制御プログラム９１１〜９１ｎを記憶する記憶領域７１１〜７１ｎを確保した後、第１の相手キャラクタ８１１〜８１ｎの表示に関する複数の第１の表示データ９２１〜９２ｎを記憶する記憶領域７２１〜７２ｎを確保する。複数の第１の制御プログラム９１１〜９１ｎ及び複数の第１の表示データ９２１〜９２ｎのそれぞれをひとまとめに記憶することで、第１の表示データ９２１〜９２ｎの記憶領域７２１〜７２ｎを解放した後に微小データ９４１が記憶された場合でも、第２の表示データの記憶領域を確保することによってメモリ内の断裂が起こることを防止することができ、メモリを効率的に使用することができる。
【００９１】
なお、本実施の形態において、記憶手段がデータ記憶部３２に相当し、表示手段が通常レース処理部５２に相当し、管理手段がメモリ管理部５６に相当し、判断手段が距離判断部５５に相当し、第１のキャラクタが第１の相手キャラクタ８１１〜８１ｎに相当し、第２のキャラクタが第２の相手キャラクタ８２１〜８２ｎに相当する。
【００９２】
図６は、図２に示すビデオゲーム装置によるゲーム進行処理の一例を示すフローチャートであり、図７は、本実施の形態における自己キャラクタと相手キャラクタとの関係を示す図である。なお、図６に示すゲーム進行処理は、ＣＰＵ１等が記録媒体３００に記憶されているゲーム進行制御プログラム等を実行することによって行われる処理である。また、図７（ａ）及び図７（ｂ）に示す矢印Ａは、ユーザによって操作される自己キャラクタ８０、対戦相手である第１の相手キャラクタ８１１〜８１ｎで構成される相手キャラクタ群８１及び第２の相手キャラクタ８２１〜８２ｎで構成される相手キャラクタ群８２の進行方向を表すものである。
【００９３】
まず、ステップＳ１において、通常レース処理部５２は通常レース処理を行う。つまり、各第１の相手キャラクタ８１１〜８１ｎの表示に関する第１の表示データ９２１〜９２ｎに基づいて各第１の相手キャラクタ８１１〜８１ｎを表示させ、各第１の相手キャラクタ８１１〜８１ｎの動作を制御するための複数の第１の制御プログラム９１１〜９１ｎに基づいて各第１の相手キャラクタ８１１〜８１ｎを動作させることによってユーザによって操作される自己キャラクタ８０とのレースが行われる。
【００９４】
ステップＳ２において、チェックポイント検出部５３は自己キャラクタ８０がビデオゲーム空間内において予め設けられた特定の位置であるチェックポイントＰを通過したか否かを検出する。ここで、自己キャラクタ８０がチェックポイントＰを通過したことが検出されるとステップＳ３に進み、検出されなければステップＳ１に戻り、通常レース処理が行われる。
【００９５】
ステップＳ３において、順位検出部５４は、自己キャラクタ８０と相手キャラクタ群８１とで構成されるグループのうち、自己キャラクタ８０がチェックポイントＰを通過した際の順位を検出する。ここで、自己キャラクタ８０がグループの中で１位で通過したと検出されればステップＳ４に進み、１位以外の順位で通過したと検出されればステップＳ１に戻り、通常レース処理が行われる。
【００９６】
ステップＳ４において、距離判断部５５は、自己キャラクタ８０と２位である相手キャラクタ群８１の先頭の第１の相手キャラクタ８１１との距離が一定距離ｘ以上離れているか否かを判断する。ビデオゲーム空間における自己キャラクタ８０の位置と第１の相手キャラクタ８１１の位置との距離が一定距離ｘ以上離れていると判断されるとステップＳ５に進み、一定距離ｘ以上離れていると判断されなければステップＳ１に戻り、通常レース処理が行われる。
【００９７】
ステップＳ５において、メモリ管理部５６は各第１の相手キャラクタ８１１〜８１ｎの表示に関する複数の第１の表示データ９２１〜９２ｎを記憶する記憶領域７２１〜７２ｎを解放し、各第２の相手キャラクタ８２１〜８２ｎの表示に関する複数の第２の表示データ９３１〜９３ｎを記憶する記憶領域７２１〜７２ｎを確保し、第２の表示データ９３１〜９３ｎを格納する。これによって、自己キャラクタ８０の進行方向に対して前方の一定距離ｙの位置に相手キャラクタ群８２の最後尾の第２の相手キャラクタ８２１が表示されることとなり、自己キャラクタ８０と相手キャラクタ群８２とで構成されるグループとして表示され、レースが進行する。なお、距離ｙはビデオゲーム空間内において予め設定された距離であり、表示データに含まれる。また、距離ｘと距離ｙとの距離は必ずしも同一ではなく、好適な距離ｙを採用することが可能である。
【００９８】
また、本実施の形態において、自己キャラクタ８０及び相手キャラクタ群８１を前方から捉えるカメラ視点を後方から捉えるカメラ視点に変更して自己キャラクタ８０及び相手キャラクタ群８２を表示するようにしてもよい。
【００９９】
以上のステップＳ１〜Ｓ５の処理が繰り返されることによってゲームが進行することとなる。
【０１００】
このように、ゲームの進行に応じて、記憶された第１の相手キャラクタ８１１〜８１ｎの動作を制御するための複数の第１の制御プログラム９１１〜９１ｎ及び第１の相手キャラクタ８１１〜８１ｎの表示に関する複数の第１の表示データ９２１〜９２ｎのうちの複数の第１の表示データ９２１〜９２ｎを記憶する記憶領域が解放され、第２の相手キャラクタ８２１〜８２ｎの表示に関する複数の第２の表示データ９３１〜９３ｎを記憶する記憶領域を確保するようにデータ記憶部３２が管理される。そのため、第１の相手キャラクタの動作を制御するための第１の制御プログラムを用いて第２の相手キャラクタの動作を制御することが可能となり、動作が同じであっても表示される相手キャラクタのユニフォーム等の外見が変化するので、第２の相手キャラクタを第１の相手キャラクタとは異なる相手キャラクタとして表示することができる。
【０１０１】
また、第１の相手キャラクタの動作を制御するための第１の制御プログラムを用いて第２の相手キャラクタの動作を制御するため、データ記憶部３２内における複数の第１の制御プログラムの記憶領域を解放し、解放された記憶領域に複数の第２の制御プログラムを確保する処理にかかる時間が短縮される。
【０１０２】
本実施の形態では、自己キャラクタ８０と相手キャラクタ群８１とで構成されるグループのうち自己キャラクタ８０が１位でチェックポイントＰを通過した場合、各第１の相手キャラクタ８１１〜８１ｎの表示に関する第１の表示データ９２１〜９２ｎを記憶する記憶領域を解放し、各第２の相手キャラクタ８２１〜８２ｎの表示に関する第２の表示データ９３１〜９３ｎを記憶する記憶領域７３１〜７３ｎを確保するとしたが、本発明は特にこれに限定されず、自己キャラクタ８０がグループのうち最下位でチェックポイントＰを通過した場合にも適用可能である。つまり、自己キャラクタ８０と相手キャラクタ群８２とで構成されるグループのうち自己キャラクタ８０が最下位でチェックポイントを通過したと順位検出部５４によって検出され、距離判断部５５によって一定距離ｙ以上離れていると判断された場合（図７（ｂ））、メモリ管理部５６は各第２の相手キャラクタ８２１〜８２ｎの表示に関する第２の表示データ９３１〜９３ｎを記憶する記憶領域７３１〜７３ｎを解放し、各第１の相手キャラクタ８１１〜８１ｎの表示に関する第１の表示データ９２１〜９２ｎを記憶する記憶領域７２１〜７２ｎを確保することで、相手キャラクタ群８１が進行方向に対して逆方向に一定距離ｘの位置に表示される（図７（ａ））。
【０１０３】
本実施の形態では、第１の相手キャラクタの表示に関する第１の表示データを全て第２の相手キャラクタの表示に関する第２の表示データに替えるとしたが、本発明は特にこれに限定されず、ビデオゲームの進行上第２の相手キャラクタと共有することが可能な第１の表示データの一部は残してもよい。つまり、例えば第１の相手キャラクタの表示に関する第１の表示データのうちキャラクタの形状を表すデータを残し、座標データ、テクスチャデータ及びパラメータデータ等を記憶する記憶領域を解放し、第２の相手キャラクタの座標データ、テクスチャデータ及びパラメータデータ等を解放した記憶領域に記憶するもので、相手キャラクタが多数表示される場合等は第１の表示データの一部を変えたとしても特に違和感のないビデオゲームとなる。
【０１０４】
本実施の形態では、自己キャラクタがチェックポイントＰを通過したことを検出して第１の相手キャラクタ８１１〜８１ｎの表示に関する第１の表示データ９２１〜９２ｎを記憶する記憶領域７２１〜７２ｎを解放し、第２の相手キャラクタ８２１〜８２ｎの表示に関する第２の表示データ９３１〜９３ｎを記憶する記憶領域７３１〜７３ｎを確保するが、本発明は特にこれに限定されず、一定距離以上離れているか否かのみを判断することによって第１の相手キャラクタ８１１〜８１ｎの表示に関する第１の表示データ９２１〜９２ｎを記憶する記憶領域７２１〜７２ｎを解放し、第２の相手キャラクタ８２１〜８２ｎの表示に関する第２の表示データ９３１〜９３ｎを記憶する記憶領域７３１〜７３ｎを確保してもよい。つまり、自己キャラクタと第１の相手キャラクタとの距離を常に判断し、一定距離以上離れた時点で第１の相手キャラクタ８１１〜８１ｎの表示に関する第１の表示データ９２１〜９２ｎを記憶する記憶領域７２１〜７２ｎを解放し、第２の相手キャラクタ８２１〜８２ｎの表示に関する第２の表示データ９３１〜９３ｎを記憶する記憶領域７３１〜７３ｎを確保する。
【０１０５】
本実施の形態では、第１の相手キャラクタの表示に関する第１の表示データを記憶する記憶領域を解放し、第２の相手キャラクタの表示に関する第２の表示データを記憶する記憶領域を確保するとしたが、本発明は特にこれに限定されず、第１の相手キャラクタの動作を制御するための第１の制御プログラムを記憶する記憶領域を解放し、第２の相手キャラクタの動作を制御するための第２の制御プログラムを記憶する記憶領域を確保してもよい。この場合、例えばロールプレイングゲーム等において、表示される相手キャラクタは変化させずに相手キャラクタの動作を変化させたい場合等に有効である。
【０１０６】
本実施の形態では、複数の表示データは１のキャラクタの表示に関するデータでもよい。つまり、例えば頭や胴体等の表示データが個別に複数ある場合等、この複数の表示データを１の制御プログラムによって動作してもよい。
【０１０７】
本実施の形態では、ビデオゲームとして自転車レースゲームを例に説明したが、本発明は特にこれに限定されず、カーレースゲーム等の他のレースゲーム、飛行機や戦車等のシュミレーションゲーム及び多数、例えば１０以上のキャラクタが登場するビデオゲーム等にも適用することができる。
【０１０８】
【発明の効果】
請求項１に記載の本発明によれば、第１の制御プログラムの記憶領域と第１の表示データの記憶領域とを解放し、第２の制御プログラムと第２の表示データとを解放された記憶領域に共に記憶する処理に比べて、記憶領域を解放し、解放された記憶領域に記憶する処理にかかる時間を短縮することができる。
【０１０９】
請求項２に記載の本発明によれば、第１のキャラクタの動作を制御するための第１の制御プログラムを用いて第２のキャラクタの動作を制御することが可能となり、キャラクタの動作が同じであっても表示されるキャラクタの外見等が変化するので、第２のキャラクタを第１のキャラクタとは異なるキャラクタとして表示することができる。
【０１１０】
請求項３に記載の本発明によれば、複数の第１の制御プログラムが順に記憶された後、複数の第１の表示データが順に記憶され、第１の表示データの記憶領域が解放され、解放された記憶領域に微小データが記憶された場合でも第２の表示データは微小データの次に記憶されるため記憶手段の断裂が起こることを防止することができ、記憶手段内の記憶領域を効率的に使用することができる。
【０１１１】
請求項４に記載の本発明によれば、例えばレースゲーム等において、ユーザによって操作されるキャラクタと第１のキャラクタとの距離を判断することで第２のキャラクタを表示させ、多数のキャラクタが登場するレースゲーム等でも複数のキャラクタを表示させることができるため、ユーザにとって興趣に富むゲームを提供することができる。
【０１１２】
請求項５に記載の本発明によれば、第１の制御プログラムの記憶領域と第１の表示データの記憶領域とを解放し、第２の制御プログラムと第２の表示データとを解放された記憶領域に共に記憶する処理に比べて、記憶領域を解放し、解放された記憶領域に記憶する処理にかかる時間を短縮することができる。
【０１１３】
請求項６に記載の本発明によれば、第１の制御プログラムの記憶領域と第１の表示データの記憶領域とを解放し、第２の制御プログラムと第２の表示データとを解放された記憶領域に共に記憶する処理に比べて、記憶領域を解放し、解放された記憶領域に記憶する処理にかかる時間を短縮することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態によるビデオゲーム装置の構成を示すブロック図である。
【図２】図１に示すビデオゲーム装置の主要機能を示すブロック図である。
【図３】データ記憶部３２におけるデータの確保の一例を説明するための図である。
【図４】ヒープ領域６３におけるデータの確保の一例を説明するための図である。
【図５】本実施の形態におけるヒープ領域６３のデータ構造を説明するための図である。
【図６】図２に示すビデオゲーム装置によるゲーム進行処理の一例を示すフローチャートである。
【図７】本実施の形態における自己キャラクタと相手キャラクタとの関係を示す図である。
【符号の説明】
１  ＣＰＵ
５  メインメモリ
１９  コントローラ
２１  テレビジョンモニタ
３１  プログラム実行部
３２  データ記憶部
３３  プログラム記憶部
３４  表示部
５１  プログラム及びデータ記憶制御部
５２  通常レース処理部
５３  チェックポイント検出部
５４  順位検出部
５５  距離判断部
５６  メモリ管理部
８０  自己キャラクタ
３００  記録媒体
８１１〜８１ｎ  第１の相手キャラクタ
８２１〜８２ｎ  第２の相手キャラクタ
９１１〜９１ｎ  第１の制御プログラム
９２１〜９２ｎ  第１の表示データ
９３１〜９３ｎ  第２の表示データ
【図１】
0003629453.tif 000002
【図２】
0003629453.tif 000003
【図３】
0003629453.tif 000004
【図４】
0003629453.tif 000005
【図５】
0003629453.tif 000006
【図６】
0003629453.tif 000007
【図７】
0003629453.tif 000008