以下、この実施例の限定しない一例に係るゲームシステムについて説明する。この実施例におけるゲームシステム1の一例は、本体装置(ゲーム装置;この実施例ではゲーム本体装置として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(図2参照)。以下では、この実施例のゲームシステム1のハードウェア構成について説明し、その後に、この実施例のゲームシステム1の制御について説明する。
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。この実施例において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。この実施例においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。この実施例においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図6に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種のゲーム装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。この実施例において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、この実施例においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
図4は、左コントローラ3の一例を示す六面図である。図4に示すように、左コントローラ3は、ハウジング31を備える。この実施例においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図1および図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、この実施例においては、アナログスティック32を押下する入力が可能である。
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上にLボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面のうち、本体装置2に装着される際に装着される側の面に、SLボタン43およびSRボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。この実施例においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。この実施例においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上にRボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、SLボタン65およびSRボタン66を備える。
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
本体装置2は、スロットインターフェース(以下、「I/F」と略記する)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。この実施例においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルエリアネットワーク内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、この実施例においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信(または、取得)する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信(または、取得)する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、この実施例においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、表示画像データや音声データ)を据置型モニタ等に出力することができる。
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。この実施例においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、第1所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判断することができる。
左コントローラ3は、電力供給部108を備える。この実施例において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
このようなゲームシステム1においてゲームプレイされる仮想のゲームの一例について説明する。仮想のゲームは、ボードゲームであり、複数のプレイヤ(つまり、マルチプレイヤ)が対戦する対戦ゲームまたはマルチプレイヤゲームとも呼ばれる。この仮想のゲームでは、複数のプレイヤが、順番に、サイコロを振り、または、ルーレットを回し、それぞれのプレイヤキャラクタまたはプレイヤオブジェクト(以下、単に「プレイヤキャラクタ」という)を、移動ルートにおいて、スタート地点のマスからゴール地点のマスに向けて移動させる。ただし、移動ルートが、三角形状、矩形状、円形状、楕円形状、トラック形状または8の字形状のような閉ループの場合には、スタート地点のマスとゴール地点のマスは一致し、プレイヤキャラクタは、スタート地点のマスに戻ると、次の周回を開始する場合もある。サイコロを振るまたはルーレットを回す回数(ターン数)は、仮想のゲームの開始時に決定される。
移動ルートは、仮想のゲーム空間またはゲームフィールドに形成され、移動ルート上には、複数のマスが設けられる。マスには、各種のイベントが割り当てられている。イベントとしては、仮想のコインオブジェクト(以下、単に「コイン」という)を獲得する、または、コインを消失することが該当する。コインを獲得する数とコインを消失する数は固定されてよいし、可変的に設定されてもよい。また、マスに割り当てられる他のイベントとして、アイテムを取得する、ミニゲームをプレイする、および、ハプニングが発生することが該当する。
以下、コインを獲得するマスをプラスマスと呼び、コインを消失するマスをマイナスマスと呼び、アイテムを取得するマスをアイテムマスと呼び、ミニゲームをプレイするマスをミニゲームマスと呼び、ハプニングが発生するマスをハプニングマスと呼ぶことにする。
また、イベントとしては、マスに割り当てられたもの以外に、プラスマスに止まること、マイナスマスに止まること、アイテムマスに止まること、ハプニングマスに止まること、ミニゲームマスに止まること、ミニゲームに勝利すること、および、アイテムマスに止まることなどがある。
なお、上記のイベントの種類は一例であり、限定される必要は無い。イベントの種類および数はさらに多くても良いし、少なくても良い。
また、コインは、プレイヤがミニゲームをプレイすることで、その勝敗によって、獲得したり消失したりする場合もある。ただし、プレイヤキャラクタは、対戦相手のプレイヤが使用するプレイヤキャラクタ(以下、「対戦キャラクタ」という)からコインを獲得する場合もあるし、対戦キャラクタにコインを奪われる場合もある。また、プレイヤキャラクタは、所持しているコインを、対戦キャラクタと交換する場合もある。さらに、ハプニングの発生により、プレイヤキャラクタは、所持しているコインの一部または全部を消失する場合もある。
また、移動ルートの複数の位置の各々には、1または複数の星オブジェクト(以下、「星」という)が配置されており、プレイヤキャラクタは、星が配置された位置を通過するときに、当該星を取得することができる。ただし、プレイヤキャラクタは、星を取得するために第1所定数(たとえば、20)のコインを消費する。星は、仮想のゲームの勝敗を決定するためのオブジェクトであり、仮想のゲームのプレイを終了したときの星の所持数に基づいて仮想のゲームの勝敗が決定される。星の所持数が多い順に、仮想のゲームの最終の順位が決定される。ただし、星の所持数が同じである場合には、コインの所持数の多い方の順位が上位に決定される。つまり、星の所持数およびコインの所持数は、仮想のゲームの勝敗を決定するための値、すなわち、評価値である。
ただし、星は、プレイヤがミニゲームをプレイすることで、その勝敗によって、取得したり消失したりする場合もある。また、プレイヤキャラクタは、対戦キャラクタから星を取得する場合もあるし、対戦キャラクタに星を奪われる場合もある。さらに、プレイヤキャラクタは、所持している星を、対戦キャラクタと交換する場合もある。さらにまた、ハプニングの発生により、プレイヤキャラクタは、所持している星の一部または全部を消失する場合もある。
上記のような仮想のゲームは、本体装置2のプロセッサ81が、当該仮想のゲームに参加している複数のプレイヤの各々の操作入力または2以上のプレイヤの操作入力に従う操作データに基づいてゲーム制御処理を実行し、ゲーム制御処理の結果に基づいてゲーム画像およびゲーム音声を生成し、生成したゲーム画像をディスプレイ12に表示するとともに、生成したゲーム音声をスピーカ88に出力することにより、ゲームプレイされる。
また、仮想のゲームの本編(ゲームパート)では、ボードゲームのゲームプレイが実行され、ボードゲームの最終的な順位が決定される。仮想のゲームの本編が終了すると、仮想のゲームの結果が表示される。つまり、結果発表のパートが実行される。仮想のゲームの結果発表については、後で詳細に説明する。
また、この実施例の仮想のゲームでは、本編の開始に先立って、選択画面において、プレイする人数(たとえば、2人-4人)および対戦方法が選択される。対戦方法としては、通信しない場合の1台対戦と、通信する場合のローカル対戦、フレンド対戦およびランダム対戦である。
1台対戦では、通信せずに1台の本体装置2を用いて仮想のゲームがゲームプレイされる。上述したように、ゲームシステム1では、左コントローラ3および右コントローラ4は、それぞれ、本体装置2に着脱可能であるため、左コントローラ3および右コントローラ4を本体装置2と別体で使用する場合には、仮想のゲームの本編の開始時に、各プレイヤが使用するコントローラも決定される。ただし、3人以上の人間が仮想のゲームをプレイする場合には、左コントローラ3および右コントローラ4と異なる別のコントローラが使用される。左コントローラ3と右コントローラ4は、それぞれ、異なるプレイヤが使用し、この場合、左コントローラ3の右方向ボタン33がXボタンとして機能し、下方向ボタン34がAボタンとして機能し、上方向ボタン35がYボタンとして機能し、左方向ボタン36がBボタンして機能する。また、別のコントローラを使用する場合には、仮想のゲームの本編の開始時に別のコントローラを使用することも設定される。
ローカル対戦では、対戦相手のプレイヤが使用するゲーム装置(この実施例では、他の本体装置2)と、直接無線通信して、または、ローカルエリアネットワーク経由で通信して仮想のゲームがゲームプレイされる。ローカルエリアネットワーク経由で通信する場合には、本体装置2は、他の本体装置2との間でローカル通信を行う。
フレンド対戦では、プレイヤの本体装置2は、対戦相手であるフレンドのプレイヤが使用する他の本体装置2とワイドエリアネットワーク経由で通信して仮想のゲーム(つまり、オンラインゲーム)をプレイする。フレンドのプレイヤとは、本体装置2にフレンドとして登録されたプレイヤを意味する。本体装置2にフレンドとして登録されたプレイヤとは、当該プレイヤのプレイヤ名および通信による接続状態を確立するための接続情報を本体装置2に登録されたプレイヤを意味する。ここで、フレンドとは、プレイヤ間の相互の同意に基づいて成立する交友関係をいう。フレンドは、一方のプレイヤが他方のプレイヤに対してフレンドの成立を求めるフレンド申請を行い、他方のプレイヤがこのフレンド申請を承認することで成立する。または、双方のプレイヤが相手に対してフレンド申請を行うことで成立する。フレンド同士のプレイヤは、それぞれの本体装置2を用いてデータの送受信を行うなど、互いに情報を共有することができる。
また、ワールドエリアネットワーク経由で通信する場合には、本体装置2は、無線LANおよびインターネットに接続して外部装置と通信を行う。以下、ワールドエリアネットワーク経由の通信を、「インターネット通信」と呼ぶことがある。
ランダム対戦では、プレイヤの本体装置2は、ランダムに選択された対戦相手のプレイヤが使用する他の本体装置2とインターネット通信して仮想のゲーム(つまり、オンラインゲーム)をプレイする。
この実施例では、1台対戦およびローカル対戦の場合には、対戦相手のプレイヤがフレンドとして登録されているか否かに関わらず、対戦相手のプレイヤは知り合いまたは交友関係を有していると仮定される。ローカル対戦では、プレイヤの本体装置2は、ローカルエリアネットワーク内の他の本体装置2を探索し、仮想のゲームに参加する。
また、フレンド対戦の場合には、本体装置2から対戦相手をマッチングするサーバ(以下、「マッチングサーバ」という)に、フレンド対戦を行うこと、すなわち、対戦相手であるフレンドのプレイヤを選択することが要求される。マッチングサーバは、フレンド対戦を行うことを要求したプレイヤの本体装置2に登録されたフレンドのプレイヤを探索し、フレンド対戦についての仮想のゲームに参加する複数のプレイヤを選択する。マッチングサーバは、フレンド対戦についての仮想のゲームに参加する複数のプレイヤを選択(または、決定)すると、各プレイヤが使用する本体装置2に対戦相手の情報を送信する。フレンド対戦の場合には、対戦相手の情報として、プレイヤ名を送信すれば、登録された接続情報を用いてフレンド対戦についての仮想のゲームに参加する他のプレイヤの本体装置2の各々との間で接続状態を確立する。
ランダム対戦の場合には、本体装置2からマッチングサーバに、ランダム対戦を行うこと、すなわち、対戦相手のプレイヤをランダムに選択することが要求される。マッチングサーバは、ランダム対戦を行うことを要求したプレイヤの本体装置2にフレンドすなわち事前に登録されたプレイヤ以外の他のプレイヤを探索し、ランダム対戦についての仮想のゲームに参加する複数のプレイヤをランダムに選択する。マッチングサーバは、ランダム対戦についての仮想のゲームに参加する複数のプレイヤを選択(または、決定)すると、各プレイヤが使用する本体装置2に対戦相手の情報を送信する。ランダム対戦の場合には、対戦相手の情報として、プレイヤ名と接続情報が送信され、各プレイヤが使用する本体装置2は受信した接続情報を用いてランダム対戦についての仮想のゲームに参加する他のプレイヤの本体装置2の各々との間で接続状態を確立する。
以下、この明細書において、ローカル通信およびインターネット通信を区別する必要が無い場合には、単に「通信」ということにする。また、ローカル対戦、フレンド対戦およびランダム対戦の各々についての仮想のゲームを区別する必要が無い場合には、「通信ゲーム」ということにする。
また、1台対戦についての仮想のゲームでは、本体装置2は、各プレイヤが使用するコントローラから操作データを検出し、検出した操作データに基づいて仮想のゲームについてのゲーム制御処理を実行する。ただし、コントローラは、プレイヤの数が2である場合には、左コントローラ3および右コントローラ4であり、プレイヤの数が3または4である場合には、左コントローラ3および右コントローラ4と、これらと同等の機能を有する1または2の他のコントローラである。
通信ゲームでは、プレイヤが使用する左コントローラ3および右コントローラ4からの操作データを検出するとともに、対戦相手のプレイヤが使用する他の本体装置2から送信された操作データを受信し、検出した操作データおよび受信した操作データに基づいて仮想のゲームについてのゲーム制御処理を実行する。したがって、通信ゲームの場合には、本体装置2は、プレイヤが使用する左コントローラ3および右コントローラ4からの操作データを検出すると、検出した操作データのコピーを対戦相手のプレイヤが使用する他の本体装置2に送信する。
なお、この実施例では、通信ゲームの場合には、プレイヤが使用する本体装置2は、対戦相手のプレイヤが使用する他の本体装置2との間で、操作データを送受信し、通信ゲームをプレイする複数の本体装置2の各々で仮想のゲームについてのゲーム処理が実行される。ただし、通信ゲームをプレイする複数の本体装置2のうちのいずれか1台の本体装置2が親機となり、1台または2台以上の他の本体装置2が子機となり、各子機から操作データを親機に送信し、親機でゲーム制御処理を実行した結果についての結果データを各子機に送信するようにしてもよい。
この実施例では、ランダム対戦についての仮想のゲームの本編が終了されると、結果発表パートの処理が実行される前に、仮想のゲームの本編に関する評価を行う評価パートの処理が実行される。ただし、ランダム対戦についての仮想のゲームをプレイしたプレイヤが、仮想のゲームの本編に関する評価を行う。この仮想のゲームの本編に関する評価は、ランダム対戦の内容についての評価であってもよいし、ランダム対戦に参加したプレイヤに対する評価であってもよい。また、評価を行うのは、人間のプレイヤである。したがって、コンピュータのプレイヤは評価を行わない。また、ランダム対戦についての仮想のゲームの本編が終了された後に評価が行われるため、ランダム対戦についての仮想のゲームをプレイするのを途中で辞めたプレイヤも評価を行わない。詳細な説明は省略するが、ランダム対戦では、一時的にコンピュータのプレイヤに変更して、一時的にランダム対戦から離脱することができる。一時的に離脱した場合であっても、評価は可能である。したがって、仮想のゲームの本編に関する評価を行うことができるプレイヤは、途中で辞めずに仮想のゲームの本編をプレイした人間のプレイヤである。
なお、この実施例では、ランダム対戦が行われた場合にのみ、後述する評価処理を実行するようにしてあるが、1台対戦、ローカル対戦およびフレンド対戦が行われた場合にも、評価処理を実行するようにしてもよい。
また、ランダム対戦において、一時的にコンピュータのプレイヤに変更したり、途中で辞めたりすることは、プレイヤによって意図的に行われたり、通信切断等でプレイヤの意図によらないで行われたりする。ただし、コンピュータのプレイヤによって制御されるキャラクタまたはオブジェクトは、ノンプレイヤキャラクタまたはノンプレイヤオブジェクトである。したがって、仮想のゲームのプレイ中に、人間のプレイヤからコンピュータのプレイヤに変更されると、プレイヤキャラクタは、ノンプレイヤキャラクタまたはノンプレイヤオブジェクトに変わる。
図8は本体装置2のディスプレイ12に表示される評価処理の開始時の評価画面200の限定しない一例を示す。図8に示す評価画面200は、評価処理の開始時に表示されるゲーム画像であって、評価の方法をユーザないしプレイヤ(以下、単に「プレイヤ」という)に説明または報知するためのゲーム画像である。
図8に示す評価画面200では、画面中央に、案内キャラクタ202が表示され、案内キャラクタ202の下方には、表示枠204が設けられる。案内キャラクタ202は、評価処理を進行または案内するためのキャラクタであり、仮想のゲームの本編において登場するプレイヤキャラクタとは異なる。表示枠204には、評価の方法を説明する文章がテキストで表示される。図8に示す例では、「最後まで対戦したみなさんで、拍手を送り合いましょう。」のテキストが表示される。したがって、プレイヤは、ランダム対戦についての仮想のゲームの本編に関する評価を行うことを知ることができる。
また、上記の通り、評価画面200では、プレイヤキャラクタとは異なる案内キャラクタ202が表示され、仮想のゲームの結果に拘わらず、プレイヤキャラクタは表示されない。このため、仮想のゲームの勝者のみを称えるような状況にはならない。他の例では、仮想のゲームに参加したすべてのプレイヤキャラクタを横一列に並べて表示するようにしても、同様に、仮想のゲームの勝者のみを称えるような状況にはならない。つまり、評価画面200は、全プレイヤ(または、全プレイヤキャラクタ)が対等になるように表示される。
図9はプレイヤによる評価の実行時に本体装置2のディスプレイ12に表示される評価画面200の限定しない一例を示す。図9の評価画面200は、プレイヤによる評価を開始して間もない時点のゲーム画像である。この実施例では、2人のプレイヤが評価する場合について説明する。ただし、2人のプレイヤのうち、一方はプレイヤであり、他方は対戦相手のプレイヤである。図9に示すように、プレイヤによる評価が開始されると、評価画面200には、プレイヤ名が記載された指示画像212および画像214が画面の上部に横に並んで表示される。画像212の下方には、両手画像216が表示され、画像214の下方には、両手画像218が表示される。また、両手画像216と両手画像218の間には、拍手の合計数を表示する画像220が表示される。さらに、画像220の下方には、案内キャラクタ202が表示され、案内キャラクタ202と画像220の間には、プレイヤが拍手するための操作方法を説明する内容がテキストで表示される。図9に示す例では、「Aボタンを押すたびに拍手」の文字列の画像が表示される。
画像212は、長円形状の枠画像を含み、枠画像の内側にプレイヤ名として「A」が記載される。同様に、画像214は、長円形状の枠画像を含み、枠画像の内側にプレイヤ名として「B」が記載される。両手画像216および両手画像218は、それぞれ、人間の両手を模した描画用オブジェクト(「第2描画用オブジェクト」に相当する)であり、両手画像216は画像212の枠画像の内側に表示されたプレイヤ名のプレイヤに対応し、両手画像218は画像214の枠画像の内側に表示されたプレイヤ名のプレイヤに対応する。以下、プレイヤ名が「A」であるプレイヤを「プレイヤA」と呼び、プレイヤ名が「B」であるプレイヤを「プレイヤB」と呼ぶことにする。
プレイヤが評価入力を行うと、つまり、プレイヤがAボタン53を操作すると、このプレイヤに対応する両手画像216または両手画像218が拍手するように表示される。プレイヤがAボタン53を操作しない場合には、このプレイヤに対応する両手画像216または両手画像218は変化しない。したがって、プレイヤは、このプレイヤに対応する両手画像216または両手画像218を見て、評価入力が行われていること、つまり、自身の操作によって拍手していることを知ることができる。また、拍手のような自然なアクションによってプレイヤ自身および他のプレイヤを称えることができる。したがって、ランダム対戦についての仮想のゲームに参加したプレイヤの満足度を向上することができる。
ただし、プレイヤがAボタン53を操作しない場合には、このプレイヤに対応する両手画像216または両手画像218を表示せずに、プレイヤがAボタン53を操作した場合に、このプレイヤに対応する両手画像216または両手画像218を表示することで、拍手する様子を表現するようにしてもよい。
このように、評価入力があることを示す画像としては、3段階以上の量を持つことが自然なアクションを表現できる画像が設定される。
なお、この実施例では、プレイヤは、Aボタン53のようなボタンを操作することで拍手するようにしてあるが、これに限定される必要はない。他の例では、プレイヤは、コントローラ(コントローラが本体装置2に装着されている場合も含む)を振るなどのモーション操作またはマイクを通した音声入力により、拍手するようにしてもよい。ただし、モーション操作を可能にする場合には、コントローラ(3、4)にモーションセンサ(たとえば、加速度センサまたは/およびジャイロセンサ)を設け、モーションセンサの出力に基づいてコントローラを振ったかどうかを判断する。また、音声入力を可能にする場合には、音声入出力端子25にマイクを接続し、マイクを通して入力される音声を検出し、検出した音声の音量に基づいて音声入力があるかどうかを判断する。たとえば、マイクを通して音声入力する場合には、プレイヤは、「パチパチパチ」と発声したり、実際に拍手して「パチパチパチ」という音を発生させたりする。
画像220は、評価を行うすべてのプレイヤによって指示された拍手の数の合計(以下、「合計数」という)を表示するための描画用オブジェクト(「第1描画用オブジェクト」に相当する)であり、リング状の枠画像の内側に、合計数を示す数字の画像が表示される。たとえば、図9の評価画面200は、プレイヤによる評価が開始された序盤の画像であり、合計数として「5」が表示される。合計数は、プレイヤが拍手するたびに更新され、画像220の枠画像の内側の数字の画像も更新される。したがって、プレイヤは拍手の合計数の途中経過を知ることができ、また、プレイヤに、より多くの拍手を促すことができる。
ただし、合計数の数字の画像を、第2所定時間の途中から表示したり、第2所定時間を経過した後に表示したりすることもできる。また、合計数を示す数字の画像に代えて、合計数に応じて延びる棒の画像を表示したり、合計数に応じて個数を増やすように所定の図形またはキャラクタの画像を表示したり、合計数に応じて枠画像の内側を背景の色とは異なる色で塗りつぶしたりしてもよい。つまり、数字以外で、拍手の合計値を表現するようにしてもよい。
また、合計数の数字の画像のみならず、拍手の合計数であることが分かるように、画像220の枠画像の内側に、両手画像216および218と同様の両手画像も表示し、合計数が増加される度に、拍手するように表示されるようにしてもよい。
また、画像220の枠画像の内側には、画像220の背景として、所定の色(一例として、赤色)が付されている。図9に示す画像220では、枠画像の内側に複数の横線を記載することで、枠画像の内側に赤色が付されていることを示してある。また、画像220の背景の色は、合計数によって変化される。この実施例では、合計数が0-99である場合には、背景の色は赤色であり、合計数が100以上である場合には、背景の色は青色である。したがって、プレイヤは、画像220に付された色で合計数が100未満であるか100以上であるかを知ることができる。
ただし、この実施例では、合計数に応じて、画像220の背景の色を変化させるようにしてあるが、画像220の形状または/および大きさを変化させるようにしてもよい。また、画像220自体の太さまたは/および色(模様を含む)を変化させるようにしてもよい。さらに、画像220の内側または外側に、合計数に応じて、画像220を装飾するような所定の描画用オブジェクト(たとえば、ハートの画像)を表示するようにしてもよい。これらの変形例は、複合的に採用されてもよい。
また、図9では、プレイヤBが拍手し、プレイヤBに対応する両手画像218が拍手するように表示される。この実施例では、プレイヤが評価を行う時間は第2所定時間(たとえば、7秒-10秒)に決定されている。つまり、拍手する操作を行う時間の上限が設定されている。したがって、第2所定時間内であれば、プレイヤは、拍手し続けることができる。つまり、拍手の回数に上限は設けられていない。
図9に示すように、評価画面200には、プレイヤ毎の拍手の数は表示していない。このため、拍手の数についてのプレイヤ間の競争を生まないため、拍手の数の多さに拘わらず、ランダム対戦についての仮想のゲームに参加したプレイヤの満足度を向上することができる。
また、この実施例では、Aボタン53を操作する毎に拍手することができ、Aボタン53の操作回数が拍手の数と一致する。つまり、評価するかしないか(1か0か)のみならず、3段階の値で評価することができる。したがって、評価の度合もプレイヤが決定することができる。拍手の数が多い程、評価が高いことを意味する(つまり、プラスの評価である)。
ただし、他の実施例では、評価するかしないかのみを入力できるようにしてもよい。また、Aボタン53を操作する度に、拍手するようにしてあるが、Aボタン53を長押しし、長押しした時間に応じた回数に換算して拍手するようにしてもよい。また、Aボタン53を操作するようにしてあるが、予め決定された範囲(たとえば、0-100)内において数値を入力するようにしてもよい。Aボタン53を長押ししたり、数値を入力したりする場合には、整数のみならず、小数点以下の数値も入力できるようにしてもよい。このようにすれば、プレイヤの意向をより正確に反映することができる。
また、マイナスの評価を出来るようにしてもよい。たとえば、Bボタン54の操作でマイナスの評価を行い、Bボタンの操作回数でマイナスの評価を行う。この場合、Bボタン54が操作される度に、ブーイングするような手(片手または両手)の描画用オブジェクトが表示される。一例として、マイナスの評価が行われた場合には、合計数を算出するときに、マイナスの評価の数だけ拍手の数が減算される。
図示は省略するが、3人のプレイヤが評価を行う場合には、両手画像216の下方にさらに表示枠および両手画像が表示され、4人のプレイヤが評価を行う場合には、両手画像216の下方にさらに表示枠および両手画像が表示されるとともに、両手画像218の下方にさらに表示枠および両手画像が表示される。
図10はプレイヤによる評価の実行時の終盤に本体装置2のディスプレイ12に表示される評価画面200の限定しない一例を示す。図10の評価画面200は、プレイヤによる評価が終盤に近付いた場合のゲーム画像である。以下、図10に示す評価画面200について説明するが、図9を用いて説明した内容については説明を省略することにする。
図10では、第2所定時間のうち、残り時間が3秒になった時点の評価画面200が示される。図10に示すように、残り時間が3秒になると、画像222が画像220の上方に表示される。画像222は残り時間を表示するための画像である。画像222は、横長の長円の枠を含み、枠画像の内側に時計の画像と残りの時間(ここでは、秒数)を示す数字の画像が記載される。
また、図10に示す例では、プレイヤAも拍手しており、プレイヤAに対応する両手画像216も拍手するように表示される。図9に示した状態からさらに拍手が送られており、画像220の枠画像の内側の合計数が「76」に変化している。
さらに、図10に示すように、評価処理においては、案内キャラクタ202も拍手する。したがって、案内キャラクタ202が拍手するように表示される。案内キャラクタ202が拍手している間に、合計数が加算される。この実施例では、案内キャラクタ202は、第2所定時間よりも短い第3所定時間(たとえば、数フレーム)毎に1回拍手するように表示される。ただし、フレームは、画面の更新時間であり、一例として、1/60秒である。また、案内キャラクタ202が拍手することで、合計数に第2所定数(たとえば、50)が加算される。
このように、案内キャラクタ202が第2所定数(「補充量」に相当する)の拍手をするのは、すべてのプレイヤが拍手しなかった場合に、最低限の数だけプラスの評価を行うためである。後述するように、拍手の合計数に応じたゲーム内通貨(コインとは異なる)がランダム対戦についての仮想のゲームをプレイしたプレイヤに付与されるため、ランダム対戦についての仮想のゲームをプレイしたことに対する参加賞として第2所定数が合計数に加算される。途中でランダム対戦についての仮想のゲームをプレイするのを辞めたプレイヤは、評価処理において、拍手することができず、しかもゲーム内通貨が付与されることもない。
また、案内キャラクタ202が第2所定数の拍手を各プレイヤに送ることにより、すべてのプレイヤが拍手しない場合またはプレイヤの拍手が少ない場合でも、評価処理が盛り上がっているように見せることができる。
なお、プレイヤが仮想のゲームを途中で辞めた場合には、コンピュータのプレイヤが代わりに仮想のゲームをプレイする。
また、この実施例では、案内キャラクタ202は第2所定数(または、固定数)だけ拍手するようにしてあるが、案内キャラクタ202が拍手する数はランダムに設定されてもよい。
さらに、この実施例では、一時的に交代した場合を含み、コンピュータのプレイヤは拍手しないようにしてあるが、案内キャラクタ202と同様に、固定数またはランダムに設定された数だけ拍手するようにしてもよい。
図11はプレイヤによる評価が終了した場合に本体装置2のディスプレイ12に表示される評価画面200の限定しない一例を示す。以下、図11に示す評価画面200について説明するが、図9および図10を用いて説明した内容については説明を省略することにする。
図11には、第2所定時間が経過し、残り時間が0秒になった後の評価画面200が示される。図11に示すように、残り時間が0秒になると、画像222の枠画像の内側の数字が「0」になり、また、両手画像216および両手画像218に代えて、拍手の数を表示するための描画用オブジェクトとして画像230および画像232が表示される。図11に示す画像230および画像232では、矩形の枠画像の内側に、累積値であることを示すための所定の色(図11では、黒色)を付された両手画像(以下、「累積値を示す画像」という)と、対応するプレイヤAおよびプレイヤBについての拍手の数の累積数または累積値についての数字の画像が表示される。図11に示す例では、プレイヤAの拍手の数の累積値は「18694」であり、プレイヤBの拍手の数の累積値は「60050」である。
この実施例では、累積値は、対応するプレイヤの過去のランダム対戦の各回において、評価を行うすべてのプレイヤの拍手の合計値を累積した値であり、プレイヤ毎に記憶される。したがって、累積値の数が大きい程、ランダム対戦で仮想のゲームをプレイした回数の多いプレイヤである可能性が高いことが分かる。つまり、ランダム対戦についてのベテランのプレイヤである可能性が高いことも分かる。
詳細な説明は省略するが、この実施例の仮想のゲームでは、各プレイヤは自身のプロフィールカードを作ることができ、ランダム対戦の開始前に、各プレイヤは対戦相手のプレイヤのプロフィールカードを見ることができる。本体装置2からマッチングサーバにランダム対戦を指示するときに、プロフィールカードのデータを送信しておき、マッチングサーバでランダム対戦についての仮想のゲームに参加する複数のプレイヤが選択され、各プレイヤが使用する本体装置2に対戦相手の情報を送信するとき、プロフィールカードのデータを含めて送信しておけばよい。または、ランダム対戦についての仮想のゲームに参加する各プレイヤが使用する本体装置2がマッチングサーバから受信した接続情報を用いてランダム対戦についての仮想のゲームに参加する他のプレイヤの本体装置2の各々との間で接続状態を確立したときに、プロフィールカードのデータを交換するようにしてもよい。
このプロフィールカードの情報として累積値を含めておけば、各プレイヤは、対戦相手のプレイヤのプロフィールカードを見ることで、対戦相手のプレイヤがベテランのプレイヤであるかどうかを知ることができる。このように累積値をプロフィールカードの情報に含めて、ベテランのプレイヤであることを数値で見せることにより、各プレイヤにランダム対戦についての仮想のゲームをプレイすることに対するやりがいを与えることができ、また、対戦相手のプレイヤに対して安心感を与えることができる。
また、累積値のみならず、ランダム対戦についての仮想のゲームをプレイした回数をプロフィールカードの情報に含めるようにしておけば、その2つの情報から対戦相手のプレイヤが優良なプレイヤであるかどうかを推定することができる。
たとえば、ランダム対戦についての仮想のゲームをプレイした回数が多く、これと比例して、累積値が大きい場合には、ランダム対戦についての仮想のゲームを途中で辞めることの少ない優良なプレイヤであると判断することができる。
また、ランダム対戦についての仮想のゲームをプレイした回数が少なく、累積値が小さい場合には、1台対戦、ローカル対戦またはフレンド対戦の仮想のゲームを多くプレイしているプレイヤまたはゲームソフトを購入して間もないプレイヤであると判断することができる。
また、ランダム対戦についての仮想のゲームをプレイした回数が多いが、累積値が小さい場合には、ランダム対戦についての仮想のゲームを途中で辞めることの多い優良でないプレイヤであると判断することができる。優良でないプレイヤが対戦相手のプレイヤとして選択された場合には、プレイヤは、対戦相手の選択のやり直しをマッチングサーバに指示できるようにしてもよい。ただし、ゲームソフトまたはマッチングサーバが、各プレイヤのランダム対戦についての仮想のゲームをプレイした回数および累積値を考慮して、ランダム対戦についての仮想のゲームに参加させるかどうかを判断するようにしてもよい。
また、図11に示す例では、図10に示した状態からさらに拍手が送られており、画像220に表示される合計数が「118」に変化している。したがって、画像220の背景の色が青色に変化されている。図11では、画像220の枠画像の内側に斜線を付すことにより、背景の色が青色であることが表現される。
図12は累積値に合計値が加算された後に本体装置2のディスプレイ12に表示される評価画面200の限定しない一例を示す。以下、図12に示す評価画面200について説明するが、図8-図11を用いて説明した内容については説明を省略することにする。
図12には、今回の合計値が累積値に加算されることにより、累積値が更新された評価画面200が示される。この図12に示す評価画面200では、画像222は非表示(または、削除)される。また、図12に示すように、画像230および画像232の枠画像の内側に、累積値の画像および更新された累積値についての数字の画像が表示される。図12に示す例では、更新されたプレイヤAの拍手の数の累積値は「18812」であり、更新されたプレイヤBの拍手の数の累積値は「60168」である。つまり、すべてのプレイヤに同じ数(この実施例では、合計数)が加算されるので、公平性を保つことができる。
なお、上述したように、マイナスの評価を出来るようにした場合には、累積値はマイナスの値が累積されたり、増減しながら変化されたりする。
この実施例では、プレイヤによる評価を終えると、図11に示した累積値を表示した評価画面200が数秒間(たとえば、3-5秒程度)表示され、さらに、図12に示した累積値を更新した評価画面200が数秒間(たとえば、3-5秒程度)表示されてから、後述する結果発表の処理が開始される。
また、この実施例では、今回の合計値が累積値に加算されることで、累積値が更新されるだけでなく、合計値に応じた数のゲーム内通貨が、プレイヤ(または、プレイヤキャラクタ)に付与される。ゲーム内通貨は、コインとは異なるオブジェクトであり、仮想のゲームが終了してもプレイヤの所有物として保持される。
さらに、この実施例の仮想のゲームでは、プレイヤは、累積値の大きさに応じた称号を付けることができる。たとえば、複数の称号が用意されおり、累積値が増大すると、選択できる称号の種類が増える。他の例では、累積値の大きさに応じてゲーム内通貨が付与されてもよい。
このように、合計値に応じた数のゲーム内通貨が付与され、累積値に応じて称号(または、ゲーム内通貨)が付与される。つまり、合計値に応じた報酬(「第1報酬」に相当する)が付与され、累積値に応じた報酬(「第2報酬」に相当する)が付与される。したがって、より多く拍手することが促される。
プレイヤに付けた称号は上記のプロフィールカードの情報に含まれる。したがって、各プレイヤは対戦相手のプレイヤがベテランのプレイヤであるかどうかを称号から知ることができる場合がある。また、上記のように、ランダム対戦についての仮想のゲームをプレイした回数をプロフィールカードの情報に含めるようにしておけば、プレイヤに付された称号とプレイした回数の2つの情報から対戦相手のプレイヤが優良なプレイヤであるかどうかを推定することができる場合もある。
次に、結果発表のパートについて説明する。この実施例では、ランダム対戦の場合には、評価処理を終えた後に結果発表が行われるが、1台対戦、ローカル対戦およびフレンド対戦の場合には、仮想のゲームの本編を終了した後に結果発表が行われる。
また、この実施例では、結果発表では、仮想ゲームについての最終的な順位(以下、「総合順位」という)が発表されるとともに、総合順位毎にプレイヤを称賛するメッセージ(以下、「称賛メッセージ」という)が表示され、最後に、詳細結果の確認画面500(図20参照)が表示される。
ただし、総合順位が発表される場合には、総合順位毎に総合順位に関するメッセージ(以下、「順位メッセージ」という)が表示される。
また、この実施例では、ランダム対戦においては、本体装置2を使用するプレイヤのみの総合順位が発表され、このプレイヤのみに対する称賛メッセージが表示され、詳細結果の確認画面500が表示される。つまり、他の本体装置2を使用する対戦相手のプレイヤについての総合順位の発表および称賛メッセージの表示は行われない。ランダム対戦においては、遠隔に存在する見ず知らずのプレイヤが対戦相手に含まれ、知らないプレイヤについての称賛メッセージを知る必要性が高くないため、対戦相手のプレイヤの総合順位の発表および称賛メッセージの表示を省略することで、詳細結果の確認画面500が表示されるまでの時間を短縮することができる。
図13は総合順位が1位の順位発表画面300の限定しない一例を示す。順位発表画面300は、画面の中央に、表彰台を模した背景オブジェクト302が表示され、背景オブジェクト302の下方に、順位メッセージを表示するための表示領域304が設けられる。表示領域304は矩形の枠で示される。また、背景オブジェクト302の上に乗るように、プレイヤキャラクタの画像306が順位に従って表示される。この実施例では、プレイヤキャラクタの画像306は、リング状の枠画像内に、プレイヤキャラクタの顔画像が表示された画像である。ただし、これは一例であり、プレイヤキャラクタの全身または上半身の画像が表示されたり、表彰台の背景オブジェクト302の上のプレイヤキャラクタの画像306を表示することに代えて、順位の数字が記載された旗をプレイヤキャラクタに持たせた画像が表示されたりしてもよい。後述するプレイヤキャラクタの画像406についても、プレイヤキャラクタの画像306と同様である。
図13に示す例では、表示領域304には、「おめでとうございます。1位です。Aさん、さすがです。」という総合順位が1位の順位メッセージが表示される。順位メッセージおよび順位メッセージの決定方法については後で説明する。
図14は総合順位が1位の称賛画面400の限定しない一例を示す。総合順位が1位の順位発表画面300が数秒間(たとえば、3-5秒程度)表示されると、総合順位が1位の順位発表画面300に代えて、総合順位が1位の称賛画面400がディスプレイ12に表示される。称賛画面400は、順位発表画面300と同様であり、画面の中央に、表彰台を模した背景オブジェクト402が表示され、背景オブジェクト402の下方に、順位メッセージを表示するための表示領域404が設けられる。表示領域404は矩形の枠で示される。また、背景オブジェクト402の上に乗るように、プレイヤキャラクタの画像406が順位に従って表示される。
図14に示す例では、表示領域404には、「ミニゲームでの勝率が一番だったのが、優勝の決め手ですね。」という総合順位が1位のプレイヤ(ここでは、プレイヤA)への称賛メッセージが表示される。称賛メッセージおよび称賛メッセージの決定方法については後で説明する。
図15は総合順位が2位の順位発表画面300の限定しない一例を示す。総合順位が1位の称賛画面400が数秒間(たとえば、3-5秒程度)表示されると、総合順位が1位の称賛画面400に代えて、総合順位が2位の順位発表画面300がディスプレイ12に表示される。図13に示した総合順位が1位の順位発表画面300と比較して分かるように、この実施例では、総合順位が2位の順位発表画面300では、表示領域304に表示される順位メッセージが、総合順位が2位の順位メッセージである以外は、総合順位が1位の順位発表画面300と同じである。
具体的には、図15に示すように、表示領域304には、「あと一歩でしたね。Dさん、2位です。」という総合順位が2位の順位メッセージが表示される。
図16は総合順位が2位の称賛画面400の限定しない一例を示す。総合順位が2位の順位発表画面300が数秒間(たとえば、3-5秒程度)表示されると、総合順位が2位の順位発表画面300に代えて、総合順位が2位の称賛画面400がディスプレイ12に表示される。図14に示した1位の称賛画面400と比較して分かるように、この実施例では、総合順位が2位の称賛画面400では、表示領域404に表示される称賛メッセージが、総合順位が2位の称賛メッセージである以外は、総合順位が1位の称賛画面400と同じである。
具体的には、図16に示すように、表示領域404には、「たくさん移動して、がんばりましたね。」という総合順位が2位のプレイヤ(ここでは、プレイヤD)への称賛メッセージが表示される。
図示は省略するが、総合順位が2位の称賛画面400が数秒間表示された後では、総合順位が3位の順位発表画面300が数秒間表示され、続いて、総合順位が3位の称賛画面400が数秒間表示され、さらに、総合順位が4位の順位発表画面300が表示され、最後に、総合順位が4位の称賛画面400が数秒間表示される。ただし、仮想のゲームをプレイする人数が2である場合には、総合順位が3位および4位のそれぞれについての順位発表画面300および称賛画面400は表示されない。また、仮想のゲームをプレイする人数が3である場合には、総合順位が4位についての順位発表画面300および称賛画面400は表示されない。
この実施例では、総合順位毎に、順位発表画面300および称賛画面400を表示するので、順位メッセージと称賛メッセージの組み合わせにより、結果発表の表示に多様性が生まれる。ただし、順位発表画面300および称賛画面400を別々に表示せずに、順位メッセージと称賛メッセージの両方の画像が配置された1つの画面を表示するようにしてもよい。
また、1台対戦、ローカル対戦およびフレンド対戦では、プレイヤ同士は知り合いまたは交友関係を有していると考えられるため、総合順位毎に、順位発表画面300および称賛画面400を表示することで、コミュニケーションの活性を図ることができる。
図17は順位メッセージテーブルの限定しない一例である。図17に示すように、順位メッセージテーブルでは、各総合順位に対応して2つの順位メッセージが設定されている。ただし、順位メッセージにおいて「××」と記載の部分に、該当するプレイヤのプレイヤ名が入れられる。
総合順位が1位に対応して、「おめでとうございます。1位です。××さん、さすがです。」および「××さん、1位おめでとうございます。すばらしいですね。」という順位メッセージが設定されている。
総合順位が2位に対応して、「××さん、惜しくも2位です。次こそ、1位を取りましょう。」および「あと一歩でしたね。××さん、2位です。」という順位メッセージが設定されている。
総合順位が3位に対応して、「××さん、お疲れ様でした。今回は、3位でしたね。」および「××さん、残念ですが、今回は3位です。次は、上位を目指しましょう。」という順位メッセージが設定されている。
総合順位が4位に対応して、「××さん、今回は4位… 最後まで頑張りましたね。」および「××さん、がんばりましたが、4位でした。ライバルが強かったですね。」という順位メッセージが設定されている。
上述した順位発表画面300を表示する前に、順位メッセージテーブルを用いて順位メッセージが決定または選択される。この実施例では、順位メッセージは、総合順位毎に、ランダムに決定される。図17に示す例では、各総合順位に対応して、2つの順位メッセージが設定されているが、3つ以上の順位メッセージが設定されていてもよい。また、各総合順位の順位メッセージは、表示する度に、交互に(順番に)決定されるようにしてもよい。
図18は総合順位が1位の称賛メッセージテーブルの限定しない一例である。図18に示すように、総合順位が1位の称賛メッセージテーブルでは、称賛内容に対応して称賛メッセージが設定されている。また、各称賛内容(および各称賛メッセージ)には、優先度が設定されている。優先度は、プレイヤがゲームプレイにおいて意識して行ったことまたは頑張ったことに対する称賛内容については高く設定され、ランダム要素を有する称賛内容については低く設定される。ただし、ランダム要素を有する称賛内容については、プレイヤが褒められて嬉しいと思われる称賛内容の方の優先度が高く設定される。さらに、仮想のゲームにおける重要度の高い順または/および勝利の理由としてプレイヤに分かりやすい順に、称賛内容の優先度が高く設定される。
この実施例では、称賛内容として、獲得コイン数、ミニゲーム勝率、アイテム使用回数、移動量、プラスマス停止回数、マイナスマス停止回数、アイテムマス停止回数、ハプニングマス停止回数、…、何もなしが設定される。称賛内容は、称賛メッセージを決定するための指標であり、仮想のゲームに関する内容である。具体的には、称賛内容は、仮想のゲームの本編において発生したイベントに応じて更新される内容である。この実施例では、称賛内容には、星の所持数は含まれない。星の所持数は、総合順位を決定するための評価値であり、直接の勝因とは異なる称賛内容で、称賛メッセージを表示するためである。同様に、コインの所持数は、星の所持数が同数の場合に総合順位を決定するための評価値であるため、称賛内容には含まれない。
「獲得コイン数」は、プレイヤまたはプレイヤキャラクタが仮想のゲームの本編において獲得したコインの累積数であり、プレイヤまたはプレイヤキャラクタが所持するコインの数(つまり、コインの所持数)とは異なり、仮想のゲームの本編において消失したり、使ったりしたコインの数は無視される。「ミニゲーム勝率」は、プレイヤまたはプレイヤキャラクタがミニゲームをプレイした回数に対する、ミニゲームで1位になった回数の割合である。「アイテム使用回数」は、プレイヤまたはプレイヤキャラクタが仮想ゲームの本編においてアイテムを使用した回数である。「移動量」は、プレイヤキャラクタが移動したマスの総数である。「プラスマス停止回数」は、プレイヤキャラクタが仮想ゲームの本編においてプラスマスに止まった回数である。「マイナスマス停止回数」は、プレイヤキャラクタが仮想ゲームの本編においてマイナスマスに止まった回数である。「アイテムマス停止回数」は、プレイヤキャラクタが仮想ゲームの本編においてアイテムマスに止まった回数である。
図18に示す総合順位が1位の称賛メッセージテーブルでは、「獲得コイン数」に対応して、「コインをたくさん獲得し、見事に勝利しましたね。」という称賛メッセージが設定され、優先度として「24」が設定されている。
「ミニゲーム勝率」に対応して、「ミニゲームの勝率が一番だったのが、優勝の決め手ですね。」という称賛メッセージが設定され、優先度として「25」が設定されている。
「アイテム使用回数」に対応して、「アイテムをうまく使用して、優勝をつかみ取りましたね。」という称賛メッセージが設定され、優先度として「16」が設定されている。
「移動量」に対応して、「精力的に移動して、地道に優勝を勝ち取りましたね。」という称賛メッセージが設定され、優先度として「15」が設定されている。
「プラスマス停止回数」に対応して、「プラスマスにたくさん止まりましたね。安定してコインを獲得できたのが、勝利のカギでしょうね。」という称賛メッセージが設定され、優先度として「5」が設定されている。
「マイナスマス停止回数」に対応して、「マイナスマスに一番多く止まったのに、優勝できるとは、おどろきです。」という称賛メッセージが設定され、優先度として「4」が設定されている。
「アイテムマス停止回数」に対応して、「たくさんアイテムを取得し、うまく使ったんですね。」という称賛メッセージが設定され、優先度として「8(17)」が設定されている。優先度の欄に記載された括弧書きの数字については後で説明することにする。このことは、後述するハプニングマス停止回数についても同様である。
「ハプニングマス停止回数」に対応して、「ハプニングがたくさん起きた中で、優勝とは、幸運ですね。」という称賛メッセージが設定され、優先度として「10(18)」が設定されている。
「何もなし」に対応して、「バランスの良い勝負が優勝の決め手ですね。」および「安定したプレイでした。優勝は納得です。」という称賛メッセージが設定され、優先度としてそれぞれ「1」が設定されている。ただし、称賛内容が無いため、称賛メッセージは仮想のゲームにおいて発生したイベントに応じて更新される内容について言及しない汎用のメッセージである。
総合順位が1位の称賛メッセージは、基本的には、指標順位が1位である称賛内容を注目する称賛内容として決定し、注目する称賛内容(「注目指標」に相当する)に対応して記載された称賛メッセージに決定される。ここでは、指標順位とは、他のプレイヤと比較した場合の各称賛内容についての順位を意味する。たとえば、称賛内容が「プラスマス停止回数」である場合には、称賛メッセージを決定する対象のプレイヤのプラスマス停止回数と他のプレイヤのプラスマス停止回数が比較され、プラスマス停止回数が多い方が上位となるように指標順位が決定される。総合順位が1位の称賛メッセージを決定する場合には、称賛メッセージを決定する対象のプレイヤは、総合順位が1位のプレイヤであり、他のプレイヤは、総合順位が2位-4位の各プレイヤである。
なお、各プレイヤのプラスマス停止回数は、後述するプレイヤデータ854e(図22参照)から取得することができる。他の称賛内容についての指標順位を決定する場合も同様である。
ただし、指標順位が1位である称賛内容が複数存在する場合には、設定された優先度が高い方の称賛内容を注目する称賛内容として決定し、注目する称賛内容に対応する称賛メッセージに決定される。ただし、同点となるプレイヤがおらず、単独で指標順位が1位である称賛内容については、優先度が高く設定される。たとえば、総合順位が1位の称賛メッセージテーブルで設定された優先度に第3所定数(たとえば、30)が加算される。または、他のプレイヤと同点で指標順位が1位である称賛内容については、優先度が低く設定されるようにしてもよい。たとえば、総合順位が1位の称賛メッセージテーブルで設定された優先度が「1」に変更される。いずれの場合であっても、同点で指標順位が1位の称賛内容に対応する称賛メッセージを選択され難くすることができる。したがって、総合順位が1位の称賛メッセージとして、プレイヤに特有の称賛内容に対応する称賛メッセージを決定され易くすることができる。
また、他の例では、総合順位が1位の称賛メッセージは、指標順位が上位(すなわち、1位または2位)である称賛内容に対応して記載された称賛メッセージに決定されてもよい。ただし、指標順位が上位である称賛内容が複数存在する場合には、設定された優先度が高い方の称賛メッセージに決定される。
また、その他の例では、指標順位が最下位の称賛内容を注目する称賛内容として決定して、称賛メッセージを決定することもできる。たとえば、マイナスマス停止回数が最下位である場合には、「マイナスマス停止回数」を注目する称賛内容として決定して、称賛メッセージが決定される。ただし、指標順位が最下位の称賛内容を注目する称賛内容として決定する場合には、称賛メッセージの内容については変更される。たとえば、「マイナスマス停止回数」に対応して、「マイナスマス回数に止まった回数が一番少なかったのが、優勝の決め手ですね。」のような称賛メッセージが設定される。
また、他の例では、指標順位が1位または上位の称賛内容が複数存在する場合には、複数の称賛内容に対応する複数の称賛メッセージが称賛画面400の表示領域404に表示されてもよい。
この実施例では、他のプレイヤと比較した場合に、指標順位が1位(または、上位)となる称賛内容が何も無い場合には、「何もなし」を注目する称賛内容として決定し、「何もなし」の称賛内容に対応して記載された称賛メッセージに決定される。この実施例では、「何もなし」に対応して2つの称賛メッセージが設定されているため、2つの称賛メッセージから1つの称賛メッセージがランダムに決定される。ただし、称賛メッセージは3つ以上設定されていてもよい。この実施例では、称賛内容が何も無い場合であっても称賛メッセージが表示されるので、結果発表の表示を多様化することができる。
また、「何もなし」以外の称賛内容についても2つ以上の称賛メッセージを設定しておき、2つ以上の称賛メッセージから1つの称賛メッセージがランダムに決定するようにしてもよい。
また、総合順位が1位の称賛メッセージテーブルにおいて、優先度の数字の下側に記載した括弧書きの数字は、所定の条件を満たす場合に使用される優先度である。所定の条件は、称賛内容についての値である。この場合、アイテムマス停止回数が10回未満である場合には、優先度は8であるが、10回以上である場合には、優先度は17である。
また、他の例では、所定の条件は、ターン数と称賛内容についての値であってもよい。この場合、ターン数が10回以下である場合には、アイテムマス停止回数が5回未満である場合には、優先度は8であるが、5回以上である場合には、優先度は17である。また、ターン数が10回以上である場合には、アイテムマス停止回数が10回未満である場合には、優先度は8であるが、10回以上である場合には、優先度は17である。
説明は省略するが、ハプニングマス停止回数の優先度についても同様に、優先度は変更される場合がある。
また、この実施例では、所定の条件を満たす場合には、優先度が高くされるが、優先度が低くされるようにしてもよい。
図19は総合順位が1位以外の称賛メッセージテーブルの限定しない一例である。図19に示すように、総合順位が1位以外の称賛メッセージテーブルにおいても、称賛内容に対応して称賛メッセージが設定されている。また、各称賛内容(または、各称賛メッセージ)には、優先度が設定されている。
各称賛内容および設定された優先度は、総合順位が1位の称賛メッセージテーブルと同じであるが、称賛メッセージの内容が異なる。したがって、注目する称賛内容が同じであっても、総合順位が1位と1位以外とで異なる内容の称賛メッセージが対応付けられている。以下、総合順位が1位以外の称賛メッセージテーブルについて説明するが、総合順位が1位の称賛メッセージテーブルと同じ内容についての説明は省略する。
また、総合順位が1位以外の称賛メッセージの決定方法は、総合順位が1位の称賛メッセージの決定方法と同様であるため、重複した説明は省略する。ただし、各プレイヤに対する称賛メッセージの称賛内容が重複するのを避けるため、総合順位が1位以外の称賛メッセージを決定する場合には、既に他の総合順位の称賛メッセージとして決定された称賛メッセージに対応する称賛内容については、注目する対象から除外される。
なお、総合順位が2位の称賛メッセージを決定する場合には、称賛メッセージを決定する対象のプレイヤは、総合順位が2位のプレイヤであり、他のプレイヤは、総合順位が1位、3位および4位の各プレイヤである。また、総合順位が3位の称賛メッセージを決定する場合には、称賛メッセージを決定する対象のプレイヤは、総合順位が3位のプレイヤであり、他のプレイヤは、総合順位が1位、2位および4位の各プレイヤである。さらに、総合順位が4位の称賛メッセージを決定する場合には、称賛メッセージを決定する対象のプレイヤは、総合順位が4位のプレイヤであり、他のプレイヤは、総合順位が1位-3位の各プレイヤである。
図19に示す総合順位が1位以外の称賛メッセージテーブルでは、「獲得コイン数」に対応して、「獲得したコインは誰よりも多かったようです。とてもすばらしいです。」という称賛メッセージが設定されている。
「ミニゲーム勝率」に対応して、「ミニゲームの勝率は一番だったようです。とてもすばらしいです。」という称賛メッセージが設定されている。
「アイテム使用回数」に対応して、「アイテムをたくさん使っていました。すごいですね。」という称賛メッセージが設定されている。
「移動量」に対応して、「たくさん移動して、がんばりましたね。」という称賛メッセージが設定されている。
「プラスマス停止回数」に対応して、「誰よりもプラスマスに止まった回数が多いです。安定してコインを取得できましたね。」という称賛メッセージが設定されている。
「マイナスマス停止回数」に対応して、「誰よりも多くマイナスマスに止まったようです。めげずにがんばりましたね。」という称賛メッセージが設定されている。
「アイテムマス停止回数」に対応して、「誰よりもたくさんアイテムを取得しましたね。」という称賛メッセージが設定されている。
「ハプニングマス停止回数」に対応して、「ハプニングがたくさん起きた中で、楽しみましたね。」という称賛メッセージが設定されている。
「何もなし」に対応して、「良い勝負でした。すばらしいです。」および「安定したプレイでした。すばらしいです。」という称賛メッセージが設定されている。ただし、総合順位が1位以外の称賛メッセージテーブルでは、「何もなし」は、指標順位が1位となる称賛内容が無いことを示す場合だけでなく、指標順位が1位となる称賛内容が有るが、当該称賛内容が他の総合順位で既に発表された称賛メッセージに対応する称賛内容であり、注目する対象から外されている場合も含まれる。
また、上述したように、称賛メッセージは3つ以上設定されていてもよい。たとえば、総合順位が1位以外の称賛メッセージすなわち総合順位が2位、3位および4位の称賛メッセージを決定する場合に、それぞれについて「何もなし」が注目する称賛内容として決定されることがあるため、「何もなし」に対応して称賛メッセージを3つ設定しておけば、このような場合にも、総合順位が2位、3位および4位のプレイヤに対する称賛メッセージをかぶらずに表示することができる。
この実施例では、それぞれ複数の称賛メッセージが設定された、総合順位が1位の称賛メッセージテーブルおよび総合順位が1位以外の称賛メッセージテーブルを設けるため、称賛画面400の表示内容すなわち結果発表の表示に多様性を持たせることができる。また、総合順位が1位と1位以外の各グループに応じた称賛メッセージを表示することができる。ただし、総合順位が上位(つまり、1位および2位)のグループと総合順位が下位(つまり、3位と4位)のグループについての称賛メッセージテーブルを作成してもよいし、各総合順位(1位、2位、3位および4位)のグループについての称賛メッセージテーブルを作成してもよい。
つまり、ランダム対戦についての仮想のゲームに参加した複数のプレイヤは、各順位に応じてグループに分類され、分類されたグループに対して用意された称賛メッセージテーブルを用いて、称賛メッセージが決定される。
また、総合順位が1位の称賛メッセージテーブルと総合順位が1位以外の称賛メッセージテーブルを設けるので、総合順位が1位になったこと(または、優勝したこと)に応じた称賛メッセージを提示できるとともに、総合順位が1位にならなかった(または、優勝しなかった)プレイヤへの称賛メッセージの作成量を減らすことができる。また、総合順位が2位以下のプレイヤは、優勝していない点で共通するため、称賛メッセージを共通で使用しても違和感を覚えることはほとんどない。
順位発表画面300および称賛画面400の表示を終了すると、最終結果が発表される。図20は本体装置2のディスプレイ12に表示される詳細結果の確認画面500の限定しない一例を示す。
図20に示すように、詳細結果の確認画面500では、総合順位に対応して、プレイヤキャラクタの画像502が表示され、各プレイヤキャラクタの画像502に対応して、各プレイヤキャラクタ(または、各プレイヤ)の星の所持数の画像504および各プレイヤキャラクタ(または、各プレイヤ)のコインの所持数の画像506が表示される。つまり、仮想のゲームについてのプレイヤキャラクタ(または、プレイヤ)の最終の順位と、最終の順位を決定するのに使用した評価値がプレイヤに提示される。上述したように、星の所持数で順が決定され、星の所持数が同じ場合には、コインの所持数が多い方の順位が上位に決定される。
詳細結果の確認画面500が表示されている場合に、所定のボタンが操作されると、詳細結果の確認画面500は非表示され、結果発表の処理が終了される。ただし、所定のボタンが操作されない時間が第4所定時間(たとえば、10-30秒程度)を経過した場合にも、詳細結果の確認画面500は非表示され、結果発表の処理が終了される。
図21は図6に示したDRAM85のメモリマップ850の限定しない一例を示す図である。図6に示すように、DRAM85は、プログラム記憶領域852およびデータ記憶領域854を含む。プログラム記憶領域852には、ゲームアプリケーションのプログラム(つまり、ゲームプログラム)が記憶される。図21に示すように、ゲームプログラムは、メイン処理プログラム852a、画像生成プログラム852b、画像表示プログラム852c、操作検出プログラム852d、ゲーム制御プログラム852e、評価プログラム852fおよび結果発表プログラム852gなどを含む。ただし、ゲーム画像などの画像を表示する機能は本体装置2が備える機能である。したがって、画像表示プログラム852cは、ゲームプログラムに含まれない。
詳細な説明は省略するが、各プログラム852a-852gは、本体装置2に電源が投入された後の適宜のタイミングで、フラッシュメモリ84および/またはスロット23に装着された記憶媒体からその一部または全部が読み込まれてDRAM85に記憶される。ただし、各プログラム852a-852gの一部または全部は、本体装置2と通信可能な他のコンピュータから取得するようにしてもよい。
メイン処理プログラム852aは、この実施例の仮想のゲームの全体的なゲーム処理(以下、「全体処理」という)を実行するためのプログラムである。画像生成プログラム852bは、後述する画像生成データ854dを用いて、ゲーム画像などの各種の画像に対応する表示画像データを生成するためのプログラムである。画像表示プログラム852cは、画像生成プログラム852bに従って生成した表示画像データを表示装置に出力するためのプログラムである。したがって、表示画像データに対応する画像(つまり、評価画面200、順位発表画面300および称賛画面400など)がディスプレイ12などの表示装置に表示される。
操作検出プログラム852dは、左コントローラ3または/および右コントローラ4からの操作データ854aを取得するためのプログラムである。ゲーム制御プログラム852eは、プレイヤおよび対戦相手のプレイヤ(コンピュータのプレイヤを含む場合もある)の操作に従って仮想のゲームについてのゲーム制御処理を実行するためのプログラムである。
評価プログラム852fは、ランダム対戦の仮想のゲームについてのゲーム制御処理を終了した場合に、仮想のゲームの本編に関する評価を実行するためのプログラムである。結果発表プログラム852gは、ランダム対戦以外の仮想のゲームについての全プレイヤの順位のメッセージおよび称賛のメッセージを順位毎に発表するとともに詳細結果の確認画面500を表示する、または、ランダム対戦の仮想のゲームについてのプレイヤの順位のメッセージおよび称賛のメッセージを発表するとともに詳細結果の確認画面500を表示するためのプログラムである。
なお、プログラム記憶領域852には、BGM等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ84などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
また、データ記憶領域854には、操作データ854a、送信データ854b、受信データ854c、画像生成データ854d、プレイヤデータ854e、合計数データ854f、順位メッセージデータ854gおよび称賛メッセージデータ854hなどが記憶される。また、データ記憶領域854には、ダウンカウンタ854iが設けられる。
操作データ854aは、左コントローラ3または/および右コントローラ4から受信される操作データである。この実施例においては、本体装置2が左コントローラ3および右コントローラ4の両方から操作データを受信する場合には、本体装置2は、左コントローラ3および右コントローラ4のそれぞれを識別可能にして操作データ854aを記憶する。また、1または複数の他のコントローラが用いられる場合には、本体装置2は、1または他のコントローラを識別可能にして操作データ854aを記憶する。
送信データ854bは、通信ゲームをプレイする場合の対戦相手が使用する本体装置2またはマッチングサーバのような外部の装置に送信されるデータである。一例として、対戦相手が使用する本体装置2には、通信ゲームのプレイ時の操作データ854aが送信される。マッチングサーバには、フレンド対戦またはランダム対戦を行うこと、具体的には、対戦相手のマッチングを指示するための指示データが送信される。
受信データ854cは、通信ゲームをプレイする場合の対戦相手が使用する本体装置2またはマッチングサーバのような外部の装置から受信されたデータである。一例として、対戦相手の本体装置2から対戦相手の操作データが受信される。マッチングサーバからマッチングされた対戦相手および当該対戦相手が使用する本体装置2と通信接続するための情報が受信される。
画像生成データ854dは、ポリゴンデータおよびテクスチャデータなど、表示画像データを生成するために必要なデータである。プレイヤデータ854eは、通信ゲームをプレイする場合の各プレイヤについてのデータである。プレイヤデータ854eの詳細については後で説明する(図22参照)。
合計数データ854fは、評価処理が実行された場合に得られた拍手の合計数についてのデータである。順位メッセージデータ854gは、図17に示した順位メッセージテーブルのデータである。称賛メッセージデータ854hは、図18に示した1位の称賛メッセージテーブルおよび図19に示した1位以外の称賛メッセージテーブルのデータである。
ダウンカウンタ854iは、評価処理において、評価入力する(つまり、拍手する)ことが可能な第1所定時間をカウントするためのカウンタ(または、タイマ)である。
図示は省略するが、データ記憶領域854には、他のデータが記憶されたり、フラグおよび他のタイマ(またはカウンタ)が設けられたりする。
図22は図21に示したプレイヤデータ854eの具体的な内容の一例を示す図である。プレイヤデータ854eは、プレイヤAデータ900、プレイヤBデータ902、プレイヤCデータ904およびプレイヤDデータ906を含む。図22に示す例では、4人のプレイヤ(コンピュータのプレイヤを含む場合もある)で通信ゲームをプレイする場合のプレイヤデータ854eを示す。プレイヤAデータ900、プレイヤBデータ902、プレイヤCデータ904およびプレイヤDデータ906の具体的な内容についてはそれぞれ同じであるため、プレイヤAデータ900について説明し、プレイヤBデータ902、プレイヤCデータ904およびプレイヤDデータ906の説明については省略する。
プレイヤAデータ900は、プレイヤ名データ900a、称号データ900b、累積数データ900c、使用キャラクタデータ900d、所持コイン数データ900e、アイテムデータ900f、星数データ900g、獲得コイン数データ900h、ミニゲーム勝率データ900i、アイテム使用回数データ900j、移動量データ900k、プラスマス停止回数データ900m、マイナスマス停止回数データ900n、アイテムマス停止回数データ900p、ハプニングマス停止回数データ900q、現在位置データ900r、拍手数データ900sおよび順位データ900tなどを含む。
プレイヤ名データ900aは、プレイヤAデータ900に対応するプレイヤAの名称(ここでは、「A」)を示すデータである。称号データ900bは、プレイヤAが選択した称号を示すデータである。累積数データ900cは、プレイヤAデータ900に対応するプレイヤAの過去のランダム対戦の各回において、評価を行うすべてのプレイヤの拍手の合計値を累積した累積数についてのデータである。
使用キャラクタデータ900dは、プレイヤAが仮想のゲームで使用するプレイヤキャラクタ(以下、図22の説明において、「プレイヤAのプレイヤキャラクタ」という)を識別するためのデータである。所持コイン数データ900eは、プレイヤAまたはプレイヤAのプレイヤキャラクタが所持するコインの所持数についてのデータである。アイテムデータ900fは、プレイヤAまたはプレイヤAのプレイヤキャラクタが所持するアイテムを識別するためのデータおよび各アイテムの所持数についてのデータである。
星数データ900gは、プレイヤAまたはプレイヤAのプレイヤキャラクタが所持する星の所持数についてのデータである。獲得コイン数データ900hは、プレイヤAまたはプレイヤAのプレイヤキャラクタが仮想のゲームの本編において獲得したコインの累積数についてのデータである。上述したように、コインの獲得数は、コインの所持数とは異なり、使用したり消失したりしたコインの数を無視した値である。
ミニゲーム勝率データ900iは、プレイヤAまたはプレイヤAのプレイヤキャラクタが仮想のゲームにおいてプレイしたミニゲームの勝率を示す数値についてのデータである。上述したように、ミニゲームの勝率は、ミニゲームをプレイした回数に対する、ミニゲームで1位になった回数の割合である。アイテム使用回数データ900jは、仮想のゲームの本編でプレイヤAまたはプレイヤAのプレイヤキャラクタがアイテムを使用した回数についてのデータである。移動量データ900kは、仮想のゲームの本編でプレイヤAのプレイヤキャラクタが移動したマスの総数についてのデータである。
プラスマス停止回数データ900mは、仮想のゲームの本編でプレイヤAのプレイヤキャラクタがプラスマスに停止した回数についてのデータである。マイナスマス停止回数データ900nは、仮想のゲームの本編でプレイヤAのプレイヤキャラクタがマイナスマスに停止した回数についてのデータである。アイテムマス停止回数データ900pは、仮想のゲームの本編でプレイヤAのプレイヤキャラクタがアイテムマスに停止した回数についてのデータである。ハプニングマス停止回数データ900qは、仮想のゲームの本編でプレイヤAのプレイヤキャラクタがハプニングマスに停止した回数についてのデータである。
現在位置データ900rは、仮想空間におけるプレイヤAのプレイヤキャラクタの現在位置の座標データである。拍手数データ900sは、評価処理においてプレイヤAが拍手した数(すなわち、Aボタン53の操作回数)についてのデータである。順位データ900tは、プレイヤAのプレイヤキャラクタの仮想のゲームにおける総合順位についてのデータである。
上記の所持コイン数データ900e、アイテムデータ900f、星数データ900g、獲得コイン数データ900h、ミニゲーム勝率データ900i、アイテム使用回数データ900j、移動量データ900k、プラスマス停止回数データ900m、マイナスマス停止回数データ900n、アイテムマス停止回数データ900p、ハプニングマス停止回数データ900qおよび現在位置データ900rは、仮想のゲームの本編において発生したイベントに応じて適宜更新される。
図示は省略するが、プレイヤAデータ900には、プレイヤAが所持するゲーム内通貨の所持数についてのデータなどの他のデータも含まれる。
図23-図26は、本体装置2のプロセッサ81(またはコンピュータ)のゲームプログラムの処理(全体処理)の限定しない一例を示すフロー図である。以下、図23-図28を用いて、全体処理およびそれに含まれる各種の処理について説明するが、同じ処理を実行するステップについては重複する説明は省略することにする。また、通信ゲームを実行する場合には、対戦相手のプレイヤの本体装置2においても、図23-図26に示す全体処理と同じ処理が実行されている。
ただし、図23-図28に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、図23-図28に示すフロー図の各ステップの処理をプロセッサ81が実行するものとして説明するが、プロセッサ81以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
本体装置2の電源が投入されると、全体処理の実行に先だって、プロセッサ81は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってDRAM85等の各ユニットが初期化される。本体装置2は、プレイヤによって、この実施例のゲームプログラムの実行が指示されると、全体処理を開始する。
図23に示すように、プロセッサ81は、全体処理を開始すると、ステップS1で、選択画面をディスプレイ12に表示する。上述したように、選択画面は、プレイする人数および対戦方法を選択するためのゲーム画像である。
次のステップS3では、選択があるかどうかを判断する。ステップS3で“NO”であれば、つまり、プレイする人数または/および対戦方法が選択されていない場合には、ステップS3に戻る。一方、ステップS3で“YES”であれば、つまり、プレイする人数および対戦方法が選択された場合には、ステップS5で、対戦方法として1台対戦が選択されたかどうかを判断する。
ステップS5で“NO”であれば、つまり、対戦方法として1台対戦が選択されていない場合には、図25に示すステップS25に進む。一方、ステップS5で“YES”であれば、つまり、対戦方法として1台対戦が選択された場合には、ステップS7で、1台対戦の仮想のゲームについての初期処理を実行する。ここでは、プロセッサ81は、プレイヤが使用するコントローラの選択画面を表示し、各プレイヤが選択したコントローラを、各プレイヤが使用するコントローラして登録する。コントローラの選択が終了すると、プロセッサ81は、プレイヤキャラクタの選択画面を表示し、各プレイヤが選択したプレイヤキャラクタを、各プレイヤが使用するプレイヤキャラクタとして決定する。プレイヤキャラクタの選択が終了すると、プロセッサ81は、プレイするゲームステージの選択画面を表示し、プレイヤが選択したゲームステージを、プレイするゲームステージとして決定する。ゲームステージを決定すると、プロセッサ81は、プレイするターン数の選択画面を表示し、プレイヤが選択したターン数を、プレイするターン数として決定する。ターン数の選択を終了すると、プロセッサ81は、仮想空間において、複数のプレイヤキャラクタ、1または複数のノンプレイヤキャラクタ、複数の背景オブジェクトおよび仮想カメラを初期位置に配置する。このとき、複数のプレイヤキャラクタの初期位置の座標データが、各々の現在位置データ(900k)としてデータ記憶領域854のプレイヤデータ854eに記憶される。また、プロセッサ81は、仮想空間において仮想カメラで撮影されたゲーム画像をディスプレイ12に出力する。したがって、仮想のゲームを開始したときのゲーム画像がディスプレイ12に表示される。
続くステップS9では、コントローラから操作データを取得する。ここでは、プロセッサ81は、プレイする順番のプレイヤが使用するコントローラ(コントローラ3、4および1または複数の他のコントローラのうちの1つのコントローラ)またはミニゲームをプレイする複数のプレイヤが使用するコントローラ(コントローラ3、4および1または複数の他のコントローラ)からの操作データを取得する。
次のステップS11では、ゲーム制御処理を実行する。ここでは、プレイヤキャラクタが移動ルート上に配置されている場合には、プレイヤの操作に従って、サイコロを振ったり、マスに沿ってプレイヤキャラクタを移動させたり、プレイヤキャラクタが止まったマスに設定されたイベントを実行したりする。また、ミニゲームの実行中であれば、各プレイヤの操作に従って、各プレイヤが使用するプレイヤキャラクタを動作(移動を含む)させる。また、ゲーム制御処理では、プロセッサ81は、仮想のゲームについての最終的な順位を上述した方法で決定したり、ミニゲームにおける勝敗または順位を決定したりする。
続いて、ステップS13では、ゲーム画像およびゲーム音声を生成する。ここでは、プロセッサ81は、ステップS5のゲーム制御処理の結果に基づいて、ゲーム画像に対応するゲーム画像データを生成するとともに、ゲーム音声に対応する音声データを生成する。
次のステップS15では、ゲーム画像を表示し、ゲーム音声を出力する。ここでは、プロセッサ81は、ステップS13で生成したゲーム画像データをディスプレイ12に出力するとともに、ステップS13で生成したゲーム音声データを、コーデック回路87を介してスピーカ88に出力する。
そして、ステップS17では、ゲーム終了かどうかを判断する。ここでは、プロセッサ81は、決定されたターン数のゲーム制御処理を実行したかどうかを判断する。ステップS17で“NO”であれば、つまり、ゲーム終了でなければ、ステップS9に戻る。一方、ステップS17で“YES”であれば、つまり、ゲーム終了であれば、図24に示すステップS19で、ランダム対戦についての仮想のゲームをプレイしたかどうかを判断する。
ステップS19で“NO”であれば、つまり、1台対戦、ローカル対戦またはフレンド対戦についての仮想のゲームをプレイした場合には、ステップS23に進む。一方、ステップS19で“YES”であれば、つまり、ランダム対戦についての仮想のゲームをプレイした場合には、ステップS21で、後述する評価処理(図27参照)を実行して、ステップS23に進む。ただし、ランダム対戦において、プレイヤが仮想のゲームのプレイを途中で辞めた場合には、それ以降の処理は実行されないため、ステップS21の処理が実行されることもない。ステップS23では、後述する結果発表処理(図26参照)を実行し、全体処理を終了する。
図25に示すように、ステップS25では、対戦方法としてローカル対戦が選択されたかどうかを判断する。ステップS25で“YES”であれば、つまり、対戦方法としてローカル対戦が選択された場合には、ステップS27で、ローカルエリアネットワーク内の本体装置2を探索し、ステップS29で、探索した本体装置2との間で接続状態を確立して、図26に示すステップS37に進む。
また、ステップS25で“NO”であれば、つまり、対戦方法としてローカル対戦が選択されていない場合には、ステップS31で、対戦方法としてフレンド対戦が選択されたかどうかを判断する。ステップS31で“YES”であれば、つまり、対戦方法としてフレンド対戦が選択された場合には、ステップS33で、フレンドが使用する本体装置2との接続状態を確立して、ステップS37に進む。上述したように、このステップS33では、プロセッサ81は、マッチングサーバにフレンド対戦を要求し、これに応じてマッチングサーバから受信した対戦相手の情報に基づいて、フレンドのプレイヤの本体装置2との間で接続状態を確立する。
また、ステップS31で“NO”であれば、つまり、対戦方法としてランダム対戦が選択されている場合には、ステップS35で、ランダムに選択された対戦相手のプレイヤが使用する本体装置2との間で接続状態を確立して、ステップS37に進む。上述したように、このステップS35では、プロセッサ81は、マッチングサーバにランダム対戦を要求し、これに応じてマッチングサーバから受信した対戦相手の情報に基づいてランダムに選択された対戦相手のプレイヤの本体装置2との間で接続状態を確立する。
図26に示すように、ステップS37では、通信ゲームの初期処理を実行する。通信ゲームの初期処理は、ステップS7で説明した初期処理とほぼ同じであるが、プロセッサ81は、本体装置2に記憶されているプレイヤについてのプレイヤデータを対戦相手のプレイヤの本体装置2に送信し、また、対戦相手のプレイヤについてのプレイヤデータを対戦相手のプレイヤの本体装置2から受信する。
次のステップS39では、コントローラから操作データを取得する。ただし、対戦相手のターンでは、コントローラから操作データを取得しない場合もある。続くステップS41では、ステップS39で検出した操作データのコピーを対戦相手のプレイヤの本体装置2に送信する。ただし、プロセッサ81は、ステップS39で操作データを取得していない場合には、ステップS41の処理をスキップする。さらに、ステップS43では、対戦相手のプレイヤの本体装置2から操作データを受信する。ただし、プレイヤのターンにおいては、操作データを受信しない場合もあり、その場合には、ステップS43の処理をスキップする。
ステップS45では、ゲーム制御処理を実行し、ステップS47で、ゲーム画像およびゲーム音声を生成し、ステップS49で、ゲーム画像を表示し、ゲーム音声を出力する。次のステップS51では、ゲーム終了かどうかを判断する。ステップS51で“NO”であれば、ステップS39に戻る。一方、ステップS51で“YES”であれば、図24に示したステップS19に進む。
図27はステップS21の評価処理の限定しない一例を示すフロー図である。図27に示すように、プロセッサ81は、評価処理を開始すると、ステップS61で、図8に示したような評価処理の開始時の評価画面200をディスプレイ12に表示する。続くステップS63では、評価入力を開始するかどうかを判断する。具体的には、ステップS63では、プロセッサ81は、開始時の評価画面200を表示してから数秒経過したかどうかを判断する。
ステップS63で“NO”であれば、つまり、評価入力を開始しない場合には、ステップS63に戻る。一方、ステップS63で“YES”であれば、つまり、評価入力を開始する場合には、ステップS65で、実行時の評価画面200を表示し、ステップS67で、ダウンカウンタ854iのカウントを開始する。つまり、第1所定時間すなわち制限時間のカウントが開始される。ステップS65では、図9に示したような評価画面200であって、各プレイヤに対応する両手画像(216、218)が拍手するように表示されておらず、画像220に表示された合計数が0である評価画面200がディスプレイ12に表示される。ただし、この評価画面200では、ランダム対戦を開始から終了までプレイした人間のプレイヤのプレイヤ名を記載した指示画像(図9では、212、214)が表示される。
次のステップS69では、ダウンカウンタ854iのカウントを終了したかどうかを判断する。つまり、第1所定時間が経過したかどうかを判断する。ステップS69で“NO”であれば、つまり、ダウンカウンタ854iのカウントを終了していなければ、ステップS71で、コントローラから操作データを取得する。ここでは、プロセッサ81は、Aボタン53が操作された場合の操作データを取得するが、他のボタンについて操作データを取得する場合および操作データを取得しない場合もある。
続くステップS73では、操作データをランダム対戦の対戦相手のプレイヤの本体装置2に送信する。ただし、プロセッサ81は、ステップS71でAボタン53についての操作データを取得していない場合には、ステップS73の処理をスキップする。次のステップS75では、ランダム対戦の対戦相手のプレイヤの本体装置2から操作データを受信する。ただし、ランダム対戦の対戦相手のプレイヤがAボタン53を操作していない場合には、ステップS75において、プロセッサ81は操作データを受信しない。
次のステップS77では、プレイヤ毎のAボタン53の操作回数を加算する。つまりプレイヤ毎に、拍手数が加算され、対応する拍手数データ(900mなど)が更新される。また、ステップS79では、合計数を算出する。ここでは、プレイヤ毎に加算された拍手数の合計数が算出され、合計数データ854fが更新される。
そして、ステップS81で、実行時の評価画面200を更新して、ステップS69に戻る。ステップS81では、案内キャラクタ202が第3所定時間毎に拍手するように表示されるとともに、Aボタン53を操作したプレイヤに対応する両手画像(216、218)が拍手するように表示される。また、画像220の枠画像の内側に表示される合計数がステップS79で算出された合計数に変更される。また、ダウンカウンタ854iのカウント数が残り3(秒)になった場合には、図11に示したように、画像220の上方に、画像222を表示する。ただし、画像222には、残りの秒数を示す数字の画像が表示される。
また、ステップS69で“YES”であれば、つまり、ダウンカウンタ854iのカウントを終了すると、評価入力は終了され、ステップS83で、図11に示したような累積数を表示した評価画面200を表示する。この評価画面200は、数秒間(たとえば、3-5秒)表示される。後述するステップS91で評価画面200を表示する場合も同じである。
続いて、ステップS85では、第2所定数が合計数に加算されることで合計数が更新され、更新された合計数をプレイヤ毎の累積数を加算し、つまり、累積数を更新し、ステップS87で、合計数に応じて各プレイヤにゲーム内通貨を与える。
次のステップS89では、累積数に応じて選択可能な称号を増加する。ただし、累積数が選択可能な称号を増加するのに必要な数に到達している必要がある。そして、ステップS91で、累積数を更新した評価画面200をディスプレイ12に表示して、評価処理を終了し、全体処理にリターンする。
図28はステップS19の結果発表処理の限定しない一例を示すフロー図である。図28に示すように、プロセッサ81は、結果発表処理を開始すると、ステップS101で、今回プレイした仮想のゲームがランダム対戦についての仮想のゲームであるかどうかを判断する。ステップS101で“NO”であれば、つまり、今回プレイした仮想のゲームが1台対戦、ローカル対戦またはフレンド対戦についての仮想のゲームである場合には、ステップS103で、総合順位が1位の順位メッセージを順位メッセージデータ854gが示す順位メッセージテーブルからランダムに決定し、ステップS105で、図13に示したような総合順位が1位の順位発表画面300をディスプレイ12に表示する。ステップS105では、ステップS103で決定した順位メッセージを用いた順位発表画面300が数秒間(たとえば、3-5秒)表示される。後述するステップS113およびステップS123で順位発表画面300を表示する場合も同様である。
次のステップS107では、総合順位が1位の称賛メッセージを称賛メッセージデータ854hが示す総合順位が1位の称賛メッセージテーブルから優先度に基づいて決定し、ステップS109で、図14に示したような総合順位が1位の称賛画面400をディスプレイ12に表示する。ステップS109では、ステップS107で決定した総合順位が称賛メッセージを用いた称賛画面400が数秒間(たとえば、3-5秒)表示される。後述するステップS117およびステップS127で称賛画面400を表示する場合も同様である。
続いて、ステップS111で、次の総合順位の順位メッセージを決定する。ステップS109の処理を実行した直後では、このステップS111では、総合順位が2位の順位メッセージが順位メッセージテーブルからランダム決定される。次のステップS113では、ステップS111で決定した順位メッセージを用いて、次の順位発表画面300をディスプレイ12に表示する。総合順位が1位の称賛画面400を表示した後では、図15に示したような総合順位が2位の順位発表画面300がディスプレイ12に表示される。
続いて、ステップS115では、次の総合順位の称賛メッセージを、称賛メッセージデータ854hが示す総合順位が1位以外の称賛メッセージテーブルから優先度に基づいて決定し、ステップS117で、ステップS115で決定した称賛メッセージを用いて、次の総合順位の称賛画面400をディスプレイ12に表示する。総合順位が2位の順位発表画面300を表示した後では、図16に示すような総合順位が2位の称賛画面400がディスプレイ12に表示される。
そして、ステップS119では、すべての総合順位を発表したかどうかを判断する。ステップS119で“NO”であれば、つまり、発表していない総合順位がある場合には、ステップS111に戻る。したがって、総合順位が3位以降についても、総合順位が2位と同様に、順位発表画面300および称賛画面400がディスプレイ12に表示される。一方、ステップS119で“YES”であれば、つまり、すべての総合順位を発表した場合には、ステップS129に進む。
また、ステップS101で“YES”であれば、つまり、今回プレイした仮想のゲームがランダム対戦についての仮想のゲームである場合には、ステップS121で、プレイヤ(つまり、この本体装置2を使用するプレイヤである。ステップS123、S125およびS127について同じである。)の総合順位の順位メッセージを順位メッセージテーブルからランダムに決定し、ステップS123で、ステップS121で決定した順位メッセージを用いて、プレイヤの総合順位の順位発表画面300を表示する。
続いて、ステップS125で、プレイヤの総合順位の称賛メッセージを、プレイヤの総合順位に応じた総合順位が1位の称賛メッセージテーブルまたは総合順位が1位以外の称賛メッセージテーブルから優先度に基づいて決定する。そして、ステップS127で、ステップS125で決定した称賛メッセージを用いて、プレイヤの総合順位の称賛画面400をディスプレイ12に表示して、ステップS129に進む。
ステップS129では、図20に示したような詳細結果の確認画面500をディスプレイ12に表示し、ステップS131では、発表終了かどうかを判断する。ステップS131では、所定のボタンが操作されることにより、発表終了の指示が与えられたかどうかを判断する。ただし、所定のボタンが操作されない時間が数十秒経過した場合には、結果発表を終了することが判断される。
ステップS131で“NO”であれば、つまり、発表終了でなければ、ステップS11に戻る。一方、ステップS131で“YES”であれば、つまり、発表終了であれば、結果発表処理を終了して、全体処理にリターンする。
なお、図28に示す結果発表の処理では、各総合順位の順位発表画面300および称賛画面400を表示する前に、各総合順位についての順位メッセージおよび称賛メッセージを決定するようにしてあるが、限定される必要はない。他の例では、総合順位が1位の順位発表画面300および総合順位が1位の称賛画面400を表示する前に、すべての総合順位についての順位メッセージおよび称賛メッセージを決定するようにしてもよい。
この実施例によれば、この実施例によれば、単に順位を発表するだけでなく、順位毎に、仮想のゲームにおいて更新される指標である称賛内容についての称賛メッセージを含む称賛画面を表示するので、結果発表の表示内容に多様性を持たせることができる。
また、この実施例によれば、マルチプレイヤゲームにおいて、仮想のゲームをプレイしたことを条件として、評価処理を行うことができ、評価処理においてゲーム内通貨のような報酬を得ることができるので、ゲームプレイ全体に対して称賛または良い評価を行うことを促すことができる。したがって、ゲームに参加したプレイヤの満足度を向上することができる。
さらに、この実施例によれば、ランダム対戦で仮想のゲームをプレイした場合に評価処理を行うので、事前に登録していない見ず知らずのプレイヤであるが、評価入力により称え合うことでゲームに参加したプレイヤの満足感が高まる。
なお、この実施例では、最終的な順位を発表するようにしてあるが、途中の順位を発表するようにしてもよい。途中の順位を発表する場合にも、星の所持数およびコインの所持数に基づいて順位が決定される。ただし、途中の順位を発表する回数は複数回でもよい。この場合、途中の順位に応じた称賛メッセージテーブルを用意しておき、途中の称賛メッセージを表示するようにしてもよい。
また、この実施例では、ゲームシステムの一例としてゲームシステム1を示したが、その構成は限定される必要は無く、他の構成を採用することが可能である。たとえば、上記「コンピュータ」は、上述の実施例においては、1つのコンピュータ(具体的には、プロセッサ81)であるが、他の実施例においては、複数のコンピュータであってもよい。上記「コンピュータ」は、例えば、複数の装置に設けられる(複数の)コンピュータであってもよく、より具体的には、上記「コンピュータ」は、本体装置2のプロセッサ81と、コントローラが備える通信制御部(マイクロプロセッサ)101、111とによって構成されてもよい。
また、この実施例では、ディスプレイ12にゲーム画像を表示する場合について説明したが、これに限定される必要はない。本体装置2を、クレードルを介して据置型モニタ(たとえば、テレビモニタ)に接続することにより、ゲーム画像を据置型モニタに表示することもできる。かかる場合には、ゲームシステム1と据置型モニタを含むゲームシステムを構成することもできる。
さらに、この実施例では、本体装置2に左コントローラ3および右コントローラ4を着脱可能な構成のゲームシステム1を用いた場合について説明したが、これに限定される必要はない。たとえば、左コントローラ3および右コントローラ4と同様の操作ボタンおよびアナログスティックを有する操作部を本体装置2に一体的に設けたゲーム装置またはゲームプログラムを実行可能な他の電子機器のようなゲーム装置を用いることもできる。他の電子機器としては、スマートフォンまたはタブレットPCなどが該当する。かかる場合には、操作部はソフトウェアキーで構成することもできる。
さらにまた、この実施例で示した具体的な数値および画像は一例であり、実際の製品に応じて適宜変更可能である。