JP5225764B2 - 通信ゲームシステム及び通信ゲームプログラム - Google Patents

通信ゲームシステム及び通信ゲームプログラム Download PDF

Info

Publication number
JP5225764B2
JP5225764B2 JP2008162591A JP2008162591A JP5225764B2 JP 5225764 B2 JP5225764 B2 JP 5225764B2 JP 2008162591 A JP2008162591 A JP 2008162591A JP 2008162591 A JP2008162591 A JP 2008162591A JP 5225764 B2 JP5225764 B2 JP 5225764B2
Authority
JP
Japan
Prior art keywords
packet
game
operation input
input data
unit
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.)
Active
Application number
JP2008162591A
Other languages
English (en)
Other versions
JP2010000258A (ja
Inventor
一郎 三原
Original Assignee
株式会社アリカ
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 株式会社アリカ filed Critical 株式会社アリカ
Priority to JP2008162591A priority Critical patent/JP5225764B2/ja
Publication of JP2010000258A publication Critical patent/JP2010000258A/ja
Application granted granted Critical
Publication of JP5225764B2 publication Critical patent/JP5225764B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数の携帯型ゲーム機の内の1台が親機に、他が子機になって無線通信を行い、各ゲーム機が共通の情報を表示させながらゲームを進行させる通信ゲームシステム及び通信ゲームプログラムに係り、特に親機と子機間で通信障害が生じた場合におけるゲーム進行の制御方式に関する。
最近の携帯型ゲーム機には無線通信機能を備えているものも多く、そのようなゲーム機では他の同機種のゲーム機との無線通信より操作入力情報を共有しながらゲームを進行させることが可能であり、対戦ゲームやシューティングゲーム等多種に亘るゲームにおいて通信ゲームネットワークを構成して楽しまれている。
そして、ゲーム機相互間の通信方式としては、複数のゲーム機の内の1台が親機となり、他のゲーム機が子機となって、親機が自機の操作入力データと各子機の操作入力データを集約して各子機へ送信することにより情報を共有する方式が採用される。
また、そのようなネットワーク構成では、下記特許文献1にあるように、親機と各子機が同期をとり、それぞれに割り当てられたタイムスロットにおいてパケット(親機パケットと各子機パケット)を送受信してデータのやりとりが行われる。
ところで、光信号による無線通信方式の場合には、ゲーム機相互間で発光部と受光部がほぼ対向した関係になければ通信不能になり、電波による無線通信方式の場合には、通信環境の変化等によりデータ伝送が正常に行えなくなることがある。
また、操作入力状況やゲームの進行状況によっては、親機や各子機でのデータ処理が極端に遅くなって自機パケットをタイムスロット内に送信できないほど遅延してしまうような場合も少なくない。
そのような場合に、通信状態の悪化時間やデータ処理の遅延が短期間であれば、タイムスロットにしてせいぜい数回程度の操作入力データが失われたに過ぎないため、従来では、そのようなデータの抜け落ちを無視し、ゲームの時間的進行だけを優先させる方式が採用されている。即ち、通信の回復により新たな操作入力データが得られた時点で、何事も無かったかの如くゲームをそのまま継続させるような処理の仕方を行っている。
更に、従来技術として通信状態を画面の一部にインジケータ表示させる方法があるが、その方法によると、ゲームプレイに集中できず、またゲーム内容の表示領域を狭くする等の問題があるため、下記特許文献2においては、他のゲーム機との通信状態が悪くなったときに、他のゲーム機の制御対象となっているキャラクタの表示状態を変化させるような処理(非表示状態にする処理や薄い表示状態にする処理)の仕方も提案されている。
特開2006−130338号公報(第11−13頁、図10−図14) 特開2004−275412号公報
上記のように、操作入力データの抜け落ちを無視し、ゲームの時間的進行だけを優先させる処理を行う場合、シューティングゲーム等のように緻密で精度の高い操作入力とそれに対応した表示映像への忠実な反映が求められるゲームにおいては、操作入力がゲームに反映されないと、その操作者にとってはその度に整合性が無いことによる不可思議さや不満が残り、ゲームに対する興味が失せてしまうことになる。即ち、その種のゲームでは状況に応じた個々の操作入力がゲームの結果に大きく影響することが多く、本来有効となるべき操作入力が無効扱いとなることは大きな欠陥とも言える。
また、通信ネットワークを構成している各ゲーム機でデータ処理の遅延が様々に生じていると、各ゲーム機での映像表示と音声出力の同時性が著しく損なわれることがあり、各操作者においてはゲームを共同で行っていることの楽しさが半減する。
尚、特許文献2のように、キャラクタを非表示状態や薄い表示状態にすることは、通信状態を確認する上ではよいが、データの抜け落ちは無視していると思われることから、ゲームの内容に関しては前記と同様の問題がある。
更に言うなら、操作者にとってより重要なことは、通信状態の確認ではなく、ゲームの内容が忠実に実行されることである。
そこで、本願の発明は、1台の親機と複数の子機とが無線通信ネットワークを構成し、各ゲーム機が共通の情報を表示させながらゲームを進行させる通信ゲームシステムにおいて、通信状態の悪化した場合や各ゲーム機でデータ処理の遅延が生じた場合に、ゲームの進行を一旦停止させるが、操作入力データを無視することなく忠実なゲームの進行が図れ、親機と各子機において常に同一時間軸でゲームを進行させることを目的とする。
本願の発明は、無線通信機能を備えた複数の携帯型ゲーム機の内の1台が親機に、他のゲーム機が子機となって無線通信を行い、前記親機は所定周期で自機の操作入力データと前記各子機から受信した各子機パケットの操作入力データとを親機パケットにセットして前記各子機へ送信し、前記各子機は親機パケットの受信後の時間帯に割り当てられている自己のタイムスロット内に自機の操作入力データを子機パケットにセットして前記親機へ送信し、前記親機と前記各子機は親機パケットの各操作入力データを用いてゲームプログラムを実行することにより、各々が共通の情報を表示させながらゲームを進行させる通信ゲームシステムにおいて、前記親機は、親機パケットの送信周期で、前回と今回の自機と前記各子機の操作入力データを2つの記憶領域に対して交互に書き換えながら記憶する親機側記憶手段と、前記各子機からの子機パケットが各々のタイムスロット内に全て受信できたか否かを確認する親機側確認手段とを備え、一方、前記各子機は、親機パケットの受信周期で、前回の前記親機パケットの各操作入力データと今回の自機の操作入力データをそれぞれ書き換えながら記憶する子機側記憶手段と、親機パケットが所定タイミングで受信できたか否かを確認する子機側確認手段とを備えており、前記親機では、前記親機確認手段が全ての子機パケットの受信を確認できなかった場合には、未受信の子機パケットの受信待機状態を保ってゲームの進行を停止すると共に、前回の各操作入力データをセットした親機パケットを前記所定周期で連続的に送信し、前記各子機側では、前記子機側確認手段が親機パケットの受信を確認できなかった場合には、親機パケットの受信待機状態を保ってゲームの進行を停止することを特徴とした通信ゲームシステムに係る。
この発明によれば、親機が、自機の操作入力データと共に、各子機から受信した子機パケットの操作入力データを親機パケットに集約して各子機に送信し、親機と子機が操作入力データを共有しながらゲームを進行させるが、親機と子機にはそれぞれ記憶手段により操作入力データについてのバッファ機能を持たせてある。
そして、親機において子機パケットが1つでも受信できなかった場合には、親機は、ゲームの進行を一旦停止させて、未受信の子機パケットの受信待機状態となり、直前に送信している親機パケット(前回の親機と各子機の操作入力データを含んでいる)を繰り返し送信する。また、各子機において親機パケットが受信できなかった場合にも、各子機は親機パケットの受信待機状態を保ってゲームの進行を停止する。
従って、親機と各子機間での一時的に通信状態の悪化や各ゲーム機におけるデータ処理の遅延があって、親機パケットや子機パケットの送受信ができなかった場合には、その直前の状態を維持してゲームが一旦停止せしめられ、通信状態の回復を待って停止した状態から直ちにゲームが再開される。
その場合、通信状態の悪化等があっても親機と各子機は常に同一時間軸でゲームを再開・進行させることができると共に、親機と各子機のいずれにおいても、操作入力が勝手に無視されたままゲームが進行することはない。
前記発明において、前記親機は、未受信の子機パケットの受信待機状態で、前記親機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持し、前記各子機は、親機パケットの受信待機状態で、前記子機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持することが望ましい。
このように直前までの表示状態を維持することにより、操作者はゲームが一旦停止せしめられたことを直ちに察知できるために、無駄な操作入力を行わなくなると共に、その表示内容からゲームがどの進行状態で停止せしめられたかを確認でき、ゲームが再開された際に次の操作に対する待機状態をとり易くなる。
また、前記発明において、前記親機では、未受信の子機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された親機側限度時間を超えた場合に、親機パケットにゲーム終了コードをセットして送信させ、前記各子機では、親機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された子機側限度時間を超えた場合に、子機パケットにゲーム終了コードをセットして送信させることが望ましい。
即ち、経験的に通信の回復が見込めない、又は何れかのゲーム機の操作者がゲームを止めてしまったと思えるような長い時間に亘って子機パケットや親機パケットが受信できないような場合には、少なくともその時点で通信可能状態にある他のゲーム機に対してゲーム終了コードを送信して終了させる。
尚、前記発明の機能を実現するためのプログラムは前記親機や前記各子機が予め搭載している必要はなく、通信ゲームプログラムの中に組み込まれていてもよい。その場合には以下のような通信ゲームプログラムとなる。
(a) 無線通信機能を備えた複数の携帯型ゲーム機の内の1台が親機に、他のゲーム機が子機となって無線通信を行い、前記親機は所定周期で自機の操作入力データと前記各子機から受信した各子機パケットの操作入力データとを親機パケットにセットして前記各子機へ送信し、前記各子機は親機パケットの受信後の時間帯に割り当てられている自己のタイムスロット内に自機の操作入力データを子機パケットにセットして前記親機へ送信し、前記親機と前記各子機は親機パケットの各操作入力データを用いてゲームプログラムを実行することにより、各々が共通の情報を表示させながらゲームを進行させる通信ゲームシステムに適用される通信ゲームプログラムであって、前記親機に格納されているプログラムは、親機パケットの送信周期で、前回と今回の自機と前記各子機の操作入力データを2つの記憶領域に対して交互に書き換えながら親機側記憶手段に記憶させる第1の手順と、前記各子機からの子機パケットが各々のタイムスロット内に全て受信できたか否かを確認する第2の手順と、前記第2の手順で全ての子機パケットの受信を確認できなかった場合には、未受信の子機パケットの受信待機状態を保ってゲームの進行を停止すると共に、前回の各操作入力データをセットした親機パケットを前記所定周期で連続的に送信させる第3の手順とを前記親機が内蔵するコンピュータに実行させるプログラムであり、前記各子機に格納されているプログラムは、親機パケットの受信周期で、前回の前記親機パケットの各操作入力データと今回の自機の操作入力データをそれぞれ書き換えながら子機側記憶手段に記憶させる第4の手順と、親機パケットが所定タイミングで受信できたか否かを確認する第5の手順と、前記第5の手順で親機パケットの受信を確認できなかった場合には、親機パケットの受信待機状態を保ってゲームの進行を停止する第6の手順とを前記各子機が内蔵するコンピュータに実行させるプログラムであることを特徴とする通信ゲームプログラム。
(b) 前記(a)の通信プログラムであって、前記親機に格納されているプログラムによる前記第3の手順においては、未受信の子機パケットの受信待機状態で前記親機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持させるようにし、前記各子機に格納されているプログラムによる前記第6の手順においては、親機パケットの受信待機状態で前記子機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持させるようにした通信ゲームプログラム。
(c) 前記(a)又は(b)の通信ゲームプログラムであって、前記親機に格納されているプログラムは、未受信の子機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された親機側限度時間を超えた場合に、親機パケットにゲーム終了コードをセットして送信する手順も前記親機が内蔵するコンピュータに実行させ、前記各子機に格納されているプログラムは、親機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された子機側限度時間を超えた場合に、子機パケットにゲーム終了コードをセットして送信する手順も前記各子機が内蔵するコンピュータに実行させるものである通信ゲームプログラム。
本願の通信ゲームシステム及び通信ゲームプログラムの発明は、以上の構成を有していることにより、次のような効果を奏する。
1台の親機と複数の子機とがパケットによる無線通信ネットワークを構成し、親機が自機と各子機の操作情報を集約・配信して各ゲーム機に共通の情報を持たせながらゲームを進行させる通信ゲームシステムにおいて、パケットの受信が不可能な通信状態の悪化や各ゲーム機でのデータ処理の遅延があった場合にも、操作入力データを無視することなく忠実なゲームの進行が図れるようにする。特に、シューティングゲーム等のように緻密で精度の高い操作入力とそれに対応した表示映像への忠実な反映が求められるゲームに対して適用することにより、操作者に整合性のなさによる不可思議さや不満を生じさせない操作環境を実現する。
以下、本発明の通信ゲームシステムの実施形態を図面に基づいて詳細に説明する。
先ず、図1は、無線通信機能を備えた携帯型ゲーム機のシステム回路図である。このゲーム機1は無線通信機能を備え、他の同種のゲーム機と通信を行いながら共同してゲームを攻略したり対戦ゲームを行ったりすることが可能なタイプの機種である。
また、同図に示すように、ゲーム機1にはカートリッジ2がコネクタを介して外部接続されるようになっており、そのカートリッジ2にはゲームプログラムが格納されている。
同図のゲーム機1において、30はプロセッサであり、このプロセッサ30はCPUコア31とそれに関連するブートROM32、LCDコントローラ33、WRAM(ワーキングRAM)34、VRAM(ビデオRAM)35、その他の周辺回路36を含んでいる。ここで、周辺回路36には音声回路やDMA(Direct Memory Access)回路や入出力インターフェイス回路と共にタイマ37が含まれている。
プロセッサ30には、他のゲームと通信するためのアンテナ41とRF-IC42とベースバンドIC43とからなる無線通信部、LCDコントローラ33が処理した映像信号を表示出力させる2つのLCD(a)44,LCD(b)45、周辺回路36の音声回路が処理した信号をスピーカ46から音声出力させるオーディオアンプ47、十字キー等の各種キーと各種ボタンとからなる操作部48、及び前記カートリッジ2の接続用コネクタ49が接続されている。
そして、図2に示すように、このゲーム機1が他の同種のゲーム機と無線通信を行いながらゲームを行う場合においては、初期セッションでの設定により親機10にも子機1X(X=1,2,3)にもなり得るが、親機10になる場合には、プロセッサ30が無線通信部(41,42,43)から得られる各子機1X(X=1,2,3)の操作信号と自らの操作部48からの操作入力データに基づいてカートリッジ2のROM51のゲームプログラムを実行し、LCD(a)44,LCD(b)45にゲーム映像を表示させると共に、スピーカ46から音声を出力させる。
尚、カートリッジ2における52はバックアップRAMであり、ゲームの途中データやゲームの結果データをセーブする。
一方、ゲーム機1が子機1X(X=1,2,3)になる場合には、各子機1X(X=1,2,3)がそれぞれカートリッジ2を接続してゲームを行う通常モードと、親機10にだけカートリッジ2が装着されていて、各子機1X(X=1,2,3)は親機10から子機用プログラムのダウンロードを受けて動作するワンカートリッジモード(OCモード)とがある。
しかし、いずれの場合もゲームの進行は親機10によって制御され、各子機1X(X=1,2,3)の操作入力データは無線通信により一旦親機10に集約せしめられた後、親機10が自機の操作信号と各子機1X(X=1,2,3)の操作信号とをブロードキャストデータパケットとして全ての子機1X(X=1,2,3)に送信することでゲームの進行が図られる。
そして、各子機1X(X=1,2,3)は、通常モードでは自機のカートリッジ2のROM51のゲームプログラムを、OCモードではダウンロードを受けた子機用プログラムを実行することにより、LCD(a)44,LCD(b)45にゲーム映像を表示させると共に、スピーカ46から音声を出力させる。
尚、以下では親機10と子機1X(X=1,2,3)の回路要素を区別するため、子機1X(X=1,2,3)の回路要素についてはそれぞれの符号にダッシュ符号を付加して説明することとする。
また、親機10と子機1X(X=1,2,3)はそれぞれ図5に示すようなデータパケットを送出して相互に通信を行う。
同図に示すように、親機パケットP0は、同期データを記録したフィールドsyncと、親機10自体の識別コードであるPIDと、ユーザ名フィールドUserNameと、ゲーム名フィールドGameNameと、OCモードへの対応の可否を示すフラグOCと、エントリー(参加)可能な子機1X(X=1,2,3)のスロットの番号が記録されるEスロットフィールドESlotと、4つのスロットで構成されて各子機1X(X=1,2,3)の識別コード(CID)が記録されるUスロットフィールドUSlot、ゲーム処理において必要となるゲームデータが記録されるペイロードフィールドPayloadとからなる。
一方、子機パケットPX(X=1,2,3・・・)は、子機1X(X=1,2,3)自体の識別コードであるPIDと、子機1X(X=1,2,3)から親機10に送信されるゲームデータを記録するためのペイロードフィールドとからなる。
次に、ゲーム実行中の親機10と子機1X(X=1,2,3)の動作をそれぞれ図3と図4のフローチャートを参照しながら説明する。
図3は親機10の動作手順を示す。先ず、子機1X(X=1,2,3)側との通信リンク確立とゲーム開始処理がなされると、プロセッサ30は自機の操作部48からの入力データを確認し、その入力データD0(1)をWRAM34の所定アドレスにセーブさせる(S1〜S3)。
ここに、通信リンクの確立手順は、親機10がエントリー受付状態に設定された状態で各子機1X(X=1,2,3)から子機パケットPX(X=1,2,3・・・)によるエントリー要求があり、各子機1X(X=1,2,3)がエントリー可能な所定条件を満たしていれば、親機10が親機パケットP0によりエントリー許可を返信することにより実行される。
また、ゲーム開始処理は、ゲームによって異なるが、ステージやレベルの選択、エントリー要求した子機が多過ぎた場合の抽選等が含まれ、それら手順が行われた後にゲーム開始信号を各子機1X(X=1,2,3)へ送信することにより実行される。
このような手順を経てゲームは開始されるが、以降では、既にゲームがある程度進行した状態について説明することとする。
今、ある時点で確認された自機(親機)10での入力データをD0(n)とすると、プロセッサ30はそのデータD0(n)を直ちにWRAM34の所定アドレスにセーブさせる(S2,S3)。そして、プロセッサ30は、既にWRAM34にセーブされている自機の前回の入力データD0(n-1)と既に各子機1X(X=1,2,3)から受信してWRAM34にセーブさせてある前回の入力データD1(n-1),D2(n-1),D3(n-1)とを親機パケットP0のPayloadにセットし、その親機パケットP0を無線通信部(41,42,43)へ読み出して無線送信する(S4)。
このブロードキャストで送信される親機パケットP0は親機10と子機1X(X=1,2,3)の双方が正常な送受信状態・データ処理状態にあれば常に所定周期で送信され、その送信タイミングが親機10と子機1X(X=1,2,3)の間での同期基準となっている。
尚、親機10ではWRAM34における操作入力データのセーブのためのアドレスが図6に示すような模式的構成で管理されており、2つの領域(a)と(b)に対して前回と今回の親機10と子機1X(X=1,2,3)の操作入力データが交互に上書きしながら書き込まれることによりデータバッファ機能が実現させてある。
そして、プロセッサ30は親機パケットP0の送信時点でタイマ37のカウントを開始させ、そのタイマ37が所定時間Tsを計時した時点で、WRAM34にセーブされている各操作入力データD0(n-1)とD1(n-1),D2(n-1),D3(n-1)を用いてゲームプログラムに基づく処理を実行する(S6,S7)。この所定時間Tsは、親機パケットP0を受信した各子機1X(X=1,2,3)が親機10と同一のタイミングで各操作入力データD0(n-1),D1(n-1),D2(n-1),D3(n-1)を用いたゲームプログラムに基づく処理を行えるようにするための調整時間に相当する。
その結果、親機10と各子機1X(X=1,2,3)において、ゲームプログラムの前記実行に対応した更新描画と音声出力の処理がほぼ同一のタイミングで行われることになる(S8)。
一方、プロセッサ30は、タイマ37のカウント開始後、前記処理の実行と並行して無線通信部(41,42,43)でそれぞれ子機パケットP1,P2,P3が受信されるか否かを監視している(S9)。即ち、前記親機パケットP0の送信から前記時間Tsを経過した後の一定時間帯を区分し、それぞれの区分時間が各子機1X(X=1,2,3)に対して個別に割り付けたタイムスロットとされており、後述するように親機パケットP0を受信した各子機1X(X=1,2,3)は割り付けられたタイムスロット内に自機の操作入力データを親機10へ送信するようになっている。
そして、各スロットタイムで各子機パケットP1,P2,P3が受信されると、プロセッサ30はその各パケットP1,P2,P3のPayloadにセットされている各子機1X(X=1,2,3)の今回の操作入力データD1(n),D2(n),D3(n)をWRAM34の所定アドレスに上書きしてセーブさせる(S9→S13)。
従って、WRAM34には今回の確認(S2,S3)に係る親機の操作入力データD0(n)と子機1X(X=1,2,3)の操作入力データD1(n),D2(n),D3(n)が書き込まれたことになり、プロセッサ30はタイマ37のカウントを停止させた後、再び自機の操作入力データD0(n+1)の確認を行い、そのデータD0(n+1)をWRAM34の領域(a)側のデータD0(n-1)に上書きしてセーブすると共に、領域(b)側に揃っている操作入力データD0(n+1),D1(n+1),D2(n+1),D3(n+1)を親機パケットP0のPayloadにセットしてブロードキャスト送信を行う(S13→S14,S15→S2,S3,S4)。
ところで、[背景技術]の欄で説明したように、親機10と各子機1X(X=1,2,3)との間の通信が常に良好な状態で行えるとは限らず、また、操作入力状況やゲームの進行状況によっては、ある子機での処理が非常に遅くなって子機パケットをタイムスロット内に送信できないほど遅延してしまうような場合もある。
そのような場合に、この実施形態では、全ての子機パケットP1,P2,P3が受信されない限りゲームの進行を停止させるようにしており、各タイムスロット内で1つでも子機パケットP1,P2,P3が受信できない場合には、前記の親機パケットP0の送信時点から所定時間Te1までは未受信の子機パケットの受信待機状態とし、その時間帯は前回の各操作入力データD0(n-1),D1(n-1),D2(n-1),D3(n-1)に基づいた描画・音声出力の処理での表示状態を維持させると共に、前記ステップS4と同様のブロードキャスト送信動作を繰り返し実行させる(S9→S10,S11,S12→S9)。
即ち、従来のように、ゲームの時間的進行を優先して、未受信の子機パケットがあってもそれを無視してゲームを進行させるようなことは行わずに、通信状態の回復が見込めない、又は子機1X(X=1,2,3)のいずれかの操作者がゲームを止めたとみなし得るような時間Te1(例えば、10〜15秒)が経過するまでは、1回前に確認された操作入力データまでのゲーム進行状態で停止させた状態で未受信の子機パケットを待つ。
従って、親機10においては、子機パケットP1,P2,P3が各タイムスロット内に受信できていれば通常どおりゲームを進行させることができ、たとえいずれかの子機パケットP1,P2,P3の受信がタイムスロットから遅延したとしても、それが親機パケットP0の送信時点から時間Te1以内であれば、一旦ゲームの進行は停止するが、その停止していた状態から再びゲームが進行せしめられる(S2〜S15→S2)。
尚、前記時間Te1を経過するとゲームの再開が望めない状況にあるとみなし、プロセッサ30は親機パケットP0のPayloadにゲーム終了コードをセットして送信した後、タイマ37のカウントを停止させる(S12→S16,S17)。
また、ゲーム開始時において操作入力データD0(1)をWRAM34に最初にセーブさせた段階では、親機10についても子機1X(X=1,2,3)についても前回の操作入力データは存在しておらず、その場合にはそれぞれをNullデータとして扱う。
ところで、図3のフローチャートでは親機パケットP0の送信(S4)の前に自機の操作入力データを確認してWRAM34にセーブさせるようになっているが(S2,S3)、それらの手順は必ずしもその時点で行う必要はなく、図3aに示すように、各子機パケットP1,P2,P3を受信してWRAM34にセーブした後に行わせてもよい(*S2,*S3)。
次に、図4は各子機1X(X=1,2,3)の動作手順を表している。先ず、エントリー要求等のセッションによって親機10とのリンクが確立し、所定のゲーム開始処理手順が完了すると、プロセッサ30'は自機の操作部48'からの入力データを確認する(S21,S22)。
そして、プロセッサ30'はその入力データDX(1)をWRAM34'の所定アドレスにセーブさせるが(S23)、子機1X(X=1,2,3)の場合についても、前記の親機10の場合と同様に、既にゲームがある程度進行した状態について説明する。
前記のように、プロセッサ30'は自機の今回の確認に係る操作入力データDX(n)をWRAM34'にセーブさせると共に、無線通信部(41',42',43')で親機パケットP0が受信されるか否かを監視している(S22,S23,S24)。
ところで、上記のように親機10は親機パケットP0を所定周期で送信しており、その送信タイミングが親機10と各子機1X(X=1,2,3)の間での同期基準になっている。
従って、子機1X(X=1,2,3)側において親機パケットP0が所定タイミングで受信できないということは、親機10と各子機1Xとの位置関係や外部要因等により通信不良状態に陥っているか、又は親機10でのデータ処理が膨大になっており所定時間内に処理できない状態になっていることが考えられる。
これに対して、この実施形態の子機1X(X=1,2,3)では親機パケットP0を受信するとプロセッサ30'がタイマ37'をリセットしてカウントを開始させるようになっており、たとえ親機パケットP0がその送信周期よりも長い時間受信できなくても、タイマ37'のカウントが前回の親機パケットP0の受信時から所定時間Te2を経過するまでであれば、親機パケットP0の受信待機状態とし、ゲームの進行を停止して前回の各操作入力データD0(n-2),D1(n-2),D2(n-2),D3(n-2)に基づいた描画・音声出力の処理での表示状態を維持させる(S24→S25,S26→S24)。
そして、この場合の所定時間Te2は少なくとも親機10による親機パケットP0の送信周期より長い時間として任意に設定できるが、この実施形態では、後述するように所定時間Te2以内に親機パケットP0が受信できなかった場合にはゲーム終了コードをセットした子機パケットPXを親機10側へ送信することになっており(S26,S34)、時間Te2が親機パケットP0の送信周期の2倍より短いと1回でも親機パケットP0が受信できなかった場合には直ちにゲームが終了してしまうことから、親機パケットP0の送信周期の600倍程度に設定しておくのが望ましい。
より具体的には、親機パケットP0の送信周期が1/60秒(ゲーム機のフレーム周期に相当)であるとすれば、時間Te2は10sec程度となる。
一方、親機パケットP0が受信されると、前記のとおりプロセッサ30'はタイマ37'をリセットしてカウントを開始させると共に、親機パケットP0のPayloadにセットされている親機10の操作入力データD0(n-1)と自機を含む各子機1X(X=1,2,3)の操作入力データD1(n-1),D2(n-1),D3(n-1)をWRAM34'の所定アドレスにセーブさせ、それらのデータD0(n-1), D1(n-1),D2(n-1),D3(n-1)を用いてゲームプログラムに基づく処理を実行する(S24→S27,S28,S29)。
その結果、ゲームプログラムの前記実行に対応した更新描画と音声出力の処理が親機10とほぼ同一のタイミングで行われることになる(S30)。
尚、各子機1X(X=1,2,3)のWRAM34'における操作入力データのセーブのためのアドレスは図7に示すような模式的構成で管理されており、親機パケットP0のPayloadのデータと自機の操作入力データとを上書きしながら書き込むようになっている。
また、親機パケットP0の受信後、リセットしてカウントが開始せしめられたタイマ37'のカウントデータを参照しながら各子機1X(X=1,2,3)毎に割り当てられているタイムスロットにおいて自らの子機パケットPXを親機10へ送信するが、その子機パケットPXのPayloadにはその時点でWRAM34'にセーブされている自らの操作入力データDX(n)である(S31,S32)。
以降、プロセッサ30'では、再び自機の操作入力データDX(n+1)を確認して、それをWRAM34'に上書きセーブさせる動作へ戻り、親機パケットP0がタイマ37'のカウント開始時から所定時間Te2以内に受信できていればステップS22からステップS33までを繰り返し実行する。
尚、親機パケットP0が前記所定時間Te2以内に受信できなかった場合には、前記のとおりプロセッサ30'が子機パケットPXのPayloadにゲーム終了コードをセットして送信させた後、タイマ37'のカウントを停止させる(S26→S34,S35)。
以上のように、この実施形態の通信ゲームシステムによると、親機10と各子機1X(X=1,2,3)との間の通信が不良になった場合には、ゲームの進行を停止させて、親機10と各子機1X(X=1,2,3)がそれぞれの時点における自機の描画表示状態を維持させたまま、通信が復旧する可能性のある時間帯は待機するようになっており、且つ通信が復旧すると、前記ゲームの進行停止以前の状態からゲームの連続性を失うことなく自動的に再開させることができる。
これを前記実施形態でみると、図3に示した親機10側での動作手順の中で子機パケットP1,P2,P3の一つでも受信できないような通信不良状態になった場合には、親機10側では操作入力データD0(n-1),D1(n-1),D2(n-1),D30(n-1)を用いてゲームプログラムに基づく処理を実行した際の描画表示画面でゲームの進行が停止するが(S9→S10,S11,S12→S9)、一方、子機1X(X=1,2,3)側についてみると、親機10側との通信が不良状態にある子機では、今回の親機パケットP0が受信できないために1回前の親機パケットP0にセットされていた操作入力データD0(n-2),D1(n-2),D2(n-2),D30(n-2)を用いてゲームプログラムに基づく処理を実行した際の描画表示画面でゲームの進行が停止した状態となり(S24→S25,S26→S24)、親機10側との通信が可能な他の子機では今回の親機パケットP0にセットされていた操作入力データD0(n-1),D1(n-1),D2(n-1),D30(n-1)を用いてゲームプログラムに基づく処理を実行した際の描画表示画面でゲームの進行が停止した状態となる(S25→SS28,S29,S30)。
尚、親機10では、子機パケットP1,P2,P3の一つでも受信できない状態で、且つタイマ37のカウントが所定時間Te1を超えていなければ、操作入力データD0(n-1),D1(n-1),D2(n-1),D30(n-1)を子機1X(X=1,2,3)側へ何回も送信することになり(S11)、一方、親機10との通信が可能な状態にある子機ではその都度表示フレームの更新描画と音声出力の処理が実行されることになるが(S24→S27〜S30)、同一データD0(n-1),D1(n-1),D2(n-1),D30(n-1)による更新描画等の処理であるため、ゲームの進行は停止したままである。
ところで、図4のフローチャートでは親機パケットP0の受信(S24)の前に自機の操作入力データを確認してWRAM34'にセーブさせるようになっているが(S22,S23)、それらの手順は必ずしもその時点で行う必要はなく、図4aに示すように、親機パケットP0を受信してタイマ37'のリセットとカウント開始を行った後に行わせてもよい(*S22,*S23)
本発明は、複数の携帯型ゲーム機の内、1機が親機となり、他機が子機となって無線通信により操作入力データを送受信しながらゲームを行う場合の通信ゲームシステムに適用できる。
実施形態に係る携帯型ゲーム機(無線通信機能搭載)のシステム回路図である。 複数の携帯型ゲーム機の内の1台が親機となり、他機が子機となって無線通信を行いながらゲームを行っている状態を示す図である。 親機の動作手順を示すフローチャートである。 親機の動作手順(図3と自機の操作入力データのセーブ手順の順序が異なる場合)を示すフローチャートである。 子機の動作手順を示すフローチャートである。 子機の動作手順(図4と自機の操作入力データのセーブ手順の順序が異なる場合)を示すフローチャートである。 親機パケットと子機パケットの各構成図である。 親機のプロセッサが管理するWRAMのアドレスを模式的に表した図である。 子機のプロセッサが管理するWRAMのアドレスを模式的に表した図である。
符号の説明
1…ゲーム機、2…カートリッジ、10…親機、11,12,13…子機、30…プロセッサ、31…CPUコア、32…ブートROM、33…LCDコントローラ、34…WRAM、35…VRAM、36…周辺回路、37…タイマ、41…アンテナ、42…RF-IC、43…ベースバンドIC、44,45…LCD、46…スピーカ、47…オーディオアンプ、48…アンプ、49…コネクタ、51…ROM、52…バックアップRAM。

Claims (6)

  1. 無線通信機能を備えた複数の携帯型ゲーム機の内の1台が親機に、他のゲーム機が子機となって無線通信を行い、前記親機は所定周期で自機の操作入力データと前記各子機から受信した各子機パケットの操作入力データとを親機パケットにセットして前記各子機へ送信し、前記各子機は親機パケットの受信後の時間帯に割り当てられている自己のタイムスロット内に自機の操作入力データを子機パケットにセットして前記親機へ送信し、前記親機と前記各子機は親機パケットの各操作入力データを用いてゲームプログラムを実行することにより、各々が共通の情報を表示させながらゲームを進行させる通信ゲームシステムにおいて、
    前記親機は、親機パケットの送信周期で、前回と今回の自機と前記各子機の操作入力データを2つの記憶領域に対して交互に書き換えながら記憶する親機側記憶手段と、前記各子機からの子機パケットが各々のタイムスロット内に全て受信できたか否かを確認する親機側確認手段とを備え、
    一方、前記各子機は、親機パケットの受信周期で、前回の前記親機パケットの各操作入力データと今回の自機の操作入力データをそれぞれ書き換えながら記憶する子機側記憶手段と、親機パケットが所定タイミングで受信できたか否かを確認する子機側確認手段とを備えており、
    前記親機では、前記親機確認手段が全ての子機パケットの受信を確認できなかった場合には、未受信の子機パケットの受信待機状態を保ってゲームの進行を停止すると共に、前回の各操作入力データをセットした親機パケットを前記所定周期で連続的に送信し、
    前記各子機側では、前記子機側確認手段が親機パケットの受信を確認できなかった場合には、親機パケットの受信待機状態を保ってゲームの進行を停止することを特徴とした通信ゲームシステム。
  2. 前記親機は、未受信の子機パケットの受信待機状態において、前記親機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持し、前記各子機は、親機パケットの受信待機状態において、前記子機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持することとした請求項1に記載の通信ゲームシステム。
  3. 前記親機は、未受信の子機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された親機側限度時間を超えた場合に、親機パケットにゲーム終了コードをセットして送信し、前記各子機は、親機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された子機側限度時間を超えた場合に、子機パケットにゲーム終了コードをセットして送信することとした請求項1又は請求項2に記載の通信ゲームシステム。
  4. 無線通信機能を備えた複数の携帯型ゲーム機の内の1台が親機に、他のゲーム機が子機となって無線通信を行い、前記親機は所定周期で自機の操作入力データと前記各子機から受信した各子機パケットの操作入力データとを親機パケットにセットして前記各子機へ送信し、前記各子機は親機パケットの受信後の時間帯に割り当てられている自己のタイムスロット内に自機の操作入力データを子機パケットにセットして前記親機へ送信し、前記親機と前記各子機は親機パケットの各操作入力データを用いてゲームプログラムを実行することにより、各々が共通の情報を表示させながらゲームを進行させる通信ゲームシステムに適用される通信ゲームプログラムであって、
    前記親機に格納されているプログラムは、親機パケットの送信周期で、前回と今回の自機と前記各子機の操作入力データを2つの記憶領域に対して交互に書き換えながら親機側記憶手段に記憶させる第1の手順と、前記各子機からの子機パケットが各々のタイムスロット内に全て受信できたか否かを確認する第2の手順と、前記第2の手順で全ての子機パケットの受信を確認できなかった場合には、未受信の子機パケットの受信待機状態を保ってゲームの進行を停止すると共に、前回の各操作入力データをセットした親機パケットを前記所定周期で連続的に送信させる第3の手順とを前記親機が内蔵するコンピュータに実行させるプログラムであり、
    前記各子機に格納されているプログラムは、親機パケットの受信周期で、前回の前記親機パケットの各操作入力データと今回の自機の操作入力データをそれぞれ書き換えながら子機側記憶手段に記憶させる第4の手順と、親機パケットが所定タイミングで受信できたか否かを確認する第5の手順と、前記第5の手順で親機パケットの受信を確認できなかった場合には、親機パケットの受信待機状態を保ってゲームの進行を停止する第6の手順とを前記各子機が内蔵するコンピュータに実行させるプログラムである
    ことを特徴とする通信ゲームプログラム。
  5. 前記親機に格納されているプログラムによる前記第3の手順においては、未受信の子機パケットの受信待機状態で前記親機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持させるようにし、前記各子機に格納されているプログラムによる前記第6の手順においては、親機パケットの受信待機状態で前記子機側記憶手段が記憶している前回の各操作入力データを用いた表示状態を維持させるようにした請求項4に記載の通信ゲームプログラム。
  6. 前記親機に格納されているプログラムは、未受信の子機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された親機側限度時間を超えた場合に、親機パケットにゲーム終了コードをセットして送信する手順も前記親機が内蔵するコンピュータに実行させ、前記各子機に格納されているプログラムは、親機パケットの受信待機状態が親機パケットの送信に係る前記所定周期よりも十分に長い時間として設定された子機側限度時間を超えた場合に、子機パケットにゲーム終了コードをセットして送信する手順も前記各子機が内蔵するコンピュータに実行させるものである請求項4又は請求項5に記載の通信ゲームプログラム。
JP2008162591A 2008-06-20 2008-06-20 通信ゲームシステム及び通信ゲームプログラム Active JP5225764B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008162591A JP5225764B2 (ja) 2008-06-20 2008-06-20 通信ゲームシステム及び通信ゲームプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008162591A JP5225764B2 (ja) 2008-06-20 2008-06-20 通信ゲームシステム及び通信ゲームプログラム

Publications (2)

Publication Number Publication Date
JP2010000258A JP2010000258A (ja) 2010-01-07
JP5225764B2 true JP5225764B2 (ja) 2013-07-03

Family

ID=41582459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008162591A Active JP5225764B2 (ja) 2008-06-20 2008-06-20 通信ゲームシステム及び通信ゲームプログラム

Country Status (1)

Country Link
JP (1) JP5225764B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017183825A (ja) * 2016-03-28 2017-10-05 京セラ株式会社 ヘッドマウントディスプレイ
JP7650970B2 (ja) * 2021-05-17 2025-03-25 株式会社ソニー・インタラクティブエンタテインメント 停止制御装置、停止制御方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08294581A (ja) * 1995-03-02 1996-11-12 Nasuka:Kk 通信ゲーム機システム
JP3830442B2 (ja) * 2002-10-22 2006-10-04 任天堂株式会社 無線通信ゲームシステム、ゲーム装置、情報記憶媒体、および、プログラム
JP4393267B2 (ja) * 2004-05-10 2010-01-06 株式会社ソニー・コンピュータエンタテインメント ゲーム機、通信端末装置、ゲームシステムおよびアイテム交換方法
JP2007029624A (ja) * 2005-07-29 2007-02-08 Snk Playmore Corp ゲームシステム

Also Published As

Publication number Publication date
JP2010000258A (ja) 2010-01-07

Similar Documents

Publication Publication Date Title
JP3888130B2 (ja) 無線ネットワークのステーション
CN110300404B (zh) 一种网络控制方法及移动终端
US10721666B2 (en) Multi-member bluetooth device capable of avoiding signal interrupt and related main bluetooth circuit and auxiliary bluetooth circuit
JP3506671B2 (ja) 通信ゲームシステム
US20080096662A1 (en) Game apparatus, wireless module and game system
KR100902013B1 (ko) 타일드 디스플레이 시스템 및 상기 시스템에서의 동기화방법
US10992356B2 (en) Main bluetooth circuit of multi-member bluetooth device
US20190320345A1 (en) Auxiliary bluetooth circuit of multi-member bluetooth device
CN115442643B (zh) 投屏方法、装置、无线终端、投屏设备及存储介质
US10700817B2 (en) Multi-member bluetooth device capable of avoiding signal interrupt
JP5510927B2 (ja) 表示システム、ディスプレイ、および表示方法
JP5225764B2 (ja) 通信ゲームシステム及び通信ゲームプログラム
JP4850490B2 (ja) ゲームプログラムおよびゲーム装置
CN114630313B (zh) 通信方法和装置
US12544659B2 (en) Non-transitory computer-readable storage medium with executable information processing program stored thereon, game system, game device, and information processing method
KR20200078547A (ko) 빔 실패 복구의 처리 방법 및 단말
JP2003062346A (ja) ゲーム情報、情報記憶媒体、サーバ及びゲーム端末
CN112511887A (zh) 视频播放控制方法及相应的装置、设备、系统和存储介质
JP4439476B2 (ja) データ転送装置および携帯電話
JPH1188557A (ja) エンタテインメントシステム、画像表示装置、情報処理装置、及び同期制御方法
JP4908336B2 (ja) テレビ受信機、テレビゲームシステム、及びテレビゲームシステムのゲームモード終了方法
CN113541842B (zh) 多靶场系统时间同步方法及装置
US12478870B2 (en) Non-transitory computer-readable storage medium with executable information processing program stored thereon, game system, game device, and information processing method
JP4215073B2 (ja) 無線ネットワークに接続されるステーション、無線ネットワークにステーションを参加させる方法、およびプログラム
JP5122160B2 (ja) 放送受信装置および同装置における音声出力制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101207

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: 20130311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130313

R150 Certificate of patent or registration of utility model

Ref document number: 5225764

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: 20190322

Year of fee payment: 6

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