JP4889080B2 - プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム - Google Patents

プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム Download PDF

Info

Publication number
JP4889080B2
JP4889080B2 JP2005204554A JP2005204554A JP4889080B2 JP 4889080 B2 JP4889080 B2 JP 4889080B2 JP 2005204554 A JP2005204554 A JP 2005204554A JP 2005204554 A JP2005204554 A JP 2005204554A JP 4889080 B2 JP4889080 B2 JP 4889080B2
Authority
JP
Japan
Prior art keywords
parent
machine
slot
communication
parent device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005204554A
Other languages
English (en)
Other versions
JP2007020717A (ja
Inventor
一志 植田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.), Namco Ltd, Namco Bandai Games Inc filed Critical Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
Priority to JP2005204554A priority Critical patent/JP4889080B2/ja
Publication of JP2007020717A publication Critical patent/JP2007020717A/ja
Application granted granted Critical
Publication of JP4889080B2 publication Critical patent/JP4889080B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、プログラム、情報記憶媒体、ゲーム機および通信ゲームシステムに関する。
従来、複数のゲーム機の間で無線通信を行って、対戦プレイあるいは協力プレイをすることが可能な通信ゲームシステムが知られている。近年では、携帯ゲーム機(携帯情報端末)の普及により専用のサーバーあるいは専用のルーターを経由せずに各ゲーム機が自律分散的にネットワークを構築するアドホックネットワークを利用した通信ゲームシステムが登場している。
このような通信ゲームシステムでは、無線通信によりアドホックネットワークを構築するため、通信環境により各ゲーム機からの送信情報が伝わらないゲーム機が存在する可能性がある。またアドホックネットワークを利用して通信対戦プレイや通信協力プレイなどを行う際には、ゲーム情報を各ゲーム機で個別に管理させるとすると、各ゲーム機で保持する情報が食い違うおそれがある。このためアドホックネットワークに参加するゲーム機の中から1台のゲーム機を親機として設定し、その他のゲーム機を子機として設定し、親機側で管理情報を保持することが行われている。
ところで複数のゲーム機が集まってアドホックネットワークを構築する際に、いずれのゲーム機が親機になるかを決定することが必要となる。従来からクラスタ(通信グループ)形成時に最初にクラスタに参加した無線通信端末をクラスタマスタ(親機)として選定するようなアドホックネットワークの構築手法が知られている(特許文献1参照)。また同一の通信グループに参加する複数のゲーム装置を順番に親機として設定する手法も知られている(特許文献2参照)。
特開2003−318917号公報 特開2004−174091号公報
しかしながら、このような従来の手法で親機を決める場合、他のゲーム機のプレーヤが親機となることを希望しているにもかかわらず、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという問題がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、アドホックネットワークを利用した通信グループの親機を適切に設定することができるプログラム、情報記憶媒体、ゲーム機及び通信ゲームシステムを提供することにある。
(1)本発明は、他のゲーム機と無線通信可能なゲーム機であって、無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して通信部に送信させる通信制御部と、送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する親機設定部と、を含むゲーム機に関係する。また本発明は、上記各部としてゲーム機を機能させるプログラムに関係する。また本発明は、ゲーム機で読み取り可能な情報記憶媒体であって、上記各部としてゲーム機を機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
「自機」とはプレーヤの所有するゲーム機である。「親機」とは、無線通信を使って他のゲーム機と対戦プレイあるいは協力プレイを行うゲームを主催するゲーム機である。また「親機」は、同一通信グループに参加(所属)する子機(ゲーム機)を管理するゲーム機である。すなわち「子機」とは、親機と同一の通信グループに参加(所属)するゲーム機である。また通信グループは、原則として親機として設定されたゲーム機が作ることができる。
本発明によれば、親機希望要求パケットに対する返答パケットに基づいて親機スロットの設定状態を確認して、空き親機スロットがあると判断された場合に、自機を空き親機スロットの親機として設定するようにしたので、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという事態を回避することができ、アドホックネットワークを利用した通信グループの親機を適切に設定することができるようになる。
(2)また本発明のゲーム機、プログラム及び情報記憶媒体では、前記親機設定部が、自機から送信された前記親機希望要求パケットに対する他のゲーム機からの返答パケットを所定時間内に前記通信部が受信しなかった場合には、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定するようにしてもよい。無線通信では、通信環境によって他のゲーム機からの返答パケットが受信できない場合があり、また自機の通信可能範囲内に他のゲーム機が存在しない場合には、いつまで待っても返答パケットは返ってこない場合がある。従って、返答パケットを所定時間内に前記通信部が受信しなかった場合には、空き親機スロットがあると判断するようにすることで、返答パケットを受信できないことによって、親機として設定してもよいか否かの判断ができない状態が長期間続く事態を回避することができる。
(3)また本発明のゲーム機、プログラム及び情報記憶媒体では、前記通信制御部が、
自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、前記親機設定部が、他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行うようにしてもよい。無線通信では、通信不良により返答パケットの受信が遅れて同じ親機スロットに複数のゲーム機が親機として設定される事態や同じ親機スロットに設定された複数の親機同士が接近することによりスロットが競合する事態などが発生しうる。このような事態を放置すると、各通信グループに参加する子機がいずれの親機の通信グループに参加していたのかを正しく認識できなくなるという不都合がある。従って、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除するようにすることで、子機が自機の参加する通信グループを誤認識するという不都合を回避することができる。
(4)また本発明のゲーム機、プログラム及び情報記憶媒体では、前記通信制御部が、
自機と他機との間でブロードキャスト方式により少なくとも前記親機希望要求パケットを前記通信部に送受信させ、自機を含む通信グループ内で無線通信を利用したゲームが開始された後は、その通信グループに参加する他機との間でユニキャスト方式またはマルチキャスト方式によりゲーム情報パケットを前記通信部に送受信させるようにしてもよい。このようにすれば、ゲームを開始した後は、通信グループ内のゲーム機同士で通信対象のゲーム機を特定したユニキャスト方式あるいはマルチキャスト方式によるパケット通信が行われるので、複数の通信グループ間でゲーム情報パケットの混信が生じる事態を回避することができる。
(5)また本発明のゲーム機では、親機あるいは子機のいずれとして通信グループに参加するかを選択させるための選択メニューを表示部に表示させる表示制御部を含み、前記通信制御部が、親機として参加する旨の選択入力が行われたことを条件に、前記親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させるようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記表示制御部及び前記通信制御部としてゲーム機を機能させてもよい。このようにすれば、プレーヤは自機を親機として参加させるに当たって、選択メニューを通じて親機として参加する旨の選択入力を行うだけよいため、プレーヤの入力インターフェース環境の向上を図ることができる。
(6)また本発明は、他のゲーム機と無線通信可能なゲーム機であって、無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを通信部に送信させる通信制御部と、他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う親機設定部と、を含むゲーム機に関係する。また本発明は、上記各部としてゲーム機を機能させるプログラムに関係する。また本発明は、ゲーム機で読み取り可能な情報記憶媒体であって、上記各部としてゲーム機を機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
本発明によれば、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除するようにすることで、子機が自機の参加する通信グループを誤認識するという不都合を回避することができる。
(7)また本発明のゲーム機、プログラム及び情報記憶媒体では、前記親機設定部が、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合に、自機と他の親機との優先順位を判定し、その判定結果に基づいて他の親機より優先順位が低いと判断される場合には前記親機設定解除処理を行うようにしてもよい。このようにすれば、優先順位が他の親機より高い場合には、親機設定が解除されないため、無線通信を利用したゲームを継続して行うことができる。
(8)また本発明のゲーム機、プログラム及び情報記憶媒体では、前記親機設定部が、
自機の識別情報と、受信した状態確認パケットに含まれる他の親機の識別情報とを比較することによって前記優先順位を判定するようにしてもよい。例えば、識別番号の大小や識別番号の末尾の大小や識別番号の末尾が偶数であるか奇数であるか等によって、優先順位を判定するようにしてもよい。
(9)また本発明のゲーム機、プログラム及び情報記憶媒体では、前記状態確認パケットが、自機の親機設定に関連づけられた時間情報を含み、前記親機設定部が、自機の時間情報と、受信した状態確認パケットに含まれる他の親機の時間情報とを比較することによって前記優先順位を判定するようにしてもよい。例えば、親機としての参加希望を他のゲーム機に要求した時間や親機として設定された時間等を時間情報として管理しておき、先に通信グループへの参加要求を行ったゲーム機や先に親機として通信グループを形成したゲーム機の優先順位が高いと判定するようにしてもよい。
(10)また本発明は、複数のゲーム機の間で無線通信を行う通信ゲームシステムであって、各ゲーム機が、無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させる通信制御部と、送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する親機設定部と、を含み、前記各ゲーム機のうちいずれかのゲーム機が親機として設定された後において、前記親機の通信制御部が、
自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、前記親機の親機設定部が、
他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う通信ゲームシステムに関係する。
本発明によれば、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという事態を回避することができ、アドホックネットワークを利用した通信グループの親機を適切に設定することができるようになるとともに、子機が自機の参加する通信グループを誤認識するという不都合を回避することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1及び図2は、本実施形態の通信ゲームシステムのシステム構成を示す図である。
本実施形態の通信ゲームシステムでは、複数のゲーム機GT1〜GT3の間で無線通信を行って、各ゲーム機GT1〜GT3の所有者が対戦プレイや協力プレイを行うことができる。
無線通信の態様としては、図1に示すように、各ゲーム機GT1〜GT3が自律分散的にネットワークを構築し、直接的にゲーム情報等を含むパケットの送受信を行うアドホックモードと、図2に示すように、各ゲーム機GT1〜GT3がアクセスポイントACSPを介して間接的にゲーム情報等を含むパケットの送受信を行うインフラストラクチャモードとがある。インフラストラクチャモードでは、アクセスポイントACSPを介してインターネットInet(公衆通信網)にアクセスすることができる。そして、各ゲーム機GT1〜GT3は、インターネットInetに接続されたゲームサーバーGSとの間でゲーム情報あるいはファームウェアのアップデート情報等を含むパケットをアクセスポイントACSPを介して送受信することができる。
また図1に示すアドホックモードでは、以下のようにして通信対戦プレイや通信協力プレイを行う通信グループ(クラスタ)を形成する。
まず他のゲーム機との通信プレイを希望するプレーヤが、自機(プレーヤの所有するゲーム機)を通信モードに設定すると、図3(A)に示すように、ロビー基本サービスセット(L−IBSS)に接続される。
基本サービスセット(BSS;Basic Service Set)とは、各ゲーム機の通信グループの単位である。各ゲーム機は、任意の基本サービスセットに接続することができるが、同一の基本サービスセットに接続しているゲーム機同士でのみ無線通信をすることができる。
また基本サービスセットには、各基本サービスセットを識別するためのサービスセットID(SSID;Service Set ID)が付与されており、各ゲーム機は、サービスセットIDを指定してネットワークに接続する。なお、基本サービスセットは、ゲームアプリケーション毎に異なっていてもよく、その場合には、ゲームアプリケーション毎に異なるサービスセットIDが付与される。
ロビー基本サービスセットL−IBSS(広義には、第1の基本サービスセット)は、ゲームアプリケーションでの通信モード起動時に最初にゲーム機が参加する基本サービスセットであって、他のゲーム機の探索や対戦/協力のプレイ交渉(マッチング)を行う通信グループである。上述したようにロビー基本サービスセットL−IBSSにも、固有のサービスセットIDが付与される。
そして、ロビー基本サービスセットL−IBSSに参加しているゲーム機の間でマッチングが済み、対戦プレイや協力プレイ等が開始されると、図3(B)に示すように、無線通信を利用して対戦プレイや協力プレイを行う通信グループを構成するゲーム機GT1〜GT4は、ロビー基本サービスセットL−IBSSとは、異なる基本サービスセットに所属することになる。この基本サービスセットが、ゲーム基本サービスセットG−IBSS(広義には、第2の基本サービスセット)である。ゲーム基本サービスセットG−IBSSは、ロビー基本サービスセットL−IBSSでのマッチングにより対戦プレイや協力プレイに合意したゲーム機GT1〜GT4からなるグループが使用するための基本サービスセットであって、ロビー基本サービスセットL−IBSSから独立した基本サービスセットである。ゲーム基本サービスセットG−IBSSでは、グループ内のゲーム機GT1〜GT4同士で個別に無線通信を行うことができる。上述したようにゲーム基本サービスセットG−IBSSにも、固有のサービスセットIDが付与される。なお、本実施形態の通信ゲームシステムでは、マッチングが終了して、ゲーム基本サービスセットG−IBSSの所属メンバーが決定した後、ゲーム基本サービスセットG−IBSSの親機がゲームの開始を宣言するパケットを子機に送信して、対戦プレイや協力プレイが開始する時点で、各ゲーム機がロビー基本サービスセットL−IBSSにおける通信からゲーム基本サービスセットG−IBSSにおける通信に移行する。
このように本実施形態の通信ゲームシステムでは、通信グループを形成するための交渉の場としてのロビー基本サービスセットL−IBSSと、実際にグループ内で無線通信を利用した対戦プレイや協力プレイを行うためのゲーム基本サービスセットG−IBSSとを独立した基本サービスセットとしているので、無関係なトラフィックによる通信環境の劣化を防止している。
図4は、本実施形態の通信ゲームシステムを構成するゲーム機の外観図である。
本実施形態のゲーム機GTは、ディスプレイ12(液晶ディスプレイ等)、方向キー14、操作ボタン16、補助操作ボタン17R,17L、セレクトボタン18、スタートボタン20、アナログスティック40などの入力インターフェースを備えている。またゲーム機GTには、プレーヤが音入力(音声入力)を行うための音入力装置(マイク)が入力インターフェースとして設けられていてもよい。
ディスプレイ12(表示部)には種々の画像(ゲーム画像、表示物)が表示される。即ちプレーヤが操作するプレーヤキャラクタ(広義には移動オブジェクト)や、オブジェクト(例えばブロック、また広義には移動オブジェクト、ターゲットオブジェクト)や、背景などの画像が表示される。また得点、ポイント、ステータスなどの各種ゲーム状況情報を知らせる画像が表示される。
プレーヤは、ディスプレイ12に表示されるゲーム画像を見ながら、左手と右手で方向キー14や操作ボタン16を操作してゲームを行う。またディスプレイ12がタッチパネル機能を有している場合、プレーヤは、ディスプレイ12に触れることで入力を行うことができる。なおディスプレイ12がタッチパネル機能を有している場合、プレーヤが手でディスプレイ12に触れることにより入力が行われてもよいし、スタイラス(入力ペン)の先端でディスプレイ12に触れることにより入力が行われてもよい。
また図2に示すように、本実施形態のゲーム機GTは側部に、無線通信スイッチ50を備えている。本実施形態のゲーム機GTでは、無線通信スイッチ50が、オンにされることにより、他のゲーム機との無線通信が可能となる通信モードに設定される。無線通信の方式としては、無線LAN、ブルートゥース(Bluetooth;登録商標)、赤外線(IrDA)などの各種方式が考えられる。特に本実施形態のゲーム機GTは、IEEE802.11プロトコルに準拠した無線LAN機能を備えており、無線通信スイッチ50のオン状態において、上述したアドホックモードあるいはインフラストラクチャモードによる無線LAN通信を行うことができる。
また本実施形態のゲーム機GTは側部に、メモリカード用スロット60(携帯型情報記憶媒体用スロット)を備えている。このメモリカード用スロット60にメモリカードを挿入することで、メモリカード内にゲームのセーブデータ等を保存したり、セーブデータ等を読み込んでゲームアプリケーションで使用したりすることができる。
なお図2では、本発明を携帯型ゲーム機に適用した場合について示しているが、本発明は、業務用ゲーム機(代価を支払って、ゲームを行うことができる機器)や、携帯型以外の家庭用ゲーム機などにも適用できる。
図5は、本実施形態のゲーム機(画像生成システム)の機能ブロック図の例を示す。なお、本実施形態のゲーム機は、図5の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。
入力インターフェース160は、プレーヤが行った操作等をデータとして入力するためのものであり、その機能は、コントローラ、操作ボタン、操作レバー、タッチパネル或いはマイク(音入力装置)などのハードウェアにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD等)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)や携帯型情報記憶媒体194から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。また携帯型情報記憶媒体194には、プレーヤの個人データやゲームのセーブデータ等、本実施形態の各部としてコンピュータを機能させるためのプログラムのための補助データ(付加データ)が記憶される。なお携帯型情報記憶媒体194は、メモリカード、磁気カード、ICカード、バーコードが印字されたカード等であってもよい。また携帯型情報記憶媒体194の代替品として、携帯型ゲーム機や携帯電話等の携帯情報端末のメモリ等を用いてもよい。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
通信部196は、外部(例えばホスト装置や他のゲーム機)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
特に本実施形態のゲーム機GTでは、通信部196が無線LAN機能を備えている。ゲーム機GTが内蔵する無線LAN機能は、IEEE 802.11規格(例えば、IEEE 802.11b)に準拠しており、ブロードキャスト方式、ユニキャスト方式、あるいはマルチキャスト方式によるパケット通信(データ通信)を行うことができる。
ブロードキャスト(Broadcast)方式とは、図6(A)に示すように、自機(ゲーム機GT1)の通信可能範囲NA1内に存在する不特定多数の相手(ノード)に向かってデータ(データを含むパケット)を送信する通信方式である。この方式では、自機(ゲーム機GT1)の通信可能範囲NAの全体を意味する特殊なネットワークアドレスを指定することによってデータの送信を行う。そして図6(A)に示す例では、ゲーム機GT2,GT3が、ゲーム機GT1からブロードキャスト方式で送信された同じデータ(データを含むパケット)を受信することができる。
またユニキャスト(Unicast)方式とは、自機の通信可能範囲内で、単一のネットワークアドレスを指定して特定の相手(ノード)にデータ(データを含むパケット)を送信する通信方式であって、マルチキャスト(Multicast)方式とは、自機の通信可能範囲内で、複数の相手(ノード)のネットワークアドレスを指定して同じデータ(データを含むパケット)を送信する通信方式である。図6(B)に示す例では、ゲーム機GT1が自機(ゲーム機GT1)の通信可能範囲NA1内に存在するゲーム機GT2,GT3にデータ(データを含むパケット)をマルチキャスト方式で送信しており、ゲーム機GT2,GT3は、それぞれの通信可能範囲NA2,NA3内に存在するゲーム機GT1のみを指定したユニキャスト方式でゲーム機GT1に対してデータ(データを含むパケット)送信していることになる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(ゲームサーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信するようにしてもよい。このようなホスト装置(ゲームサーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、入力インターフェース160からの入力データやプログラムなどに基づいて、ゲーム演算処理、通信処理、画像生成処理、或いは音生成処理などの各種の処理を行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)やASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。
処理部100は、ゲーム演算部110、通信制御部112、親機設定部114、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
ゲーム演算部110は、ゲーム開始条件が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタなどの表示物(オブジェクト)を配置する処理、表示物を表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などをゲーム演算処理として行う。
またゲーム演算部110は、入力インターフェース160や表示部190からの入力情報やプログラム等に基づき、ゲーム空間内でプレーヤキャラクタの位置/動作を演算し、ゲーム空間内でプレーヤキャラクタが移動/動作するゲーム演算を行う。例えば、表示制御処理や移動・動作処理やゲーム情報受け取り処理やゲーム情報送信処理等を行う。
表示制御処理としては、表示部190に表示される画像(オブジェクト)の表示制御を行うことができる。具体的には、表示すべきオブジェクト(キャラクタ、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ)を発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを画像生成部120等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。
また表示制御処理としては、プレーヤの入力情報等により、プレーヤキャラクタやオブジェクトの移動や動作が発生した場合に、発生した移動や動作の画像を表示部190に表示するための制御を行う。
移動・動作処理としては、ゲームフィールド(ゲーム空間、2次元又は3次元のオブジェクト空間)でオブジェクト(2次元又は3次元のオブジェクト)を移動させるための処理を行うことができる。即ち入力インターフェース160からプレーヤが入力した入力データや、プログラム(移動アルゴリズム)や、各種データ(オブジェクトリスト)などに基づいて、オブジェクトを移動させる処理を行う。更に具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(1/60秒)毎に順次求める処理を行う。また移動・動作処理としては、オブジェクトを動作させるための処理も行うことができる。即ち入力インターフェース160を用いてプレーヤが入力した入力データや、プログラム(動作アルゴリズム)や、各種データ(モーションデータ、アニメーションデータ)などに基づいて、オブジェクトを動作(モーション、アニメーション)させる処理を行う。更に具体的には、オブジェクトの動作情報(各パーツオブジェクトの位置、回転角度、或いは形状)を、1フレーム(1/60秒)毎に順次求める処理を行う。なおフレームは、オブジェクトの移動制御処理や動作制御処理や画像生成処理を行う時間の単位である。
特に、本実施形態のゲーム機GTでは、ゲーム演算部110が表示制御処理を行う場合(表示制御部として機能する場合)、親機あるいは子機のいずれとして通信グループに参加するかを選択させるための選択メニューを表示部190に表示させる処理などを行う。またゲーム機GTが親機として設定された場合には、子機の参加状況を表示部190に表示させる処理を行う。またゲーム機GTが子機として通信グループに参加する際には、複数存在しうる通信グループのいずれに参加するかをプレーヤに選択させるためのグループ選択メニューを表示部190に表示させる処理を行う。グループ選択メニューの画面には、各通信グループへの参加の可否、各通信グループを構成する親機・子機の情報などが表示される。
通信制御部112は、他のゲーム機に送信するパケットを生成する処理、パケット送信先のゲーム機のネットワークアドレスを指定する処理、受信したパケットを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部196の制御処理等を行う。
そして本実施形態のゲーム機GTでは、通信制御部112は、通信グループの親機としての参加を要求するための親機希望要求パケット(広義には、第1のパケット)を自機の通信可能範囲に対して通信部196に送信させる処理を行う。具体的には、プレーヤにより入力インターフェース160を介した親機として参加する旨の選択入力が行われたことを条件に、親機希望要求パケットを自機の通信可能範囲に対して通信部196に送信させる。また親機希望要求パケットを通信部196にて受信した場合には、返答パケット(広義には、第2のパケット)を通信部196に送信させる処理を行う。本実施形態では、既に親機として設定されたゲーム機が親機希望要求パケットに対する返答パケットを送信することができる。返答パケットには、親機の設定状態の情報が含まれる。具体的には、どの親機スロットにどのゲーム機が親機として設定されているかの情報が返答パケットに含まれる。なお、子機が親機希望要求パケットを受信した場合に、返答パケットを送信することができるようにしてもよい。また返答パケットは、親機希望要求パケットを送信したゲーム機にユニキャスト方式で送信されてもよいし、親機希望要求パケットを受信したら相手を特定せずにブロードキャスト方式で送信されてもよい。
また通信制御部112は、自機が通信グループの親機として設定された後においては、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケット(広義には、第3のパケット)を通信部196に送信させる処理を行う。スロット情報とは、ゲーム機毎に割り当てられるパケット送受信のためのタイムスロットの情報である。タイムスロットには、スロット識別番号が割り当てられており、状態確認パケットは、スロット識別番号をスロット情報として含むことが出来る。また状態確認パケットは、自機の識別情報として、プレーヤの所有するゲーム機毎に与えられた固有の情報であって、ネットワークアドレス、ユーザーID、シリアルナンバーなどを含むことができる。
また通信制御部112は、自機と他機との間でブロードキャスト方式により少なくとも親機希望要求パケットを通信部196に送受信させ、自機を含む通信グループ内で無線通信を利用したゲームが開始された後は、その通信グループに参加する他機との間でユニキャスト方式またはマルチキャスト方式によりゲーム情報パケットを通信部196に送受信させる処理を行う。
親機設定部114は、自機の通信部196から送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットを通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて空き親機スロットがあると判断された場合には、自機を空き親機スロットの親機として設定する処理を行う。
また親機設定部114は、自機の通信部196から送信された親機希望要求パケットに対する他のゲーム機からの返答パケットを所定時間内に通信部196が受信しなかった場合には、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定する処理を行う。
また親機設定部114は、他の親機から送信された状態確認パケットを通信部196が受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う。
また親機設定部114は、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合に、自機と他の親機との優先順位を判定し、その判定結果に基づいて他の親機より優先順位が低いと判断される場合には親機設定解除処理を行う。
具体的には、自機の識別情報と、受信した状態確認パケットに含まれる他の親機の識別情報とを比較することによって優先順位を判定することができる。識別情報が番号である場合には、番号の大小や、番号の先頭や末尾が奇数であるか偶数であるか等によって優先順位を判定することができる。また状態確認パケットが、自機の親機設定に関連づけられた時間情報を含む場合には、自機の時間情報と、受信した状態確認パケットに含まれる他の親機の時間情報とを比較することによって優先順位を判定する。自機の親機設定に関連づけられた時間情報としては、例えば、親機希望要求パケットを送信した時間、親機として設定された時間等がある。この場合には、時間の早い順あるいは遅い順によって優先順位を判定することができる。なお優先順位は、プレーヤのゲーム履歴や乱数を用いた抽選等によって判定してもよい。
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。この場合、画像生成部120が生成する画像は、いわゆる2次元画像であってもよいし、3次元画像であってもよい。そして3次元画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ(フレームバッファあるいは中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
2.本実施形態の手法
2.1 親機の設定手法
本実施の形態では、通信グループに親機として参加しようとするゲーム機が親機希望要求パケットをブロードキャスト送信し、他のゲーム機から送信された親機希望要求パケットに対する返答パケットに基づいて親機スロットの空き状態を確認して、親機設定の可否を判断する手法を採用する。
図7に本実施形態の通信ゲームシステムで各ゲーム機が構成する通信グループについてのタイムスロットの状態図を模式的に示す。
本実施形態の通信ゲームシステムでは、ゲームアプリケーションにおいて2つの通信グループG−IBSS1,G−IBSS2が併存可能とされており、各通信グループG−IBSS1,G−IBSS2に参加可能なゲーム機は、親機と子機とを含めて4台とされている。すなわち、各通信グループG−IBSS1,G−IBSS2には、1台の親機と3台の子機とが参加可能である。
図7に示すように、各通信グループG−IBSS1,G−IBSS2に対しては、それぞれ1台分の親機スロットPS1,PS2が割り当てられ、各親機スロットPS1,PS2には、スロット識別番号(スロット情報)として「P001」,「P002」が割り当てられている。また各通信グループG−IBSS1,G−IBSS2に対しては、それぞれ3台分の子機スロットCS1,CS2が割り当てられ、スロット識別番号として「C101」,「C102」,「C103」,「C201」,「C202」,「C203」が割り当てられている。各通信グループG−IBSS1,G−IBSS2に参加したゲーム機は、これらの親機スロットあるいは子機スロットに対応するタイムスロットを使用して無線によるパケット通信を行うことができる。
そして、図8に示すように、ゲーム機GT1が親機として通信グループに参加しようとする場合、自機の通信可能範囲NA1の全体に親機希望要求パケットPRPをブロードキャスト方式で送信する。すなわち、自機が親機として設定できるか否かの問い合わせを行う。
このときゲーム機GT1の通信可能範囲NA1内にいるゲーム機GT2が親機であったとすると、ゲーム機GT2は、ゲーム機GT1からの親機希望要求パケットPRPを受信したことを条件に、ゲーム機GT1に対して返答パケットAPをユニキャスト方式で送信する。なお、返答パケットAPは、ゲーム機GT2の通信可能範囲NA2の全体にブロードキャスト方式で送信されてもよい。なお図8に示す例において親機であるゲーム機GT2から送信される返答パケットAPには、ゲーム機GT2が既に親機として設定されていることを通知する情報と、ゲーム機GT2がどの親機スロットに設定されているのかを通知する情報とが含まれている。
そして図9(A)に示すように、ゲーム機GT1が自機から送信した親機希望要求パケットPRPに対するゲーム機GT2からの返答パケットAPを受信すると、受信した返答パケットAPを解析して、親機の設定状態、言い換えれば親機スロットの空き状態を確認する。この場合には、1台分の空き親機スロットがあると判断できるため、ゲーム機GT1は、ゲーム機GT2が設定されている親機スロットとは異なる親機スロットに自機を親機として設定する処理を行う。
また本実施形態の通信ゲームシステムは、無線LANを利用しているため、通信不良等によりゲーム機GT2から返答パケットAPが届かない場合がある。このとき、ゲーム機GT1は、所定時間をカウントして、所定時間が経過するまで返答パケットAPが受信できなかった場合には、2台分の空き親機スロットがあるものと判断して自機をいずれかの空き親機スロットの親機として設定する。このようにすることで、返答パケットAPを受信できないことによって、親機として設定してもよいか否かの判断ができない状態が長期間続く事態を回避することができる。
次に図10に示す例では、親機としての参加を希望するゲーム機GT1の通信可能範囲NA1内に他の親機であるゲーム機GT2が存在しており、ゲーム機GT2の通信可能範囲NA2内で、かつゲーム機GT1の通信可能範囲NA1外に他の親機であるゲーム機GT7が存在している。
ここで、親機であるゲーム機GT2,GT7は、それぞれ自機の通信可能範囲NA2,NA7に対して状態確認パケットSCP2,SCP7をブロードキャスト方式で送信している。状態確認パケットは、自機の識別情報(例えば、シリアルナンバー、ネットワークアドレス等)と、自機が設定された親機スロットのスロット情報(例えば、スロット識別番号「P001」あるいは「P002」)とを含むパケットである。すなわちゲーム機GT2は、ゲーム機GT7から送信された状態確認パケットSPC7を受信して、そのパケットの内容を解析することにより、自機の通信可能範囲NA2内に存在するゲーム機GT7がどの親機スロットに設定されているのかを確認することができる。またゲーム機GT7は、ゲーム機GT2から送信された状態確認パケットSPC2を受信して、そのパケットの内容を解析することにより、自機の通信可能範囲NA7内に存在するゲーム機GT2がその親機スロットに設定されているのかを確認することができる。このように本実施の形態の手法では、親機同士が状態確認パケットを通じて互いの親機スロットの設定状態を確認しあうことができる。
そして、図10に示す例では、ゲーム機GT2がゲーム機GT1が送信した親機希望要求パケットPRPを受信した場合に、自機(ゲーム機GT2)の親機スロットのスロット情報と、状態確認パケットSPC7の受信によって取得したゲーム機GT7の親機スロットのスロット情報とを返答パケットAPに含めてゲーム機GT1に送信する。
すると、ゲーム機GT2からの返答パケットAPを受信したゲーム機GT1は、受信した返答パケットAPを解析することにより2台分の親機スロットが既に設定済みであることを把握することができ、図11に示すように、自機(ゲーム機GT1)を親機として設定できないと判断することができる。
このように本実施形態の親機の設定手法によれば、親機希望要求パケットPRPに対する返答パケットAPに基づいて親機スロットPS1,PS2の設定状態を確認して、空き親機スロットがあると判断された場合に、自機を空き親機スロットの親機として設定するようにしたので、親機となることを希望していなかったプレーヤのゲーム機が親機として設定されてしまうという事態を回避することができ、アドホックネットワークを利用した通信グループの親機を適切に設定することができるようになる。
2.2 親機の設定解除手法
本実施形態の通信ゲームシステムでは、無線通信を利用して対戦プレイや協力プレイを行わせる構成を採用しているため、互いの通信可能範囲内に存在する複数の親機が同一の親機スロットに設定されている競合状態が発生する可能性がある。
例えば、図12(A)に示すように、ゲーム機GT1が親機としての参加を希望して、親機希望要求パケットPRPを通信可能範囲NA1の全体に送信したが、通信可能範囲NA1内に存在する既に親機スロットPS1に親機として設定されているゲーム機GT2に通信不良等によりゲーム機GT1の送信した親機希望要求パケットPRPが届かなかったとすると、ゲーム機GT1が親機スロットPS1に親機として設定された場合に、親機スロットPS1に関して競合状態が発生する。
また例えば、図12(B)に示すように、親機としての参加を希望するゲーム機GT1からの親機要求パケットPRPは、ゲーム機GT1の通信可能範囲NA1内に存在する親機スロットPS1に設定されたゲーム機GT2に届いたが、ゲーム機GT2からの返答パケットAPが通信不良等により所定時間内にゲーム機GT1に届かずに親機スロットPS1が空き状態であると誤って判断されて、ゲーム機GT1が親機スロットPS1に親機として設定されてしまうと、親機スロットPS1に関して競合状態が発生する。
また親機の設定処理時には問題がなくても、事後的に親機スロットの競合状態が発生する場合もある。
例えば、図13(A)に示すように、ゲーム機GT1及びゲーム機GT2が、互いの通信可能範囲NA1,NA2内に存在せず、ともに正常に親機スロットPS1に設定されていた場合に、図13(B)に示すように、ゲーム機GT1がゲーム機GT2の通信可能範囲NA2内に移動してくることによって、ゲーム機GT1,GT2が互いの通信可能範囲NA1,NA2に存在することになってしまった場合に親機スロットPS1に関して競合状態が発生する。
このように親機スロットの競合状態が発生すると、子機は自らが参加する通信グループの親機が正しく認識することが出来なくなり、パケットの混信等の悪影響を招くという不都合がある。
そこで本実施形態では、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行う手法を採用する。
具体的には、自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット情報と自機の識別情報とを含む状態確認パケットをブロードキャスト送信している。例えば、図14に示すように、それぞれ親機として設定されたゲーム機GT1〜GT3は、自機の通信可能範囲NA1〜NA3に状態確認パケットSCP1〜SCP3をブロードキャスト送信している。
そして状態確認パケットを受信した場合に、受信した状態確認パケットに含まれる識別情報に基づき特定される他の親機のスロット情報と自機のスロット情報とを比較する。そして比較結果に基づいて、自機の親機の設定を解除するべきか否かを判断している。
図14によれば、ゲーム機GT1は、自機の通信可能範囲NA1内に存在するゲーム機GT2から送信された状態確認パケットSCP2を受信する。ゲーム機GT2は、自機の通信可能範囲NA2内に存在するゲーム機GT1から送信された状態確認パケットSCP1とゲーム機GT3から送信された状態確認パケットSCP3とを受信する。ゲーム機GT3は、自機の通信可能範囲NA3内に存在するゲーム機GT2から送信された状態確認パケットSCP2を受信する。
そして、ゲーム機GT1〜GT3は、受信した状態確認パケットを解析して、送信元の親機の親機スロットが自機の親機スロットと競合(重複)するかどうかを判断する。図15(A)によれば、ゲーム機GT1とゲーム機GT2とは、ともに同一の親機スロットPS1に設定されているため、スロット競合が生じていると判断する。ゲーム機GT3は、ゲーム機GT2との間では、スロット競合が生じていないと判断する。そして、図15(A)に示す場合では、同一の親機スロットPS1に重複して親機設定されたと判断したゲーム機GT1,GT2が親機スロットPS1への親機設定を解除する。この場合、ゲーム機GT1を親機とする通信グループおよびゲーム機GT3を親機とする通信グループは解散されることになる。しかしながら、この手法によれば、各通信グループに参加していた子機が自機の参加する通信グループの親機がゲーム機GT1,GT2のいずれであるのか正しく認識できなくなるような異常な事態を回避することができる。
一方で図15(A)に示すような手法であると、スロット競合が生じた親機の通信グループは全て解散されてしまい多くのプレーヤがその影響を受ける。このため、スロット競合が生じた場合に、いずれかの親機が設定を解除するようにすれば、親機の設定解除による影響を受けるプレーヤの数を少なくすることができる。
そこで、図15(B)に示すように、ゲーム機GT1,GT2間で親機スロットPS1の競合状態が確認されたら、ゲーム機GT1,GT2間の優先順位を比較して、下位のゲーム機のみが親機の設定を解除するようにする手法が考えられる。図15(B)に示す例では、ゲーム機GT1の方がゲーム機GT2に対して優先順位が下位であると判定されて、ゲーム機GT1が親機スロットPS1への親機設定を解除している。
ゲーム機間の優先順位の判定手法としては、様々な手法が考えられる。例えば、通信グループの親機としての参加を要求したタイミングが早い順あるいは遅い順、通信グループの親機として設定されたタイミングが早い順あるいは遅い順、ゲーム機のシリアルナンバー等のゲーム機に固有の識別番号が大きい順あるいは小さい順、ゲーム機に固有の識別番号の末尾が偶数であるかあるいは奇数であるか、または乱数を用いた抽選等によってゲーム機に優先順位をつけてその上下によって親機の設定を解除すべきであるか否かを各ゲーム機が判断するようにすることができる。
2.3 表示制御手法
図16(A)〜図16(E)に、親機として通信グループに参加する際の表示画面の例を示す。
本実施形態の表示制御手法では、図16(A)に示すように、通信グループに親機あるいは子機のいずれとして参加するのかをプレーヤに選択させるためのアイコン201,202を含む選択メニューを表示する。アイコン201は、親機として通信グループに参加することを選択させるためのアイコンである。アイコン202は、子機として通信グループに参加することを選択させるためのアイコンである。プレーヤは、選択マーク210を上下に移動させる入力を行って、アイコン201,202を選択することができる。そして、プレーヤがアイコン201に選択マーク210を合わせて、決定入力を行うと、親機希望要求パケットをブロードキャスト送信して、親機設定の可否を問い合わせる親機設定処理が行われ、自機を親機として設定できた場合には、図16(B)の画面が表示される。
図16(B)に示す画面では、子機の参加を待機するメッセージ表示を含む通信グループの参加メンバーリスト220が表示される。図16(B)に示す場合は、まだ子機が参加していないため、自機のユーザー名「ああああ」のみが参加メンバーとして表示されている。そして自機の通信グループに子機が参加してくると、図16(C)に示すように、参加メンバーリスト220の表示内容が更新され、新たに参加してきた子機のユーザー名「いいいい」が表示される。子機は、通信グループの定員になるまで受け付けられ、親機および子機の総数が定員数に達すると、図16(D)に示すように、参加メンバーリスト220には、参加メンバー全員のユーザー名が表示されるとともに、通信グループの参加者が定員に達した旨を通知するメッセージ表示がなされる。
また、プレーヤが親機として参加することを希望して、図16(A)に示す選択メニューにおいて、アイコン201を選択したにもかかわらず、空き親機スロットがないために、自機を親機として設定することが出来ない場合には、図16(E)に示すように、空き親機スロットがないことを通知するメッセージ表示230が選択メニュー画面にて表示される。
本実施形態の表示制御手法では、選択メニューでアイコンの選択入力を行うだけで、親機希望要求パケットをブロードキャスト送信する処理を含む親機設定処理が開始されるようにしているので、プレーヤの入力インターフェース環境を向上させることができる。
図17(A)及び図17(B)に、親機として通信グループに参加する際の表示画面の例を示す。
図17(A)に示すように、選択メニューにおいて、プレーヤがアイコン202に選択マーク210を合わせて、決定入力を行うと、親機の探索が行われる。すなわち親機がブロードキャスト送信している状態確認パケットの取得を試みて、状態確認パケットが受信できた場合には、図17(B)の画面を表示する。
図17(B)に示すように、状態確認パケットが受信されると、受信した状態確認パケットに基づいて、通信グループに対応した通信グループの参加メンバーリスト241,242が表示される。プレーヤは、選択マーク250を左右に移動させて、参加を希望する通信グループの参加メンバーリスト242に選択マーク250を合わせて決定入力を行うことで、子機としての参加を完了する。なお、図17(B)に示す例では、参加メンバーリスト241に対応する通信グループは参加メンバー数が定員数に達しているので、その通信グループには参加することができない旨を通知するメッセージ表示がなされる。
本実施形態の表示制御手法では、通信グループへの参加の可否とともに、参加メンバーを表示する参加メンバーリストを子機としての参加を希望するゲーム機のディスプレイに表示するようにしたので、プレーヤが自機の通信可能範囲に存在する任意の通信グループに参加することができるようになる。
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図18〜図22のフローチャートを用いて説明する。
図18は、親機設定処理の一例を示すフローチャートである。
まずプレーヤから親機希望の選択入力が行われると(ステップS10でY)、自機の通信可能範囲に対して親機希望要求パケットをブロードキャスト方式で送信し(ステップS11)、送信した親機希望要求パケットに対する返答パケットの受信を待機する(ステップS12、ステップS16)。
そして、返答パケットを受信した場合には(ステップS12でY)、受信した返答パケットを解析して親機の設定状態を確認する(ステップS13)。親機の設定状態を確認した結果、空き親機スロットがあると判断される場合には(ステップS14でY)、空き親機スロットに自機を親機として設定する(ステップS15)。なお空き親機スロットがないと判断される場合には(ステップS14でN)、親機設定処理を終了する。
一方、通信不良や自機の通信可能範囲内に他のゲーム機が存在しないために、所定時間を経過しても返答パケットを受信しなかった場合には(ステップS12でN、ステップS16でY)、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定する(ステップS15)。
図19は、親機設定解除処理の一例を示すフローチャートである。
まず親機として設定されたゲーム機は、自機の通信可能範囲内に自機の識別情報と、自機が設定された親機スロットのスロット情報とを含む状態確認パケットをブロードキャスト方式で送信する(ステップS20)。
次に、他の親機から状態確認パケットを受信した場合には(ステップS21でY)、自機の親機スロットのスロット情報と、受信した状態確認パケットに基づき特定される他の親機の親機スロットのスロット情報とを比較して、親機スロットの重複(競合)が生じているか否かを判断する(ステップS22)。
そして、自機の親機スロットと他の親機の親機スロットとが重複していると判断される場合には(ステップS22でY)、自機の親機スロットへの設定を解除し(ステップS23)、親機の設定を解除した旨を通知するパケット(親機設定解除通知パケット)をブロードキャスト方式で送信する(ステップS24)。これにより通信を終了し、通信グループは解散となる。
なお、ステップS20〜S22までの処理は、プレーヤがゲームの開始を決定する入力を行うまで繰返し行われる(ステップS25でN)。一方、ゲームが開始した場合には(ステップS25でY)、ユニキャスト方式によるグループ内通信でゲーム情報パケットの送受信を行う処理ルーチンへ移行する。
図20は、親機設定解除処理の他の一例を示すフローチャートである。図20については、図19のフローチャートと同じ処理については詳細な説明を省略し、相違点のみを説明する。
この処理例では、自機の親機スロットと他の親機の親機スロットとが重複していると判断された場合に(ステップS20でY)、自機と他の親機との優先順位を比較する処理を行い(ステップS221)、比較の結果、相手より優先順位が下であった場合には(ステップS22でY)、親機の設定を解除している(ステップS23)。優先順位は、各親機に固有の識別情報や各親機の設定に関連する時間情報等に基づいて、その上下を判定することができる。
図21は、ユニキャスト方式でのグループ内通信を行う際のゲーム情報パケットの送信処理の一例を示すフローチャートである。
子機あるいは親機へのゲーム情報パケットの送信処理(ステップS31)は、パケットの送信タイミングが到来した場合(ステップS30でY)に行われる。パケットの送信タイミングは、ゲーム情報パケットに含まれるデータによって様々である。例えば、親機がゲームの開始を宣言するためのパケットについては、親機のプレーヤがゲーム開始の決定入力を行った場合に送信タイミングが到来したと判断される。またゲームの管理情報を含むパケットなどは、ゲームの進行に合わせて定期あるいは不定期にパケットの送信タイミングが到来する。また通信グループ内のゲーム機間でゲームの進行状況の同期を図るための同期情報を含むパケット等はフレーム更新毎に定期的にパケットの送信タイミングが到来する。
図22は、ユニキャスト方式でのグループ内通信を行う際のゲーム情報パケットの受信エラー処理の一例を示すフローチャートである。無線通信では通信不良を放置すると、プレーヤを混乱させることになるため、ゲーム情報パケットの受信に際して、タイムアウト期間を予め定めている。
具体的には、子機あるいは親機からゲーム情報パケットを受信できなかった場合には(ステップS41でN)、タイムアウトカウンタのカウントダウン処理を行う(ステップS42)。そして、タイムアウトカウンタのカウント値が0になるまでにゲーム情報パケットが受信できなかった場合には(ステップS43でY)、通信エラーと判断されてエラー処理に移行する。一方、タイムアウトカウンタのカウント値が0になる前に、子機あるいは親機からゲーム情報パケットを受信できた場合には(ステップS40でY)、タイムアウトカウンタをリセットする(ステップS41)。
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
例えば、明細書又は図面中の記載において広義や同義な用語(通信グループ、ロビー基本サービスセット、ゲーム基本サービスセット、親機希望要求パケット、返答パケット、状態確認パケット、スロット識別番号等)として引用された用語(クラスタ、第1の基本サービスセット、第2の基本サービスセット、第1のパケット、第2のパケット、第3のパケット、スロット情報等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、あるいは携帯電話等の種々のゲームシステム(画像生成システム)に適用できる。
本実施形態の通信ゲームシステムのシステム構成例を示す図。 本実施形態の通信ゲームシステムのシステム構成例を示す図。 本実施形態の通信ゲームシステムの通信グループの構成例を示す図。 本実施形態のゲーム機の外観図。 本実施形態のゲーム機の機能ブロック図。 本実施形態のゲーム機の無線通信機能の説明図。 本実施形態の親機の設定手法の説明図。 本実施形態の親機の設定手法の説明図。 本実施形態の親機の設定手法の説明図。 本実施形態の親機の設定手法の説明図。 本実施形態の親機の設定手法の説明図。 本実施形態の親機の設定解除手法の説明図。 本実施形態の親機の設定解除手法の説明図。 本実施形態の親機の設定解除手法の説明図。 本実施形態の親機の設定解除手法の説明図。 本実施形態の表示制御手法の説明図。 本実施形態の表示制御手法の説明図。 本実施形態の具体的な処理例を示すフローチャート。 本実施形態の具体的な処理例を示すフローチャート。 本実施形態の具体的な処理例を示すフローチャート。 本実施形態の具体的な処理例を示すフローチャート。 本実施形態の具体的な処理例を示すフローチャート。
符号の説明
GT,GT1〜GT9 ゲーム機、
ACSP アクセスポイント、Inet インターネット、GS ゲームサーバー、
L−IBSS ロビー基本サービスセット、G−IBSS ゲーム基本サービスセット、
PS1,PS2 親機スロット、CS1,CS2 子機スロット、
NA1〜NA3,NA7 通信可能範囲、
PRP 親機希望要求パケット、AP 返答パケット、SCP 状態確認パケット、
12 ディスプレイ(表示部)、14 方向キー、16 操作ボタン、
17R,17L 補助操作ボタン、18 セレクトボタン、20 スタートボタン、
40 アナログスティック、50 無線通信スイッチ、60 メモリカード用スロット、
100 処理部、
110 ゲーム演算部、112 通信制御部、114 親機設定部、
120 画像生成部、130 音生成部、
160 入力インターフェース、170 記憶部、180 情報記憶媒体、
190 表示部、192 音出力部、194 携帯型情報記憶媒体、196 通信部

Claims (12)

  1. 他のゲーム機と無線通信可能なゲーム機のためのプログラムであって、
    通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して通信部に送信させる通信制御部と、
    送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットであって、他のゲーム機が親機として設定されていることを通知する情報とどの親機スロットに設定されているかを通知する情報を含む親機スロットの設定状態を示す情報が含まれた返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて通信グループにおいて親機が設定されていない状態の親機スロットを示す空き親機スロットがあると判断された場合には、自機を空き親スロットに対応する親機として設定する親機設定部として、ゲーム機を機能させることを特徴とするプログラム。
  2. 請求項1において、
    通信制御部は、
    自機が通信グループの親機であって、他のゲーム機から送信された親機希望要求パケットを受け取った場合に、自機が親機として設定されていることを通知する情報とどの親機スロットに設定されているかを通知する情報が含まれた返答パケットを自機の通信可能範囲に対して通信部に送信させることを特徴とするプログラム。
  3. 請求項1又は2において、
    前記親機設定部が、
    自機から送信された前記親機希望要求パケットに対する他のゲーム機からの返答パケットを所定時間内に前記通信部が受信しなかった場合には、空き親機スロットがあると判断し、自機を空き親機スロットの親機として設定することを特徴とするプログラム。
  4. 請求項1〜3のいずれかにおいて、
    前記通信制御部が、
    自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自
    機が設定された親機スロットのスロット識別情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、
    前記親機設定部が、
    他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる他の親機が設定された親機スロットのスロット識別情報と自機が設定された親機スロットのスロット識別情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行うことを特徴とするプログラム。
  5. 請求項1〜4のいずれかにおいて、
    前記通信制御部が、
    自機と他機との間でブロードキャスト方式により少なくとも前記親機希望要求パケットを前記通信部に送受信させ、
    自機を含む通信グループ内で無線通信を利用したゲームが開始された後は、その通信グループに参加する他機との間でユニキャスト方式またはマルチキャスト方式によりゲーム情報パケットを前記通信部に送受信させることを特徴とするプログラム。
  6. 請求項1〜5のいずれかにおいて、
    親機あるいは子機のいずれとして通信グループに参加するかを選択させるための選択メニューを表示部に表示させる表示制御部としてゲーム機を機能させ、
    前記通信制御部が、
    親機として参加する旨の選択入力が行われたことを条件に、前記親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させることを特徴とするプログラム。
  7. 請求項4、又は4に従属する5〜6のいずれかにおいて、
    前記親機設定部が、
    同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合に、自機と他の親機とについて設定されているタイミング情報、又はゲーム機固有の識別情報、又は乱数を用いた抽選のいずれかに基づき優先順位を判定し、その判定結果に基づいて他の親機より優先順位が低いと判断される場合には前記親機設定解除処理を行うことを特徴とするプログラム。
  8. 請求項7において、
    前記親機設定部が、
    自機の識別情報と、受信した状態確認パケットに含まれる他の親機の識別情報とを比較することによって前記優先順位を判定することを特徴とするプログラム。
  9. 請求項7において、
    前記状態確認パケットが、
    自機の親機設定に関連づけられた時間情報を含み、
    前記親機設定部が、
    自機の時間情報と、受信した状態確認パケットに含まれる他の親機の時間情報とを比較することによって前記優先順位を判定することを特徴とするプログラム。
  10. コンピュータにより読取可能な情報記憶媒体であって、請求項1〜9のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
  11. 他のゲーム機と無線通信可能なゲーム機であって、
    無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、
    通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信
    可能範囲に対して前記通信部に送信させる通信制御部と、
    送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットであって、他のゲーム機が親機として設定されていることを通知する情報とどの親機スロットに設定されているかを通知する情報を含む親機スロットの設定状態を示す情報が含まれた返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて通信グループにおいて親機が設定されていない状態の親機スロットを示す空き親機スロットがあると判断された場合には、自機を空き親スロットに対応する親機として設定する親機設定部と、
    を含むことを特徴とするゲーム機。
  12. 複数のゲーム機の間で無線通信を行う通信ゲームシステムであって、
    各ゲーム機が、
    無線通信により他のゲーム機との間でパケットの送受信を行う通信部と、
    通信グループの親機としての参加を要求するための親機希望要求パケットを自機の通信可能範囲に対して前記通信部に送信させる通信制御部と、
    送信された親機希望要求パケットに対して自機の通信可能範囲内に存在する他のゲーム機から送信された返答パケットであって、他のゲーム機が親機として設定されていることを通知する情報とどの親機スロットに設定されているかを通知する情報を含む親機スロットの設定状態を示す情報が含まれた返答パケットを前記通信部が受信した場合に、受信した返答パケットに基づいて親機スロットの設定状態を確認し、その確認結果に基づいて通信グループにおいて親機が設定されていない状態の親機スロットを示す空き親機スロットがあると判断された場合には、自機を空き親スロットに対応する親機として設定する親機設定部と、を含み、
    前記通信制御部が、
    自機が通信グループの親機として設定された後に、自機の通信可能範囲内に対して、自機が設定された親機スロットのスロット識別情報と自機の識別情報とを含む状態確認パケットを前記通信部に送信させ、
    前記親機設定部が、
    他の親機から送信された状態確認パケットを前記通信部が受信した場合に、受信した状態確認パケットに含まれる他の親機が設定された親機スロットのスロット識別情報と自機設定された親機スロットのスロット識別情報とを比較し、その比較結果に基づいて、同一の親機スロットに対して他のゲーム機が親機として設定されていると判断される場合には、自機の親機設定を解除する親機設定解除処理を行うことを特徴とする通信ゲームシステム。
JP2005204554A 2005-07-13 2005-07-13 プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム Expired - Fee Related JP4889080B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005204554A JP4889080B2 (ja) 2005-07-13 2005-07-13 プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005204554A JP4889080B2 (ja) 2005-07-13 2005-07-13 プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム

Publications (2)

Publication Number Publication Date
JP2007020717A JP2007020717A (ja) 2007-02-01
JP4889080B2 true JP4889080B2 (ja) 2012-02-29

Family

ID=37782272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005204554A Expired - Fee Related JP4889080B2 (ja) 2005-07-13 2005-07-13 プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム

Country Status (1)

Country Link
JP (1) JP4889080B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4358253B2 (ja) 2007-03-28 2009-11-04 株式会社コナミデジタルエンタテインメント データ提供システム、ゲーム機、データ提供方法、および、プログラム
JP4865623B2 (ja) * 2007-04-16 2012-02-01 キヤノン株式会社 無線端末間で直接無線通信を行うための無線ネットワークを形成する方法及び無線端末
KR100867539B1 (ko) * 2007-04-18 2008-11-06 삼성전기주식회사 지그비 통신을 이용한 다자간 게임 장치 및 그 서비스 방법
JP5019597B2 (ja) 2007-06-29 2012-09-05 株式会社東芝 無線通信デバイス、無線通信システムおよびネットワーク制御方法
JP5139788B2 (ja) * 2007-12-10 2013-02-06 日本電気通信システム株式会社 無線装置、無線通信システム、制御方法及び制御プログラム
JP5600407B2 (ja) 2008-10-10 2014-10-01 キヤノン株式会社 通信装置、通信装置の制御方法及びコンピュータプログラム
JP2010193156A (ja) * 2009-02-18 2010-09-02 Toshiba Corp 無線通信装置、サーバ装置および通信システム
JP5663159B2 (ja) * 2009-11-11 2015-02-04 株式会社コナミデジタルエンタテインメント ゲームプログラム、データ送受信装置、ゲームシステム
JP5426348B2 (ja) * 2009-12-14 2014-02-26 任天堂株式会社 ネットワークシステム,通信端末および通信プログラム
JP2011176582A (ja) * 2010-02-24 2011-09-08 Buffalo Inc 無線lan装置、無線lanシステム及びそのプログラム
JP6046889B2 (ja) 2011-10-20 2016-12-21 任天堂株式会社 マッチングシステム、情報処理装置、サーバ、マッチング方法、及びマッチングプログラム
JP2015050504A (ja) * 2013-08-30 2015-03-16 株式会社バッファロー 無線通信システム、無線通信装置、そのコンピュータプログラム、及び、無線通信用の設定情報を送信する方法
JP6060400B2 (ja) * 2014-12-05 2017-01-18 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム制御方法およびプログラム
JP7230075B2 (ja) * 2021-02-04 2023-02-28 グリー株式会社 情報処理装置の制御方法、プログラム、サーバの制御方法、サーバ

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07289736A (ja) * 1994-04-25 1995-11-07 Namco Ltd ゲームシステムおよびゲームシステムへのエントリー方法
JP2000262749A (ja) * 1999-03-18 2000-09-26 Snk Corp ゲーム用通信装置及びゲーム装置
JP2002224449A (ja) * 2001-01-31 2002-08-13 Tdk Corp ビデオゲーム機
JP2003088677A (ja) * 2001-07-09 2003-03-25 Square Co Ltd オンラインゲームシステム、サーバシステム、クライアントシステム、オンラインゲーム処理方法、プログラム及び記録媒体
JP2004136009A (ja) * 2002-10-21 2004-05-13 Nintendo Co Ltd 無線通信ゲームシステム
JP4029063B2 (ja) * 2003-06-17 2008-01-09 任天堂株式会社 ゲームシステム、ゲーム装置およびゲームプログラム
JP4154311B2 (ja) * 2003-11-04 2008-09-24 任天堂株式会社 ゲームシステムおよびゲームプログラム
JP3686415B2 (ja) * 2003-11-10 2005-08-24 コナミ株式会社 ゲーム装置、ゲーム方法、及びゲームプログラム

Also Published As

Publication number Publication date
JP2007020717A (ja) 2007-02-01

Similar Documents

Publication Publication Date Title
JP4889080B2 (ja) プログラム、情報記憶媒体、ゲーム機および通信ゲームシステム
US9050536B2 (en) Communication game system, game apparatus, server, storage medium storing a program, and game control method
JP6761634B2 (ja) 無線システム、無線機器、通信プログラム、および通信方法
JP5165132B1 (ja) ゲーム管理サーバ装置、ゲーム管理サーバ装置用プログラム、および、端末装置用プログラム
JP6097374B2 (ja) 通信ゲームシステム
US10099125B2 (en) Game system, non-transitory storage medium encoded with computer readable processing program, processing method, game device, and information processing apparatus
JP4889081B2 (ja) ゲーム装置、プログラム及び情報記憶媒体
CN102195938A (zh) 建立及进行无线网络多人线上游戏的方法及usb装置
JP2013123487A (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP5763515B2 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP2008264541A (ja) ジグビー通信を利用した多者間ゲーム装置及び方法。
US20250041722A1 (en) Computer-readable non-transitory storage medium having game program stored therein, game system, and game processing method
US20250041718A1 (en) Computer-readable non-transitory storage medium having game program stored therein, game system, and game processing method
JP2008264541A5 (ja)
TWI409095B (zh) 建立及進行無線網路多人線上遊戲且無需網際網路的方法
JP2015180315A (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111212

R150 Certificate of patent or registration of utility model

Ref document number: 4889080

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees