特許第6232533号(P6232533)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 齊藤 康久の特許一覧

<>
  • 特許6232533-コンピュータゲームプログラム 図000002
  • 特許6232533-コンピュータゲームプログラム 図000003
  • 特許6232533-コンピュータゲームプログラム 図000004
  • 特許6232533-コンピュータゲームプログラム 図000005
  • 特許6232533-コンピュータゲームプログラム 図000006
  • 特許6232533-コンピュータゲームプログラム 図000007
  • 特許6232533-コンピュータゲームプログラム 図000008
  • 特許6232533-コンピュータゲームプログラム 図000009
  • 特許6232533-コンピュータゲームプログラム 図000010
  • 特許6232533-コンピュータゲームプログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6232533
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】コンピュータゲームプログラム
(51)【国際特許分類】
   A63F 13/80 20140101AFI20171106BHJP
   A63F 13/537 20140101ALI20171106BHJP
   A63F 13/58 20140101ALI20171106BHJP
   A63F 13/35 20140101ALI20171106BHJP
【FI】
   A63F13/80 A
   A63F13/537
   A63F13/58
   A63F13/35
【請求項の数】7
【全頁数】10
(21)【出願番号】特願2017-92080(P2017-92080)
(22)【出願日】2017年5月8日
【審査請求日】2017年5月10日
【早期審査対象出願】
(73)【特許権者】
【識別番号】717001248
【氏名又は名称】齊藤 康久
(72)【発明者】
【氏名】齊藤康久
【審査官】 鈴木 崇雅
(56)【参考文献】
【文献】 特開2014−079365(JP,A)
【文献】 特開平11−104356(JP,A)
【文献】 米国特許出願公開第2015/0174495(US,A1)
【文献】 武藤 孝輔、西野 順二,ターン制戦略ゲームにおけるファジィ評価を用いた探索木の枝刈り,第20回ゲームプログラミングワークショップ2015予稿集,日本,一般社団法人 情報処理学会,2015年10月30日,p.54-p.55
【文献】 藤木 翼、村山 公志朗、池田 心,ターン制ストラテジーのための状態評価型深さ限定モンテカルロ法における消極的行動の抑制,第19回ゲームプログラミングワークショップ2014予稿集,日本,一般社団法人 情報処理学会,2014年10月31日,p.32-p.33
【文献】 将棋RPG つめつめロード,週刊ファミ通,日本,カドカワ株式会社,2016年 7月14日,第31巻、第30号,p.50-p.51
(58)【調査した分野】(Int.Cl.,DB名)
A63F9/24,13/00−13/98
(57)【特許請求の範囲】
【請求項1】
将棋やチェス及びそれらに類する盤上ゲームをコンピュータを利用して対戦できるようにするためのコンピュータゲームプログラムであって、各々の駒に生命力パラメータを付与し、尚且つ駒の状態(移動及び攻撃可能な活性状態/移動及び攻撃不可能な非活性状態)及び座標をメモリに保持しておき、前記コンピュータにプレーヤーが操作するコンピュータ端末によって駒の移動座標が指示された時は、駒の移動可不可を判定して、移動可能であれば駒の座標を更新して駒を移動させ、各々の駒が次の手で移動可能な座標に敵の駒が活性状態で存在する場合は、味方の駒からビームやミサイルや弾丸、手裏剣等の飛び道具をプレーヤーが操作するコンピュータ端末のディスプレイで撃ち出す表示を行って敵の駒を攻撃して、敵の駒の生命力を減少させていき、生命力がゼロ以下になった場合には、その駒を非活性状態に遷移させて、味方の駒が移動可能な座標に非活性状態になった敵の駒がある場合に限り、非活性状態になった敵の駒を奪える機能を実現させるためのコンピュータゲームプログラム。
【請求項2】
前記駒に復活待ち時間パラメータを追加して前記メモリに保持することにより、前記コンピュータに前記駒が攻撃されて生命力がゼロ以下になった直後から前記コンピュータのタイマーを利用して経過時間を計り、復活待ち時間が経過したら、前記駒の生命力に一定の値を設定して、前記駒を移動可能及び攻撃可能な活性状態に遷移させる機能をさらに実現させるための請求項1に記載のコンピュータゲームプログラム。
【請求項3】
前記駒に攻撃力パラメータを追加して前記メモリに保持することにより、前記コンピュータに攻撃した敵の駒の生命力の減少度合いを変える機能をさらに実現させるための請求項1に記載のコンピュータゲームプログラム。
【請求項4】
前記駒に攻撃間隔パラメータを追加して前記メモリに保持することにより、前記コンピュータに前記駒が攻撃した直後から前記コンピュータのタイマーを利用して経過時間を計り、攻撃間隔時間が経過するまでは、前記駒が次の攻撃を行わない機能をさらに実現させるための請求項1に記載のコンピュータゲームプログラム。
【請求項5】
前記駒に防御力パラメータを追加して前記メモリに保持することにより、前記コンピュータに敵の駒の攻撃によって生命力の減少度合いを変える機能をさらに実現させるための請求項1に記載のコンピュータゲームプログラム。
【請求項6】
前記駒に移動待ち時間パラメータを追加して前記メモリに保持することにより、前記コンピュータに前記駒が移動された直後から前記コンピュータのタイマーを利用して経過時間を計り、移動待ち時間が経過するまでは、前記駒を移動させることができない機能をさらに実現させるための請求項1に記載のコンピュータゲームプログラム。
【請求項7】
前記駒のパラメータ値を対局前にプレーヤーが設定画面で調整可能な機能を前記コンピュータにさらに実現させるための請求項1から請求項6のいずれか一項に記載のコンピュータゲームプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、将棋やチェス及びそれらに類する盤上ゲームをコンピュータ及びコンピュータネットワークを利用して対戦できるようにしたコンピュータゲームプログラムに関するものである。
【先行技術文献】
【特許文献】
【0002】
【特許文献1】特開2004−089584号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
将棋やチェスを指すソフトウェアがプロ棋士相手に勝てるようになってきたが、そうした強いソフトウェアの指し手を真似すれば、将棋やチェスの初心者であっても上級者に成り済ますことができてしまう。
【課題を解決するための手段】
【0004】
従来の将棋やチェスでは、ある駒Aの移動可能なマスに敵の駒Bがあれば、駒Aで駒Bを取って駒Bがあったマスへ駒Aを移動させることができるが、本発明ではコンピュータを利用して対戦できるようにソフトウェア化する際に、一つ一つの駒に生命力、攻撃力、攻撃間隔、防御力、移動待ち時間、復活待ち時間等のパラメータを付与しておき、敵の駒の生命力がゼロ以下でなければ、敵の駒を取って移動することができないようにするなど、コンピュータ利用ならではの機能を将棋やチェスに付加する。
【0005】
味方の駒が移動可能なマスに敵の駒があれば、その敵の駒をビームやミサイルや弾丸、手裏剣等の飛び道具により攻撃して駒の生命力を減らす。
【0006】
飛び道具の攻撃によって駒の生命力が減っていき、やがて生命力がゼロ以下になった時は、その駒を非活性化(移動及び攻撃不可能で尚且つ駒が取られる可能性がある状態に遷移)させる。
【0007】
非活性状態の駒は、敵の駒よって取られる可能性があるまま移動及び攻撃できなくなるが、復活時間パラメータに設定された時間が経過するまで敵の駒に取られなければ、生命力を回復させて活性化(移動及び攻撃可能で尚且つ駒が取られない状態へ遷移)させる。
【0008】
活性状態の駒でも移動後には移動待ち時間パラメータに設定された時間が経過するまでは一時的に移動不可能な状態にして、駒の移動ができないようにする。
【0009】
移動可能状態の駒は、相手プレーヤーのターンを待たずに操作できるようにする。
【0010】
駒の各種パラメータの初期値はプレーヤーが予め一定の値域内で調整可能とする。
【0011】
駒の初期配置及び駒の進める場所は、従来の将棋やチェス及びそれらに類する盤上ゲームと同様とする。
【発明の効果】
【0012】
従来の将棋やチェスのソフトウェアの指し手を真似する意味がないものにできる。
【図面の簡単な説明】
【0013】
図1】本発明の実施例としてのクライアント/サーバーモデルでデザインしたプロセス分割図である。
図2】本発明の実施例としてのクライアントプロセスの基本フローを示す。
図3】本発明の実施例としてのサーバープロセスの基本フローを示す。
図4】本発明の実施例としての駒パラメータ調整画面の説明図である。
図5】本発明の実施例としての駒の各種状態表示の説明図である。
図6】本発明の実施例としての対局開始時の駒の初期配置と状態表示の説明図である。
図7】本発明の実施例としての初期配置から7六歩と角道を開けた状態の説明図である。
図8】本発明の実施例としての駒データ、飛び道具データの説明図である。
図9】本発明の実施例としての攻撃対象となる敵の駒に非活性状態の駒がない場合の説明図である。
図10】本発明の実施例としての攻撃対象となる敵の駒に非活性状態の駒がある場合の説明図である。
【実施例】
【0014】
以下、本発明によって従来の将棋をつくり変えた場合の実施例を示す。尚、本実施例の特徴として、駒パラメータを敵のクライアントへ送らないものとするので、敵の移動待ち時間及び復活待ち時間は視覚化されないものとする。全ての飛び道具は盤の縦1マスを1000msの速度で移動するものとする。
【0015】
図1に示すように、各種判定処理及び状態遷移処理0101を行うサーバープロセスとプレーヤーの駒操作処理及び画面表示処理0103を行うクライアントプロセスに分けてデザインする。サーバープロセスをサーバーソフトウェアへ実装して、クライアントプロセスをクライアントソフトウェアへと別々のソフトウェアに分けて実装する。サーバーソフトウェアとクライアントソフトウェア間の情報伝達手段0102はネットワーク通信とする。
【0016】
インターネットを利用したオンライン対戦システムを構築する。ネットワーク通信0102はTCP/IPを利用する。クライアントプロセスは各種インターネット用ブラウザで実行可能なスクリプトとしてオンラインで提供する。サーバープロセスは独自に開発するソフトウェアに組み込むものとする。
【0017】
インターネットを利用したオンライン対戦システムの場合は、ネットワークレイテンシの影響により、クライアント端末画面で多少のラグが生じるものの、全ての判定処理及び状態遷移処理はサーバープロセスのみで行われるため、システム内部では矛盾のない非同期型/サーバー集中処理型のオンライン対戦システムとなる。尚、オンライン対戦用に構築したシステムであっても、ループバックを利用したり、バーチャルコンピュータを利用することによって、ローカルコンピュータ1台でオフライン対戦システムとして流用可能である。
【0018】
クライアントプレセスの基本フローを図2に示す。サーバープロセスから全ての駒の初期状態と座標を受信0201した駒データは画面更新処理0202により、盤と全ての駒がクライアント端末に表示されて対戦開始となり、イベント待ち0203となる。ここでは駒の操作イベント(マウスクリック等)とサーバープロセスからの受信イベントが受け付けられる。イベント待ち時間は50msとする。何らかのイベントが発生した場合は、駒が操作されたか0204判定されて、駒が操作された場合は、操作された駒と移動先座標をサーバープロセスへ送信0205される。サーバープロセスからのデータ受信イベントがあった場合は、サーバープロセスからデータ受信処理0207により、変化があった全ての駒データ及び飛び道具データが受信される。受信データの中に勝敗確定データがあれば、勝敗確定0208と判定して画面更新処理0210へ進み、勝敗確定時の盤面を表示してから勝敗表示処理0211が行われて対戦終了となる。勝敗が確定していなければ、有効な飛び道具データ(生成されてから、まだ消滅していない全ての飛び道具)の位置が算出0209されて、画面更新処理0202へ戻る。この時の画面更新処理0202は、盤と全ての駒と全ての飛び道具が表示される。
【0019】
サーバープロセスの基本フローを図3に示す。プレーヤーの定義済み駒データ読み込み0301は、図4の駒パラメーター調整画面によって対戦前に調整されてサーバーに保存してあるデータが読み込まれる。保存データがなければデフォルト値が設定される。全ての駒の初期状態と座標設定0302により、全ての駒を活性状態及び移動待ち状態として、将棋の初期座標を設定し、全ての駒データをクライアントプロセスへ送信0303される。クライアントプロセスからのデータ受信待ち0304では、プレーヤーが操作した駒の移動先座標が受信される。この受信待ち時間は50msとして、駒の移動先座標を受信した場合は、駒の移動処理0306の内部処理で移動可不可が判定されて、移動可能な場合はサーバープロセスで内部管理しているメモリ上の盤面が更新される。移動不可の場合にも変化があった駒として扱われて、元の座標または持ち駒に戻すよう設定されて、0307処理後に変化があった駒及び飛び道具データをクライアントプロセスへ送信0308によって、クライアントプロセスに対して駒を元の座標または持ち駒へ戻させる。受信待ちタイムアウト0305だった場合でも、駒の移動処理0306を行った後でも、全ての飛び道具の当たり判定及び全ての駒の状態遷移処理0307が行われて、何らかの変化を起こした駒データ及び生成あるいは消滅した飛び道具データは、変化があった駒及び飛び道具データをクライアントプロセスへ送信0308によって、全て送信される。王将または玉将が取られた場合は、勝敗確定0309から勝敗をクライアントプロセスへ送信0310されて終了する。勝敗が確定していなければ、再びクライアントプロセスからのデータ受信待ち0304となる。
【0020】
クライアント端末における駒パラメータ調整画面を図4に示す。プレーヤーが対戦前に調整してサーバーに保存しておく。0401は調整する駒の選択カーソルである。マウス操作等で選択する。0404は選択された駒である。0403の値は、調整つまみ0405によって設定されたパラメータ値である。実施例では各パラメータは1から15までの係数を設定できる。各パラメータのデフォルト値は5としている。図4のように生命力を1、攻撃力を5、攻撃間隔を3、防御力を5、移動待ち時間を9、復活待ち時間を5に設定すると残りポイント0402として2余る。この余った2ポイントは他の駒に割り当てることができる。設定値はサーバーに保存しておき、対戦時にサーバープロセスが読み込んでクライアントプロセスへ送られる。本実施例では、調整済みの駒であっても、取った駒(持ち駒)はデフォルト値にリセットするので、対戦相手の駒パラメータ値を利用しないので知る必要がない。そのため、プレーヤー自身が設定保存した駒パラメータだけをサーバープロセス経由でクライアントプロセスが受け取ることになる。
【0021】
図5の(A)の駒は活性状態(攻撃可能状態)の移動可能状態である。0501は生命力のパーセンテージがバーの長さで視覚化されている。生命力が100%であれば完全なバーが描かれる。生命力が減ればバーが短くなる。駒0502は通常の状態で表示される。
【0022】
図5の(B)の駒は活性状態の移動待ち状態である。0503の生命力バーは0501同様に視覚化される。駒0504は通常の状態で表示される。0505は移動待ち時間のパーセンテージがサークルで視覚化されている。移動待ち時間が100%であれば完全なサークルが描かれる。移動待ち時間が減ればサークルが欠けていく。移動待ち時間が0%になってサークルが消えれば、駒は活性状態の移動可能状態となる。図6に示す通り、本実施例では敵の移動待ち時間のサークルは視覚化されない
【0023】
図5の(C)の駒は非活性状態(移動不可状態且つ攻撃不可状態)である。0506の生命力はゼロパーセントを示している。駒0507は灰色で表示される。0508は復活待ち時間のパーセンテージが視覚化されている。復活待ち時間が100%であれば完全なサークルが描かれる。復活待ち時間が減ればサークルが欠けていく。復活待ち時間が0%になってサークルが消えれば、生命力を100%に戻して、駒は活性状態の移動可能状態となり、駒0507の表示も元の色に戻される。
【0024】
対戦開始時点では図6に示すように全ての駒が活性状態の移動待ち状態となる。時間の経過により、移動待ち時間が短い駒からプレーヤーが指せるようになる。図7は7七歩が移動可能状態となってプレーヤーが7六歩と指した盤面である。7六に移動した歩は再び移動待ち状態となっている。従来の将棋であれば、8八角は次の手で3三歩を取ることができるわけだが、本発明では、こうした条件の時に敵の駒(この例では3三歩)が活性状態であるならば、味方の駒(この例では8八角)が飛び道具で攻撃することになる。0701は8八角が撃ち出した飛び道具である。
【0025】
図8の(A)はクライアント端末で図7の7六歩と指した際に図2の操作された駒と移動先座標をサーバープロセスへ送信0205されるデータである。もしも持ち駒があって、持ち駒を使う場合は持ち駒状態がonになり、元座標はn/aとなる。もしも移動する駒が成れる場合にはクライアントプロセスでプレーヤーに対して成るか、成らないか選択を迫ることになる。プレーヤーが成ることを選択した場合は、成り状態がonになる。しかしながら、インターネットを利用したオンライン対局ではネットワークレイテンシの影響等で、その間にサーバープロセスで内部管理しているメモリ上の盤面は変化していて、既に敵の駒が置かれるなどして、味方の駒が移動して成ることができない状況となる場合があり得る。クライアントプロセスにおいて選択処理あるいは判定処理を行う場合があったとしても、それは一時的なものでしかなく、最終的な判定処理および決定はサーバープロセスが行う。サーバープロセスは駒の移動及び成る指示などを不可として判定した場合は、図3の変化があった駒及び飛び道具データをクライアントプロセスへ送信0308において、クライアントプロセスに対して元の位置に駒を戻させる。
【0026】
図8の(B)はクライアント端末で図7の7六歩と指した際に図3の変化があった駒及び飛び道具データをクライアントプロセスへ送信0308において、プレーヤー1及びプレーヤー2のクライアントプロセスに対して送られる駒データである。もしも変化があった駒が複数あれば、その全てが一度に送られることになる。駒の生命力はパーセンテージで示される。プレーヤー1が操作した駒であっても、この図8の(B)がクライアントプロセスに送られてくるまでプレーヤー1の端末においても操作が確定しない。サーバープロセスによって判定され、操作が確定して移動待ち状態がonのデータを受け取ってから移動待ち時間は視覚化される。ネットワークレイテンシの影響で表示上のラグは起こり得るが、サーバープロセス内部では矛盾しないので問題ない。復活待ち状態も同様となる。攻撃間隔(時間)はサーバー内部でのみ処理するので、駒データとしてクライアントプロセスへは送られない。その代りに飛び道具データがクライアントプロセスへ送られることになる。
【0027】
図8の(C)はクライアント端末で図7の7六歩と指した際に図3の変化があった駒及び飛び道具データをクライアントプロセスへ送信0308において、プレーヤー1及びプレーヤー2のクライアントプロセスに対して送られる飛び道具データである。変化があった飛び道具が複数あれば、その全てが一度に送られることになる。敵の駒を攻撃する際は、状態=生成として、撃ち出し座標と目標座標を設定してクライアントプロセスへ送る。飛車、角行、香車は敵の駒がいなければ盤の端まで移動できる。それに倣って、飛車、角行、香車の飛び道具は、敵の駒がよけた場合に盤の端まで飛ぶように目標座標が設定される。クライアント端末では、飛び道具データを受け取った時点で、図2の画面更新処理0202により、飛び道具の表示が始まる。本実施例ではイベント待ちタイムアウトを50msとしているので、遅くとも50ms毎に表示が更新される。飛び道具データ(状態=生成)を受け取った時刻と画面更新処理0202時刻により、飛び道具を表示させるべき位置が割り出されて表示される。尚、駒の移動中は飛び道具が当たらないものとする。図7の3三歩を3四歩と指してから、2二角を7七角と指した場合は、飛び道具0701とすれ違うことになる。飛び道具は基本的に目標座標に到達した時に自動消滅するが、飛車、角行、香車から撃ち出される飛び道具は敵の駒に当たった場合は、そこで消滅させることになる。その場合は、消滅させたい飛び道具#(番号)を設定して、状態=消滅として、図3の変化があった駒及び飛び道具データをクライアントプロセスへ送信0308により、サーバープロセスからクライアントプロセスへ飛び道具の消滅が指示されて、クライアント端末から該当する飛び道具が消されるものとする。
【0028】
図9の(A)は、移動先座標の選択肢が複数ある駒が、その移動先に活性状態の駒が複数あった場合の攻撃処理を示している。2一王と4一飛は活性状態なので、どちらも攻撃対象となる。飛び道具0901は4一飛へ、飛び道具0902は2一王へ向けて同時に撃ち出されている。
【0029】
図9の(B)は、移動先座標の選択肢が複数ある駒が、その移動先の全てに駒なかった場合の攻撃処理を示している。飛び道具0903は3一飛から3三桂を目がけて撃ち出されている。飛び道具0904は3三桂から2一王を目がけて撃ち出されている。4一には駒が無いので、その方向へは飛び道具が撃ち出されない。
【0030】
図10は、移動先座標の選択肢が複数ある駒が、その移動先に活性状態の駒と非活性状態の駒があった場合の攻撃処理を示している。4一飛は非活性状態なので攻撃しない。2一王は活性状態なので飛び道具1001を撃ち出している。
【要約】      (修正有)
【課題】将棋やチェスを指すソフトウェアの指し手を真似しても、上級者に成り済ますことができないコンピュータゲームプログラムを提供する。
【解決手段】従来の将棋やチェスでは、ある駒Aの移動可能なマスに敵の駒Bがあれば、駒Aで駒Bを取って駒Bがあったマスへ駒Aを移動させることができるが、本発明ではコンピュータを利用して対戦できるようにソフトウェア化する際に、一つ一つの駒に生命力、攻撃力、攻撃間隔、防御力、移動待ち時間、復活待ち時間等のパラメータを付与しておき、敵の駒の生命力がゼロ以下でなければ、敵の駒を取って移動することができないようにするなど、コンピュータ利用ならではの機能を将棋やチェスに付加する。
【選択図】図7
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10