説明

ゲームシステム、ゲーム装置およびゲームプログラム

【構成】 ゲームシステム100は複数のゲーム装置10を含み、各ゲーム装置10は通信可能に接続される。たとえば、通信ゲームを中断するとき、プレイヤは自身のゲーム装置10(ハウジング16)を閉じる。すると、ゲーム装置10は、スリープモードの設定に先立って、通信ゲーム(通信)を中断することを他のすべてのゲーム装置10に通知した後、ゲームメイン処理プログラムの実行に必要なパラメータをセーブして、当該ゲームメイン処理プログラムの実行を中断する。また、他のゲーム装置10は、通信ゲームを中断する旨の通知を受けて、パラメータをセーブし、ゲームメイン処理プログラムの実行を中断する。通信ゲームを再開するとき、各ゲーム装置10は、セーブしておいたパラメータを読み込み、ゲームメイン処理プログラムの実行を再開する。
【効果】 通信ゲームを中断した時点からゲームを再開することができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームシステム、ゲーム装置およびゲームプログラムに関し、特にたとえば、通信機能を備えた2台以上のゲーム装置によって通信ゲームを行う、ゲームシステム、ゲーム装置およびゲームプログラムに関する。
【背景技術】
【0002】
従来のこの種のゲームシステムの一例が特許文献1に開示される。この特許文献1によれば、子機は親機からの通信が途絶えたことを検出したときに、親機からブロードキャストされる親機パケットの受信を試みる。そして、子機は、タイムアウトになる前に親機パケットを受信し、当該親機パケットに自機の子機番号が存在するとき、復帰成功となる。
【特許文献1】特開2004−141225号
【発明の開示】
【発明が解決しようとする課題】
【0003】
一般的な通信ゲームでは、たとえば、3台のゲーム装置(説明の便宜上、X,Y,Zとする。)が無線通信により対戦ゲームを行っている場合に、プレイヤがゲーム装置Zを一定時間以上放置するなどにより、いわゆるスリープモードに切り替わってしまうと、通信が自動的に切断されてしまい、対戦ゲームが中断されることになる。その後、ゲーム装置Zが再接続しても、初めから対戦ゲームをやり直す必要があり、ゲーム装置Xおよびゲーム装置Yのプレイヤに迷惑をかけてしまう。
【0004】
また、特許文献1に開示される背景技術では、たとえば、3台のゲーム装置(説明の便宜上、A,B,Cとする。)で通信ゲームを行っている場合に、ゲーム装置Cの通信が切断されたとしても、残りのゲーム装置Aおよびゲーム装置Bで通信ゲームが進行されてしまう。このため、ゲーム装置Cが、再接続(復帰)した場合、或る程度進行してしまった通信ゲームに途中で参加することとなり、ゲーム装置Cのプレイヤは非常に不利である。
【0005】
それゆえに、この発明の主たる目的は、新規な、ゲームシステム、ゲーム装置およびゲームプログラムを提供することである。
【0006】
この発明の他の目的は、中断した時点からゲームを再開できる、ゲームシステム、ゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0007】
請求項1の発明は、通信機能を備えた2台以上のゲーム装置によって通信ゲームを行うゲームシステムである。各々のゲーム装置は、プログラム実行手段、通信手段、ゲーム中断モード設定手段、ゲーム中断モード通知手段、ゲーム中断処理手段、ゲーム中断モード解除手段、およびゲーム再開処理手段を備える。
【0008】
プログラム実行手段は、ゲームプログラムを実行する。通信手段は、他のゲーム装置との間で通信する。ゲーム中断モード設定手段は、プレイヤの操作に応じて、通信ゲームを中断するためのゲーム中断モードを設定する。ゲーム中断モード通知手段は、ゲーム中断モード設定手段によってゲーム中断モードが設定されたときに、通信手段を用いて通信ゲームを中断することを他のゲーム装置に通知する。ゲーム中断処理手段は、ゲーム中断モードの設定により通信ゲームを中断するとき、または、通信手段によって他のゲーム装置から通信ゲームを中断することの通知を受信したとき、ゲームプログラムの実行を中断する。ゲーム中断モード解除手段は、プレイヤの操作に応じて、ゲーム中断モードを解除する。ゲーム中断モード解除通知手段は、ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、通信手段を用いてゲーム中断モードを解除することを他のゲーム装置に通知する。そして、ゲーム再開処理手段は、ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、または、通信手段によって他のゲーム装置からゲーム中断モードを解除することの通知を受信したとき、ゲーム中断処理手段によって中断されたゲームプログラムの実行を再開する。
【0009】
請求項1の発明では、ゲームシステム(100:実施例で相当する参照符号。以下同じ。)は、通信機能を備えた2台のゲーム装置(10)によって通信ゲームを行う。各ゲーム装置(10)では、プログラム実行手段(42)がゲームプログラム(480a)を実行する。通信手段(32,42,64)は、他のゲーム装置(10)との間で通信を行う。ゲーム中断モード設定手段(42,S15,S17)は、通信ゲームを中断するためのゲーム中断モードを設定する。ゲーム中断モード通知手段(42,S23)は、ゲーム中断モード設定手段(42,S15,S17)によってゲーム中断モードが設定されたときに、通信手段(32,42,64)を用いて、通信ゲームを中断することを他のゲーム装置(10)に通知する。ゲーム中断処理手段(42,S19,S21)は、ゲーム中断モードの設定により通信ゲームを中断するとき、または、通信手段(32,42,64)によって他のゲーム装置(10)から通信ゲームを中断することの通知を受信したとき(S49で“YES”)、ゲームプログラム(480a)の実行を中断する。ゲーム中断モード解除手段(42,S27,S29)は、プレイヤの操作に応じて、ゲーム中断モードを解除する。ゲーム中断モード解除通知手段(42,S37)は、ゲーム中断モード解除手段(42,S27,S29)によってゲーム中断モードが解除されたとき、通信手段(32,42,64)を用いてゲーム中断モードを解除することを他のゲーム装置(10)に通知する。そして、ゲーム再開処理手段(42,S43,S45,S47)は、ゲーム中断モード解除手段(42,S27,S29)によってゲーム中断モードが解除されたとき、または、通信手段(32,42,64)によって他のゲーム装置(10)からゲーム中断モードを解除することの通知を受信したとき、ゲーム中断処理手段(42,S19,S21)によって中断されたゲームプログラム(480a)の実行を再開する。
【0010】
請求項1の発明よれば、各ゲーム装置は、ゲーム中断モードを設定するとき、ゲームプログラムの実行を中断し、そのことを他のゲーム装置に通知するので、他のゲーム装置においても通信ゲームが中断される。また、各ゲーム装置は、ゲーム中断モードを解除するとき、そのことを他のゲーム装置に通知し、他のゲーム装置においてもゲーム中断モードが解除されるので、中断した時点から通信ゲームを再開することができる。
【0011】
請求項2の発明は請求項1に従属し、ゲーム中断処理手段は、通信手段によって他のゲーム装置から通信ゲームを中断することの通知を受信したとき、ゲームプログラムの実行を自動的に中断する。
【0012】
請求項2の発明では、ゲーム中断処理手段(42,S19,S21)は、通信手段(32,42,64)によって他のゲーム装置(10)から通信ゲームを中断することの通知を受信したとき、ゲームプログラム(480a)の実行を自動的に中断する。
【0013】
請求項2の発明によれば、他のゲーム装置で通信ゲームが中断された場合には、自動的に通信ゲームが中断されるため、プレイヤの手を煩わすことがない。また、通信ゲームが勝手に進行されてしまうこともない。
【0014】
請求項3の発明は請求項1または2に従属し、ゲーム装置は、ゲームプログラムの実行に必要なパラメータを記憶するパラメータ記憶手段をさらに備え、プログラム実行手段は、パラメータ記憶手段に記憶されたパラメータを用いてゲームプログラムを実行し、パラメータ記憶手段は、ゲーム中断処理手段によってゲーム中断モードの設定により通信ゲームを中断するとき、または、通信手段によって他のゲーム装置から通信ゲームを中断することの通知を受信したとき、パラメータ記憶手段に記憶されたパラメータを保持し、ゲーム再開処理手段は、保持されたパラメータを用いてゲームプログラムを再開する。
【0015】
請求項3の発明では、各ゲーム装置(10)は、パラメータ記憶手段(28b,48)をさらに備える。パラメータ記憶手段(28b,48)は、ゲームプログラム(480a)の実行に必要なパラメータ(482b)ないしゲームデータを記憶する。プログラム実行手段(42)は、パラメータ記憶手段(28b,48)に記憶されたパラメータ(482b)を用いてゲームプログラムを実行する。つまり、ゲーム処理を行う。パラメータ記憶手段(28b,48)は、ゲーム中断モード設定手段(42,S15,S17)によってゲーム中断モードの設定により通信ゲームを中断するとき、または、通信手段(32,42,64)によって他のゲーム装置から通信ゲームを中断することの通知を受信したとき、パラメータ(482b)を保持する。ゲーム再開処理手段(42,S43,S45,S47)は、保持されたパラメータ(482b)を用いてゲームプログラム(480a)を再開する。
【0016】
請求項3の発明によれば、通信ゲームを中断するときにゲームプログラムの実行に必要なパラメータを記憶しておくので、中断した時点から通信ゲームを再開することができる。
【0017】
請求項4の発明は請求項1ないし3のいずれかに従属し、ゲーム装置は、ゲーム中断モード設定手段によってゲーム中断モードが設定され、かつ通信ゲームが中断されているとき、通信手段の処理を停止する通信停止手段、およびゲーム中断モード解除手段によってゲーム中断モードが解除されたときに、通信手段の処理を再開する通信再開手段をさらに備える。
【0018】
請求項4の発明では、各ゲーム装置(10)は、通信停止手段(42,S25)および通信再開手段(42,S35)をさらに備える。通信停止手段(42,S25)は、ゲーム中断モード設定手段(42,S15,S17)によってゲーム中断モードが設定され、かつ通信ゲームが中断されているとき、通信手段(32,42,64)の処理を停止する。通信再開手段(42,S35)は、ゲーム中断モード解除手段(42,S27,S29)によってゲーム中断モードが解除されたときに、通信手段(32,42,64)の処理を再開する。
【0019】
請求項4の発明よれば、所定の操作によって通信を停止したり、再開したりすることができる。
【0020】
請求項5の発明は請求項4に従属し、通信停止手段は、前記他のゲーム装置から前記通信ゲームを中断することの通知を受信した場合には、前記通信手段の処理を停止しない。
【0021】
請求項5の発明では、通信停止手段(42,S25)は、他のゲーム装置(10)から通信ゲームを中断することの通知を受信した場合には(S49で“YES”)、通信手段(32,42,64)の処理を停止しない。
【0022】
請求項5の発明によれば、他のゲーム装置で通信ゲームが中断された場合には、自身の通信ゲームは中断されるが、通信手段の処理は停止されないため、通信手段の処理が停止されたゲーム装置が通信を再開するのを待機する状態となる。このため、通信手段の処理が停止されたゲーム装置が通信を再開するときに、確実に再接続することができ、通信ゲームを続行することができる。
【0023】
請求項6の発明は請求項3に従属し、ゲーム装置は、ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、すべての他のゲーム装置が通信可能状態であるか否かを判断する通信可能状態判断手段、通信可能状態判断手段によっていずれかの他のゲーム装置が通信可能状態でないことが判断されたとき、すべての他のゲーム装置が通信可能状態になるのを待機する接続待機手段、および通信可能状態判断手段によってすべての他のゲーム装置が通信可能状態であることが判断されたとき、パラメータ記憶手段からパラメータを読み込むパラメータ読み込み手段をさらに備える。
【0024】
請求項6の発明では、通信可能状態判断手段(42,S39)は、ゲーム中断モード解除手段(42,S27,S29)によってゲーム中断モードが解除されたとき、すべての他のゲーム装置(10)が通信可能状態であるか否かを判断する。接続待機手段(42,S41)は、通信可能状態判断手段(42,S39)によっていずれかの他のゲーム装置が通信可能状態でないことが判断されたとき(S39で“NO”)、すべての他のゲーム装置(10)が通信可能状態になるのを待機する。パラメータ読み込み手段(42,S45)は、通信可能状態判断手段(42,S39)によってすべての他のゲーム装置が通信可能状態であることが判断されたとき(S39で“YES”)、パラメータ記憶手段(28b,48)からパラメータ(482b)を読み込む。
【0025】
請求項6の発明によれば、すべてのゲーム装置が通信可能状態になるまでは待機し、すべてのゲーム装置が通信可能状態になったときに記憶しておいたパラメータを読み込むので、すべてのゲーム装置において、中断した時点から通信ゲームを再開することができる。つまり、一部のゲーム装置のプレイヤが不利になるような不都合は発生しない。
【0026】
請求項7の発明は、請求項1ないし6のいずれかに従属し、ゲーム装置は、開閉可能なハウジング、およびハウジングの開閉状態を検出する開閉状態判断手段をさらに備え、ゲーム中断モード設定手段は、開閉状態判断手段によってハウジングが閉じた状態に変化したことが判断されたとき、ゲーム中断モードを設定し、ゲーム中断モード解除手段は、開閉状態判断手段によってハウジングが開いた状態に変化したことが判断されたとき、ゲーム中断モードを解除する。
【0027】
請求項7の発明では、ゲーム装置(10)は、開閉可能なハウジング(16(16a,16b))を備え、開閉状態判断手段(42,S13,S15,S27)は、当該ハウジング(16)の開閉状態を判断する。そして、ゲーム中断モード設定手段(42,S15,S17)は、開閉状態判断手段(42,S13,S15,S27)によってハウジング(16)が閉じた状態に変化したことが判断されたとき、ゲーム中断モードを設定し、ゲーム中断モード解除手段(42,S27,S29)は、開閉状態判断手段(42,S13,S15,S27)によってハウジング(16)が開いた状態に変化したことが判断されたとき、ゲーム中断モードを解除する。
【0028】
請求項7の発明によれば、ゲーム装置の開閉により、通信ゲームの中断を指示したり、通信ゲームの再開を指示したりすることができる。つまり、操作が簡単である。
【0029】
請求項8の発明は、通信機能を備えたゲーム装置であって、プログラム実行手段、通信手段、ゲーム中断モード設定手段、ゲーム中断モード通知手段、ゲーム中断処理手段、ゲーム中断モード解除手段、およびゲーム再開処理手段を備える。
【0030】
プログラム実行手段は、ゲームプログラムを実行する。通信手段は、他のゲーム装置との間で通信する。ゲーム中断モード設定手段は、プレイヤの操作に応じて、通信ゲームを中断するためのゲーム中断モードを設定する。ゲーム中断モード通知手段は、ゲーム中断モード設定手段によってゲーム中断モードが設定されたときに、通信手段を用いて通信ゲームを中断することを他のゲーム装置に通知する。ゲーム中断処理手段は、ゲーム中断モードの設定により通信ゲームを中断するとき、または、通信手段によって他のゲーム装置から通信ゲームを中断することの通知を受信したとき、ゲームプログラムの実行を中断する。ゲーム中断モード解除手段は、プレイヤの操作に応じて、ゲーム中断モードを解除する。ゲーム中断モード解除通知手段は、ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、通信手段を用いてゲーム中断モードを解除することを他のゲーム装置に通知する。そして、ゲーム再開処理手段は、ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、または、通信手段によって他のゲーム装置からゲーム中断モードを解除することの通知を受信したとき、ゲーム中断処理手段によって中断されたゲームプログラムの実行を再開する。
【0031】
請求項8の発明においても、請求項1の発明と同様に、中断した時点から通信ゲームを再開することができる。
【0032】
請求項15の発明は、少なくとも他のゲーム装置との間で通信する通信手段を備えたゲーム装置のゲームプログラムであって、ゲーム装置のプロセサを、ゲーム中断モード設定手段、ゲーム中断モード通知手段、ゲーム中断処理手段、ゲーム中断モード解除手段、およびゲーム再開処理手段として機能させる。
【0033】
ゲーム中断モード設定手段は、プレイヤの操作に応じて、通信ゲームを中断するためのゲーム中断モードを設定する。ゲーム中断モード通知手段は、ゲーム中断モード設定手段によってゲーム中断モードが設定されたときに、通信手段を用いて通信ゲームを中断することを他のゲーム装置に通知する。ゲーム中断処理手段は、ゲーム中断モードの設定により通信ゲームを中断するとき、または、通信手段によって他のゲーム装置から通信ゲームを中断することの通知を受信したとき、ゲーム処理を中断する。ゲーム中断モード解除手段は、プレイヤの操作に応じて、ゲーム中断モードを解除する。ゲーム中断モード解除通知手段は、ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、通信手段を用いてゲーム中断モードを解除することを他のゲーム装置に通知する。そして、ゲーム再開処理手段は、ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、または、通信手段によって他のゲーム装置からゲーム中断モードを解除することの通知を受信したとき、ゲーム中断処理手段によって中断されたゲーム処理を再開する。
【0034】
請求項15の発明においても、請求項1の発明と同様に、中断した時点から通信ゲームを再開することができる。
【発明の効果】
【0035】
この発明によれば、各ゲーム装置は、ゲーム中断モードを設定するとき、ゲームプログラムの実行を中断し、そのことを他のゲーム装置に通知するので、他のゲーム装置においても通信ゲームが中断される。また、各ゲーム装置は、ゲーム中断モードを解除するとき、そのことを他のゲーム装置に通知し、他のゲーム装置においてもゲーム中断モードが解除されるので、中断した時点から通信ゲームを再開することができる。
【0036】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0037】
図1を参照して、この発明の一実施例であるゲームシステム(以下、単に「システム」という。)100は複数のゲーム装置10を含む。図1では、3台のゲーム装置10によってシステム100が構成されるように示してあるが、2台以上であれば、4台以上によって構成するようにしてもよい。システム100では、複数のゲーム装置10の各々は、通信(この実施例では、無線通信)可能に接続されており、1のゲーム装置10が親機となり、親機以外の他のゲーム装置10はすべて子機となる。
【0038】
ここで、親機の決定の仕方は様々であるが、たとえば、無線通信を開始した後に、一番に何らかのボタンが操作されたゲーム装置10を、親機として決定することができる。また、親機が決定されると、それ以外のゲーム装置10は子機として決定される。ただし、各子機を判別可能とするため、親機は、各子機に、識別情報ないし識別番号を割り当てる。
【0039】
図2は図1に示すゲーム装置10の外観を示す図解図である。この図2を参照して、ゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0040】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0041】
図2からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。また、上側ハウジング16aには、音抜き孔18が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aと同じ或いは略同じに選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0042】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが連結部15によって回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、つまりハウジング16(16a,16b)を閉じれば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。
【0043】
なお、図1および図2では、ハウジング16(16a,16b)を開いた状態を示しており、このとき、プレイヤはゲーム装置10を用いてゲームをプレイすることができる。ただし、ハウジング16(16a,16b)を閉じた状態では、後述するように、スリープモードが設定され、プレイヤはゲーム装置10を用いてゲームをプレイすることはできない。
【0044】
操作スイッチ20は、方向指示スイッチ(十字スイッチ)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面であり、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面であり、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり、上側ハウジング16aとの連結部以外に当該連結部を挟むように、左右に配置される。
【0045】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ20bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0046】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。さらに、ゲームに関するメニューを決定することもできる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0047】
動作スイッチ(左押しボタン)20Lおよび動作スイッチ(右押しボタン)20Rは、プッシュボタンで構成され、左押しボタン(Lボタン)20Lおよび右押しボタン(Rボタン)20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0048】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面(検出面)をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作すると、スティック24等の操作位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。
【0049】
この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出面の検出精度もその解像度に対応して256dot×192dotとしてある。ただし、タッチパネル22の検出面の検出精度は、LCD14の表示面の解像度よりも低くてもよく、高くてもよい。
【0050】
LCD12およびLCD14には異なるゲーム画像(ゲーム画面)を表示することができる。たとえば、一方のLCD(たとえば、LCD12)にゲームをプレイするためのゲーム画面を表示し、他方のLCD(たとえば、LCD14)に当該ゲームを操作するための文字情報を入力したり、アイコンを指示したりするためのゲーム画面(操作画面)を表示することができる。したがって、プレイヤはスティック24等でタッチパネル22を操作することにより、LCD14の画面上で、文字情報(コマンド)を入力したり、アイコン(或いは所定の画像)を指示したりすることができる。
【0051】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0052】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(収納穴)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0053】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含み、このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは下端(底面)に設けられる挿入口30から挿入される。図2では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図3参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図3参照)がメモリカード28にアクセス可能となる。
【0054】
さらにまた、ゲーム装置10はアンテナ32を含み、たとえば、このアンテナ32によって微弱電波を送受信することにより、他のゲーム装置10との間で無線通信が可能である。詳細な説明は省略するが、この実施例で示すゲーム装置10が送受信する微弱電波は、電波法による規制のかからない強度に設定されている。
【0055】
また、図2では表現できないが、上側ハウジング16aの音抜き孔18と対応する位置であり、この上側ハウジング16aの内部にはスピーカ32(図3参照)が設けられる。さらに、下側ハウジング16bの右上方であり、ゲーム装置10を閉じたときに、音抜き孔18(厳密には、スピーカ32)と対向する位置であり、この下側ハウジング16bの内部にはホール素子36(図3参照)が設けられる。
【0056】
なお、図2では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0057】
図3はゲーム装置10の電気的な構成を示すブロック図である。図3を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるととともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフエース回路(以下、「I/F回路」という。)54およびLCDコントローラ60が接続される。
【0058】
コネクタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0059】
ROM28aは、ゲーム装置10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データのようなゲームデータ(パラメータ)を記憶(セーブ)する。
【0060】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて一時的に発生するデータ(ゲームデータやフラグデータ)をRAM48に記憶しつつゲーム処理を実行する。
【0061】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部、または部分的かつ順次的に読み出され、RAM48に記憶(ロード)される。
【0062】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0063】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。なお、CPUコア42は、描画に必要な画像データをGPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして描画のためのゲーム画像データを作成し、GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成する。
【0064】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。また、LCDコントローラ60は、レジスタ62のデータ値が「1」である場合には、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0065】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接ゲーム画像データを読み出したり、GPU50およびGPU52を介してVRAM56およびVRAM58からゲーム画像データを読み出したりする。
【0066】
I/F回路54には、操作スイッチ20,タッチパネル22、スピーカ32およびホール素子36が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22からの座標データがI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタ(ゲームオブジェクト)の音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32から出力する。さらにまた、ホール素子36は、磁石(この実施例では、スピーカ32のボイスコイルが巻かれた磁石32a)の磁束を検出すると、磁束に応じた電圧値を出力する。この電圧値に応じた数値データがCPUコア42に入力される。上述したように、上側ハウジング16aを回動させることにより、ゲーム装置10が閉じられると、ホール素子36は磁石32aの磁束を検出することができる。つまり、CPUコア42は、ホール素子36からの数値データが入力されると、ゲーム装置10が閉じられていること(閉状態)を検出する。一方、CPUコア42は、ホール素子36からの数値データが入力されなければ、ゲーム装置10が開いていること(開状態)を検出する。
【0067】
なお、この実施例では、スピーカ32に設けられる磁石32aを、ゲーム装置10が閉じられているかどうかを検出するために用いるようにしてあるが、検出用の磁石を別途設けるようにしてもよい。
【0068】
また、図2に示したように、ゲーム装置10には、アンテナ32が接続されており、このアンテナ32は無線通信ユニット64に接続される。無線通信ユニット64は、バス44を介してCPUコア42に接続される。CPUコア42がゲームデータやコマンドを無線通信ユニット64に与えると、無線通信ユニット64はゲームデータ等をアナログ信号に変換して、微弱電波でアンテナ32から送信(発信)する。一方、無線通信ユニット64は、他のゲーム装置10から送信された微弱電波を、アンテナ32を介して受信し、受信した微弱電波からアナログ信号を分離し、ディジタル変換した後、CPUコア42に与える。このようにして、他のゲーム装置10との間で無線通信が行われる。したがって、システム100では、各々のゲーム装置10で通信して同一の仮想ゲーム(通信ゲーム)を行うことができる。
【0069】
従来、複数のゲーム装置間で通信ゲームを行っている場合に、或るゲーム装置が一定時間以上放置されるなどして、いわゆるスリープモードになり、通信が途絶えると、現在行われている通信ゲームが中断されてしまう。したがって、そのゲーム装置が再接続した場合には、複数のゲーム装置は初めから通信ゲームをやり直す必要がある。これを回避するため、或るゲーム装置の通信が途絶えた場合であっても、他のゲーム装置で通信ゲームを続行するようにすることも考えられるが、通信の途絶えたゲーム装置が再接続した場合には、既に通信ゲームが進行してしまっており、当該ゲーム装置のプレイヤは不利である。
【0070】
そこで、この実施例では、システム100の各ゲーム装置10において、通信ゲームを中断するとき、ゲームプログラム(厳密には、後述するゲームメイン処理プログラム480a)の実行に必要なパラメータ(ゲームデータ)を記憶(セーブ)して、ゲームメイン処理プログラムの実行(ゲーム処理)を中断し、再接続して通信ゲームを再開するとき、セーブしておいたパラメータを読み込む(ロードする)ようにしてある。
【0071】
簡単に説明すると、この実施例では、通信ゲームをプレイ中に、ゲーム装置10(ハウジング16)が閉じられると、その状態(閉状態)が検出される。つまり、上述したように、ホール素子36がスピーカ32に設けられる磁石32aの磁束を検出し、磁束に応じた電圧値の数値データがCPUコア42に与えられ、これによって、閉状態が検出される。CPUコア42は、閉状態を検出すると、通信ゲームを中断し、スリープモードを設定することを判断する。
【0072】
このとき、スリープモードの設定に先立って、通信ゲーム(通信)を中断することが、他のゲーム装置10に通知される。具体的には、ゲーム装置10が親機である場合には、親機は子機(他のゲーム装置10)に、通信ゲームを中断する旨の通知をブロードキャストする。また、ゲーム装置10が子機である場合には、子機は親機に通信ゲームを中断する旨を通知し、親機が他の子機にその旨を通知する。以下、同様である。
【0073】
通信ゲームを中断することが他のすべてのゲーム装置10に通知されると、スリープモードが設定される。ただし、スリープモードの設定に先立って、ゲームメイン処理プログラム480aの実行に必要なパラメータ(ゲームデータ)がRAM28bにセーブされ、当該ゲームメイン処理プログラム480aの実行が中断される。これは、上述したように、通信ゲームを中断した時点からゲームを再開するためであり、スリープモードの設定によってゲームデータが消滅してしまうのを回避するためである。たとえば、パラメータ(ゲームデータ)としては、プレイヤオブジェクトの位置データ、プレイヤオブジェクトに関するパラメータ(レベル、ライフ、アイテムなど)やゲームイベントについてのフラグなどが該当する。また、この実施例では、スリープモードが設定されると、通信機能をオフする。ただし、通信機能のみならず、CPUコア42、入力装置(操作スイッチ20およびタッチパネル22)およびI/F回路54のような必要最低限の回路コンポーネント以外の機能(たとえば、表示機能)をオフするようにしてもよい。
【0074】
なお、この実施例では、いずれかのゲーム装置10でスリープモードが設定されると、システム10を構成するすべてのゲーム装置10で通信ゲームが中断される。ただし、通信機能がオフされるのは、スリープモードが設定されたゲーム装置10のみである。
【0075】
したがって、子機がスリープモードを設定する場合には、当該子機から通信ゲームを中断する旨が親機に通知され、当該親機は他の子機に通信ゲームの中断を通知する。そして、親機および他の子機は、スリープモードを設定した子機が通信ゲームを再開するのを待機することになる。具体的には、親機は、スリープモードを設定した子機がスリープモードを解除し、通信ゲームの再開を通知したとき、他の子機に通信ゲームの再開を通知する。
【0076】
また、親機がスリープモードを設定する場合には、当該親機はすべての子機に通信ゲームの中断を通知する。そして、各子機は、スリープモードを設定した親機が通信ゲームを再開するのを待機することになる。具体的には、各子機はスリープモードを設定した親機をサーチし、当該親機がスリープモードを解除したとき、通信ゲームの再開を子機に通知する。
【0077】
なお、通信ゲームを再開する場合には、すべてのゲーム装置10が通信ゲームを再開可能な状態である必要がある。
【0078】
また、通信ゲームを中断する旨の通知を受けたゲーム装置10では、自機の通信ゲームを中断すべく、パラメータをRAM28bにセーブして、ゲームメイン処理プログラム480aの実行を中断する。
【0079】
ここで、図示は省略するが、他のゲーム装置10がスリープモードを設定して、通信ゲームが中断されているとき、スリープモードを設定していないゲーム装置10では、通信ゲームを待機している旨のメッセージが表示されるとともに、通信ゲームを終了するかどうかを選択させるためのメッセージが表示される。
【0080】
具体的には、子機がスリープモードを設定している場合には、親機および他の子機では、「メンバーがそろうのをまっています。」、「通信対戦をあきらめる場合には、「トップメニューへ」をタッチしてください。」のようなメッセージおよび「トップメニューへ」と表示されたボタン画像がLCD14に表示される。
【0081】
また、親機がスリープモードを設定している場合には、子機では、「再接続中です。通信相手をさがしています。」、「通信対戦をあきらめる場合には、「トップメニューへ」をタッチしてください。」のようなメッセージおよび「トップメニューへ」と表示されたボタン画像がLCD14に表示される。
【0082】
なお、「トップメニューへ」と表示されたボタン画像を指定(クリック)すると、通信ゲームが終了される。
【0083】
また、スリープモードが設定されている場合において、ゲーム装置10(ハウジング16)が開かれると、ホール素子36はスピーカ32の磁石32aの磁束を検出しなくなり、したがって、CPUコア42にホール素子36からの数値データが入力されなくなる。このことにより、CPUコア42は、ゲーム装置10の開かれた状態(開状態)を検出する。そして、CPUコア42は、開状態を検出すると、スリープモードを解除する。具体的には、CPUコア42は、通信機能をオンする。ただし、通信機能以外の機能(表示機能など)もオフされている場合には当該機能もオンされる。
【0084】
スリープモードが解除されると、CPUコア42(ゲーム装置10)は、通信ゲームを再開するか、または通信ゲームを終了するかを選択するための選択画面がLCD14(またはLCD12)に表示される。したがって、プレイヤは、通信ゲームを再開することや通信ゲームを終了することを選択することができる。プレイヤが通信ゲームの再開を指示(選択)すると、通信を再開したことが他のゲーム装置10に通知される。具体的には、ゲーム装置10が親機である場合には、通信を再開した旨をブロードキャストにより通知する。一方、ゲーム装置10が子機である場合には、通信を再開した旨を親機に通知する。このとき、親機が未だ通信を再開していない場合には、子機は、一定時間毎に親機をサーチし、親機が通信を再開した時点で、通信を再開した旨が通知されることになる。
【0085】
また、通信ゲームの再開が指示されると、各ゲーム装置10では、すべてのゲーム装置10が、通信中であるかどうか、すなわち通信ゲームの再開を指示したかどうかを判断する。具体的には、ゲーム装置10が親機であれば、自機で通信ゲームの再開が指示されたか否か、および子機から通信ゲームの再開の通知があるか否かを判断する。ゲーム装置10が子機であれば、親機から通信ゲームの再開の通知があるか否かを判断する。このようにして、すべてのゲーム装置10が通信ゲームを再開可能な状態(通信可能状態)であるか否かを判断しているのである。
【0086】
すべてのゲーム装置10が通信中であれば、各ゲーム装置10では、セーブしておいたパラメータがRAM28bから読み出され、RAM48にロードされる。ただし、このとき、ROM28aに記憶されているゲームプログラムや画像データなどもRAM48にロードされる。このようにして、通信ゲームを中断した時点から通信ゲームが再開される。
【0087】
なお、通信の終了が指示された場合には、終了指示を受けたゲーム装置10はそのまま通信ゲームを終了する。
【0088】
また、この実施例では、親機が各子機で通信ゲームの再開が指示されたか否かを検出し、自機を含むすべてのゲーム装置10でゲーム再開が指示されたとき、子機に通信ゲームの再開を通知する。子機は、親機からの通知を受けて、ゲームを再開します。
【0089】
図4はRAM48のメモリマップである。この図4を参照して、RAM48はゲームプログラム記憶領域480およびデータ記憶領域482を含む。ゲームプログラム記憶領域480にはゲームプログラムが記憶され、このゲームプログラムは、ゲームメイン処理プログラム480a、ゲーム画像生成プログラム480b、ゲーム画像表示プログラム480c、通信処理プログラム480d、ゲーム中断プログラム480e、スリープモード設定プログラム480f、バックアッププログラム480gおよびパラメータ読込みプログラム480hなどによって構成される。
【0090】
ゲームメイン処理プログラム480aは、ゲーム装置10で実行される通信ゲーム(仮想ゲーム)のメインルーチンを処理するためのプログラムである。ゲーム画像生成プログラム480bは、通信ゲームに登場するゲームオブジェクトを含むゲーム画像を、後述する画像データ482aを用いて生成するためのプログラムである。ここで、ゲームオブジェクトとしては、プレイヤの操作(指示)に従って動作等が指示されたプレイヤオブジェクト、プレイヤの操作によらないでコンピュータ(CPUコア42)の指示に従って動作等が指示されるノンプレイヤオブジェクト(敵オブジェクトなど)、アイテムオブジェクトおよび背景オブジェクトなどが該当する。ゲーム画像表示プログラム480cは、ゲーム画像生成プログラム480bに従って生成されたゲーム画像をLCD12またはLCD14に表示するためのプログラムである。
【0091】
通信処理プログラム480dは、通信機能(無線通信ユニット64)をオン/オフするとともに、通信機能がオンである場合に、他のゲーム装置10との間で、データ通信を実行するためのプログラムである。ただし、通信機能をオン/オフする処理に代えて、CPUコア42がこの通信処理プログラム480dの実行を開始/停止するようにしてもよい。
【0092】
ゲーム中断プログラム480eは、通信ゲームを中断するためのプログラムである。具体的には、後述するスリープモード設定プログラム480fに従ってスリープモードが設定される場合に、その設定に先立って、通信ゲームを中断することを、通信処理プログラム480dを実行することにより、他のゲーム装置10に通知する。そして、パラメータ482cをRAM28bに記憶するとともに、ゲームメイン処理プログラム480aの実行を中断する。また、他のゲーム装置10から通信ゲームを中断する旨の通知を受けた場合に、自機においても通信ゲームを中断するべく、パラメータ482cをRAM28bに記憶するとともに、ゲームメイン処理プログラム480aの実行を中断する。
【0093】
スリープモード設定プログラム480fは、ゲーム中(この実施例では、通信ゲーム中)に自機のハウジング16が開状態から閉状態に変化した場合に、スリープモードを設定するためのプログラムである。ただし、上述したように、スリープモードの設定に先立って、上述したゲーム中断プログラム480eに従って、通信ゲームが中断される。
【0094】
バックアッププログラム480gは、スリープモードの設定に先立って、ゲームメイン処理プログラム480aの実行に必要なパラメータ482bをRAM28bにセーブして、当該ゲームメイン処理プログラム480aの実行を中断するためのプログラムである。パラメータ読込みプログラム480hは、スリープモードを解除し、通信ゲームを再開することが指示された場合に、RAM28bにセーブされているパラメータ482bを読み出し、RAM48のデータ記憶領域482に書き込む(ロードする)ためのプログラムである。
【0095】
なお、図示は省略するが、ゲームプログラム記憶領域480には、音楽(BGM)、効果音、プレイヤオブジェクトなどの声(擬声音)などのゲームに必要な音を出力するためのプログラムも記憶される。
【0096】
データ記憶領域482には、画像データ482aおよびパラメータ482bなどのデータが記憶される。画像データ482aは、上述したゲームオブジェクトなどのゲーム画像を生成するためのデータ(ポリゴンデータ、テクスチャデータなど)である。パラメータ482bは、ゲームの進行に従って発生し、ゲームメイン処理プログラム480aの実行に必要なパラメータ(ゲームデータ)である。上述したように、パラメータは、プレイヤオブジェクトの位置データ、プレイヤオブジェクトに関するパラメータ(レベル、ライフ、アイテムなど)やゲームイベントについてのフラグなどである。
【0097】
また、データ記憶領域482には、ゲーム中断フラグ482cおよび接続待機フラグ482dなどのフラグが記憶される。ゲーム中断フラグ482cは、通信ゲーム(または、無線通信)が中断しているか否かを判断するためのフラグである。この実施例では、ゲーム中断フラグ482cは、ゲーム中断プログラム480eに従って、オン(成立)/オフ(不成立)される。このゲーム中断フラグ482cは、1ビットのレジスタで構成され、当該フラグが成立(オン)されると、レジスタにデータ値「1」が設定され、逆に、当該フラグが不成立(オフ)されると、レジスタにデータ値「0」が設定される。ただし、ゲーム中断フラグ482cは、通信ゲームが中断されている場合にオンされ、通信ゲームが実行されている場合にオフされる。
【0098】
また、接続待機フラグ482dは、通信ゲームを再開する場合に、他のすべてのゲーム装置10がスリープモードを解除し、通信ゲームを再開するのを待機している状態か否かを判断するためのフラグである。この接続待機フラグ482dもまた、1ビットのレジスタで構成され、当該フラグが成立(オン)されると、レジスタにデータ値「1」が設定され、逆に、当該フラグが不成立(オフ)されると、レジスタにデータ値「0」が設定される。ただし、接続待機フラグ482dは、自機は通信可能であるが、他のいずれかのゲーム装置10で通信が中断されている(スリープモードが設定されている)場合にオンされる。一方、接続待機フラグ482dは、自機が通信可能であり、他のすべてのゲーム装置10も通信可能である(スリープモードを解除した)場合にオフされる。
【0099】
なお、図示は省略するが、データ記憶領域482には、音(音楽)データのような他のデータも記憶され、また、ゲームメイン処理プログラム480aの実行(ゲームの進行)に必要な他のフラグやレジスタなども設けられる。
【0100】
具体的には、図3に示したCPUコア42が図5〜図8に示す通信ゲーム処理を実行する。図5に示すように、CPUコア42は通信ゲーム処理を開始すると、ステップS1で、複数のゲーム装置10間で無線接続を確立する。続くステップS3で、ゲーム中断フラグ482cをオフし、ステップS5で、接続待機フラグ482dをオフする。続いて、ステップS7では、接続待機フラグ482dがオンかどうかを判断する。つまり、少なくとも通信ゲームの再開を指示していないゲーム装置10が1台でも存在するかどうかを判断する。
【0101】
ステップS7で“NO”であれば、つまり接続待機フラグ482dがオフであれば、通信ゲーム(通信)の接続待機中でないと判断して、ステップS9で、ゲーム中断フラグ482cがオフであるかどうかを判断する。つまり、自機のスリープモードの設定が解除されているかどうかを判断する。ステップS9で“NO”であれば、つまりゲーム中断フラグ482cがオンであれば、自機のスリープモードが解除されていないと判断して、そのまま図6に示すステップS15に進む。一方、ステップS9で“YES”であれば、つまりゲーム中断フラグ482cがオフであれば、自機のスリープモードが解除されていると判断して、ステップS11で、ゲームメイン処理プログラム480aを実行して、パラメータ482bを更新する。そして、ステップS13で、ゲーム装置10(自機)の開閉状態を確認して、ステップS15に進む。ただし、ステップS13では、CPUコア42は、ホール素子36の出力の有無を検出する。
【0102】
図6に示すステップS15では、自機が開状態から閉状態に変わったかどうかを判断する。ステップS15で“NO”であれば、つまり自機が開状態から閉状態に変わっていなければ、開状態或いは閉状態を維持していると判断して、図7に示すステップS27に進む。しかし、ステップS15で“YES”であれば、つまり自機が開状態から閉状態に変わっていれば、ステップS17で、ゲーム中断フラグ482cをオンする。続いて、スリープモードを設定すべく、ステップS19で、パラメータをRAM28bに記憶(セーブ)し、ステップS21で、ゲームメイン処理プログラム480aの実行を中断し、そして、ステップS23で、通信ゲームを中断することを他のすべてのゲーム装置10に通知する。つまり、CPUコア42は、無線通信ユニット64およびアンテナ32を介して、通信(通信ゲーム)を中断する旨を通知する。具体的な通知方法は上述したとおりであるため、重複した説明は省略する。その後、ステップS25で、通信処理を中断し、図8に示すステップS47に進む。たとえば、ステップS25では、無線通信ユニット64への電源供給を停止したり、通信処理プログラム480dの実行を中断(停止)したりする。
【0103】
上述したように、ステップS15で“NO”であれば、図7に示すステップS27で、自機が閉状態から開状態に変わったかどうかを判断する。つまり、ホール素子36の出力が、有る状態から無い状態に変化したかどうかを判断する。ステップS27で“NO”であれば、つまり自機が閉状態から開状態に変わっていなければ、閉状態或いは開状態を維持していると判断して、図8に示すステップS49に進む。しかし、ステップS27で“YES”であれば、つまり自機が閉状態から開状態に変わっていれば、ステップS29で、ゲーム中断フラグ482cをオフし、ステップS31で、通信ゲームを再開するかどうかを判断する。図示は省略するが、ここでは、上述したように、通信ゲームを再開するか、または通信ゲームを終了するかを選択するための選択画面がLCD14(またはLCD12)に表示され、プレイヤの選択(指示)を待機する。
【0104】
ステップS31で“NO”であれば、つまり通信を再開しない場合には、ステップS33で、ゲーム終了かどうかを判断する。つまり、上述したような選択画面において、プレイヤが通信ゲームの終了を選択したかどうかを判断するのである。ステップS33で“YES”であれば、つまりゲーム終了であれば、通信ゲームを終了すべく、図8に示すステップS55に進む。一方、ステップS33で“NO”であれば、つまりゲーム終了でなければ、そのままステップS31に戻って、通信ゲームの再開または通信ゲームの終了が指示(選択)されるのを待機する。
【0105】
また、ステップS31で“YES”であれば、つまり通信ゲームを再開する場合には、ステップS35で、通信を再開する。つまり、CPUコア42は、無線通信ユニット64への電源供給を開始したり、通信処理プログラム480dの実行を開始したりする。続くステップS37では、通信再開を他のゲーム装置10に通知する。つまり、CPUコア42は、無線通信ユニット64およびアンテナ32を介して、通信を再開した旨を通知する。
【0106】
そして、ステップS39で、すべてのゲーム装置10が通信中であるかどうか、すなわち、すべてのゲーム装置10で通信ゲームの再開が指示されたかどうかを判断する。この判断方法は上述したとおりであるため、重複した説明は省略する。ステップS39で“NO”であれば、つまり通信中でないゲーム装置10が存在すれば、ステップS41で、接続待機フラグ482dをオンして、図8に示すステップS53に進む。ただし、CPUコア42は、既に接続待機フラグ482dをオンしている場合には、ステップS41の処理を実行せずに、そのままステップS53に進む。一方、ステップS39で“YES”であれば、つまりすべてのゲーム装置10が通信中であれば、ステップS43で、接続待機フラグ482dをオフする。そして、通信ゲームを再開すべく、ステップS45で、パラメータを読込み、ステップS47で、ゲームメイン処理プログラム480aを開始し、ステップS53に進む。ただし、ステップS45では、CPUコア42は、パラメータをRAM28bから読み出して、RAM48のデータ記憶領域482に書き込む(ロードする)。
【0107】
上述したように、ステップS27で“NO”であれば、図8に示すステップS49で、他のゲーム装置10から通信ゲームを中断する旨の通知を受信したかどうかを判断する。ステップS49で“YES”であれば、つまり通信ゲームを中断する旨の通知を受信すると、通信ゲームを中断すべく、ステップS57で、ゲーム中断フラグ482cをオンし、ステップS59で、パラメータをRAM28bに記憶し、そして、ステップS61で、ゲームメイン処理プログラム480aの実行を中断し、図7に示したステップS39に戻る。一方、ステップS49で“NO”であれば、つまり通信ゲームを中断する旨の通知を受信していなければ、ステップS51で、通信再開の通知を受信したかどうかを判断する。
【0108】
ステップS51で“YES”であれば、つまり通信再開の通知を受信すれば、図7に示したステップS39に戻る。一方、ステップS51で“NO”であれば、つまり通信再開の通知を受信していなければ、ステップS53に進む。
【0109】
なお、図5〜図8に示す通信ゲーム処理のフロー図においては、通信再開の通知を受けると、ゲーム装置10が親機または子機に拘わらず、ステップS39に戻るようにしてある。しかし、ゲーム装置10が子機である場合、親機から通信再開が通知され、このことはすべてのゲーム装置10が通信中であることを示すため、かかる場合には、ステップS39において、必ず“YES”と判断されることになる。ただし、ゲーム装置10が親機である場合には、子機から通信再開が通知されるため、ステップS39において、すべてのゲーム装置10(ここでは、すべての子機)が通信中かどうかを判断するのである。
【0110】
ステップS53では、ゲーム終了かどうかを判断する。ここでは、プレイヤよってゲーム終了の指示が入力されたり、ゲームオーバになったりしたかを判断する。ステップS53で“NO”であれば、つまりゲーム終了でなければ、図5に示したステップS7に戻る。一方,ステップS53で“YES”であれば、つまりゲーム終了であれば、ステップS55で、ゲーム終了処理を実行して、通信ゲーム処理を終了する。たとえば、ステップS55では、CPUコア42は、パラメータをセーブした後、ゲーム初期画面を表示する。
【0111】
この実施例によれば、或るゲーム装置で通信ゲームが中断されると、そのことが他のゲーム装置に通知され、当該他のゲーム装置でも通信ゲームが再開される。また、或るゲーム装置が中断していた通信ゲームの再開を指示すると、そのことが他のゲーム装置に通知され、他のゲーム装置でも通信ゲームが再開されるため、中断した時点から通信ゲームを再開することができる。
【0112】
また、この実施例では、通信ゲームを中断するとき、パラメータをセーブするとともに、ゲームメイン処理プログラムの実行を中断するので、ゲームを中断する時点のパラメータが失われるのを防止することができ、さらには、通信ゲームを再開するときに、セーブしておいたパラメータを読み込むことにより、中断した時点から通信ゲームを確実に再開することができる。
【0113】
なお、この実施例では、開閉可能なゲーム装置を用いて、その開閉状態に応じて、スリープモードを設定したり、解除したりするようにした。しかし、これに限定される必要はなく、プレイヤのスイッチ操作等により、スリープモードを設定したり、解除したりするようにすることもできる。
【0114】
また、この実施例では、表示器が一体的に形成されたゲーム装置を用いてシステムを構成する場合について示したが、表示器が別に設けられたゲーム装置によってシステムを構成する場合にも適用できる。
【0115】
さらに、この実施例では、各ゲーム装置を無線接続するようにしたが、これに限定される必要はなく、有線接続するようにしてもよいし、インターネット網等を用いて接続するようにしてもよい。
【0116】
さらにまた、ゲーム装置の構成は、上述の実施例の構成に限定されるべきでない。たとえば、LCDは1つでもよく、タッチパネルは2つのLCDのそれぞれに設けるようにしてもよい。さらに、左右2つのスピーカを設けるようにしてもよい。
【図面の簡単な説明】
【0117】
【図1】図1はこの発明のゲームシステムを示す図解図である。
【図2】図2は図1実施例に示すゲーム装置の一例を示す図解図である。
【図3】図3は図2に示すゲーム装置の電気的な構成を示すブロック図である。
【図4】図4は図3に示すゲーム装置内部に設けられるRAMのメモリマップの一例を示す図解図である。
【図5】図5は図3に示すCPUコアの通信ゲーム処理の一部を示すフロー図である。
【図6】図6は図3に示すCPUコアの通信ゲーム処理の他の一部であり、図5に後続するフロー図である。
【図7】図7は図3に示すCPUコアの通信ゲーム処理のその他の一部であり、図5および図6に後続するフロー図である。
【図8】図8は図3に示すCPUコアの通信ゲーム処理のさらに他の一部であり、図5ないし図7に後続するフロー図である。
【符号の説明】
【0118】
10 …ゲーム装置
12,14 …LCD
16,16a,16b …ハウジング
20 …操作スイッチ
22 …タッチパネル
24 …スティック
28 …メモリカード
28a …ROM
28b,48 …RAM
32 …アンテナ
40 …電子回路基板
42 …CPUコア
50,52 …GPU
54 …I/F回路
56,58 …VRAM
60 …LCDコントローラ
64 …無線通信ユニット
100 …ゲームシステム

【特許請求の範囲】
【請求項1】
通信機能を備えた2台以上のゲーム装置によって通信ゲームを行うゲームシステムであって、
各々の前記ゲーム装置は、
ゲームプログラムを実行するプログラム実行手段、
他のゲーム装置との間で通信する通信手段、
プレイヤの操作に応じて、前記通信ゲームを中断するためのゲーム中断モードを設定するゲーム中断モード設定手段、
前記ゲーム中断モード設定手段によってゲーム中断モードが設定されたときに、前記通信手段を用いて前記通信ゲームを中断することを前記他のゲーム装置に通知するゲーム中断モード通知手段、
前記ゲーム中断モードの設定により前記通信ゲームを中断するとき、または、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記ゲームプログラムの実行を中断するゲーム中断処理手段、
プレイヤの操作に応じて、前記ゲーム中断モードを解除するゲーム中断モード解除手段、
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、前記通信手段を用いてゲーム中断モードを解除することを前記他のゲーム装置に通知するゲーム中断モード解除通知手段、および
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、または、前記通信手段によって前記他のゲーム装置からゲーム中断モードを解除することの通知を受信したとき、前記ゲーム中断処理手段によって中断された前記ゲームプログラムの実行を再開するゲーム再開処理手段を備える、ゲームシステム。
【請求項2】
前記ゲーム中断処理手段は、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記ゲームプログラムの実行を自動的に中断する、請求項1記載のゲームシステム。
【請求項3】
前記ゲーム装置は、前記ゲームプログラムの実行に必要なパラメータを記憶するパラメータ記憶手段をさらに備え、
前記プログラム実行手段は、前記パラメータ記憶手段に記憶された前記パラメータを用いて前記ゲームプログラムを実行し、
前記パラメータ記憶手段は、前記ゲーム中断モード設定手段によって前記ゲーム中断モードの設定により前記通信ゲームを中断するとき、または、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記パラメータを保持し、
前記ゲーム再開処理手段は、前記保持されたパラメータを用いて前記ゲームプログラムを再開する、請求項1または2記載のゲームシステム。
【請求項4】
前記ゲーム装置は、
前記ゲーム中断モード設定手段によってゲーム中断モードが設定され、かつ前記通信ゲームが中断されているとき、前記通信手段の処理を停止する通信停止手段、および
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたときに、前記通信手段の処理を再開する通信再開手段をさらに備える、請求項1ないし3のいずれかに記載のゲームシステム。
【請求項5】
前記通信停止手段は、前記他のゲーム装置から前記通信ゲームを中断することの通知を受信した場合には、前記通信手段の処理を停止しない、請求項4記載のゲームシステム。
【請求項6】
前記ゲーム装置は、
前記ゲーム中断モード解除手段によって前記ゲーム中断モードが解除されたとき、前記すべての他のゲーム装置が通信可能状態であるか否かを判断する通信可能状態判断手段、
前記通信可能状態判断手段によっていずれかの前記他のゲーム装置が通信可能状態でないことが判断されたとき、前記すべての他のゲーム装置が通信可能状態になるのを待機する接続待機手段、および
前記通信可能状態判断手段によって前記すべての他のゲーム装置が通信可能状態であることが判断されたとき、前記パラメータ記憶手段から前記パラメータを読み込むパラメータ読込み手段をさらに備える、請求項3記載のゲームシステム。
【請求項7】
前記ゲーム装置は、開閉可能なハウジング、および前記ハウジングの開閉状態を検出する開閉状態判断手段をさらに備え、
前記ゲーム中断モード設定手段は、前記開閉状態判断手段によって前記ハウジングが閉じた状態に変化したことが判断されたとき、前記ゲーム中断モードを設定し、
前記ゲーム中断モード解除手段は、前記開閉状態判断手段によって前記ハウジングが開いた状態に変化したことが判断されたとき、前記ゲーム中断モードを解除する、請求項1ないし6のいずれかに記載のゲームシステム。
【請求項8】
通信機能を備えたゲーム装置であって、
ゲームプログラムを実行するプログラム実行手段、
他のゲーム装置との間で通信する通信手段、
プレイヤの操作に応じて、前記通信ゲームを中断するためのゲーム中断モードを設定するゲーム中断モード設定手段、
前記ゲーム中断モード設定手段によってゲーム中断モードが設定されたときに、前記通信手段を用いて前記通信ゲームを中断することを前記他のゲーム装置に通知するゲーム中断モード通知手段、
前記ゲーム中断モードの設定により前記通信ゲームを中断するとき、または、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記ゲームプログラムの実行を中断するゲーム中断処理手段、
プレイヤの操作に応じて、前記ゲーム中断モードを解除するゲーム中断モード解除手段、
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、前記通信手段を用いてゲーム中断モードを解除することを前記他のゲーム装置に通知するゲーム中断モード解除通知手段、および
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、または、前記通信手段によって前記他のゲーム装置からゲーム中断モードを解除することの通知を受信したとき、前記ゲーム中断処理手段によって中断された前記ゲームプログラムの実行を再開するゲーム再開処理手段を備える、ゲーム装置。
【請求項9】
前記ゲーム中断処理手段は、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記ゲームプログラムの実行を自動的に中断する、請求項8記載のゲーム装置。
【請求項10】
前記ゲームプログラムの実行に必要なパラメータを記憶するパラメータ記憶手段をさらに備え、
前記プログラム実行手段は、前記パラメータ記憶手段に記憶された前記パラメータを用いて前記ゲームプログラムを実行し、
前記パラメータ記憶手段は、前記ゲーム中断モード設定手段によって前記ゲーム中断モードの設定により前記通信ゲームを中断するとき、または、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記パラメータを保持し、
前記ゲーム再開処理手段は、前記保持されたパラメータを用いて前記ゲームプログラムを再開する、請求項8または9記載のゲーム装置。
【請求項11】
前記ゲーム中断モード設定手段によってゲーム中断モードが設定され、かつ前記通信ゲームが中断されているとき、前記通信手段の処理を停止する通信停止手段、および
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたときに、前記通信手段の処理を再開する通信再開手段をさらに備える、請求項8ないし10のいずれかに記載のゲーム装置。
【請求項12】
前記通信停止手段は、前記他のゲーム装置から前記通信ゲームを中断することの通知を受信した場合には、前記通信手段の処理を停止しない、請求項11記載のゲーム装置。
【請求項13】
前記ゲーム中断モード解除手段によって前記ゲーム中断モードが解除されたとき、前記すべての他のゲーム装置が通信可能状態であるか否かを判断する通信可能状態判断手段、
前記通信可能状態判断手段によっていずれかの前記他のゲーム装置が通信可能状態でないことが判断されたとき、前記すべての他のゲーム装置が通信可能状態になるのを待機する接続待機手段、および
前記通信可能状態判断手段によって前記すべての他のゲーム装置が通信可能状態であることが判断されたとき、前記パラメータ記憶手段から前記パラメータを読み込むパラメータ読込み手段をさらに備える、請求項10記載のゲーム装置。
【請求項14】
開閉可能なハウジング、および
前記ハウジングの開閉状態を検出する開閉状態判断手段をさらに備え、
前記ゲーム中断モード設定手段は、前記開閉状態判断手段によって前記ハウジングが閉じた状態に変化したことが判断されたとき、前記ゲーム中断モードを設定し、
前記ゲーム中断モード解除手段は、前記開閉状態判断手段によって前記ハウジングが開いた状態に変化したことが判断されたとき、前記ゲーム中断モードを解除する、請求項8ないし13のいずれかに記載のゲーム装置。
【請求項15】
少なくとも他のゲーム装置との間で通信する通信手段を備えたゲーム装置のゲームプログラムであって、
前記ゲーム装置のプロセサを、
プレイヤの操作に応じて、前記通信ゲームを中断するためのゲーム中断モードを設定するゲーム中断モード設定手段、
前記ゲーム中断モード設定手段によってゲーム中断モードが設定されたときに、前記通信手段を用いて前記通信ゲームを中断することを前記他のゲーム装置に通知するゲーム中断モード通知手段、
前記ゲーム中断モードの設定により前記通信ゲームを中断するとき、または、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、ゲーム処理を中断するゲーム中断処理手段、
プレイヤの操作に応じて、前記ゲーム中断モードを解除するゲーム中断モード解除手段、
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、前記通信手段を用いてゲーム中断モードを解除することを前記他のゲーム装置に通知するゲーム中断モード解除通知手段、および
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたとき、または、前記通信手段によって前記他のゲーム装置からゲーム中断モードを解除することの通知を受信したとき、前記ゲーム中断処理手段によって中断された前記ゲーム処理を再開するゲーム再開処理手段として機能させる、ゲームプログラム。
【請求項16】
前記ゲーム中断処理手段は、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記ゲーム処理を自動的に中断する、請求項15記載のゲームプログラム。
【請求項17】
前記ゲーム装置は、前記ゲーム処理の実行に必要なパラメータを記憶するパラメータ記憶手段をさらに備え、
前記パラメータ記憶手段に記憶された前記パラメータを用いて前記ゲーム処理を実行し、
前記パラメータ記憶手段は、前記ゲーム中断モード設定手段によって前記ゲーム中断モードの設定により前記通信ゲームを中断するとき、または、前記通信手段によって前記他のゲーム装置から前記通信ゲームを中断することの通知を受信したとき、前記パラメータを保持し、
前記ゲーム再開処理手段は、前記保持されたパラメータを用いて前記ゲーム処理を再開する、請求項15または16記載のゲームプログラム。
【請求項18】
前記プロセサを、
前記ゲーム中断モード設定手段によってゲーム中断モードが設定され、かつ前記通信ゲームが中断されているとき、前記通信手段の処理を停止する通信停止手段、および
前記ゲーム中断モード解除手段によってゲーム中断モードが解除されたときに、前記通信手段の処理を再開する通信再開手段としてさらに機能させる、請求項15ないし17のいずれかに記載のゲームプログラム。
【請求項19】
前記通信停止手段は、前記他のゲーム装置から前記通信ゲームを中断することの通知を受信した場合には、前記通信手段の処理を停止しない、請求項18記載のゲームプログラム。
【請求項20】
前記プロセサを、
前記ゲーム中断モード解除手段によって前記ゲーム中断モードが解除されたとき、前記すべての他のゲーム装置が通信可能状態であるか否かを判断する通信可能状態判断手段、
前記通信可能状態判断手段によっていずれかの前記他のゲーム装置が通信可能状態でないことが判断されたとき、前記すべての他のゲーム装置が通信可能状態になるのを待機する接続待機手段、および
前記通信可能状態判断手段によって前記すべての他のゲーム装置が通信可能状態であることが判断されたとき、前記パラメータ記憶手段から前記パラメータを読み込むパラメータ読込み手段としてさらに機能させる、請求項17記載のゲームプログラム。
【請求項21】
前記ゲーム装置は、開閉可能なハウジング、および前記ハウジングの開閉状態を検出する開閉状態判断手段をさらに備え、
前記ゲーム中断モード設定手段は、前記開閉状態判断手段によって前記ハウジングが閉じた状態に変化したことが判断されたとき、前記ゲーム中断モードを設定し、
前記ゲーム中断モード解除手段は、前記開閉状態判断手段によって前記ハウジングが開いた状態に変化したことが判断されたとき、前記ゲーム中断モードを解除する、請求項15ないし20のいずれかに記載のゲームプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate