以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態におけるゲーム装置の構成を示すブロック図である。図1に示すゲーム装置は、例えばパーソナルコンピュータにより実現されるもので、制御部10、メモリ11、ハードディスク装置12、通信インタフェース部13、表示制御部14、音声制御部15、ディスクドライブ装置16、入力インタフェース部17、ディスプレイ18、スピーカ19、キーボード21、マウス22、及びタブレット23等が設けられている。
制御部10は、装置全体の制御を司るもので、CPUやROMなどを含んで構成される。制御部10は、ゲームプログラムを実行することで、例えば表示画面中のゲームフィールドに表示される複数のオブジェクトをプレイヤの操作によって結合させるゲームを提供することができる。本実施形態のゲーム装置(ゲームプログラム)では、複数のオブジェクトがゲーム画面中に表示されるゲームを実行するもので、例えばドミノを表す複数のオブジェクトをゲーム空間内において任意に配列して倒して遊ぶゲーム(以下、ドミノゲームと称する)を提供する。詳細については後述する。
メモリ11は、制御部10によりアクセスされるプログラムや各種データが記憶される。メモリ11に記憶されるプログラムには、ドミノゲームを進行させるためのゲームプログラムを含む。
ハードディスク装置12は、基本プログラム(OS)やゲームプログラム(ドミノゲームプログラム)などの各種プログラムの他、各種のデータが記憶される。
通信インタフェース部13は、制御部10の制御のもとで、外部のネットワークと接続して各種のデータの送受信を制御する。本実施形態では、例えば通信インタフェース部13を介してインターネットに接続し、プログラムダウンロードサービスを提供するWebサイトからゲームプログラムをダウンロードして実行することができる。
表示制御部14は、制御部10の制御のもとで、ディスプレイ18における画面表示を制御する。ドミノゲームが実行されている場合には、ドミノを表すオブジェクトが表示されたゲーム画面をディスプレイ18において表示させる。
音声制御部15は、制御部10の制御のもとで、スピーカ19からの音声出力を制御する。ドミノゲームが実行されている場合には、ゲームの進行状況に応じた効果音(例えばドミノが倒れていることを表す音)やBGM(back ground music)、各種メッセージ音声などを出力する。
ディスクドライブ装置16は、DVD−ROMやCD−ROMなどに記録されたプログラムやデータの読み出しを実行する。本実施形態では、ディスクドライブ装置16によってディスクから読み出されたゲームプログラムを実行することができる。
入力インタフェース部17は、各種入力装置からの入力制御を行うもので、例えばキーボード21、マウス22、タブレット23などからの入力を制御する。ゲームで使用される入力装置としては、ポインティングデバイスであるマウス22あるいはタブレット23(スタイラスペン24)が使用されるものとする。マウス22あるいはタブレット23によって、ディスプレイ18に表示されたゲーム空間を表す画像中において任意に位置を指定することができる。
なお、前述した説明では、本実施形態におけるゲーム装置をパーソナルコンピュータにより実現するとしているが、その他の情報処理装置、例えば業務用や家庭用のゲーム専用機、携帯型のゲーム専用機、PDA(personal digital assistant)、携帯電話機などにおいて実現することも可能である。
図2は、制御部10によってゲームプログラムを実行することにより実現されるゲーム制御部30の機能構成を示すブロック図である。
ゲーム制御部30には、入力制御部31、オブジェクト生成部32、パラメータ設定部33、オブジェクト制御部34、及びオブジェクトパラメータ記憶部35が設けられる。
入力制御部31は、プレイヤによる入力装置に対する操作に応じて、ゲーム進行を制御するための指示を入力する。入力制御部31から入力される指示としては、ゲームフィールドにおいて表示されるポインタを操作するための指示が入力される。
オブジェクト生成部32は、入力制御部31から入力される指示に応じてゲームフィールドにおいてオブジェクトを生成する。本実施形態におけるドミノゲームでは、ゲームフィールドに対して指定された線上に、所定の間隔をもって配置された複数のドミノを表すオブジェクトを生成する。
パラメータ設定部33は、オブジェクト生成部32によって生成された複数のオブジェクトのそれぞれに対して、オブジェクトをゲーム画面中で制御するためのパラメータを設定する。パラメータ設定部33には、位置設定部33a、角度設定部33b、色設定部33c、音設定部33d、立ち表示設定部33e、倒れ表示設定部33f、カメラ設定部33g、及びズーム設定部33hが含まれている。
位置設定部33aは、ゲームフィールドにおけるオブジェクトの位置を示す位置パラメータを設定する。位置パラメータは、例えば二次元平面上におけるX座標とY座標により位置を示す。
角度設定部33bは、ゲームフィールドに配置されたオブジェクトの向きを示す角度パラメータを設定する。角度パラメータは、例えばドミノを表すオブジェクトの所定の面と基準とする方向との角度を示す。
色設定部33cは、オブジェクトをゲーム画面中で表示する際の色を示す色パラメータを設定する。色パラメータは、例えば複数の色のそれぞれに対して設定された色番号を示す。
音設定部33dは、オブジェクトの状態がゲームフィールド内で変化する際に出力させる音を示す音パラメータを設定する。音パラメータは、オブジェクトがアクティブとなった状態にのみ有効となるパラメータである。本実施形態において、オブジェクトがアクティブにある状態とは、立っているオブジェクトが倒れ始めてから完全に倒れるまで間をいうものとする。音パラメータは、例えば複数の異なる音のそれぞれに対して設定された音番号を示す。例えば、ドミノが倒れた時に出力させる音として、ドミノに対して設定する材質(スキン)に応じた効果音を設定したり、あるいは各種の楽器の音を設定したりすることができる。楽器の音を示す音パラメータとしては、例えば打楽器の種類や、音階の音を出力することができる楽器(例えば、ピアノ、ベースなど)の音階を指定することができる。
立ち表示設定部33eは、オブジェクト(ドミノ)の表示制御のための立ち表示パラメータを設定する。立ち表示パラメータは、立っている状態では表示するが完全に倒れた状態となった時には透明化(消去)する表示制御をするか否か(オン/オフ)を示す。
倒れ表示設定部33fは、オブジェクト(ドミノ)の表示制御のための倒れ表示パラメータを設定する。倒れ表示パラメータは、立っている状態では透明(表示しない)であるが倒れ始めると表示する表示制御をするか否か(オン/オフ)を示す。
カメラ設定部33gは、オブジェクトをゲーム画面中に表示するか否か(オン/オフ)を示すカメラパラメータを設定する。カメラパラメータは、オブジェクトがアクティブとなった状態にのみ有効となるパラメータである。
ズーム設定部33hは、オブジェクトをゲーム画面中に表示させる際の倍率を示すズームパラメータを設定する。ズームパラメータは、カメラパラメータと同様に、オブジェクトがアクティブとなった状態にのみ有効となるパラメータである。従って、カメラパラメータがオンに設定されたオブジェクトが表示される際に、ズームパラメータが示す倍率によってオブジェクトがゲーム画面において表示される。
さらに、パラメータ設定部33は、カメラ設定部33gによってカメラパラメータがオンに設定されたオブジェクトに対するカメラ位置(視線方向)を示すカメラ位置パラメータなど、オブジェクトをゲーム画面中で制御するためのその他のパラメータを設定できるようにしても良い。
オブジェクト制御部34は、オブジェクト生成部32によって生成されたオブジェクトを制御するもので、オブジェクトの表示を制御する表示制御部34aと、オブジェクトに関係する音の出力を制御する音声制御部34bが含まれている。
表示制御部34aは、パラメータ設定部33によって各オブジェクトに対して設定されたオブジェクトパラメータに応じて、ディスプレイ18のゲーム画面におけるオブジェクトの表示を制御する。すなわち、表示制御部34aは、カメラパラメータ、ズームパラメータ、及びカメラ位置パラメータに応じて、ゲーム空間中におけるオブジェクトを撮影する仮想のカメラを制御し、ゲーム空間におけるカメラにより撮影されるオブジェクトをゲーム画面中で表示させる。本実施形態におけるドミノゲームでは、オブジェクト生成部32によってゲームフィールドに間隔を開けて配置された複数のドミノが、スタート位置のドミノとして指定されたドミノから順番に倒れる様子が表示される。本実施形態におけるドミノゲームにおいても、実物のドミノ倒しをする場合と同様に、ドミノが配置された間隔や角度が適切でない場合には、倒れていくドミノが連続しないように表示が制御される。また、ドミノの配置によっては、複数列に配置されたドミノを並行して倒していくことができる。
音声制御部34bは、各オブジェクトに対して設定された音パラメータに応じて、オブジェクトの状態の変化に応じた音をスピーカ19から出力させる。
オブジェクトパラメータ記憶部35は、オブジェクト生成部32によって生成された各オブジェクトに対して、パラメータ設定部33により設定されたオブジェクトパラメータが記憶される。
図3には、オブジェクトパラメータ記憶部35に記憶されるオブジェクトパラメータの一例を示す図である。
図3に示すように、オブジェクト生成部32により生成される各オブジェクトに付されるオブジェクト番号と対応付けて、パラメータ設定部33により設定されたパラメータが設定される。
図3における「X座標」「Y座標」は、位置設定部33aにより設定されるオブジェクトの位置を示す位置パラメータである。「角度」は、角度設定部33bにより設定されるオブジェクトの配置角度を示す角度パラメータである。「色」は、色設定部33cによって設定されるオブジェクトの表示色を示す色パラメータである。「音」は、音設定部33dにより設定されるオブジェクトパラメータである。「立ち表示」は、立ち表示設定部33eによって設定される立ち表示パラメータである。「倒れ表示」は、倒れ表示設定部33fによって設定される倒れ表示パラメータである。「カメラ」は、カメラ設定部33gによって設定されるカメラパラメータである。「ズーム」は、ズーム設定部33hによって設定されるズームパラメータである。「カメラ位置」は、カメラ設定部33gによってカメラパラメータがオンに設定されたオブジェクトに対するカメラ位置(視線方向)を示すカメラ位置パラメータである。
図4は、ドミノゲームを実行する際のゲーム画面の一例を示している。
ゲーム画面では、画面全体にゲームフィールドエリアが設定されている。ゲームフィールドエリアには、ユーザ操作によって配列された複数のオブジェクト(ドミノ)が表示される。ゲーム画面左側上部には、拡大縮小スライダーと複数のツールボタンが配置されている。
拡大縮小スライダーは、スライダーをポインティングデバイスなどの操作により上下させることで、拡大縮小率を変更して、ゲームフィールドエリアに表示される範囲を変更することができる。例えば、拡大させることで個々のドミノを確認することができ、また縮小させることで広範囲にドミノが配置された状態を確認することができる。
複数のツールボタンには、ウィンドウ表示/非表示ボタン、スタート地点ボタン、再生ボタン、ヘルプボタンが含まれている。ウィンドウ表示/非表示ボタンは、ゲーム画面の下部に配置されたツールウィンドウとゲーム画面右側下に配置されたパラメータ表示ウィンドウの表示あるいは非表示を切り替えるためのボタンである。スタート地点ボタンは、スタート地点として指定されたオブジェクトをゲーム画面(例えば中央)に表示させるためのボタンである。再生ボタンは、ゲームフィールドに配置された複数のドミノについてドミノ倒しを開始させるためのボタンである。
ゲーム画面下部には、ツールウィンドウが配置されている。ツールウィンドウには、各種のツールを実行させるためのボタン(アイコン)が配列されている。ツールウィンドウには、選択ツールボタン、ラインボタン、スクロールボタン、ゴール/スタート設置ボタン、ジャンプ台設置ボタン、ドミノ回転ボタン、スキン選択ボタン、再生ボタン、保存ボタン等が含まれている。また、選択中のツールに応じて、補足機能(ツール)を実行させるためのボタン(アイコン)が表示される。各ボタンにより実行されるツールの詳細については後述する。
ゲーム画面右側下部には、パラメータ表示ウィンドウが配置されている。パラメータ表示ウィンドウには、例えば選択ツールを用いてゲームフィールドに配置されたドミノの何れかが選択された場合に、この選択されたドミノに対して設定されている各パラメータが表示される。
次に、ゲームフィールドに複数のドミノを配列(オブジェクト生成)する処理について説明する。
まず、マウス22などのポインティングデバイスの操作によりツールウィンドウからラインボタンが選択されると、オブジェクト生成部32は、ライン描画ツールを起動して、ペン形状のカーソルを表示させる。ここで、マウス22を用いてドラッグ操作がされると、オブジェクト生成部32は、ゲームフィールドにおいて、ドラッグが開始された位置からラインを描画する。
図5は、ペン形状のカーソルがドラッグ操作により移動した軌跡(ライン)を表している。
ドラッグ操作が終了されると、オブジェクト生成部32は、描画されたラインに沿ってドミノを表すオブジェクトを生成する。図6は、ラインに沿って複数のドミノが生成されたゲーム画面の例を示している。
例えば、オブジェクト生成部32は、描画されたラインに沿って、予め決められた所定の間隔毎にドミノを配列する位置(X座標、Y座標)を設定をしていく。次に、オブジェクト生成部32は、設定された各位置におけるドミノを配置する向き(角度)を、例えば描画された線に対してドミノの面が垂直となるように決定する。パラメータ設定部33は、オブジェクト生成部32により生成される各オブジェクトについての位置と向きを、位置パラメータ、角度パラメータとしてオブジェクトパラメータ記憶部35に記憶させる。
また、パラメータ設定部33は、オブジェクト生成部32によって生成された各オブジェクトに対して、位置パラメータと角度パラメータ以外の各パラメータを、予め設定されているデフォルトのパラメータにより設定する。つまり、位置パラメータと角度パラメータ以外の各パラメータについては、複数のオブジェクトに対して共通して設定される。
このように、本実施形態におけるドミノゲームでは、複数のドミノをゲームフィールドにおいて配列させる場合、単にゲームフィールド中でラインを描画するだけで良い。また、描画したラインに沿ってドミノを配列させることができるので、多彩な並べ方を簡単に試すことができる。従って、芸術的な並べ方を工夫することも簡単となっている。
次に、オブジェクト生成部32によって生成された各オブジェクトのパラメータを変更する処理について説明する。
複数のオブジェクトが配列されたゲーム画面では、オブジェクトを任意に選択して、パラメータを変更することができる。
まず、マウス22などのポインティングデバイスの操作によりツールウィンドウから選択ツールボタンが選択されると、パラメータ設定部33は、選択ツールを起動して、矢印形状のカーソルを表示させる。ここで、マウス22を用いてカーソルを選択対象とするドミノに合わせてクリックする操作がされると、パラメータ設定部33は、選択されたドミノを他とは異なる形態(例えば、表示色を変更する)によって表示制御部34aにより表示させて選択状態にあることを明示する。
図7は、1つのドミノが選択された状態のゲーム画面の一例を示している。1つのドミノが選択された場合には、このドミノに対して設定されているパラメータを、図7に示すようにパラメータウィンドウにおいて表示させる。
また、マウス22を用いたドラッグ操作により複数のドミノを選択することもできる。例えば、ドラッグ操作の開始位置を左上頂点、ドラッグ操作の終了位置を右下頂点とした矩形枠を設定し、この矩形枠内に位置パラメータが示す座標が含まれるドミノを選択する。パラメータ設定部33は、1つのドミノが選択された場合と同様に、選択されたドミノを他とは異なる形態によって表示制御部34aにより表示させて選択状態にあることを明示する。
図8は、複数のドミノが矩形枠により選択された状態のゲーム画面の一例を示している。複数のドミノが選択された場合には、この複数のドミノに対して設定されているパラメータが、位置パラメータと角度パラメータを除いて全て同じ場合には、図8に示すようにパラメータウィンドウにおいて表示させる。なお、全てのドミノでパラメータが同じでない場合には、パラメータを表示しないものとする。
次に、前述のようにして選択されたドミノに対するパラメータを各ツールを使用して変更する処理について説明する。以下の説明では、1つのドミノを選択してパラメータを変更する例について図示する。
(1)ドミノを配置する向きを変更する場合には、図7に示すように1つのドミノを選択した後、ツールウィンドウ中のドミノ回転ボタンを選択する。パラメータ設定部33の角度設定部33bは、図9に示すように、ドミノ回転ツールが起動されたことを表すマークを選択されたドミノの近傍に表示させる。
ここで、例えばマウス22によって円を描くようにドラッグ操作がされると、角度設定部33bは、ドラッグにより描画されたラインをもとにドミノの向きを変更する回転角を算出し、オブジェクトパラメータ記憶部35に記憶された当該ドミノの角度パラメータを更新する。表示制御部34aは、角度設定部33bによって更新された角度パラメータに応じて、位置パラメータが示す位置中心にして回転させたドミノを表示させる。
こうして、ドミノ回転ツールを使用することで、ライン描画によって配列された複数のドミノの中で、隣接するドミノと相対する角度が適当でないものがあっても、ドラッグ操作によってドミノの向きを簡単に調整して、確実に連続して倒れていくようにできる。
(2)ドミノを表示する色を変更する場合には、図7に示すように1つのドミノを選択した後、ツールウィンドウ中のスキン選択ボタンを選択する。スキン選択ボタンが選択された場合、パラメータ設定部33は、ツールウィンドウに補足機能として色設定ツールを実行させるための色選択ボタン(アイコン)を追加する。この色選択ボタンが選択されると、色設定部33cは、図10に示すように、例えば画面右上に複数の色が配列されたカラーパレットを表示させる。
ここで、カラーパレット中の何れかの色がマウス22のクリック操作により選択されると、色設定部33cは、オブジェクトパラメータ記憶部35に記憶された当該ドミノの色パラメータを、カラーパレットから選択された色を示す色番号に更新する。表示制御部34aは、色設定部33cによって更新された色パラメータに応じてドミノの表示色を変更して表示する。
こうして、色設定ツールを使用することで、ライン描画によって配列された複数のドミノに対して様々な色を使用することで、ドミノの配列と色との組み合わせによって芸術性を高めることができる。
(3)ドミノ倒し(再生)を実行する際にドミノをゲーム画面に表示するか否かを変更する場合には、図7に示すように1つのドミノを選択した後、ツールウィンドウ中のスキン選択ボタンを選択する。スキン選択ボタンが選択された場合、パラメータ設定部33は、ツールウィンドウに補足機能としてカメラ設定ツールを実行させるためのカメラ設定ボタン(アイコン)を追加する。このカメラ設定ボタンが選択されると、カメラ設定部33gは、図11に示すように、例えば画面右上にカメラ追尾のオン/オフを設定するためのカメラメニューを表示させる。
ここで、カメラメニュー中においてオンあるいはオフがマウス22のクリック操作により選択されると、カメラ設定部33gは、オブジェクトパラメータ記憶部35に記憶された当該ドミノのカメラパラメータを、選択されたオンまたはオフに更新する。
こうして、カメラ設定ツールを使用してオブジェクト毎にカメラパラメータを任意に設定することができるので、アクティブとなった時(立っているオブジェクトが倒れ始めてから完全に倒れるまで間)にゲーム画面中に表示するドミノを簡単に設定することができる。
ドミノ倒しでは、ドミノが配列された列を複数に分岐させて、それぞれの列で様々な配列をしたり、また複数の列を関連づけて倒していくなどして楽しむことができる。本実施形態におけるドミノゲームでは、カメラ設定ツールを使用して、ゲーム画面に表示させる列をドミノが倒れているのに合わせて切り替えたり、表示対象とする列の組み合わせを切り替えたりするなどして、ドミノ倒しが実行されている間のゲーム画面をダイナミックに変化させることができる。
(4)ドミノ倒し(再生)を実行する際にドミノをゲーム画面に表示する際の倍率(ズーム)を変更する場合には、図7に示すように1つのドミノを選択した後、ツールウィンドウ中のスキン選択ボタンを選択する。スキン選択ボタンが選択された場合、パラメータ設定部33は、ツールウィンドウに補足機能としてズーム設定ツールを実行させるためのズーム設定ボタン(アイコン)を追加する。このズーム設定ボタンが選択されると、ズーム設定部33hは、図12に示すように、例えば画面右上にカメラ追尾時のズームを設定するためのズームメニューを表示させる。図12に示すズームメニューでは、例えば3段階でズームを選択できるものとする。
ここで、ズームメニュー中において何れかのズーム(倍率)がマウス22のクリック操作により選択されると、ズーム設定部33hは、オブジェクトパラメータ記憶部35に記憶された当該ドミノのズームパラメータを、選択されたズームに更新する。
こうして、ズーム設定ツールを使用してオブジェクト毎にズームパラメータを任意に設定することができるので、アクティブとなった時にゲーム画面中に表示する時のドミノの大きさを簡単に設定することができる。例えば、倒れていく複数の列のドミノを広い範囲で見られるように倍率を小さくし、また配列が工夫されたドミノが倒れていく様子を詳細に見られるように倍率を大きくするといったことが簡単に設定できる。
(5)ドミノ倒し(再生)を実行する際にドミノが倒れた時に出力させる音を変更する場合には、図7に示すように1つのドミノを選択した後、ツールウィンドウ中のスキン選択ボタンを選択する。スキン選択ボタンが選択された場合、パラメータ設定部33は、ツールウィンドウに補足機能として音設定ツールを実行させるための音設定ボタン(アイコン)を追加する。この音設定ボタンが選択されると、カメラ設定部33gは、図13に示すように、例えば画面右上に音を設定するための音メニューを表示させる。図13に示す音メニューは、例えばドラムセットに含まれる複数のドラムやシンバルを選択するための項目が設けられている。また、音メニューでは、例えばピアノやベースなどの楽器を指定することで、この指定した楽器の音階を指定できるようにすることもできる。
ここで、音メニュー中において何れかの音(楽器、音階)がマウス22のクリック操作により選択されると、音設定部33dは、オブジェクトパラメータ記憶部35に記憶された当該ドミノの音パラメータを、選択された音(項目)を示す音番号に更新する。
こうして、音設定ツールを使用してオブジェクト毎に音パラメータを任意に設定することができるので、アクティブとなった時に、ドミノが倒れるタイミングに合わせて音パラメータが示す音を出力させることができる。
なお、音パラメータは、音メニューから特定の音を指定して設定するだけでなく、ドミノに対して設定する材質(スキン)を設定することで、材質に応じた音が出力されるように音パラメータが設定される。
ドミノ倒しでは、ドミノが配列された列を複数に分岐させて、各列のドミノを並行して倒していくことができる。本実施形態におけるドミノゲームでは、音設定ツールを使用して、各列に配列されたドミノに対して個々に楽器や音階などを設定することで、各列のドミノが並行して倒れていくのに合わせて異なる音を同時に出力させることができる。このため、各ドミノに対して設定する音パラメータを工夫することで、ドミノ倒し(再生)により複数の音を組み合わせた楽曲等を出力させることもでき、単にドミノを倒すだけでなく音を利用した楽しみかたが可能となる。
なお、前述した説明では、1つのオブジェクトのパラメータを変更する場合について説明しているが、図8に示すように、複数のオブジェクトを一括して選択して、前述と同様にパラメータ変更のための操作をすることで、複数のオブジェクトに対して一括して同じパラメータを設定することができる。
また、前述した説明では、角度、色、音、カメラ、ズームの各パラメータを設定する場合を例にしているが、その他のパラメータについても同様にして設定することができる。
位置パラメータについては、選択ツールによってドミノをマウス22によりドラッグすることにより変更できるものとする。例えば、移動しようとするドミノにカーソルを合わせてドラッグすることにより、カーソルの移動に合わせてドミノが付随して移動するものとする。位置設定部33aは、ドラッグ操作が終了した位置のX座標とY座標とを変更後の位置パラメータとして設定する。
また、立ち表示パラメータと倒れ表示パラメータについては、前述したカメラメニューと同様に、オン/オフを選択できるメニューを表示して何れかを指定させるものとする。立ち表示設定部33eと倒れ表示設定部33fは、メニューから選択されたオン/オフに応じて、立ち表示パラメータ、倒れ表示パラメータを設定する。
また、カメラ位置パラメータについては、例えば予め設定された複数のカメラ位置(視線方向)から何れかを選択することができるメニューを表示して、このメニューから何れかのカメラ位置を指定させるものとする。カメラ位置は、カメラパラメータがオンに設定されたオブジェクトに対する相対位置関係により決められているものとする。例えば、カメラ位置としては、アクティブなドミノが倒れる方向の右前方上方、同ドミノの後方あるいは前方、真上などから選択できるものとする。
次に、ドミノ倒し(再生)を実行する場合のオブジェクト表示制御処理について、図14に示すフローチャートを参照しながら説明する。
ここでは、複数のドミノがゲームフィールドに配列されて、ゴール/スタート位置となるドミノが設定されているものとする。また、説明を簡単にするために、全てのドミノに対してカメラパラメータがオンに設定され、カメラ位置パラメータについては全てのオブジェクトに対して同じ設定がされているものとする。ここで、再生ボタンが選択されることにより、オブジェクト制御部34は、オブジェクトパラメータ記憶部35に記憶されたスタート位置に設定されたオブジェクトのパラメータをもとに、ドミノが倒れていく様子を表すゲーム画面を表示させると共に、ドミノが倒れていくのに合わせて音を出力する。
オブジェクト制御部34は、スタート位置に設定されたドミノから順に、ドミノが倒れることにより隣接する次のオブジェクトが倒れるかを、それぞれのオブジェクトのパラメータ(位置パラメータ、角度パラメータ等)をもとに判別する(ステップA1)。すなわち、ドミノがアクティブとなるかを判別する。
ここで、アクティブとなるドミノ(オブジェクト)がない場合、すなわちドミノが配置された間隔や相対する角度が適切でないために倒れないと判別された場合には処理を終了する(ステップA2、No)。
一方、アクティブとなったドミノがある場合(ステップA2、Yes)、表示制御部34aは、アクティブとなったドミノに対して設定されたカメラパラメータをオブジェクトパラメータ記憶部35から読み出す(ステップA3)。このアクティブとなったドミノのカメラパラメータがオンの場合(ステップA4、Yes)、表示制御部34aは、アクティブとなったドミノをゲーム画面に表示させるために、同ドミノのズームパラメータと位置パラメータとを一時記憶する(ステップA5)。
表示制御部34aは、他にアクティブとなったオブジェクトがあるかを判別し、アクティブとなったドミノがある場合には(ステップA6、Yes)、前述と同様にして、カメラパラメータがオンに設定されていれば、同ドミノに対して設定されたズームパラメータと位置パラメータとを一時記憶する。
例えば、ドミノが複数の列に配列されている場合には、各列でドミノが倒れていくために、アクティブとなるドミノが複数存在する場合がある。この場合、アクティブとなるドミノの全てをゲーム画面において表示するために、各アクティブとなるドミノのズームパラメータと位置パラメータとを一括して記憶する。
アクティブとなったドミノのズームパラメータと位置パラメータを記憶すると、表示制御部34aは、アクティブとなったドミノが複数ある場合には(ステップA7、Yes)、カメラパラメータがオンに設定された全てのドミノをゲーム画面に表示することができるように、各ドミノの位置パラメータをもとに表示対象範囲の中心位置を算出する(ステップA8)。例えば、表示対象範囲の中心位置は、アクティブとなったドミノが2つの場合には各ドミノ位置の中点として算出し、アクティブとなったドミノが3つ以上ある場合には、各ドミノの位置を結んだ形状の重心として算出する。
次に、表示制御部34aは、複数の各オブジェクトのズームパラメータの最大値を判別する(ステップA9)。ここでは、カメラパラメータがオンのドミノに対して設定されたズームパラメータが異なる場合に、最大のズームに従って全てのオブジェクトをゲーム画面において表示するものとする。なお、ズームパラメータの最大値ではなく、最小値あるいは中間値を判別するようにしても良い。
表示制御部34aは、各ドミノの位置パラメータをもとに算出された表示対象範囲の中心位置をゲーム画面中心に設定し、各ドミノに対して設定されたズームパラメータの最大値に応じて各ドミノを表示する(ステップA10)。
なお、各ドミノに対して設定されたカメラ位置パラメータが異なる場合には、複数のカメラ位置パラメータの何れかを選択したり、デフォルトのカメラ位置(例えば全体を俯瞰できるカメラ位置(右前方上方)など)を選択するなどしても良い。
図15には、ドミノ倒しが実行されている様子を表示するゲーム画面の一例を示している。図15では、カメラ位置パラメータとして、アクティブなドミノが倒れる方向の右前方上方に設定されているものとする。
図15に示すドミノ配列は、3つの列に分岐されている例を示している。3つの列のうち2つの列のドミノがアクティブとなっている。この場合、2つのドミノの位置パラメータ(X座標、Y座標)をもとに中点(図中、丸印により示す)を算出し、この中点がゲーム画面の中心に設定されている。これにより、アクティブとなったカメラパラメータがオンに設定されたドミノをゲーム画面中に表示させることができる。
以下、同様にして、各列のドミノが倒れていくことによりアクティブとなるドミノの位置が移動していく。オブジェクト制御部34は、前述したように、アクティブとなった各ドミノの位置パラメータをもとに表示対象範囲を設定してゲーム画面を表示させる。
図16は、図15に示すドミノ倒しが進行したゲーム画面の一例を示している。図16に示すように、アクティブとなった2つのドミノの位置が各列ともに移動しているために、2つのドミノの位置パラメータをもとに算出された中点が移動し、これに伴って表示対象範囲が移動している。
一方、アクティブとなったドミノが1つである場合には(ステップA7、No)、表示制御部34aは、アクティブとなったドミノの位置パラメータが示す位置をゲーム画面の中心に設定し(ステップA11)、ズームパラメータに応じて各ドミノを表示する(ステップA12)。
図17は、図16に示すドミノ倒しが進行したゲーム画面の一例を示している。図17に示すように、2つの列の一方のドミノが全て倒れてしまったために、アクティブとなったドミノが1つとなっている。このため、表示制御部34aは、アクティブとなっている1つのドミノの表示位置がゲーム画面中心となるように表示対象範囲を設定している。
なお、図15〜図17では、同じズーム(倍率)のみによってゲーム画面を表示しているが、一部のドミノに対して設定されているズームパラメータが他と異なる値(例えば最大値)に設定されている場合には、これに該当するドミノがアクティブとなっている間では各ドミノが拡大して表示される。
図18は、図15に示すゲーム画面の配列例において、何れか一方の列のドミノに対して最大値のズームパラメータが設定されていた場合のゲーム画面の一例を示している。図18に示すように、2つのアクティブとなったドミノの中点を表示対象範囲の中心に設定すると共に、ズームパラメータが示す最大値の倍率により各ドミノが表示されている。
このようにして、本実施形態におけるドミノゲームでは、ゲームフィールドに配列されるドミノ(オブジェクト)の個々に対してパラメータ(カメラパラメータ、ズームパラメータ、カメラ位置パラメータ)を設定することで、このパラメータに応じてオブジェクトの表示が制御される。従って、ドミノの配列に合わせて仮想のカメラの撮影方向とする角度やズームなどを設定することなく、ゲーム画面中において表示させようとするドミノに対してカメラパラメータをオンに設定するだけで、同ドミノがアクティブとなった時に、同ドミノをゲーム画面に表示させるようにゲーム空間中に仮想のカメラが設定される。アクティブなドミノが複数ある場合であっても、同様にして、個々のドミノに対してカメラパラメータをオンに設定するだけで全てのドミノをゲーム画面中に表示させることができる。
また、ズームの設定についてもカメラパラメータと同様にして、個々のパラメータに対して設定することができるので、例えば拡大してゲーム画面中で表示させたいドミノを簡単な設定作業により確実に所望する大きさで表示させることができる。
なお、前述したオブジェクト表示制御処理では、カメラパラメータ、ズームパラメータ(及びカメラ位置パラメータ)を対象とした表示制御について説明しているが、表示制御部34aは、各ドミノに対して設定されたその他の表示に関係するパラメータ(色、立ち表示、倒れ表示)に応じて、ゲーム画面中におけるオブジェクトの表示を制御するものとする。
次に、ドミノ倒し(再生)を実行する場合のオブジェクト音声制御処理について説明する。
本実施形態におけるドミノゲームでは、個々のドミノに対して各種のパラメータを設定することができるが、パラメータには、ドミノが非アクティブの状態では無効であり、アクティブとなった時点で有効となるパラメータとして、前述したカメラパラメータ、ズームパラメータ、カメラ位置パラメータの他、音パラメータがある。
本実施形態におけるドミノゲームでは、複数のドミノが配列された列を複数設けて、複数列で並行してドミノが倒れるようにすることで、同時に複数のドミノをアクティブにすることができる。この複数のアクティブとなったドミノに対して、それぞれ異なる音パラメータを設定しておくことで音を組み合わせた楽曲等を出力させることができる。
まず、音パラメータの具体例について説明する。図19には、音パラメータとして設定される音番号の一例を示している。
例えば、ドラムセットについては、複数のドラムやシンバルについて、それぞれ音パラメータ(音番号)が設定されている。また、音階のある楽器、例えばベースやピアノについては、それぞれの楽器別に各音階に対して音パラメータ(音番号)が設定されている。
従って、オブジェクト(ドミノ)に対して、任意に音パラメータを設定することで、該当するオブジェクトがアクティブとなった時(ドミノが倒れる時)に出力させる音を任意に指定することができる。
図20には、ドミノの配列例を示している。図20に示すように、スタート位置として設定されるドミノから、順次、複数の列に分岐させることにより、各列のドミノが並行して倒れていくようにできる。従って、各列に配列されたドミノに対して個々に楽器や音階などを設定することで、各列のドミノが並行して倒れていくのに合わせて異なる音を同時に出力させることができる。例えば、図20では、ベース、ドラム、ピアノの音を出力させるための列が設けられている。
図21には、各楽器用に配列された各列のドミノに対して設定される音パラメータの関係の一例を示している。
図21に示す例では、縦方向に配列されたオブジェクト番号が示す各ドミノが順番に倒れていくもとのする。すなわち、図21において横方向に並ぶオブジェクト番号が示すドミノが倒れる時(アクティブとなった時)に、それぞれに設定された音パラメータが示す音が同時に出力される。例えば、ドラムのオブジェクト番号10、ベースのオブジェクト番号36、ピアノのオブジェクト番号54のそれぞれに対して設定された音パラメータが示す音が出力される。
図21に示すように、各列に配列されるドミノが倒れるタイミングを適切に調節することで、楽曲等を表現するように異なる音を出力させることができる。
次に、オブジェクト音声制御処理について、図22に示すフローチャートを参照しながら説明する。
なお、オブジェクト音声制御処理は、前述したオブジェクト表示制御処理と並行に実行されて、ドミノが倒れるタイミングに合わせて、同ドミノに対して設定された音パラメータが示す音を出力する。
再生ボタンが選択されることにより、オブジェクト制御部34は、オブジェクトパラメータ記憶部35に記憶されたスタート位置に設定されたオブジェクトのパラメータをもとに、ドミノが倒れていく様子を表すゲーム画面を表示させると共に、ドミノが倒れていくのに合わせて音を出力する。
オブジェクト制御部34は、スタート位置に設定されたドミノから順に、ドミノが倒れることにより隣接する次のオブジェクトが倒れるかを、それぞれのオブジェクトのパラメータ(位置パラメータ、角度パラメータ等)をもとに判別する(ステップB1)。すなわち、ドミノがアクティブとなるかを判別する(オブジェクト表示制御処理と共通)。
ここで、アクティブとなるドミノ(オブジェクト)がない場合、すなわちドミノが配置された間隔や相対する角度が適切でないために倒れないと判別された場合には処理を終了する(ステップB2、No)。
一方、アクティブとなったドミノがある場合(ステップB2、Yes)、音声制御部34bは、アクティブとなったドミノに対して設定された音パラメータをオブジェクトパラメータ記憶部35から読み出す(ステップB3)。音声制御部34bは、音パラメータが示す音を、音声制御部15を通じてスピーカ19から出力させる(ステップB4)。
音声制御部34bは、アクティブとなったドミノの全てについて、前述した処理を実行することで、それぞれのドミノに対して設定された音を同時に出力させることができる。
こうして、各ドミノに対して設定する音パラメータを工夫することで、ドミノ倒し(再生)により複数の音を組み合わせた楽曲を出力させることもでき、単にドミノを並べて倒すだけでなく音を利用した楽しみかたが可能となる。
なお、立ち表示パラメータ及び倒れ表示パラメータは、ドミノ(オブジェクト)がアクティブとなる前後でドミノの状態を変更するパラメータである。立ち表示パラメータをオンに設定することで、立っている状態では表示するが完全に倒れた状態(アクティブ)となった時には透明化(消去)し、倒れ表示パラメータをオンに設定することで、立っている状態では透明(表示しない)であるが倒れ始めると表示することができる。
こうした、パラメータを他のパラメータと組み合わせることにより、ドミノが倒れるという変化に合わせた新しい表現方法を実現することができる。従って、ドミノの配列により芸術性を持たせるといった楽しみかたも可能となる。
なお、前述した説明では、ドミノゲームを例にして説明しているが、複数のオブジェクトをゲーム画面中に表示させるその他のゲームに適用することも可能である。
例えば、サッカーゲームにおける各プレイヤやボールを表すオブジェクトに対して、前述したように、個々にパラメータを設定して表示制御することができる。例えば、複数のプレイヤから注目したいプレイヤに対してのみカメラパラメータをオン設定しておくことで、パラメータオンが設定されたプレイヤのゲームフィールドにおける動きを常に表示させることができる。従って、ボールの近くにいない場合の動きなども見ることができる。また、ボールに対してもカメラパラメータをオンに設定しておくことで、プレイヤとボールとをゲーム画面に表示させて、両者の関係を確認することができる。また、ボールの近傍に位置している場合をアクティブとして、カメラパラメータがオンに設定されたプレイヤがボールの近くとなった場合に、同プレイヤに対して設定されたズームパラメータに応じた倍率(例えば拡大して)でプレイヤを表示させることができる。
また、所定のコースを走行するオブジェクト(マラソンをする人やレースをする車など)に対して、ゲーム画面中に表示させようとするオブジェクトを任意(1つ、あるいは複数)指定してカメラパラメータをオンに設定することで、このカメラパラメータがオンに設定されたオブジェクトを表示するように画面を制御することができる。
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
また、実施形態に記載した手法は、コンピュータに実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)をコンピュータ内に構成させる設定プログラムをも含む。本装置を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
10…制御部、11…メモリ、12…ハードディスク装置、13…通信インタフェース部、14…表示制御部、15…音声制御部、16…ディスクドライブ装置、17…入力インタフェース部、18…ディスプレイ、19…スピーカ、20…ディスク、21…キーボード、22…マウス、23…タブレット、24…スタイラスペン、30…ゲーム制御部、31…入力制御部、32…オブジェクト生成部、33…パラメータ設定部、33a…位置設定部、33b…角度設定部、33c…色設定部、33d…音設定部、33e…立ち表示設定部、33f…倒れ表示設定部、33g…カメラ設定部、33h…ズーム設定部、34…オブジェクト制御部、34a…表示制御部、34b…音声制御部、35…オブジェクトパラメータ記憶部。