(57)【特許請求の範囲】
【請求項１】
プレーヤにより操作される入力装置からの信号に応じて、ディスプレイ上に表示される碁盤と碁石の表示態様を変化させて、コンピュータに対して囲碁の対局を前記ディスプレイ上で実行させることの出来る囲碁ゲームプログラムであって、
該囲碁ゲームプログラムは、前記コンピュータに、
碁盤上の碁石の置かれていない各空点について候補手として、対局における有利性を順次、演算評価し、その評価結果を評価パラメータとして求めメモリ中に格納する候補手演算手順、
前記候補手演算手順により演算された各候補手から、前記評価パラメータが高い順番に複数、選択してランダムアクセスメモリに格納して候補手リストを作成する候補手リスト作成手順、
前記候補手リストが最初に作成された時点で、該候補手リストに格納された複数の候補手から、前記評価パラメータが最高評価の候補手以外の候補手を選択し、当該選択された候補手に対応する空点の位置を１カ所以上、仮決定する仮決定手順、
前記仮決定手順により仮決定された１カ所以上の空点に対応するディスプレイ上の碁盤の目に、碁石を移動させるアニメーションを生成し、前記ディスプレイ上に表示する仮決定位置アニメーション表示手順、
前記候補手リスト作成手順により候補手リストが作成された後、引き続き、未だ評価パラメータが演算されていない空点についての前記候補手演算手順による評価パラメータの演算を継続し、更に前記仮決定位置アニメーション表示手順によるアニメーション表示中においても、前記候補手演算手順による各空点についての評価パラメータの演算動作を継続させ、前記候補手リスト作成手順により作成された候補手リストを更新してゆく候補手リスト更新手順、
前記候補手演算手順による全ての空点についての評価パラメータの演算が終了した後、前記候補手リストに示された候補手から前記評価パラメータが最高の候補手を選択し、当該候補手に対応する空点を、前記コンピュータが最終的に打つべき空点として決定する最終決定手順、
前記最終決定手順により決定された空点に対応するディスプレイ上の碁盤の目に、前記仮決定された空点に対応する位置から碁石を移動させるアニメーションを生成し、前記ディスプレイ上に表示する最終決定位置アニメーション表示手順、
を実行させるための囲碁ゲームプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスプレイ上に表示された碁盤上で、入力手段を操作することによりディスプレイ上に表示される碁石を操作することにより囲碁を楽しむことの出来る囲碁ゲームプログラムに係わり、特に、コンピュータを対戦相手にした囲碁ゲームを人間味豊に演出することの出来る、囲碁ゲームプログラムに関する。
【０００２】
【従来の技術】
通常、この種の囲碁ゲームプログラムにおいては、プレーヤがコンピュータを対戦相手にして囲碁を行うコンピュータ対戦モードが設けられており、このコンピュータ対戦モードにおいては、コンピュータは、囲碁ゲームプログラム中に格納された所定の対局アルゴリズムに従って、プレーヤが指した手に対して、次に自らが指すべき手（候補手）を複数手、演算し、そのなかで最も評価の高い、即ち勝利の可能性の高いと演算される手を選択して、ディスプレイに表示された碁盤の対応する目に碁石を表示させる（打つ）処理を行う。
【０００３】
【発明が解決しようとする課題】
しかし、これでは、プレーヤがいろいろ次の手を考えながら入力装置を操作してディスプレイ上で碁石を打つのに対して、コンピュータは演算された結果を単にディスプレイ上に表示する動作を行うだけなので、コンピュータ側の碁石を打つ様が、機械的であり無味乾燥なものとなり、技量の未熟なプレーヤに不快感を与えたりしてしまう不都合がある。
また、コンピュータの演算能力が低い携帯型のゲーム装置の場合、コンピュータが次の手を演算するのに比較的時間を要し、プレーヤがその間待たされてしまい、いらいらさせられてしまう場合もある。
【０００４】
そこで、本発明は、コンピュータ対戦モードにおいて、コンピュータ側の碁石を打つ様を人間味豊に演出することが出来、同時にコンピュータの演算時間の長さをプレーヤに極力感じさせないようにすることの出来る、囲碁ゲームプログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１の発明は、プレーヤにより操作される入力装置（４）からの信号に応じて、ディスプレイ（３）上に表示される碁盤（３０）と碁石（３１）の表示態様を変化させて、コンピュータに対して囲碁の対局を前記ディスプレイ上で実行させることの出来る囲碁ゲームプログラム（ＣＧＰ）であって、
該囲碁ゲームプログラムは、前記コンピュータに、
碁盤上の碁石の置かれていない各空点（３０ｃ）について候補手として、対局における有利性を順次、演算評価し、その評価結果を評価パラメータとして求めメモリ中に格納する候補手演算手順、
前記候補手演算手順により演算された各候補手から、前記評価パラメータが高い順番に複数、選択してランダムアクセスメモリに格納して候補手リストを作成する候補手リスト作成手順、
前記候補手リストが最初に作成された時点で、該候補手リストに格納された複数の候補手から、前記評価パラメータが最高評価の候補手以外の候補手を選択し、当該選択された候補手に対応する空点の位置（例えば、図３の目３０ｂ１など）を１カ所以上、仮決定する仮決定手順、
前記仮決定手順により仮決定された１カ所以上の空点に対応するディスプレイ上の碁盤の目に、碁石を移動させるアニメーションを生成し、前記ディスプレイ上に表示する仮決定位置アニメーション表示手順、
前記候補手リスト作成手順により候補手リストが作成された後、引き続き、未だ評価パラメータが演算されていない空点についての前記候補手演算手順による評価パラメータの演算を継続し、更に前記仮決定位置アニメーション表示手順によるアニメーション表示中においても、前記候補手演算手順による各空点についての評価パラメータの演算動作を継続させ、前記候補手リスト作成手順により作成された候補手リストを更新してゆく候補手リスト更新手順、
前記候補手演算手順による全ての空点についての評価パラメータの演算が終了した後、前記候補手リストに示された候補手から前記評価パラメータが最高の候補手を選択し、当該候補手に対応する空点を、前記コンピュータが最終的に打つべき空点（例えば、図３の目３０ｂ２など）として決定する最終決定手順、
前記最終決定手順により決定された空点に対応するディスプレイ上の碁盤の目に、前記仮決定された空点に対応する位置から碁石（３１）を移動させるアニメーションを生成し、前記ディスプレイ上に表示する最終決定位置アニメーション表示手順、
を実行させるための囲碁ゲームプログラムとして構成される。
【０００６】
【発明の効果】
請求項１によれば、仮決定された空点に対応する目（３０ｂ１）に、まず碁石（３１）がアニメーションにより移動した後に、最終決定された空点に対応する目（３０ｂ２）に碁石（３１）が更にアニメーションにより移動するようにディスプレイ（３）上で表示制御されるので、あたかもコンピュータ（１１）が打つ手に迷っているかのような演出を行うことが出来、コンピュータ（１１）が碁石を打つ様を人間味豊に演出することが出来る。
【０００７】
なお、括弧内の番号等は、図面における対応する要素を示す便宜的なものであり、従って、本記述は図面上の記載に限定拘束されるものではない。
【０００８】
【発明の実施の形態】
以下、図面に基づき、本発明の実施例を説明する。
【０００９】
図１は、本発明が適用される携帯型ゲーム機の外観図、図２は、図１のゲーム機の制御ブロック図、図３はディスプレイ上に画像表示される囲碁ゲームの表示態様の一例を示す図である。
【００１０】
図1はゲームシステムを構成するコンピュータとしての携帯型ゲーム機を示している。携帯型ゲーム機１は、本体２と、その本体２に取り付けられた表示装置としての反射形液晶ディスプレイ３と、入力装置４とを有している。入力装置４は、方向指示スイッチ５と、複数の押釦スイッチ６ａ、６ｂなどを備えている。方向指示スイッチ５は例えば十字型の操作部材５ａを有し、その操作部材５ａの上下左右方向の操作（上下左右の端部の押し込み操作）に対応した信号を出力する。
【００１１】
このような入力装置4の構成は周知であり、種々変形が可能である。例えば操作部材５ａに代え、上下左右にそれぞれ一つずつ押釦スイッチが配置されてもよい。押釦スイッチ６ａ、６ｂの個数および配置は種々変更してよいが、以下の説明では押釦スイッチ６ａをＡボタン、押釦スイッチ６ｂをＢボタンと呼ぶ。但し、これらのボタンを区別する必要がないときは押釦スイッチ６と表現する。この他に、ゲーム機１には電源スイッチ、音量調整用の操作部材等が設けられるが、それらは省略した。
【００１２】
図２はゲーム機１に設けられた制御装置１０の構成を示している。制御装置１０は、マイクロプロセッサを利用したＣＰＵ１１を主体とするコンピュータとして構成されている。ＣＰＵ１１には、主記憶装置としてのＲＯＭ（リードオンリーメモリ）１２およびＲＡＭ（ランダムアクセスメモリ）１３と、画像処理回路１４と、サウンド処理回路１５とがバス１６を介してそれぞれ接続される。ＲＯＭ１２には、ゲーム機１の基本的な制御（例えば起動処理）に必要なプログラムが格納される。ＲＡＭ１３にはＣＰＵ１１に対する作業領域が確保される。画像処理回路１４はＣＰＵ１１からの描画指示に応じて液晶ディスプレイ３を制御してその画面上に所定の画像を表示させる。サウンド処理回路１５はＣＰＵ１１からの発音指示に応じたアナログ音声信号を生成してスピーカ７に出力する。
【００１３】
ＣＰＵ１１にはバス１６を介して入力装置４の各スイッチ５、６が接続され、それによりＣＰＵ１１は各スイッチ５、６の操作状態を判別可能である。また、バス１６には、制御装置１０とは別体の外部記憶装置１７が接続される。外部記憶装置１７は例えば本体２に対して着脱自在なカートリッジ型に構成され、その内部には記憶媒体としてＲＯＭ１８および書き換え可能なユーザ用メモリとしてのＲＡＭ１９（読み書き自在な記憶素子）が設けられる。ＲＯＭ１８には、ゲームプログラムなどのプログラムおよびその実行に必要な各種のデータが予め記録される。メモリ１９はフラッシュメモリのような書き換え可能なＲＯＭが使用され、そこには例えばゲームのセーブデータ等が必要に応じて記録される。外部記憶装置１７の記憶媒体は半導体記憶素子に限らず、磁気記憶媒体、光学式記憶媒体、光磁気記憶媒体等の各種の記憶媒体を使用してよい。なお、バス１６と各要素との問には必要に応じてインターフェース回路が介在されるが、それらの図示は省略した。制御装置１０の構成は上記に限定されず、種々の制御装置を使用してよい。
【００１４】
ゲーム機1を所定の通信回線や他のゲーム機等に接続するため、ＣＰＵ１１には、バス１６を介して通信制御回路２０が接続される。通信制御回路２０には通信インターフェース２１を介して通信コネクタ２２が接続される。通信制御回路２０としては、例えばＤＳＰ（デジタルシグナルプロセッサ）とソフトウエアとの組み合わせにより、モデムやネットワークインターフェースとして機能するものが利用できる。通信コネクタ２２やインターフェース２１をゲーム機１に対して外部接続される周辺機器として設けてもよい。
【００１５】
以上の構成のゲーム機１では、外部記憶装置１７のＲＯＭ１８に記録されたプログラムをＲＡＭ１３にロードしてＣＰＵ１１で実行することにより、様々なジャンルのゲームをディスプレイ３の画面上でプレイすることが出来る。また、通信制御回路２０を制御して所定のネットワークにゲーム機１を接続し、他のゲーム機１との間でメッセージの交換や対戦型のゲームを行うことが出来る。
【００１６】
ゲーム機１においては、所定の初期化操作（例えば電源の投入操作）が行われると、ＣＰＵ１１がまずＲＯＭ１２のプログラムに従って所定の初期化処理を実行する。初期化が終わるとＣＰＵ１１は外部記憶装置１７のＲＡＭ１８に格納された、ゲームプログラムＣＧＰの読み込みを開始し、そのプログラムに従ってゲーム処理を開始する。プレーヤが入力装置４を操作して所定のゲーム開始操作を行うと、ＣＰＵ１１はゲームプログラムＣＧＰの手順に従ってゲームの実行に必要な種々の制御を開始する。
【００１７】
ここでは、ゲームプログラムＣＧＰは、囲碁ゲームプログラムであり、ＣＰＵ１１は、当該囲碁ゲームプログラムに基づいて、囲碁の対局をディスプレイ上で実行すべく、演算制御を開始する。囲碁ゲームプログラムＣＧＰには、二人のプレーヤが交互に入力装置４を操作して、又はプレーヤが、通信ケーブルを介して接続された他の携帯型ゲーム機１の入力装置４を操作する他のプレーヤと、通信制御回路２０を介して通信しながら囲碁ゲームをディスプレイ３上で行う、２プレーヤ対戦モードと、入力装置４を介してプレーヤと、囲碁ゲームプログラムＣＧＰにより制御されるＣＰＵ１１が対戦するコンピュータ対戦モードの２種類の対戦モードが準備されており、プレーヤは入力装置４を介して、どちらの対戦モードで囲碁ゲームを行うかをＣＰＵ１１に対して指示することにより、ＣＰＵ１１は、対応するプログラムを読み出して、該読み出されたプログラムに基づいてディスプレイ３上での囲碁ゲームを表示制御する。
【００１８】
なお、こうした各対戦モードにおける、囲碁の対局の進行に関するコンピュータアルゴリズムは既に各種のものが公知となっているので、ここではその説明を省略する。
【００１９】
囲碁ゲームプログラムＣＧＰに基づいて、プレーヤが入力装置４を操作して、ＣＰＵ１１を対戦相手とするコンピュータ対戦モードを選択し、対応するコンピュータ対戦モードのプログラムが囲碁ゲームプログラムＣＧＰから読み出され、ＣＰＵ１１を対戦相手とする囲碁ゲームが開始されたとする。
【００２０】
ＣＰＵ１１は、プレーヤが入力装置４を操作して、図３に示すように、ディスプレイ３上に表示された碁盤３０の適宜な目３０ｂに碁石３１（この場合、白石３１ｂ）を配置して、即ち打って、当該操作を、入力装置４の押しボタンスイッチ６などの操作により確定させた場合には、入力確定信号ＩＤがＣＰＵ１１に入力される。これを受けてＣＰＵ１１は、囲碁ゲームプログラムＣＧＰに基づいて、自分が次に打つべき手を、碁石３０上の碁石３１が置かれていない目、即ち空点３０ｃについて、順次演算してゆき、各空点３０ｃについて、その対局の勝敗における有利性を演算評価し、その評価結果を評価パラメータとして求め、適宜なメモリ中に候補手としてそれぞれ格納する。この、各空点３０ｃについて、その対局の勝敗における有利性の演算手順は、各種のものが公知となっているので、ここでは、その詳細な説明は省略する。
【００２１】
ＣＰＵ１１は各空点３０ｃについて評価パラメータを演算してメモリ中に候補手を格納してゆくが、同時に、演算された各候補手、即ち空点３０ｃについて、評価パラメータの高い順番に所定数（例えば１０個程度）、選択して、ＲＡＭ１３に格納し、候補手リストを作成する。
【００２２】
こうして、評価パラメータの高い順に所定数の空点３０ｃが配列された候補手リストがＲＡＭ１３に作成されたところで、ＣＰＵ１１は、引き続き、未だ評価パラメータが演算されていない残りの空点（候補手）に付いての評価パラメータの演算を継続し、候補手リストに格納された空点３０ｃよりもより評価パラメータの高い空点３０ｃがその後の演算で判明した場合には、当該評価パラメータが高い空点（候補手）３０ｃを候補手リストに格納し、その結果、候補手リスト中で最低の評価パラメータとなった空点（候補手）３０ｃを、候補手リストから除外する更新処理を行い、常に最新の評価パラメータの演算結果が候補手リストに反映されるようにしておく。
【００２３】
同時に、ＣＰＵ１１は、候補手リストが最初に作成された時点で、囲碁ゲームプログラムＣＧＰ中の差し手決定プログラムＤＰＲを読み出して、当該時点で、最も評価パラメータの高い候補手の中から、最高評価の評価パラメータを持つ候補手以外の候補手を適宜選択し、当該候補手に対応する空点３０ｃを、ＣＰＵ１１が打つべき位置として、仮決定する。ＣＰＵ１１が打つべき空点３０ｃの位置が仮決定されたところで、ＣＰＵ１１は、囲碁ゲームプログラムＣＧＰ中のアニメーションプログラムＡＰを読み出して、当該アニメーションプログラムＡＰに基づいて、ＣＰＵ１１が打つべき碁石３１を、ディスプレイ３上で表示された碁盤３０の対応する目３０ｂ１に、待機位置ＷＰから移動させるアニメーションを生成し、表示する。
【００２４】
これにより、ディスプレイ３上では、図３に示すように、ＣＰＵ１１の打ち手を表示する指カーソルＦＣが、ディスプレイ３上の所定の待機位置ＷＰで、ＣＰＵ１１の碁石３１、即ち黒石３１ａを取って、仮決定された空点３０ｃに対応する目３０ｂ１に向けて移動するアニメーションが表示される。仮決定された空点３０ｃに対応する位置に碁石３１を移動させるアニメーションの表示中においても、ＣＰＵ１１は、碁盤３０上の残りの各空点３０ｃについての、評価パラメータの演算動作を継続してゆき、候補手リストの更新動作を行ってゆく。
【００２５】
こうして、アニメーションプログラムＡＰによるアニメーションの表示中に、碁盤３０上の全ての空点３０ｃについてその評価パラメータの演算が終了した状態では、ディスプレイ３上では、碁石３１が前述の仮決定された目３０ｂ１付近に指カーソルＦＣと共にアニメーション表示された形となっているが、差し手決定プログラムＤＰＲは、当該位置に碁石３１を最終的に打ったとの表示（具体的には、プレーヤが碁石３１を打つ順番であることを表示する、ターン表示）は、していない。
【００２６】
こうして、ＣＰＵ１１は、アニメーションプログラムＡＰで、碁石３１を仮決定された空点３０ｃに対応した目３０ｂ１にアニメーションにより移動表示させた後、更に、差し手決定プログラムＤＰＲに基づいて、最終的にＣＰＵ１１が打つべき空点３０ｃの最終位置として、候補手リスト中の評価パラメータが最高の空点を選択して決定する。既に述べたように、碁石３１を仮決定された位置にアニメーション移動させる時間を利用して、ＣＰＵ１１は全ての空点（候補手）３０ｃについてその評価パラメータの演算が終了しているので、ＣＰＵ１１が打つべき空点３０ｃの位置は、候補手リストを参照することにより、直ちに判明する。なお、当初仮決定された空点３０ｃの位置の選択に際しては、既に述べたように、その時点で、候補手リストの中で、評価パラメータが最高の候補手は、その選択から除外されているので、仮決定された目３０ｂ１へ、碁石３１をアニメーション移動させる間に、評価パラメータが最高の空点３０ｃが、新たに発見されなかった場合でも、仮決定された空点とは異なる空点が、最終的にＣＰＵ１１が打つべき空点３０ｃとして選択決定される。
【００２７】
こうして、ＣＰＵ１１が打つべき空点３０ｃの位置が最終的に決定されたところで、ＣＰＵ１１は、アニメーションプログラムＡＰに基づいて、ディスプレイ３上で表示されている碁石３１を、仮決定された空点３０ｃに対応する目３０ｂ１から、最終決定された空点３０ｃに対応する目３０ｂ２に更に移動して、当該位置に碁石３１を打つアニメーションを生成し、表示する。
【００２８】
その結果、ディスプレイ３上では、碁石３１をつかんだ指カーソルＦＣがまず碁盤３０の目３０ｂ１に移動して後、更に目３０ｂ２に移動して、当該位置に碁石３１を打つ画像が表示されることとなり、あたかもＣＰＵ１１が迷いながら打っているかのような状態を演出することが出来る。
【００２９】
なお、全ての空点３０ｃについての評価パラメータの演算及び最終的にＣＰＵ１１が打つべき空点３０ｃの最終位置の決定には、ある程度の時間を要するので、前述のように、１個以上の空点３０ｃについての評価パラメータが求められた時点で、ＣＰＵ１１が打つべき位置を仮決定して、ディスプレイ３上でアニメーション表示させることにより、当該アニメーション表示による時間を利用して、残りの空点３０ｃについての評価パラメータの演算を行うことにより、プレーヤが無為にすごす時間を短縮して、プレーヤに対して違和感のないゲーム進行を提供するようにすることが望ましい。
【００３０】
また、候補手リストからＣＰＵ１１が仮決定する、打つべき位置の数は、１個以上任意であり、最終的にＣＰＵ１１が打つべき最終位置が決定されるまで、複数箇所の位置が仮決定されてもよい。この場合、アニメーションプログラムＡＰによりアニメーション表示は、それら仮決定された各目３０ｂの間を、碁石３１を持った指カーソルＦＣが移動してゆき、最終位置に到達したところで、碁盤３０上に配置されるように表示されるので、打つべき手に迷っている状態を効果的に表現することが出来る。
【００３１】
なお、アニメーションプログラムＡＰによる碁石３１の仮決定された位置への移動態様及び仮決定された位置におけるアニメーションによる表示態様は、各種の表現上のバリエーションを用いることが出来る。例えば、待機位置ＷＰから仮決定された位置までの碁石３１の移動速度や移動軌跡を、適宜変化させたり、更には仮決定された碁盤３０の目３０ｂ１近くで、指カーソルＦＣをうろうろさせるように表示制御したり、仮決定された複数の碁盤３０の目３０ｂの間を往復させて、逡巡している様を表現したりするようにしてもよい。
【００３２】
こうして、ＣＰＵ１１が、評価パラメータが最も高く演算された空点３０ｃに対応するディスプレイ３上の碁盤３０の目３０ｂの最終位置に碁石３１を移動させて、ＣＰＵ１１の手が終了したところで、ＣＰＵ１１は、囲碁ゲームプログラムＣＧＰに基づいて、自己の手順が完了したことを、ディスプレイ３上に表示し、プレーヤに対して、次の手を打つことを促し、これを受けて、プレーヤは入力装置４を操作して、自分の碁石３１を、ディスプレイ３上の碁盤３０の適宜な位置に配置して（打って）、囲碁ゲームを継続してゆく。
【図面の簡単な説明】
【図１】図１は、本発明が適用される携帯型ゲーム機の外観図である。
【図２】図２は、図１のゲーム機の制御ブロック図である。
【図３】図３はディスプレイ上に画像表示される囲碁ゲームの表示態様の一例を示す図である。
【符号の説明】
１……コンピュータ（携帯型ゲーム機）
３……ディスプレイ
４……入力装置
３０……碁盤
３０ｂ、３０ｂ１、３０ｂ２……目
３０ｃ……空点
３１……碁石
ＣＧＰ……囲碁ゲームプログラム
【図１】
0003607266.tif 000002
【図２】
0003607266.tif 000003
【図３】
0003607266.tif 000004