(57)【要約】【課題】従来にない新規な画面構成と操作性を持つビデオゲームを提供する。【解決手段】浮体オブジェクト３０５に対して、水槽を模した枠３０２の底部に落ち着いてから、浮力による浮上がシミュレーションされる。その際、プレーヤは浮上方向について１段階の増速を指示することができる。また、水平方向については、左右ボタンを押した時間や回数に応じた加速度が与えられる。プレーヤによるこれら操作によって、同一タイプのオブジェクトの連結が形成されると、連結した浮体オブジェクトが消滅してオブジェクトは再度安定状態まで移動され、連結がチェックされる。【選択図】図３
2006141453.tif 000002
【特許請求の範囲】
【請求項１】
メモリに格納した画像オブジェクトの種類及び位置に基づいて該画像オブジェクトを描画したフレーム画像を連続表示させるためのビデオゲーム用プログラムであって、
画面下方より上方に向けて所定の安定位置まで移動する着目画像オブジェクトの上下方向の位置と、安定位置に達するまでに操作手段による操作に応じて左右方向に移動される着目画像オブジェクトの左右方向の位置とに基づいて、前記着目画像オブジェクトの位置を算出する位置算出工程と、
所定の安定位置に達した着目画像オブジェクトの前記位置算出工程により算出された位置に基づいて、当該着目画像オブジェクトに隣接するすべての他の画像オブジェクトの種類を参照して、前記着目画像オブジェクトと同種類の画像オブジェクトが所定数以上の連結が形成されていることを判定する判定処理工程と、
前記判定処理工程により所定数以上の連結が形成されていると判定された場合、これら連結している同種類の画像オブジェクトを前記メモリより消去する消去処理工程と、
前記メモリに格納された画像オブジェクトを、その種類及び位置に応じてフレーム画像に描画する描画工程と
をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記位置算出工程は、
前記左右方向への前記画像オブジェクトの移動を指示する操作量に従って、左右方向にそれぞれ一定の率で加速した速度で移動する前記画像オブジェクトの位置を算出する左右移動位置算出工程と、
操作がされない前記画像オブジェクトを左右方向に移動しないで左右方向の位置を固定する位置固定工程と
を有することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記位置算出工程は、
前記着目画像オブジェクトが他の画像オブジェクトに接触したことを判定する接触判定工程と、
前記他の画像オブジェクトの包絡線に沿って移動する前記着目画像オブジェクトの位置を算出する包絡線移動位置算出工程と
を有することを特徴とする請求項１または２に記載のプログラム。
【請求項４】
前記消去処理工程により連結に係る画像オブジェクトが消去されたことによって、安定位置ではなくなった画像オブジェクトをそれぞれ着目画像オブジェクトとして、安定位置に向けて移動する位置を算出する再位置算出工程をコンピュータにさらに実行させ、前記再位置算出工程により算出された位置を着目画像オブジェクトの位置として、前記判定処理工程乃至前記描画工程を実行することを特徴とする請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記判定処理工程においては、
前記画像オブジェクトの上下方向についての移動距離が一定値に達したことと、
左右方向に相接して並んだ安定位置にある他の２つの画像オブジェクトに接して千鳥状の配置となることと、
安定位置にある他の画像オブジェクトと、画像オブジェクトの移動を制限する枠とに接したことの条件を満たす場合に、当該画像オブジェクトが安定位置に達したものとして前記連結の判定が行われることを特徴とする請求項１乃至４のいずれか１項に記載のプログラム。
【請求項６】
表示画面上を第一の方向に向かって移動する画像オブジェクトの動作を制御するビデオゲーム用プログラムであって、
操作手段による前記第一の方向に直交する第二の方向への操作を受け付ける操作受付工程と、
前記操作受付工程により受け付けた操作の前記第二の方向及び時間に応じた速度を、前記画像オブジェクトの前記第二の方向に対する速度に加算する速度処理工程と、
前記速度処理工程において計算された速度で前記画像オブジェクトが移動するよう、表示画面の表示レートに応じた距離移動させつつ前記画像オブジェクトを描画する描画処理工程と
をコンピュータに実行させることを特徴とするプログラム。
【請求項７】
コンピュータにより、浮力体を模した画像オブジェクトの動作を制御するビデオゲーム装置であって、
ゲーム画面下方より画像オブジェクトが浮上する画像を生成する浮上画像処理手段と、
前記浮上画像処理手段により浮上途中の前記画像オブジェクトを操作手段による操作に応じて左右方向に移動させた画像を生成する移動画像処理手段と、
所定の安定位置に達した当該画像オブジェクトと他の画像オブジェクトとにより同種の画像オブジェクトを所定数以上含む連結が形成されていることを判定する判定処理手段と、
連結が形成された前記画像オブジェクトを消去した画像を生成する消去画像処理手段と
を備えることを特徴とするビデオゲーム装置。
【請求項８】
前記移動画像処理手段は、前記左右方向への前記画像オブジェクトの移動を指示する操作量に従って、左右方向について一定の率で加速するように前記画像オブジェクトの左右方向への移動速度を変更する速度変更処理手段を有することを特徴とする請求項７に記載のビデオゲーム装置。
【請求項９】
表示画面上を第一の方向に向かって移動する画像オブジェクトの動作を制御するビデオゲーム装置であって、
前記第一の方向と直交する第二の方向への操作を受け付ける操作受付手段と、
前記操作受付手段により受け付けた操作の方向及び時間に応じた速度を、前記画像オブジェクトの前記第二の方向に対する速度に加算する速度処理手段と、
前記速度処理手段において計算された速度で前記画像オブジェクトが移動するよう表示画面の表示レートに応じた距離を移動し、前記画像オブジェクトを描画する描画処理手段と
を備えることを特徴とするビデオゲーム装置。
【請求項１０】
請求項１乃至６のいずれか１項に記載のプログラムを記録した記録媒体と、
要求元の端末装置とコンピュータネットワークを介して接続する通信手段と、
前記通信手段を介して、前記要求元の端末装置に対して前記記録媒体に記録されたプログラムを配信する配信手段と
を備えることを特徴とするサーバコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータやコンピュータを組み込んだ端末装置において実行可能なビデオゲームに関する。
【背景技術】
【０００２】
ビデオゲームの１つのカテゴリに、画面上で落下するオブジェクトを一定の規則に従って積み上げることで、そのオブジェクトを消去するというものがあり、「テトリス」や「ぷよぷよ」（登録商標）などがよく知られている。たとえば株式会社セガ製の「ぷよぷよ」（登録商標）では、色違いの円形オブジェクトが２つずつ組となって上方から落下し、同色のオブジェクトが４つ以上つながるとそれらが消去されて得点となる。落下したオブジェクトは格子状につみあげられていく。また、有限会社セイブ開発製の「めざせ！戦球王」では、３個一組で落下するボールが千鳥状に積み上げられ、ボールが積み上げられたボール群上に落下しても安定するまで転がり落ちる。そして安定した状態で同種のボールが４個以上つながるとそれらが消去されて得点となる。このほかにも、落下オブジェクトを消去するゲーム（以下、落下型ゲームと呼ぶ。）に関しては多くのバリエーションが考案されている（たとえば特許文献１，２等参照）。
【０００３】
また、近年、入浴中において娯楽性を求める傾向にあり、中でも多種多様な入浴剤が注目を集めている。幼児向け入浴剤としては、株式会社バンダイから発売されている「びっくらたまご」（登録商標）という商品が知られている。この商品は、たまご型に固められた入浴剤の中に、キャラクターなどの形状をしたプラスチック玩具が入っており、入浴剤が溶けると、これらキャラクターがたまごから生まれるように浴槽の底から水面に浮き上がってくるという演出がなされるものである。
【特許文献１】特開平８−１６４２７０号公報
【特許文献２】特開平１０−０６６７８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来の落下型ゲームにおいては、その名の通りいずれにおいてもオブジェクトは落下する。プレーヤは、ゲームの種類に依存して、落下オブジェクトを左右方向に移動させたりあるいは回転させるなどの操作を行って、落下位置や姿勢等を制御することができる。しかしいずれも落下という点は共通していたため、どの落下型ゲームでもゲームの基本的骨格は変わることがなかった。このため、新たなゲームであっても、落下型ゲームのカテゴリであればプレーヤの関心を惹きにくく、またプレイしても新たな興味を興させないことにもなっていた。
【０００５】
さらに、これら従来のゲームにおいては、プレーヤの操作感がディジタル的であり、ひとつの操作に対して一定の表示上の動作が行われる。たとえば、オブジェクトの右移動の操作が行われると、その操作に応じて１回（すなわち一定距離）の右移動が行われる、というものであった。こうすることで、プレーヤによる操作が直ちに画面に反映されるためにプレイの容易化には役立つが、現実世界の感覚とは異なるものとなっていた。
【０００６】
本発明は上記従来例に鑑みてなされたもので、プレイの興趣を高め、プレーヤにあらたな興味を興させるビデオゲーム用プログラム及びゲーム装置を提供することを目的とする。
【０００７】
また、例えば上記「びっくらたまご」のような入浴剤の演出をゲーム性に取り込むなどして、プレーヤの操作に対するゲーム中のオブジェクトの動作をより現実的な感覚に近づけることにより、プレイの興趣性をさらに高めることのできるビデオゲーム用プログラム及びゲーム装置を提供することをもうひとつの目的とする。
【課題を解決するための手段】
【０００８】
本発明は上記従来例に鑑みてなされたもので、以下の構成を備える。
【０００９】
メモリに格納した画像オブジェクトの種類及び位置に基づいて該画像オブジェクトを描画したフレーム画像を連続表示させるためのビデオゲーム用プログラムであって、
画面下方より上方に向けて所定の安定位置まで移動する着目画像オブジェクトの上下方向の位置と、安定位置に達するまでに操作手段による操作に応じて左右方向に移動される着目画像オブジェクトの左右方向の位置とに基づいて、前記着目画像オブジェクトの位置を算出する位置算出工程と、
所定の安定位置に達した着目画像オブジェクトの前記位置算出工程により算出された位置に基づいて、当該着目画像オブジェクトに隣接するすべての他の画像オブジェクトの種類を参照して、前記着目画像オブジェクトと同種類の画像オブジェクトが所定数以上の連結が形成されていることを判定する判定処理工程と、
前記判定処理工程により所定数以上の連結が形成されていると判定された場合、これら連結している同種類の画像オブジェクトを前記メモリより消去する消去処理工程と、
前記メモリに格納された画像オブジェクトを、その種類及び位置に応じてフレーム画像に描画する描画工程とをコンピュータに実行させることを特徴とする。
【００１０】
あるいは、表示画面上を第一の方向に向かって移動する画像オブジェクトの動作を制御するビデオゲーム用プログラムであって、
操作手段による前記第一の方向に直交する第二の方向への操作を受け付ける操作受付工程と、
前記操作受付工程により受け付けた操作の前記第二の方向及び時間に応じた速度を、前記画像オブジェクトの前記第二の方向に対する速度に加算する速度処理工程と、
前記速度処理工程において計算された速度で前記画像オブジェクトが移動するよう、表示画面の表示レートに応じた距離移動させつつ前記画像オブジェクトを描画する描画処理工程とをコンピュータに実行させる。
【００１１】
あるいは、コンピュータにより、浮力体を模した画像オブジェクトの動作を制御するビデオゲーム装置であって、
ゲーム画面下方より画像オブジェクトが浮上する画像を生成する浮上画像処理手段と、
前記浮上画像処理手段により浮上途中の前記画像オブジェクトを操作手段による操作に応じて左右方向に移動させた画像を生成する移動画像処理手段と、
所定の安定位置に達した当該画像オブジェクトと他の画像オブジェクトとにより同種の画像オブジェクトを所定数以上含む連結が形成されていることを判定する判定処理手段と、
連結が形成された前記画像オブジェクトを消去した画像を生成する消去画像処理手段とを備える。
あるいは、表示画面上を第一の方向に向かって移動する画像オブジェクトの動作を制御するビデオゲーム装置であって、
前記第一の方向と直交する第二の方向への操作を受け付ける操作受付手段と、
前記操作受付手段により受け付けた操作の方向及び時間に応じた速度を、前記画像オブジェクトの前記第二の方向に対する速度に加算する速度処理手段と、
前記速度処理手段において計算された速度で前記画像オブジェクトが移動するよう表示画面の表示レートに応じた距離を移動し、前記画像オブジェクトを描画する描画処理手段とを備える。
【発明の効果】
【００１２】
本発明によれば、水中を浮上するオブジェクトをゲーム内でシミュレーションすることで、従来の落下型ゲームとは異なった浮きあがる物体を操作するという、新規な画面構成と操作性をもったビデオゲーム用プログラム及びゲーム装置を提供することが可能となる。
【００１３】
また、プレーヤによる操作に応じた加速度でオブジェクトの移動速度を変化させることで、オブジェクトの質量やあるいは水中における抵抗をゲームの演出に取り入れることができ、操作感をより現実らしいものとしたビデオゲーム用プログラム及びゲーム装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００１４】
＜ゲームシステムの構成＞
本実施形態に係るビデオゲームは、サーバからプログラムをコンピュータ等の端末にダウンロードするというかたちでプレーヤに提供される。プレーヤは、携帯電話等の携帯端末やパーソナルコンピュータにダウンロードしたプログラムを実行して、ゲームに興じることができる。本実施形態では、ゲームは携帯電話端末（以下単に携帯端末と呼ぶ。）にダウンロードされてそこで実行される。
【００１５】
図１（Ａ）は、ゲームプログラムを提供するサーバ１０２を含めたゲームシステムを示す図である。携帯端末１０１は、ゲートウエイ１０４、インターネット等のコンピュータネットワーク１０３を介してアプリケーションサーバ１０２に接続できる。アプリケーションサーバ１０２は、記録媒体１０２ａに記録したプログラムを、ネットワーク１０３を介して端末１０１にダウンロードすることができる。いったん携帯端末１０１にダウンロードされたプログラムは、ネットワークと切り離されたオフライン状態であっても実行することができる。ゲームプログラム実行時には、ゲームの様子はディスプレイ１０１ａに表示され、プレーヤはその表示を見ながら操作部１１１の十字キー（上下左右および中央の指定が可能）を操作することでゲームをプレイできる。尚、携帯端末の機種により十字キーの形態が異なるため、十字キーの代わりに適宜数字キー１０１ｃ（０から９までの数字キーと「＃」及び「＊」などの１２個程度のボタンからなる）に上下左右および指定の操作を割り当てるように構成しても良い。
【００１６】
図１（Ｂ）は、携帯端末１０１のブロック図である。ダウンロードされたプログラムや、あらかじめその得られた端末機能を実現するための通信制御プログラム等、携帯端末１０１で実行されるプログラムは不揮発性メモリ１１３に格納される。特にダウンロードされたプログラムは、不揮発性メモリ１１３に確保された領域１１３ａに保存される。プロセッサ１１２は、不揮発性メモリ１１３のプログラムをそのままあるいはＲＡＭ１１４にいったんロードして実行する。利用者は携帯端末１０１を、操作部１１１の十字キー１０１ｂや数字キー１０１ｃによって操作する。ＲＡＭ１１４は、図５乃至図１１で説明するプログラムやデータなどが保存される。これらプログラムやデータのための領域として、本実施形態のビデオゲームを実行する際には、着目オブジェクトの情報を保存するための着目オブジェクト領域１１４ａ、安定オブジェクトの情報を保存するための安定オブジェクトテーブル１１４ｂ、連結オブジェクトの情報を保存するための連結オブジェクトテーブル領域１１４ｃ（単に連結テーブルとも呼ぶ）、再安定オブジェクトの情報を保存するための再安定オブジェクトテーブル領域１１４ｄが用意される。これら領域の内容については、ゲームプログラムの説明とともに後で説明する。またＲＡＭには表示される画像データが保存されるフレームメモリ１１４ｅも用意されている。さらに、携帯端末１０１は、無線電話回線を通じて基地局と通信するための通信部１１５を備えている。なお、同一種類のオブジェクトが互いに隣接する位置で安定状態となる場合に、それら安定したオブジェクト群を連結オブジェクトといい、その連結オブジェクトが構成された状態を連結という。安定については図３（Ｄ）を参照して後で説明する。
【００１７】
＜ゲームプログラムのダウンロード＞
図２はサーバ１０２から携帯端末１０１にプログラムをダウンロードする際のサーバ１０２及び携帯端末１０１の処理手順を示すフロー図である。図２において、左側が携帯端末１０１、右側がサーバ１０２による処理である。まず、携帯端末１０１の利用者が、アプリケーションサーバ１０２のアドレス（たとえばＵＲＬ）を指定する。それにより携帯端末１０１は指定されたアドレス即ちアプリケーションサーバ１０２にアクセスする（Ｓ２０１）。これに対してアプリケーションサーバ１０２は、アクセスされたページデータを携帯端末１０１に応答する（Ｓ２１１）。このページには、アプリケーションサーバ１０２からダウンロード可能なプログラムのリストが、たとえば対応するプログラムファイルへのハイパーリンク付きで含まれている。そのページを受信した携帯端末１０１は、受信したページデータをディスプレイ１０１ａに表示する（Ｓ２０２）。
【００１８】
利用者は表示されたページに含まれるプログラムリストから所望のプログラムを選択する。選択された場合には（Ｓ２０３−ＹＥＳ）、選択された項目にハイパーリンクが設定されていればそのリンク先へとアクセスする（Ｓ２０４）。ここでダウンロード対象のプログラム名に対応するリンク先は、アプリケーションサーバ１０２に保存されたプログラムファイルである。そこで、携帯端末１０１から指定されたファイルにアクセスされる。アクセスのあったサーバ１０２は、要求されたプログラムすなわちアクセス先のプログラムファイルを携帯端末１０１へとダウンロードする（Ｓ２１２）。携帯端末１０１は、受信したプログラムを不揮発性メモリ１１３の領域１１３ａに保存する。
【００１９】
このようにサーバから携帯端末１０１へ本実施形態のビデオゲームのプログラムのダウンロードは行われる。この手順はＨＴＴＰおよびＦＴＰにのっとって行うことができる。
【００２０】
＜ゲーム概要＞
図３及び図４に本実施形態のゲームの概要を示す。図３（Ａ）はゲーム開始時の画面である。ダウンロードされたゲームプログラムを選択してプレーヤが実行を指示すると、まずこの画面が表示される。このゲームは、湯をたたえた浴槽をその背景としている。その浴槽中に、湯に浮かぶプラスチックやゴム等のボール或いはキャラクター人形（本実施形態では浮体オブジェクトと呼ぶ。単にオブジェクトと呼ぶ場合もある。）を内部に封じ込めた入浴剤を投入し、浴槽底部に落ち着いた入浴剤が溶けて内部から浮体オブジェクトが表れて浮上する様子がゲームによりシミュレートされる。
【００２１】
図３（Ａ）においては、画面枠３０１内には、浴槽を模した画像オブジェクト３０２（以下、枠とも呼ぶ。）、浴槽底部に沈んだ入浴剤オブジェクト３０５、浴槽の縁から次に投入される入浴剤オブジェクト３０４が含まれている。この図において、入浴剤オブジェクト３０４から入浴剤オブジェクト３０５に至る矢印は、入浴剤オブジェクト３０４が投入される径路（すなわち動画像において入浴剤が転がり落ちる径路）を示している。この状態で、入浴剤オブジェクト３０５から浮体オブジェクトが出現し、浮上する。なお、実際のゲームにおいて、浮体オブジェクトは入浴剤オブジェクトの中から現れるように表示されるが、本実施形態では入浴剤オブジェクトと浮体オブジェクトとを区別せず、まとめて浮体オブジェクトと呼ぶことにする。波線３０３は水面を表す。
【００２２】
図３（Ｂ）は浮上開始時の画面例を示す。軸Ｘ、Ｙはそれぞれ浮体オブジェクトの位置を示すための座標軸であり、浮上開始時の位置を原点とした座標系としている。座標系は他のどのようなものであってもよいが、位置計算の便宜上本実施形態ではこのような座標系を採用した。
【００２３】
図３（Ｃ）は浮上途中の浮体オブジェクト３０５を示す。上方向の矢印は浮上速度を示す。浮上は原則として一定速度（すなわちＹ軸方向の速度は原則として一定）であるが、十字キー１０１ｂの上方向キーを浮体オブジェクトの浮上中に押すことで速度の上方向成分を一定の値だけ増速できる。また、下方向キーを押すことで速度の上方向成分を減速するようにしても良い。左右方向（すなわち水平方向）の矢印は、左右への移動が可能であることを示している。これら矢印は説明の便宜であって実際には表示はされない。プレーヤが、十字キー１０１ｂの右方向キーを浮体オブジェクトの浮上中に押すことで、浮体オブジェクトの右方向の速度成分に、右方向への一定の速度が加算される。すなわち、右方向キーが押されている間、左右方向への加速度が浮体オブジェクトに印加される。これは左方向についても同様である。ただし速度の絶対値の上限Ｖｍａｘは定められている。そして、速度を示すゲージ３０６が速度に対応する態様で枠３０２の両脇に表示される。ゲージ３０６は三角形のオブジェクトをひとつの単位としており、速度に応じた数の三角形が表示される。浮体オブジェクトが右方向への正の速度成分を持つ場合には左側のゲージが表示され、左方向への正の速度成分を持つ場合には右側のゲージ３０６が表示される。従って、右方向の速度が上限Ｖｍａｘに近づくほど左側のゲージ３０６の数も増え、速度がＶｍａｘのときに最大数の三角形オブジェクトが表示される。なお、キーの方向と加速度の方向（すなわち、速度方向とゲージの左右との対応）は、ゲームの演出上逆であってもよいし、切り替え可能であっても良い。
【００２４】
図３（Ｄ）は、ゲームがある程度進行して、複数の浮体オブジェクトが水面に浮上して安定した状態を示している。本実施形態のゲームでは、安定位置にある浮体オブジェクトは、１行あたり６の浮体オブジェクトが、オブジェクト半個分左右方向についてずれて並び、千鳥状に配置される。この安定位置であるマス目の一部を点線３１７で示した。浮体オブジェクトが浮上をやめて安定位置に至る安定条件には次の３つのがある。
（１）水面に浮上したこと（図３（Ｄ）の浮体オブジェクト３１１，３１２，３１３（３１５）、
（２）安定位置にある、互いに同じ高さで隣接する２つの浮体オブジェクトに当接したこと（図３（Ｄ）の浮体オブジェクト３１４。画像上では接しているとは限らないがこれは表現上の問題である。）、
（３）安定位置にある浮体オブジェクトと枠３０２とに当接したこと（図３（Ｄ）の浮体オブジェクト３１６）。
【００２５】
これら３つの条件を満たすと浮体オブジェクトは最寄りの安定位置において安定する。安定条件を満たした状態を安定状態と呼ぶ。後述する連結が生じない限り、安定位置にある浮体オブジェクトは移動しない。ただし、実際のゲームでは、演出上、浮体が水面あるいは水中で揺らいでいる表示を行うことがあるが、これは移動には含まれない。なお、本実施形態では浮体オブジェクトは千鳥配置のために、ひとつの浮体オブジェクトに着目した場合、当接はその６隣接方向で生じる。
【００２６】
図４は、浮体オブジェクトが連結する様子の一例を示す図である。図４（Ａ）は、浮体オブジェクト４０３が浮上して、まさに安定状態に達した瞬間を示している。なお、同じ模様の浮体オブジェクトは同一タイプ（種類とも言う。）の浮体オブジェクトを示す。図４（Ａ）では、同じタイプの浮体オブジェクト４０１，４０２，４０３が連結している。そして同じタイプの浮体オブジェクトが所定数（本実施形態では３）以上連続して連結いる場合には、それを浮体オブジェクトの連結または単に連結と呼び、連結に係る浮体オブジェクトは画面から消去される。図４（Ａ）では、３つの同一浮体オブジェクト４０１，４０２，４０３が連結しているので消去される。浮体オブジェクトの消去によって生じた空隙には、その下にあって安定条件が満たされなくなった浮体オブジェクトの移動により埋められる。その移動によりさらに安定条件が満たさなくなる浮体オブジェクトについても、安定条件に達するまで移動される。最初の消去により不安定になった浮体オブジェクトがひとつであれば無条件でその浮体オブジェクトが移動の対象として選択される。しかし、２つの浮体オブジェクトが不安定になった場合には、いずれかひとつが移動の対象として選択される。この選択はランダムに行っても良いし、左右どちらかを優先するようにあらかじめ決めておいても良い。あるいは、より多くの列の浮体オブジェクトが重なり合っている方を選択することもできる。ランダムにすると予見性が低くなって偶然性によってゲーム成績が支配されるが、一定の規則にしたがって決定すれば、プレーヤがその規則を読み解いて連結を意図的に生じさせるなど、ゲームの興趣をより高めることができる。
【００２７】
図４（Ｂ）は浮体オブジェクト４０１，４０２，４０３の連結を消去して、その空隙を浮体オブジェクト４２１，４２２の移動によって埋めた例を示す図である。この例では、浮体オブジェクト４０２が消去されたために、浮体オブジェクト４０１の消去により不安定になるのは浮体オブジェクト４２１のみであるから、これが移動の対象となる。また、浮体オブジェクト４０３が消去されたために、浮体オブジェクト４０２の消去により不安定になるのは浮体オブジェクト４２２のみであるから、これが移動の対象となる。また、浮体オブジェクト４２１の移動により浮体オブジェクト４２４が不安定になり、浮体オブジェクト４２２の移動により浮体オブジェクト４１３が不安定になる。そこで、これら連鎖的に不安定になる浮体オブジェクト４２４，４１３も同時に、それぞれ浮体オブジェクト４２１，４２２の移動による空隙を埋めるように移動される。なお、本実施形態では空隙をうめるべく不安定な浮体オブジェクトを安定位置まで移動することを再安定化と呼ぶ。
【００２８】
さて、再安定化が行われた結果、再び浮体オブジェクトの連結が生じることもある。図４（Ｂ）は、１回目の連結によって浮体オブジェクト４０１，４０２，４０３が消去したあとに再安定化した瞬間を示しており、この瞬間では、３つの同一浮体オブジェクト４１１，４１２，４１３が連結している。このため、これら浮体オブジェクトも連鎖的に消去され、再安定化が行われる。この要領は前述したとおりである。１回目の連結による消滅後、再安定化したときにさらなる消滅が生じることを連鎖といい、連鎖の回数が多いほどより高得点を得られるように構成されている。従って、プレーヤは、連鎖を生じるように浮体オブジェクトを移動させることにより、戦略的にゲームの成績を上げることができる。連鎖の後は上述したように浮体オブジェクトの移動が起こり、図４（Ｃ）のような状態に至って再度安定する。この状態では連結（さらなる連鎖）はないので、図３（Ｂ）（Ｃ）に示すように新たな浮体オブジェクトが下から浮上し始める。
【００２９】
本実施形態のビデオゲームは、このような要領で進行する。そして、最下段の列の安定位置にある浮体オブジェクトに、浮上途中の浮体オブジェクトが衝突し、その浮体オブジェクトが安定化していずれの浮体オブジェクトも連結により消滅しなかった場合にゲームは終了する。従って、最下段の浮体オブジェクトに衝突後、最下段に安定化せずに左右に移動する場合、または浮体オブジェクトが安定化した際に消滅が起こった場合には、引き続きゲームは続行される。ゲームが終了した際には、消去した浮体オブジェクトの数などに応じて得点が積算されており、その得点が表示される。
【００３０】
＜本実施形態のゲームに係る主なデータ＞
次にゲームプログラムの処理手順を説明する。まず、主なデータについてその構成を説明する。図１（Ｂ）において説明したとおり、ＲＡＭ１１４には、着目オブジェクト（浮上途中の浮体オブジェクト）の情報を保存するための着目オブジェクト領域１１４ａ、安定オブジェクトの情報を保存するための安定オブジェクトテーブル１１４ｂ、連結オブジェクトの情報を保存するための連結オブジェクトテーブル領域１１４ｃ、再安定オブジェクトの情報を保存するための再安定オブジェクトテーブル領域１１４ｄが用意される。
【００３１】
図１１（Ａ）は、着目オブジェクト領域１１４ａの一例を示す図である。着目オブジェクト領域１１４ａには、浮上途中の浮体オブジェクト（これを着目浮体オブジェクトと呼ぶ。）のタイプ１２１１，位置のＸ成分１２１２、Ｙ成分１２１３、速度のＸ成分であるＶｘ１２１４、速度のＹ成分であるＶｙ１２１５が含まれる。位置の座標系は図３（Ｂ）に示すとおり、Ｘ軸−Ｙ軸が設定されている。速度はフレーム画像を更新するフレームレートおよびフレーム画像を再表示するリフレッシュレートに依存するが、本実施形態ではフレームレートとリフレッシュレートは一致しているものとする。たとえばフレームレートがＮフレーム／秒であれば、１／Ｎ秒間における浮体オブジェクトの移動距離が速度として与えられる。また、オブジェクトのタイプは、たとえば８種類程度に区分されるがこれに限定されない。表示上の浮体オブジェクトはタイプ毎に異なるデザインが施されている。なお速度や加速度といった値は、通常は１秒あたりの距離や速度の増分として表されるが、本実施形態では動画のフレーム間における増分として表される。したがって単位時間は１秒ではなくフレームレートの逆数となる。たとえばフレームレートがＮフレーム／秒であれば、１／Ｎ秒が単位時間となる。速度成分Ｖｘ、Ｖｙ（最大速度Ｖｍａｘ）の値は、単位時間１／Ｎあたりの距離の増分で表される。また加速度Ａｘも同様に、単位時間１／Ｎあたりの速度の増分で表される。
【００３２】
図１１（Ｂ）は、安定オブジェクトテーブル１１４ｂの一例を示す図である。安定オブジェクトテーブル１１４ｂには、安定位置にある浮体オブジェクト（これを安定オブジェクトと呼ぶ。）について、そのタイプ１２２３、位置のＸ成分１２２４、Ｙ成分１２２５，ステータス１２２６が含まれている。ステータス１２２６は非消去状態か否かを示す。非消去状態にある場合には、安定オブジェクトが連結に係る場合にも消去されず、一旦非消去状態が解除される。これらフィールドは、各安定オブジェクトごとに用意され、安定位置に対応した配列要素として構成される。本実施形態において、安定オブジェクトは７×１０の千鳥配置なので、安定オブジェクトテーブル１１４ｂも７×１０の配列となる。安定オブジェクトテーブル１１４ｂの行１２２１および列１２２２は、それぞれ安定状態の格子のそれぞれのマス目に対応している配列のインデックスである。すなわち、行が０であれば最上段の行、列が０であれば最左列を示す。したがって、特にインデックスをデータとして持たなくてもインデックスを示すことはできるのだが、ここでは説明の便宜上データの一部として示した。また、各マス目の位置情報（座標）はインデックスに応じて決まるのでこれも保持しなくても済むが、設けられている方が処理上便宜であるので、本実施形態では位置情報も保存している。位置情報は各マス目に対してあらかじめ決められた値を書き込んでおくことができる。また、あるインデックスに対応する安定オブジェクトが無いことは、たとえばタイプフィールドの値として０などといった存在しないタイプの値を書き込むことで表すことが可能である。
【００３３】
連結オブジェクトテーブル領域１１４ｃは、所定数の同一浮体オブジェクトの連結を生じて削除対象となる可能性のある安定オブジェクトのインデックス（すなわち行と列それぞれの値）をテーブル化して保存するための領域である。テーブルに登録された浮体オブジェクトの位置やステータスは、インデックスを基に安定オブジェクトテーブル１１４ｂを参照すれば読むことができるので、特に保存する必要はない。そのためエントリ数と、インデックスのみを保存するだけで十分である。
【００３４】
図１１（Ｃ）は再安定オブジェクトテーブル領域１１４ｄの内容の一例を示す。エントリ数１２３１と、各エントリ（浮体オブジェクト）ごとに、配列インデックスの行１２３２、列１２３３、オブジェクトのタイプ１２３４、位置のＸ成分１２３５、Ｙ成分１２３６が保存される。再安定オブジェクトは移動される。そこで、移動中のオブジェクトの画像作成のために移動中の位置を示す位置のＸ成分１２３５、Ｙ成分１２３６、オブジェクトのタイプ１２３４が用意されている。
【００３５】
＜ゲームプログラムによる処理手順＞
（キー操作処理）
図５乃至図１０に、携帯端末１０１により実行されるゲームプログラムの処理手順を示す。図５は、ゲーム中に、浮上する浮体オブジェクトをプレーヤが制御するために行う十字キー１０１ｂの操作をスキャンして、浮体オブジェクトの速度を算出する手順を示す。図５の処理は、ゲーム中にキー操作がイネーブルにされると、ゲームプログラム本体（図６〜図１１）と並列実行される。十字キー１０１ｂの操作が、右キーが押されたか（Ｓ５０１）、左キーが押されたか（Ｓ５０２）、上キーが押されたか（Ｓ５０３）、それぞれ判定する。右キーが押された場合には、着目オブジェクトの速度のＸ成分Ｖｘ１２１４の値が、所定の最大値Ｖｍａｘ以上であるか判定される（Ｓ５０７）。Ｖｍａｘ以上でなければ、速度のＸ成分Ｖｘに所定値Ａｘを加算する。Ａｘは加速度に相当する値であり、これも速度とフレームレートに依存し、Ｎフレーム／秒であれば、１／Ｎ秒間に加算される移動距離の増分を示す。左キーが押された場合には、着目オブジェクトの速度のＸ成分Ｖｘが、所定の最大値−Ｖｍａｘ以下であるか判定される（Ｓ５０５）。−Ｖｍａｘ以下でなければ、速度のＸ成分Ｖｘから所定値Ａｘを減算する。上キーが押された場合には、着目オブジェクトの速度のＹ成分Ｖｙの値として、新たな値Ｖｙ２を書き込む（Ｓ５０４）。
【００３６】
この手順により、左右キーの操作に応じて浮体オブジェクトの左右方向についての移動速度を制御し、上キーの操作に応じて、浮体オブジェクトの上方向についての移動速度すなわち浮上速度を制御する。特に左右方向については、キーのスキャン時点で押されていればその分押された方向に応じて加速し、押されていなければその速度を維持するように構成されている。このため、一旦浮体オブジェクトに左右いずれかの方向についての速度が与えられると、プレーヤは逆方向に移動させるために逆方向のキーを押し続ける必要がある。これによって、まず最初の移動方向に対する速度成分がうち消され、その後はじめて逆方向についての速度成分が与えられる。これは、質量を有する物体を移動する際にはその慣性によって当然に生じる現象であり、本実施形態のゲームはそれをシミュレートすることができる。また、このシミュレーションは、水中を移動する物体に及ぼされる抵抗のシミュレーションとみることもできる。
【００３７】
（ゲーム開始処理）
図９（Ａ）はゲーム開始時の手順を示す。まずＲＡＭ１１４に確保された各種領域１１４ａ〜１１４ｄをすべて初期化する（Ｓ９０１）。安定オブジェクトテーブル１１４ｂについては、初期化時に各マス（配列要素）の値として、対応する安定位置のＸ座標及びＹ座標値が書き込まれる。その他の領域はたとえばすべて０にすることで初期化できる。次に作業用の各種フラグやカウンタ類は０に初期化する（Ｓ９０２）。次に新規オブジェクトを生成し（Ｓ９０３）、たとえばキーの割り込みマスクを解除するなどしてキー操作をイネーブルにする。それとともに図５の手順を開始する（Ｓ９０４）。そしてフレーム描画処理（図１０）を実行して、（Ｓ９０５）、図６のオブジェクト移動処理に分岐する。
【００３８】
（新規オブジェクト生成処理）
図９（Ｂ）は新規オブジェクト生成処理を示す。まず新規オブジェクトカウンタに１加算する（Ｓ９１１）。このカウンタの初期値は０である。次に、着目オブジェクト領域の位置ｘ、ｙそれぞれに０をセットする。また、着目オブジェクト領域の浮上速度成分Ｖｙに初期値Ｖｙ１を、左右方向速度成分Ｖｘに初期値０をセットする。着目オブジェクト領域のタイプには、たとえば浮体オブジェクトが８タイプあれば１〜８の範囲でランダムに生成し、それをセットする（Ｓ９１２）。図９（Ａ）（Ｂ）の手順により初期画面のパラメータが決定された。図１０ではそのパラメータに従ってフレーム画像を生成する。
【００３９】
（フレーム描画処理）
図１０において、まず枠３０２を含む背景画像を描画する（Ｓ１００１）。これはあらかじめ用意しておいた画像データをフレームバッファに複製することで実現できる。背景画像は、ゲームの難易度やモードの違いに応じて描画するように、異なる複数の画像データから選択するように構成することもできる。次に、着目オブジェクト領域１１４ａ，安定オブジェクトテーブル１１４ｂ、再安定オブジェクトテーブル１１４ｄそれぞれのエントリに基づいて、各エントリに含まれるそれぞれのオブジェクトのタイプに応じた画像データを、フレームメモリのそれぞれの位置に対応するアドレスに描画（上書き）する（Ｓ１００２）。したがって、着目オブジェクト領域のデータに基づいて浮上する浮体オブジェクトが、安定オブジェクトテーブル１１４ｂの各エントリに基づいて安定位置にある浮体オブジェクトが、再安定オブジェクトテーブル１１４ｄの各エントリに基づいて安定位置に移動しつつある浮体オブジェクトが描画される。
【００４０】
さらに、演出的な画像オブジェクトをフレームメモリに書き込む（Ｓ１００３）。さらに現在の得点を読み出して描画する（Ｓ１００４）。現在のＶｘの値に応じてゲージの画像オブジェクト３０６を枠３０２に沿って描画する（Ｓ１００５）。このためにはたとえばＶｘについて−Ｖｍａｘ以上でＶｍａｘを上限とする各ゲージに対応する閾値をいくつか設定しておく。速度Ｖｘをそれら閾値と比較してどの範囲にあるかに応じて、ゲージの画像オブジェクト３０６の数と位置（右側方か左側方か）を決定して描画する。最後にフレームメモリのデータをディスプレイ１０１ａに表示させる（Ｓ１００６）。なお、フレームメモリの内容の再表示は、決まったリフレッシュレートで実行される場合があり、その場合には、ステップＳ１００６はフレーム描画処理の中では行われない。また本実施形態ではフレームレート（フレーム画像の更新のレート）とリフレッシュレート（フレームの再表示のレート）とは一致するものとしているが、必ずしも一致している必要はない。また本実施形態ではフレームバッファは一つであるものとしているが、もちろんフレームレートを上げるためにダブルバッファやトリプルバッファといった技術手段を用いることも可能である。
【００４１】
こうして、様々な状態にある浮体オブジェクトを一定の（可変の場合もあり得るが）時間間隔で描画し、それを表示することで、浮体オブジェクトの移動を動画で表示することができる。なお、本例では安定オブジェクトは全く動かしていないが、水中で浮遊する演出のために、一定時間毎に微少距離上下左右に移動させて描画しても良い。
【００４２】
（オブジェクト移動）
図６は浮体オブジェクトを移動させるための処理手順を示す。まず、再安定フラグおよび連結チェックフラグをテストする（Ｓ６０１，Ｓ６０２）。いずれも初期値ではセットされていない。いずれもセットされていなければ、衝突検出を行う（Ｓ６０３）。衝突検出は、枠３０２および安定オブジェクトテーブル１１４ｂのエントリを対象として行われる。枠との衝突は、着目浮体オブジェクト（着目オブジェクト領域に保存されたオブジェクト）の位置のｘ成分と、枠の右側面および左側面それぞれの位置のｘ成分（あらかじめ決められている。）との値の比較を行い、差分すなわち距離が浮体オブジェクトのおおむね半径以下程度になったことを判定することで検出される。安定オブジェクトとの衝突は、たとえば、着目浮体オブジェクトの位置のＹ成分＋（オブジェクトの半径）で与えられる位置（すなわち着目オブジェクトの上端位置）に相当する行にある安定オブジェクトを対象として、着目浮体オブジェクトとの距離を求め、一定値以下となったなら衝突したと判定することができる。
【００４３】
衝突がないと判定された場合には、着目浮体オブジェクトの位置のＸ成分ｘに、速度のＸ成分Ｖｘに基づく移動距離のＸ成分を加算し、位置のＹ成分ｙに、速度のＹ成分Ｖｙに基づく移動距離のＹ成分を加算する（Ｓ６０８）。この結果、着目浮体オブジェクトはその速度に応じた位置に移動する。そして図１０のフレーム描画を実行して処理を終了する（Ｓ６０９）。このオブジェクト移動の処理は、フレームメモリに書き込まれた画像データが表示されると直ちに実行される。図１０ではフレーム画像データの表示をフレームの描画に同期して行っていることから、ステップＳ６０９の後を「終了」とせずに、ステップＳ６０１に戻るようにしてもよい。
【００４４】
一方、安定オブジェクト又は枠３０２との衝突が検出された場合には、衝突の相手が枠３０２のみであるか否か判定する（Ｓ６０４）。枠のみであれば着目浮体オブジェクトの速度のＸ成分Ｖｘを０にする（Ｓ６１２）。そしてフレーム描画Ｓ８０９に分岐する。衝突の相手が枠のみではない場合には、着目浮体オブジェクトが前述した安定状態にあるか判定する（Ｓ６０５）。安定状態であれば、着目浮体オブジェクトを安定オブジェクトとして登録する。すなわち、着目浮体オブジェクトの現在位置が属する安定位置を決定し、その安定位置に対応する安定オブジェクトテーブルのエントリ（配列要素）に、着目浮体オブジェクト１１４ａのタイプフィールドの値を登録する（Ｓ６１０）。なお、安定オブジェクトに登録された着目オブジェクトがどれであるのかを特定できるように、たとえばその配列のインデックスを一時的に記憶しておく。着目浮体オブジェクトの現在位置が属する安定位置は、たとえば安定オブジェクトテーブルの各エントリの位置との距離を計算して着目浮体オブジェクトに最も近いエントリを決定することで、それを安定位置として決定できる。また、まず着目浮体オブジェクトの位置のＹ成分に基づいて、それが属する行を決定し、その行において着目浮体オブジェクトの位置のＸ成分に基づいて、属する列を決定することもできる。着目浮体オブジェクトを安定オブジェクトに登録したなら、着目浮体オブジェクト領域１１４ａを初期化しておく。そして、連結チェックフラグをセットし（Ｓ６１１）、フレーム描画を行う。連結チェックフラグは、次のフレーム画像を描画する際に、まず浮体オブジェクトの連結が生じているか判定させるためのフラグである。
【００４５】
一方、着目浮体オブジェクトが安定オブジェクトに衝突したがステップＳ６０５で安定状態にない（すなわち不安定である）と判定された場合には、プレーヤは着目浮体オブジェクトを制御できなくなり、着目浮体オブジェクトは自動的に安定オブジェクトに沿って安定するまで浮上する。これはまさに実際の浮体の物理的運動を模したものである。そのために、ステップＳ６０６で着目浮体オブジェクトの浮上径路となる位置を計算する。まず着目浮体オブジェクトの位置のＸ成分ｘに、１／（√３）Ｖｙまたは−１／（√３）Ｖｙを加算する。これは、安定オブジェクトに沿って浮上する場合には、ゲームにおけるシミュレーションでは、ほぼその包絡線に沿って現在位置から浮上するものと考えることができ、安定オブジェクトのなす包絡線は安定オブジェクトの重なりにより形成された逆正三角形の斜辺に相当するためである。また右側の辺に沿って浮上する場合には１／（√３）Ｖｙが、左側の辺に沿って浮上する場合には−１／（√３）Ｖｙが位置のＸ成分に加算される。
【００４６】
どちらに向かって浮上するかは、着目浮体オブジェクトの位置のＸ成分と、衝突相手の安定オブジェクトの位置のＸ成分とを比較し、着目浮体オブジェクトの位置のＸ成分の方が大きければ右（すなわち１／（√３）Ｖｙを加算）、着目浮体オブジェクトの位置のＸ成分の方が小さければ左（すなわち−１／（√３）Ｖｙを加算）となる。比較の結果値が全く同じであればどちらでもよい。また着目浮体オブジェクトの位置のＹ成分には、速度のＹ成分Ｖｙを加算する。この場合、プレーヤは着目浮体オブジェクトを制御できなくなり、自動的に安定するまで浮上する。それを表示上に表すために、続けてフレーム描画を行う。
【００４７】
以上の処理によって、着目浮体オブジェクトの浮上およびプレーヤによる左右への移動に応じた画像生成及び表示が行われる。
【００４８】
（連結チェック）
さて、図６のステップＳ６０２において連結チェックフラグがセットされていると判定された場合には、まず、着目浮体オブジェクトが、最下段の安定オブジェクトに当接して安定しているか判定する（Ｓ７００）。着目浮体オブジェクトが、最下段の安定オブジェクトに当接して安定していると判定された場合にはゲームを終了する。この場合、終了時の表示などの処理が行われるが、ここではそれらの処理は省略した。
【００４９】
ゲームが終了しない場合には、ステップＳ６１０で記憶しておいた元着目オブジェクトの入れるインデックスを連結オブジェクトテーブル１１４ｃに登録する（Ｓ７０１）。次いでＲＡＭに設けた連結数カウンタに１をセットし、連結チェックの対象として着目する対象オブジェクトとして、その元着目オブジェクトをセットする（Ｓ７０２）。ここでチェック対象オブジェクトのために、その安定オブジェクトテーブル１１４ｂにおける配列インデックスを格納するための対象オブジェクト領域をＲＡＭに設けておき、その領域の内容で対象オブジェクトを識別する。
【００５０】
次に対象オブジェクトの６隣接方向（すなわち全方向）について、隣接する安定オブジェクトのタイプを、対象オブジェクトのタイプと比較する（Ｓ７０３）。対象オブジェクトのタイプは、安定オブジェクトテーブルを参照して得ることができる。そして一致するものがあり、しかもそのタイプが一致した安定オブジェクトのステータスが０であるか判定する（Ｓ７０４）。タイプが一致し、ステータスが０であることが連結により消去される条件である。条件が満たされれば、発見された同一タイプの安定オブジェクトを次の対象オブジェクトして、そのインデックスを対象オブジェクト領域に格納する（Ｓ７０５）。そして対象オブジェクトを連結テーブル１１４ｃに登録し（Ｓ７０６）、連結数カウンタに１を加算する（Ｓ７０７）。その後、ステップＳ７０３から繰り返す。こうして連結をたどっていく。なお連結数カウンタは連結オブジェクトテーブルのエントリ数そのものであるのであらためて設けなくとも良い。
【００５１】
ステップＳ７０４で条件が満たされないと判定された場合には、連結がそこで切れたかあるいは存在しない場合である。最初の対象オブジェクトすなわち元着目浮体オブジェクトが安定位置に達した場合、同じタイプの隣接オブジェクトはひとつとは限らない。最大で３つまで存在し得る。そこで、その元着目浮体オブジェクトをあらためて対象オブジェクトとして、まだに連結の判定を行っていない同一タイプの隣接する安定オブジェクトが他にあるか判定する（Ｓ７０８）。このためには連結チェックが済んだオブジェクトをマークしておけばよい。そして、まだあればステップ７０５に分岐して連結をたどる。
【００５２】
連結の判定が終了した場合には、連結数カウンタの値が所定数（本例では３）以上であるか判定する（Ｓ７０９）。３以上であれば連結オブジェクトテーブル１１４ｃに登録されたオブジェクトは消滅の対象となるので、連結オブジェクトテーブル１１４ｃに登録された安定オブジェクトを安定オブジェクトテーブル１１４ｂから削除する（Ｓ７１４）。そして、削除した安定オブジェクトに隣接する安定オブジェクトのステータスを０とする（Ｓ７１５）。これにより、ステータスが１であり連結の対象とはならない安定オブジェクトも、３つ以上の連結すなわち消滅の対象となり得る。次に、削除された安定オブジェクトの下の行にあって隣接する安定オブジェクトの有無を判定する（Ｓ７１６）。下に隣接するオブジェクトの有無の判定は、たとえば、配列インデックスの行成分の値が、削除された安定オブジェクトのそれより１大きく、列成分の値が同一または差が１の安定オブジェクトの有無を判定することで行える。本実施形態では安定オブジェクトは千鳥配置となっているので、下に隣接するオブジェクトは２つあり得る。１つは配列インデックスの列成分の値が一致するオブジェクトである。しかし他の一つは、削除された安定オブジェクトのひとつに着目した場合、それが奇数行であるか偶数行であるかにより判定の仕方が異なる。そこで、削除された安定オブジェクトの配列インデックスの行成分が偶数の場合には、その直下の行において、列成分の値が一致するかまたは１多いオブジェクトを、下に隣接するオブジェクトと判定できる。また、削除された安定オブジェクトの配列インデックスの行成分が奇数の場合には、その直下の行において、列成分の値が一致するかまたは１少ないオブジェクトを下に隣接するオブジェクトと判定できる。
【００５３】
そして削除された安定オブジェクトの下に隣接する安定オブジェクトの有無が判定され（Ｓ７１７）、あれば安定条件が満たされなくなったオブジェクトがある、ということなので再安定フラグをセットし、再安定オブジェクトテーブルに当該安定オブジェクトを登録する（Ｓ７１８）。再安定オブジェクトテーブルに登録されたオブジェクトは安定オブジェクトテーブル１１４ｂから削除される。再安定フラグは、安定条件が満たされなくなったオブジェクトを安定状態まで移動させる処理を行うためのフラグである。また再安定オブジェクトテーブル１１４ｄは、再安定処理対象のオブジェクトを特定するためのテーブルであり、図１１（Ｃ）で説明したとおりの内容が、それぞれ安定オブジェクトテーブル１１４ｂから複製される。
【００５４】
一方、存在していなければ、ステップＳ７１７に分岐して新規オブジェクトカウンタを０にセットし、連結チェックフラグをリセットしてフレーム描画に分岐する。新規オブジェクトカウンタとは、ゲームが開始されてから、あるいは連結が行われてから生成された着目浮体オブジェクトの数を示す。
【００５５】
一方、連結カウンタが３に満たなければ消滅対象となる安定オブジェクトはないので、先ず新規オブジェクトカウンタの値が所定数（本実施形態では８）以上となったか判定する（Ｓ７１０）。なっていなければこれ以上行うべきことはないので、新規オブジェクトを生成して（Ｓ７１３）、フレーム描画に分岐する。
【００５６】
新規オブジェクトカウンタが８以上であれば、安定オブジェクトの一部のステータスが書き換えられる。ステップＳ７１１では、ステータスが０の安定オブジェクトのうち、最上行にある安定オブジェクトのステータスを１に書き換える。ステータスが１となった安定オブジェクトは、再度ステータスを０にするまでは連結の対象とならない。本実施形態では、連結（消滅）の対象とならなくなった浮体オブジェクトを泡で内包する（バブル化する）ように表示する。バブル化された浮体オブジェクトが連結の対象となるようになるには、バブル化された浮体オブジェクトに隣接する浮体オブジェクトが消滅しなければならない。すなわち、隣接する浮体オブジェクトが他の同一浮体オブジェクトと連結して消滅することによって、消滅の対象とならなくなった浮体オブジェクトのバブル化が解除される。これによって、新規オブジェクトが８個浮上するまでに１回の消滅を生じさせなければ難易度があがるので、さらにゲームの興趣が増す。そして既述のステップＳ７１２からの処理を実行する。
【００５７】
以上の処理によって、着目浮体オブジェクトおよび安定条件を失った安定オブジェクトの安定位置への移動に応じた連結のチェック及び消滅及び連鎖を表現するための情報処理、並びに消滅及び連鎖後の画像生成及び表示が行われる。
【００５８】
（再安定処理）
次に、図８を参照して、消滅及び連鎖後の再安定処理を説明する。まず再安定オブジェクトテーブル１１４ｄのエントリであるオブジェクトのひとつに着目する（Ｓ８０１）。たとえば着目エントリへのオフセット値を保持することなどでこれは実現できる。そして着目したオブジェクトについて、ステップＳ６０６と同じ要領で着目オブジェクトの浮上径路となる位置を計算する（Ｓ８０２）。まず、再安定オブジェクトテーブル１１４ｄの着目オブジェクトについて、着目オブジェクトの位置のＸ成分１２３５に、１／（√３）Ｖｙまたは−１／（√３）Ｖｙを加算する。いずれを加算するかは、ステップＳ６０６の説明における「着目浮体オブジェクト」を「着目オブジェクト」と読み替えれば、ステップＳ６０６と同じ要領で決められる。また着目オブジェクトの位置のＹ成分１２３６には、速度のＹ成分Ｖｙを加算する。ただし、Ｖｙは、着目浮体オブジェクトを浮上させる際の値と異なる値を選んでも良い。
【００５９】
ステップＳ８０３においては、全てのエントリに対して着目したか判定し、していなければ次のエントリであるオブジェクトに着目して（Ｓ８０８）、ステップＳ８０２を繰り返す。全てのエントリについて終了したなら、ステップＳ８０２で計算した位置が安定条件を満たすようなオブジェクトがあるか判定する（Ｓ８０４）。あれば、その安定したオブジェクトを安定オブジェクトテーブル１１４ｂの該当する安定位置に対応した配列成分として登録する（Ｓ８０５）。登録の要領はステップＳ６１０と同様である。そのオブジェクトは再安定オブジェクトテーブル１１４ｄからは削除する。そして全てのオブジェクトが安定したか（すなわち再安定オブジェクトテーブルのエントリが残っているか）判定し、すべて安定したなら連結のチェックを行う必要があるために連結チェックフラグをセットし、再安定フラグをリセットする（Ｓ８０７）。その後フレーム描画を行う。
【００６０】
この手順により、連結によるオブジェクトの消滅及び連鎖に伴う再安定化処理による浮体オブジェクトの移動処理を行い、移動時の画像の描画及び表示を行うことができる。
【００６１】
以上説明したように、本実施形態のゲームプログラムによれば、それをコンピュータにより実行させることで、従来にない浮体をシミュレートしたゲームを実現できる。そして、そのシミュレーションにおいては、あたかも現実の浮体のように水面に浮上して安定する位置で累積していく様を端末装置の画面上に再現することができる。このように、本実施形態のゲームは従来の落下型ゲームとは全く異なる外観を呈しており、プレーヤの興味を高め娯楽性の高いものとなっている。さらにゲーム進行上必須の操作は左右キーの操作のみであるために、携帯電話端末など小型の装置においてもプレイすることが容易である。
【００６２】
また、浮体オブジェクトを左右に移動させる際には、左右への操作量に応じてオブジェクトを加速してその位置を決定することでオブジェクトの慣性をゲーム上でシミュレーションしている。このため、操作に対する応答に物理法則に適合した遅延が生じ、ゲーム操作の困難さの要因となり、より興趣を高めている。
【００６３】
なお、本発明はコンピュータ可読の記録媒体に記録されたプログラムそのものにもあるし、そのプログラムを記録した記録媒体にもある。また、そのプログラムを実行するコンピュータおよびそのコンピュータを内蔵する装置も本発明を構成する。
【図面の簡単な説明】
【００６４】
【図１】（Ａ）携帯端末およびアプリケーションサーバを接続したプログラムダウンロード時のシステム構成図である。（Ｂ）携帯端末のブロック図である。
【図２】プログラムのダウンロード処理手順のシーケンス図である。
【図３】実施形態のゲーム画面の一例である。
【図４】実施形態のゲーム画面の一例である。
【図５】キー操作に対する処理手順のフローチャートである。
【図６】浮体オブジェクト移動時の処理手順のフローチャートである。
【図７】安定オブジェクトに生じた連結をチェックする際の処理手順のフローチャートである。
【図８】安定オブジェクトから連結により削除された際の再安定処理手順のフローチャートである。
【図９】（Ａ）ゲーム開始時の処理手順のフローチャートである。（Ｂ）新規オブジェクト生成処理手順のフローチャートである。
【図１０】フレーム描画処理手順のフローチャートである。
【図１１】実施形態のゲーム実行時に用いられるデータの一例の図である。
【図１】
2006141453.tif 000003
【図２】
2006141453.tif 000004
【図３】
2006141453.tif 000005
【図４】
2006141453.tif 000006
【図５】
2006141453.tif 000007
【図６】
2006141453.tif 000008
【図７】
2006141453.tif 000009
【図８】
2006141453.tif 000010
【図９】
2006141453.tif 000011
【図１０】
2006141453.tif 000012
【図１１】
2006141453.tif 000013