[1.ゲームシステムの全体構成]
図1は、本発明の実施形態に係るゲームシステムのハードウェア構成を示す図である。図1に示すように、ゲームシステムSは、ゲームサーバ1と、複数のゲーム装置10と、を含む。ゲームシステムSを構成する各装置は、ネットワークNを介して互いにデータ通信可能となっている。なお、図1では、ゲームシステムSに含まれるゲームサーバ1が一つである場合を説明するが、ゲームサーバ1は、複数であってもよい。
ゲームサーバ1は、公知のサーバコンピュータである。ゲームサーバ1は、制御部2、記憶部3、及び通信部4を含む。制御部2は、例えば、CPU等を含み、オペレーティングシステムやその他のプログラムに従って情報処理を実行する。記憶部3は、主記憶部(例えば、RAM)と補助記憶部(例えば、ハードディスク)を含む。通信部4は、ネットワークNを介して他の装置(例えば、ゲーム装置10)とデータを授受するためのものである。
ゲーム装置10は、例えば、家庭用・業務用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機(スマートフォン)、携帯情報端末又はパーソナルコンピュータ等によって実現される。ゲーム装置10は、制御部11、記憶部12、通信部13、表示部14、操作部15、音声入力部16、及び音声出力部17を含む。なお、制御部11、記憶部12、及び通信部13のハードウェア構成は、それぞれ制御部2、記憶部3、及び通信部4と同様であるので説明を省略する。
表示部14は、例えば、液晶ディスプレイ又は有機ELディスプレイ等である。表示部14は、制御部11からの指示に従って画面を表示する。
操作部15は、ユーザが操作を行うために用いられるものである。操作部15は、ユーザの操作を受け付けるための1又は複数の操作部材を含む。例えば、操作部15は、ボタン(キー)、スティック(レバー)、又はポインティングデバイス(例えば、タッチパネルやマウス等)を含む。
音声入力部16は、例えば、音声を検出するマイク等である。なお、本実施形態において、操作部15を用いて行われるものとして説明する各種操作は、音声入力部16が検出した音声によるものであってもよい。即ち、音声を各種操作に用いるようにしてもよい。
音声出力部17は、例えば、スピーカ又はヘッドホン端子等である。音声出力部17は、制御部11からの指示に従って音声(例えば、音楽又は効果音等)を出力する。
なお、ゲームサーバ1及びゲーム装置10のハードウェア構成は、上記の例に限られない。例えば、光ディスクやメモリカード等の情報記憶媒体に記憶されたプログラムやデータを読み出すためのドライブが、ゲームサーバ1及びゲーム装置10に含まれているようにしてもよい。
また、本実施形態において、記憶部3又は記憶部12に記憶されているものとして説明するプログラムは、光ディスクやメモリカード等の情報記憶媒体に記憶されているようにしてもよいし、プログラムやデータは、ネットワークNを介して遠隔地から供給されるようにしてもよい。あるいは、赤外線通信などの各種データ通信を利用してゲームプログラムやゲームデータが供給されるようにしてもよい。
本実施形態では、ゲームサーバ1は、一のゲームに参加する複数のユーザ同士をマッチングする。当該マッチングされた複数のユーザの各々のゲーム装置10において、ゲームが実行される。例えば、これら複数のゲーム装置10のうちの何れかが、ゲームを統括的に制御するサーバとしての役割を果たし、他のゲーム装置10は、クライアントとしての役割を果たす。
例えば、サーバとしての役割を果たすゲーム装置10は、クライアントとしての役割を果たすゲーム装置10からユーザの操作内容を示すデータを受信し、各ユーザの操作に基づいて、現在のゲームの状況を示すゲーム状況データを更新する。さらに、サーバとしての役割を果たすゲーム装置10は、最新のゲーム状況データを、クライアントとしての役割を果たすゲーム装置10に送信する。
一方、クライアントとしての役割を果たすゲーム装置10は、最新のゲーム状況データを受信して記憶する。各ゲーム装置10では、当該ゲーム装置10に記憶されるゲーム状況データに基づいて画面が表示される。このようにして、ゲームシステムSでは、ゲーム状況データが各ゲーム装置10間で共有される。
[2.ゲームシステムにおいて実行されるゲーム]
本実施形態では、複数のユーザが参加するゲームが実行される。ここでは、複数のユーザが協力して対戦相手と対戦するサッカーゲームが実行される場合を例に挙げて説明する。サッカーゲームにおいては、各ユーザが操作するチーム(以降、「ユーザチーム」という。)と、対戦相手(他のユーザ又はコンピュータ)が操作するチーム(以降、「対戦相手チーム」という。)と、の間でサッカーの試合が行われる。即ち、ユーザが操作対象の動作を操作することによって、移動体(例えば、ボールやパック等。一つであってもよいし、複数であってもよい。)を移動目標位置(例えば、ゴール)に移動させることを目指すゲームが実行される。
本実施形態では、サッカーゲームに参加する複数のユーザのうちの少なくとも一人が、サッカー選手を操作する他のユーザ(以降、操作ユーザという)に指示を与えるユーザ(以降、指示ユーザ)として設定される。なお、ここでは、仮想世界における操作対象を操作可能な複数の操作ユーザと、複数の操作ユーザのそれぞれに対して指示を与える指示ユーザとがサッカーゲームに参加する。サッカーゲームが開始されると、例えば、ゲーム空間が記憶部12に構築される。
図2は、ゲーム空間の一例を示す図である。図2に示すゲーム空間20は、互いに直交する三つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間である。図2に示すように、ゲーム空間20には、サッカーフィールドを表すオブジェクトであるフィールド22が配置される。
フィールド22上には、サッカーのゴールを表すオブジェクトであるゴール24が配置され、2本のゴールライン26及び2本のタッチライン28が表されている。ゴールライン26及びタッチライン28によって囲まれたピッチ30及び当該ピッチ30の周囲(ゴールライン26又はタッチライン28に接するピッチ30外の所定領域)において、試合が行われる。
また、フィールド22上には、サッカーボール(移動物体)を表すオブジェクトであるボール32と、ユーザチームに所属するサッカー選手を表すオブジェクトであるキャラクタ34と、対戦相手チームに所属するサッカー選手を表すオブジェクトであるキャラクタ36と、が配置される。各オブジェクトの位置は、例えば、ワールド座標系(Xw−Yw−Zw座標系)の3次元座標で特定される。
なお、図2では省略されているが、フィールド22上には、ユーザチームに所属する11体のキャラクタ34と、対戦相手チームに所属する11体のキャラクタ36と、が配置される。
本実施形態では、各操作ユーザは、ユーザチームに所属するキャラクタ34の何れかを操作する。操作ユーザに対応する操作対象は、当該操作ユーザの操作に基づいて動作する。操作ユーザに対応する操作対象として設定されるキャラクタ34は、試合中に切り替わってもよいし、試合終了まで変わらないようにしてもよい。
ゲーム空間20に配置される各キャラクタ34(36)のうちで操作ユーザに対応する操作対象とならないものは、所定の行動アルゴリズム(即ち、ゲーム制作者が定めた動作パターン)に従って自律的に行動する。当該行動アルゴリズムは、ゲームプログラムに記述されている。
また、ゲーム空間20には、仮想カメラ38(視点)が設定される。表示部14には、ゲーム空間20を仮想カメラ38から見た様子を表す画像が表示される。当該画像は、ゲーム空間20に配置された各オブジェクトの頂点座標が、所定の座標変換演算を用いてワールド座標系からスクリーン座標系に座標変換されることによって生成される。
本実施形態では、操作ユーザが操作するゲーム装置10の表示部14(以降、単に操作ユーザに対応する表示部14という)に表示されるゲーム空間20内の領域と、指示ユーザが操作するゲーム装置10の表示部14(以降、単に指示ユーザに対応する表示部14という)に表示されるゲーム空間20内の領域と、は異なる。
例えば、各操作ユーザに対応する表示部14には、操作ユーザに対応する操作対象に関連付けられた表示となるように、例えば、当該操作ユーザに対応する操作対象の頭上又は背後から代表方向(例えば、操作対象の正面方向、移動方向、又はゲーム空間20内の所定方向)を見るように、仮想カメラ38が設定される。以降、操作ユーザに対応する表示部14に画像を表示させるための仮想カメラ38を、単に操作ユーザに対応する仮想カメラ38という。
図3は、操作ユーザに対応する仮想カメラ38の制御方法を説明するための図である。図3に示すように、例えば、操作ユーザに対応する仮想カメラ38の位置は、当該操作ユーザに対応する操作対象の上方の位置に設定される。この場合、仮想カメラ38は、操作ユーザに対応する操作対象と所定の位置関係を保つように移動する。
また例えば、操作ユーザに対応する仮想カメラ38の視線方向は、ユーザチームのゴール24から対戦相手チームのゴール24に向かう方向(例えば、Xw軸方向)に設定される。操作ユーザ画面40には、ゲーム空間20のうち、操作ユーザに対応する操作対象付近の領域が詳細に表示されることになる。即ち、図3に示すように、操作ユーザに対応する操作対象がズームアップされるように、操作ユーザ画面40が表示される。なお、操作ユーザの操作対象が切り替わった場合には、切り替え後の操作対象の状態(位置や移動方向等)に基づいて仮想カメラ38が設定されることになる。
一方、指示ユーザに対応する表示部14には、斜め上方からフィールド22を見降ろすように、仮想カメラ38が設定される。以降、指示ユーザに対応する表示部14に画像を表示させるための仮想カメラ38を、単に指示ユーザに対応する仮想カメラ38という。
図4は、指示ユーザに対応する仮想カメラ38の制御方法を説明するための図である。図4に示すように、指示ユーザに対応する仮想カメラ38は、操作対象を含むような視点となるように設定され、例えば、いわゆる俯瞰視点(鳥瞰視点)となるように設定される。このため、指示ユーザ画面50には、特定のキャラクタ34がズームアップされるのではなく、フィールド22の全体の様子が表示される。
更に、本実施形態では、各キャラクタ34(36)の位置関係を表す全体画像52が、指示ユーザ画面50に表示される。全体画像52は、ピッチ30の全体を表した画像と、ボール32及び各キャラクタ34(36)の位置を表す画像と、を含む。全体画像52におけるボール32及び各キャラクタ34(36)の位置を表す画像の位置は、ゲーム空間20におけるボール32及び各キャラクタ34(36)の位置に対応している。指示ユーザは、全体画像52を見ることでも、ピッチ30の全体の様子を把握することができる。
また、指示ユーザ画面50には、アイコン54A〜54Eが表示される。以降、これらをまとめて単にアイコン54ともいう。アイコン54は、操作ユーザに対する指示を指示ユーザが入力するためのものである。各アイコン54は、操作ユーザに対応する操作対象がすべき動作の種類に対応している。
例えば、アイコン54Aは、操作ユーザに対応する操作対象が歩いて移動すべき位置又は方向を、指示ユーザが指示するためのものである。アイコン54Bは、操作ユーザに対応する操作対象が走って移動すべき位置又は方向を、指示ユーザが指示するためのものである。アイコン54Cは、操作ユーザに対応する操作対象がショートパス又はシュートをすべき位置又は方向を、指示ユーザが指示するためのものである。アイコン54Dは、操作ユーザに対応する操作対象がロングパスをすべき位置又は方向を、指示ユーザが指示するためのものである。アイコン54Eは、空きスペースを指示ユーザが指示するためのものである。
図5は、操作ユーザに対する指示を指示ユーザが入力する様子を示す図である。図5に示すように、指示ユーザは、アイコン54Aを選択した後で、指示ユーザ画面50上の位置を指定することによって、操作ユーザに対応する操作対象が歩いて移動すべき位置又は方向を指示することができる。例えば、表示部14に設けられたタッチパネル上において、指示ユーザがタッチペンPで所定の軌跡を描くと、操作ユーザに対応する操作対象が移動すべき方向を表す矢印画像56が、指示ユーザ画面50に表示される。
他のアイコン54も同様であり、例えば、指示ユーザは、アイコン54Bを選択した後で、指示ユーザ画面50上の位置を指定することによって、操作ユーザに対応する操作対象が走って移動すべき位置又は方向を指示することができる。また例えば、指示ユーザは、アイコン54Cを選択した後で、指示ユーザ画面50上の位置を指定することによって、ショートパス又はシュートをすべき位置又は方向を指示することができる。また例えば、指示ユーザは、アイコン54Dを選択した後で、指示ユーザ画面50上の位置を指定することによって、ロングパスをすべき位置又は方向を指示することができる。また例えば、指示ユーザは、アイコン54Eを選択した後で、指示ユーザ画面50上の位置を指定することによって、空きスペースを指示することができる。
上記のようにして、指示ユーザ画面50において指示ユーザが指示を行うと、操作ユーザ画面40で当該指示が通知される。
図6は、操作ユーザ画面40において指示内容が通知される様子を示す図である。図6に示すように、操作ユーザ画面40では、指示ユーザが指示した位置や方向を表す指示画像42が表示される。例えば、指示ユーザが指示したピッチ30上の位置に指示画像42が表示されたり、指示ユーザが指示した方向を示すように指示画像42が表示されたりする。なお、指示ユーザが指示した動作の種類に応じて、指示画像42の表示態様(例えば、形状、模様、色彩)を異ならせるようにしてもよい。
上記のように、本実施形態では、操作ユーザ画面40において、各操作ユーザに対応する操作対象の付近の様子を詳細に表示させることで、操作ユーザが操作対象を操作しやすくなる。更に、指示ユーザ画面50において、ピッチ30全体の様子を表示させることで、指示ユーザがピッチ30全体の状況を把握できるため指示を与えやすくなる。以降、本技術について詳細に説明する。
[3.ゲームシステムによって実現される機能]
図7は、ゲームシステムSの機能ブロック図である。図7に示すように、ゲームシステムSにおいては、ゲームサーバ1及び各ゲーム装置10がゲームプログラムを実行することによって、ゲームデータ記憶部60、ゲーム実行部62、指示ユーザ決定部64、第1表示制御部66、第2表示制御部68、指示受付部70、及び指示情報通知部72が実現される。
[3−1.ゲームデータ記憶部]
本実施形態では、ゲームデータ記憶部60は、各ゲーム装置10の記憶部12を主として実現される。ゲームデータ記憶部60は、ゲームを実現するために必要な各種データを記憶する。例えば、ゲームデータ記憶部60は、実行中のゲームの状況を示すゲーム状況データを記憶する。
例えば、ゲーム状況データには、下記の情報が含まれる。
(1)ゲーム空間20の現在の状況(例えば、移動体(ボール32)及び操作対象(キャラクタ34(36))の位置や移動方向、仮想カメラ38の位置及び視線方向等)
(2)ゲームに参加しているユーザに関する情報(例えば、ユーザIDやユーザ名等)
(3)指示ユーザ及び操作ユーザを識別する情報
(4)操作ユーザに対応する操作対象を識別する情報(例えば、各操作ユーザと、操作対象に設定されるキャラクタ34と、の関係を示す情報)
(5)現在の試合の状況(例えば、試合の経過時間や両チームの得点等)
ゲーム状況データは、ゲーム実行部62によるゲームの実行結果に基づいて更新される。例えば、ゲームの実行中において、各操作ユーザに対応する操作対象が切り替わる場合には、操作ユーザに対応する操作対象を識別する情報が更新される。最新のゲーム状況データは、各ゲーム装置10のゲームデータ記憶部60で共有される。
なお、ゲーム状況データに含まれる各情報のうち、仮想カメラ38の位置及び視線方向を示す情報や操作対象を識別する情報は、各ゲーム装置10で異なるようにしてもよい。各ゲーム装置10のゲームデータ記憶部60に記憶されるゲーム状況データのうち、仮想カメラ38の位置及び視線方向や操作ユーザの操作対象を識別する情報は、各ゲーム装置10で異なっており、このゲーム装置10に対応するユーザ(操作ユーザ又は指示ユーザ)に関する情報のみが格納されているようにしてもよい。
なお、ゲームデータ記憶部60に記憶されるデータは、上記の例に限られない。ゲームを実行するために必要なデータが、ゲームデータ記憶部60に記憶されていればよい。例えば、画面に表示される各種画像データや、音声出力部17から出力される音声データ、各ユーザに関する各種データ(例えば、ユーザのレベル、ユーザどうしの親密度、他のユーザからの評価値等)記憶されていてもよい。親密度や評価値は、ゲームの実行結果及びユーザの操作に基づいて適宜更新されるものとする。他にも例えば、キャラクタ34(36)の行動パターンを示すデータ(行動アルゴリズム)や、各キャラクタ34(36)に関する各種データ(例えば、名称や能力値等)が記憶されていてもよい。
[3−2.ゲーム実行部]
本実施形態では、ゲーム実行部62は、各ゲーム装置10の制御部11を主として実現される。ゲーム実行部62は、複数のユーザが参加するゲームを実行する。複数のユーザが参加するゲームとは、ゲームに参加する複数のユーザが共通の目標(例えば、対戦相手に勝つこと)を達成することを目指すゲームである。
本実施形態では、ゲーム実行部62は、複数のユーザの少なくとも一人が仮想世界の操作対象(例えば、ゲーム空間20のキャラクタ34)を操作するゲームを実行する。仮想世界は、2次元であってもよいし、3次元であってもよい。ゲーム実行部62は、操作ユーザの操作に基づいて、当該操作ユーザに対応する操作対象をゲーム空間20で動作させる。例えば、操作内容及び動作の種類の関連付けが記憶されており、ゲーム実行部62は、操作ユーザの操作内容に関連付けられた種類の動作を、当該操作ユーザに対応する操作対象に行わせる。本実施形態では、ゲーム実行部62は、操作ユーザが操作対象を動作させることで移動体(例えば、ボール32)を移動させるゲームを実行する。
[3−3.指示ユーザ決定部]
本実施形態では、指示ユーザ決定部64は、ゲームサーバ1の制御部2を主として実現される。指示ユーザ決定部64は、複数のユーザのうちから、操作対象(例えば、キャラクタ34)を操作する操作ユーザに対して指示を与える指示ユーザを決定する。指示ユーザは、一人であってもよいし、複数であってもよい。なお、本実施形態では、指示ユーザが、操作対象を操作できない場合を説明する。即ち、指示ユーザが、操作対象を操作して移動体を移動させることができない場合を説明する。別の言い方をすれば、指示ユーザは、原則として、操作対象を直接的に操作することはできず、あくまで操作ユーザに対する指示のみを行うことで間接的に操作対象に指示をすることになる。
指示ユーザ決定部64は、予め定められた方法(例えば、ユーザによる操作又は所定の条件)に基づいて、複数のユーザのうちから指示ユーザを決定する。例えば、指示ユーザ決定部64は、複数のユーザのうちで立候補したユーザを指示ユーザとしてもよいし、複数のユーザの少なくとも一人の投票で選出したユーザを指示ユーザとするようにしてもよい。他にも例えば、指示ユーザ決定部64は、複数のユーザのうちでランダムに指示ユーザを決定するようにしてもよいし、各ユーザに関するパラメータ(例えば、ユーザのレベル)に基づいて指示ユーザを決定するようにしてよい。また例えば、指示ユーザ決定部64は、ユーザ同士の親密度(例えば、一緒にプレイした回数等に応じて変化するユーザ間の親密度)を示すパラメータや、ユーザの評価値(例えば、過去のゲームにおける指示ユーザとしての評価値又は操作ユーザとしての評価値)を示すパラメータに基づいて指示ユーザを決定するようにしてもよい。この場合、例えば、指示ユーザ決定部64は、ゲームに一緒に参加する他のユーザとの親密度の合計値が基準以上となるユーザのうちから指示ユーザを決定するようにしてもよいし、指示ユーザとしての評価値が基準以上となるユーザのうちから指示ユーザを決定するようにしてもよいし、操作ユーザとしての評価値が基準以下となるユーザのうちから指示ユーザを決定するようにしてもよい。このようにすることにより、他のユーザと比較的仲の良いユーザを指示ユーザとしたり、指示ユーザとしての評価値が比較的高いユーザ又は操作ユーザとしての評価値が比較的低いユーザを、指示ユーザとしたりすることができる。
[3−4.第1表示制御部]
第1表示制御部66は、操作ユーザのゲーム装置10の制御部11を主として実現される。第1表示制御部66は、操作ユーザ(複数の操作ユーザのそれぞれ)に対応する表示部14に、仮想世界(例えば、ゲーム空間20)における操作ユーザ(複数の操作ユーザのそれぞれ)に対応する操作対象と関連付けられた第1視界画像を表示させる。
本実施形態では、第1視界画像は、操作ユーザに対応する仮想カメラ38からゲーム空間20を見た様子を示す画像である。例えば、以下のようにして、仮想カメラ38を設定する。
例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザに対応する操作対象の位置及び基準方向(例えば、操作対象の視線方向、顔の向き、体の向き、又は移動方向)に基づいて設定する。例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザの操作対象の視点に対応するように設定する。このように仮想カメラ38を設定することによって、操作ユーザは、自分の操作対象の視点でゲーム空間20の状況を把握することができるので、ゲームへの没頭感を高めることができる。
また例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザに対応する操作対象から所定方向(例えば、斜め上方)に所定距離だけ離れた位置及び基準方向に基づいて設定する。例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、操作対象を仮想カメラ38の視界に含むように設定する。このように仮想カメラ38を設定することによって、操作ユーザは、自分の操作対象の周囲の状況をより把握しやすくなり、かつ、ゲームへの没頭感を損なわないようにすることができる。
また例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザに対応する操作対象の動作に基づいて移動させる。この場合、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザに対応する操作対象の移動距離及び移動方向に基づいて移動させる。即ち、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザによる、操作対象を移動させるための操作(例えば、方向指示操作)に基づいて移動させる。このように操作対象又は操作対象を基準とした視点として、操作指示に応じて視点を変動させることで、より操作ユーザに対して操作対象への没入感の高く、操作性の高い表示を提供することができる。
また例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザに対応する操作対象及び移動体(例えば、ボール32)の位置関係に基づいて設定するようにしてもよい。この場合、例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の位置及び視線方向を、当該操作ユーザによる、操作対象が移動体(例えば、ボール32)を移動させるための操作(例えば、方向指示操作)に基づいて移動させる。即ち、第1表示制御部66は、操作対象が移動体(例えば、ボール32)をシュート又はパスするための操作が行われた場合、移動体の移動方向に基づいて、仮想カメラ38の位置及び視線方向を変化させる。このように仮想カメラ38を設定することによって、ユーザがボール32を確認しやすくなるため、本実施形態のようなボール32を用いたゲームでは、操作ユーザにとって有益な画面を提供することができる。
また、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の視線方向を、移動体(例えば、ボール32)又は移動体の移動目標位置(例えば、対戦相手チームのゴール24)に基づいて設定するようにしてもよい。この場合、例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の視線方向を、操作対象と移動体(例えば、ボール32)を結ぶ方向に基づいて設定したり、ゲーム空間20内の基準位置(例えば、操作対象、ボール32、又はユーザチームのゴール24)と移動体の移動目標位置(例えば、対戦相手チームのゴール24)を結ぶ方向に基づいて設定したりする。このように移動体や移動体の目標位置に基づいて、操作対象を操作して移動体を移動目標位置に移動させることを目的とする操作ユーザに対して、その目的が把握しやすい表示を提供することができる。
また例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38を、当該操作ユーザに対応する操作対象に関連づけられた視界となるように設定する。この場合、キャラクタ34と、仮想カメラ38の設定と、の関連付けがゲームデータ記憶部60に記憶されており、第1表示制御部66は、操作ユーザに対応する操作対象に関連付けられた設定に基づいて、仮想カメラ38の位置及び視線方向を設定する。この場合、第1表示制御部66は、操作ユーザに対応する仮想カメラ38を、当該操作ユーザに対応する操作対象に関するパラメータ(例えば、能力)に基づいて設定するようにしてもよい。例えば、第1表示制御部66は、操作ユーザに対応する操作対象の能力が高くなるほど、当該操作ユーザに対応する仮想カメラ38の視界が広くなるように設定するようにしてもよい。このように仮想カメラ38を設定することでも、操作ユーザの操作対象に応じた第1視界画像を提供することができる。
また例えば、第1表示制御部66は、操作ユーザに対応する仮想カメラ38を、当該操作ユーザに対応する操作対象の位置に基づいて定まる範囲(例えば、ゲーム空間20のうち操作対象の周辺領域)が表示部14において拡大されるように設定するようにしてもよい。このように仮想カメラ38を設定することで、操作ユーザが自分の操作対象の周囲の状況を確認しやすい画面を提供することができる。
また、第1表示制御部66は、操作ユーザに対応する表示部14に表示されるゲーム空間20内の情報が、指示ユーザに対応する表示部14に表示されるゲーム空間20内の情報よりも少なくなるように、仮想カメラ38の位置及び視線方向を設定してもよい。例えば、操作ユーザに対応する表示部14に表示されるゲーム空間20内の領域が、指示ユーザに対応する表示部14に表示される領域よりも狭くなるように、操作ユーザに対応する仮想カメラ38の位置及び視線方向を設定してもよい。即ち、第1表示制御部66は、操作ユーザに対応する仮想カメラ38の視界に含まれるゲーム空間20内の領域が、指示ユーザに対応する仮想カメラ38の視界に含まれる領域がよりも狭くなるように、操作ユーザに対応する仮想カメラ38を設定する。
より具体的には、第1表示制御部66は、下記のようにして第1視界画像を表示させるようにしてもよい。
例えば、第1表示制御部66は、第2視界画像とは異なる第1視界画像を表示させる。即ち、第1表示制御部66は、第1視界画像に表れるゲーム空間20内の領域と、第2視界画像に表れるゲーム空間20内の領域と、が異なるように、第1視界画像を表示させる。操作ユーザと指示ユーザとで画面に表れる領域を異ならせることにより、操作ユーザに提供する画面と指示ユーザに提供する画面とを使い分けることができる。
また例えば、第1表示制御部66は、第2視界画像に表れるゲーム空間20内の領域よりも、第1視界画像に表れるゲーム空間20内の領域が狭くなるように、第1視界画像を表示させる。この場合、第1表示制御部66は、第2視界画像に表れるフィールド22(又はピッチ30)よりも、第1視界画像に表れるフィールド22が狭くなるように、第1視界画像を表示させる。これにより、操作ユーザは、比較的狭い領域を集中的に注意しながら操作対象を動作させることができる。
また例えば、第1表示制御部66は、第2視界画像に表れるゲーム空間20内の情報量よりも、第1視界画像に表れるゲーム空間20内の情報量が少なくなるように、第1視界画像を表示させる。情報量とは、例えば、ゲーム空間20の広さ、及び、キャラクタタ34(36)等のオブジェクトの数である。この場合、第1表示制御部66は、第2視界画像に表れるフィールド22(又はピッチ30)上の情報量よりも、第1視界画像に表れるフィールド22上の情報量が少なくなるように、第1視界画像を表示させる。これにより、操作ユーザに対応する画面に表れる情報量が限られるので、必要な情報のみを把握しつつ操作対象を動作させることができる。
また例えば、第1表示制御部66は、第2視界画像におけるフィールド22(又はピッチ30)に対する距離(奥行き)よりも、第1視界画像におけるフィールド22に対する距離が短くなるように、第1視界画像を表示させる。フィールド22に対する距離とは、例えば、フィールド22と視点(仮想カメラ38)との距離である。この場合、第1視界画像は、第2視界画像よりもフィールド22との距離が近くなるので、第1視界画像には第2視界画像よりもフィールド22が拡大されて表示されることになる。これにより、操作ユーザに対応する画面にフィールド22の様子がより詳細に表示させ、操作ユーザが状況を詳しく把握しながら操作対象を操作することができる。
また例えば、第1表示制御部66は、第2視界画像におけるフィールド22(又はピッチ30)に対する角度よりも、第1視界画像におけるフィールド22に対する角度が小さくなるように、第1視界画像を表示させる。フィールド22に対する角度とは、視点(仮想カメラ38)の視線方向とフィールド22とのなす角度である。この角度が90度に近づくほど、フィールド22を真上から眺めてフィールド22の全体の様子を把握でき、この角度が0度に近づくほど、フィールドを横から眺めることができる。
また例えば、第1表示制御部66は、第2視界画像における視界の移動よりも、第1視界画像における視界の移動を制限しないように、第1視界画像を表示させる。この場合、例えば、第1表示制御部66は、第2視界画像における視点の移動範囲(例えば、移動速度や移動量)よりも、第1視界画像における視点の移動範囲を大きくする。視点の移動範囲を大きくすることで、操作ユーザが操作対象の周囲の状況変化を素早く把握でき、視点の移動範囲を小さくすることで、表示部14に表れる変化が小さくなるため、指示ユーザが指示を与えやすくなる。
第1表示制御部66は、第1視界画像で得られる情報が第2視界画像で得られる情報より小さくなるように第1視界画像を制限してもよく、例えば、本実施形態においては、第1表示制御部66は、操作ユーザに対応する表示部14において、第1視界画像を表示させ、全体画像52は表示させない。即ち、第1表示制御部66は、操作ユーザ画面40に全体画像52が表示されることを禁止する。これにより、非必要な情報に意識を取られる可能性を低減できるので、操作ユーザは、操作対象の操作に集中することができる。
[3−5.第2表示制御部]
第2表示制御部68は、指示ユーザに対応する表示部14に、仮想世界(例えば、ゲーム空間20)における操作ユーザ(複数の操作ユーザの全部または一部)に対応する操作対象を含んだ第2視界画像を表示させる。まず、ここでは、第2視界画像は、指示ユーザに対応する仮想カメラ38からゲーム空間20を見た様子を示す画像である場合を説明する。
例えば、第2表示制御部68は、下記のようにして第2視界画像を表示させるようにしてもよい。
例えば、第2表示制御部68は、第1視界画像とは異なる第2視界画像を表示させる。即ち、第2表示制御部68は、第1視界画像に表れるゲーム空間20内の領域と、第2視界画像に表れるゲーム空間20内の領域と、が異なるように、第2視界画像を表示させる。この場合、第2表示制御部68は、第1視界画像に表れるゲーム空間20内の領域よりも、第2視界画像に表れるゲーム空間20内の領域が広くなるように、第2視界画像を表示させる。即ち、第2表示制御部68は、第1視界画像に表れるフィールド22(又はピッチ30)よりも、第2視界画像に表れるフィールド22が広くなるように、第2視界画像を表示させる。これにより、指示ユーザは、ゲーム空間20をより広く把握したうえで指示を与えることができる。
例えば、第2表示制御部68は、第1視界画像の視点とは異なる視点に基づいて、第2視界画像を表示させる。即ち、第2表示制御部68は、第1視界画像の視点と、第2視界画像の視点と、が異なるように第2視界画像を表示させる。視点が異なるとは、視点の位置及び視線方向が異なることである。このように第1視界画像と第2視界画像の内容を異なるものとすることで、操作ユーザに得ることができない情報を指示ユーザが得ることができるようになるため、指示ユーザの指示内容を操作ユーザが実施することを促進する事ができる。
例えば、第2表示制御部68は、操作ユーザに対応する操作対象の移動範囲を含む第2視界画像を表示させる。操作対象の移動範囲とは、ゲーム空間20のうちで操作対象が移動可能な範囲であり、例えば、フィールド22内のピッチ30である。この場合、例えば、第2表示制御部68は、操作対象が移動可能な範囲が表れるように、第2視界画像を表示させる。これにより、指示ユーザは、操作対象が移動する範囲をより広く確認したうえで指示を与えることができる。
また例えば、第2表示制御部68は、操作ユーザに対応する操作対象と移動体(例えば、ボール32)の移動範囲を含む第2視界画像を表示させるようにしてもよい。移動体の移動範囲とは、ゲーム空間20のうちで移動体が移動可能な範囲であり、例えば、フィールド22内のピッチ30及びその周辺領域である。この場合、例えば、第2表示制御部68は、操作対象と移動体が移動可能な範囲が表れるように、第2視界画像を表示させる。なお、第2視界画像に表れる操作対象は、ユーザチームの操作対象のみ(即ち、指示ユーザと協力する操作ユーザに対応する操作対象のみ)であってもよい。このように移動体又は操作対象の移動範囲を第2視界画像として提示することで、指示対象である操作対象の移動可能な範囲、又は指示対象である操作対象によって移動体を移動させることが可能な範囲で操作指示を行うことができるようになり、当該操作対象を操作する操作ユーザに対してより適切な操作指示を指示ユーザが行うことができる。
また例えば、第2表示制御部68は、ゲーム空間20に複数の操作対象がいる場合、指示ユーザが操作対象を選択することで、当該選択された操作対象に基づいた視界となるように、第2視界画像を表示させるようにしてもよい。この場合、例えば、第2表示制御部68は、第2視界画像に表れる範囲を、指示ユーザが選択した操作対象に基づいて定まる範囲に制限する。即ち、第2表示制御部68は、ゲーム空間20に配置された複数の操作対象のうち、指示ユーザが選択した操作対象が第2視界画像に含まれるように、第2視界画像を表示させる。この様にすることにより、指示ユーザが指示仕様としている操作対象に基づいた第2視界画像を表示する事ができるようになるため、指示しようとしている操作対象に対してより適切な操作指示を行うことができる。
また例えば、第2表示制御部68は、第2視界画像におけるフィールド22(又はピッチ30)に対する角度が基準角度以上となるように、第2視界画像を表示させる。この場合、第2表示制御部66は、第1視界画像におけるフィールド22(又はピッチ30)に対する角度よりも、第2視界画像におけるフィールド22に対する角度が大きくなるように、第2視界画像を表示させるようにしてもよい。これにより、指示ユーザは、フィールド22を上方から眺めた様子を確認することができ、フィールド22の全体の様子を確認することができる。
また例えば、第2表示制御部68は、第2視界画像に表れるゲーム空間20内の領域が基準広さ以上となるように、第2視界画像を表示させる。即ち、第2表示制御部68は、第2視界画像に表れるゲーム空間20を基準以上に拡大することなく、第2視界画像を表示させる。この場合、第2表示制御部68は、第1視界画像におけるフィールド22(又はピッチ30)に対する距離(奥行き)よりも、第2視界画像におけるフィールド22に対する距離が長くなるように、第2視界画像を表示させる。この場合、第2視界画像は、第1視界画像よりもフィールド22との距離が長くなるので、第2視界画像にはフィールド22全体の様子が表示されることになる。
また例えば、第2表示制御部68は、第2視界画像の視点の移動を制限するようにしてもよい。この場合、例えば、第2表示制御部68は、第1視界画像における視界の移動よりも、第2視界画像における視界の移動を制限する。例えば、第2表示制御部68は、第1視界画像における視点の移動範囲(移動速度又は移動量)よりも、第2視界画像における視点の移動範囲を小さくする。視点の移動範囲を小さくすることで、指示ユーザが、ゲーム空間20の様子をじっくりと把握して指示を送りやすくなる。
また、仮想カメラ38からゲーム空間20を見た様子を示す画像ではなく、全体画像52が、第2視界画像に相当するようにしてもよい。即ち、第2表示制御部68は、ゲーム空間20における操作対象の位置関係を表した全体画像52を、第2視界画像として表示させるようにしてもよい。
即ち、第2表示制御部68は、指示ユーザに対応する表示部14に表示されるゲーム空間20内の情報が、指示ユーザに対応する表示部14に表示される情報よりも多くなるように仮想カメラ38の位置及び視線方向を設定しても良い。例えば、操作ユーザに対応する表示部14に表示されるゲーム空間20内の領域が、操作ユーザに対応する表示部14に表示される領域よりも広くなるように、指示ユーザに対応する仮想カメラ38の位置及び視線方向を設定する。即ち、第2表示制御部68は、指示ユーザに対応する仮想カメラ38の視界に含まれるゲーム空間20内の領域が、操作ユーザに対応する仮想カメラ38の視界に含まれる領域がよりも広くなるように、指示ユーザに対応する仮想カメラ38を設定する。これにより、指示ユーザは、より多くの情報を得ながら指示を与えることができる。
本実施形態では、第2表示制御部68は、指示ユーザに対応する表示部14において、第2視界画像と、仮想世界の全体の様子を表す全体画像52と、を表示させる。
第2表示制御部68は、ゲーム状況データに基づいて、全体画像52を生成して指示ユーザ画面50に表示させる。例えば、第2表示制御部68は、ゲーム状況データが示すボール32及びキャラクタ34(36)の位置関係に基づいて、ボール32及び各キャラクタ34(36)を表す画像を含む全体画像52を生成する。
[3−6.指示受付部]
指示受付部70は、指示ユーザのゲーム装置10の制御部11を主として実現される。指示受付部70は、指示ユーザによる、操作ユーザに対する指示を受け付ける。例えば、指示受付部70は、第2視界画像に含まれる一又は複数の操作対象に対応する操作ユーザの全部又は一部に対する指示ユーザによる指示を受け付ける。指示受付部70は、操作部15の検出信号を取得することによって、指示ユーザによる指示を受け付ける。例えば、指示受付部70は、ユーザが指示した画面上の位置、又は、ユーザによる方向指示操作が示す方向、を受け付けることになる。
本実施形態では、指示受付部70は、仮想世界(例えば、ゲーム空間20)において操作ユーザに対応する操作対象(例えば、キャラクタ34)がすべき動作に関する位置又は方向の指示を受け付ける。「動作に関する位置又は方向」とは、キャラクタ34が移動すべき位置若しくは方向、又は、キャラクタ34が移動物体(例えば、ボール32)を移動させるべき位置若しくは方向である。
本実施形態では、指示受付部70は、第2視界画像を基準として、操作ユーザに対応する操作対象に対する指示(例えば、動作に関する位置又は方向の指示)を受け付ける。「第2視界画像を基準」とは、例えば、指示ユーザに対応する仮想カメラ38を基準(原点)とすることである。即ち、指示受付部70は、指示ユーザに対応する仮想カメラ38からゲーム空間20を見た様子を表す指示ユーザ画面50において、位置又は方向の指示を受け付けることになる。
本実施形態では、指示受付部70は、複数種類の動作のうちから、仮想世界(例えば、ゲーム空間20)において操作ユーザに対応する操作対象(例えば、キャラクタ34)がすべき動作の指示を受け付ける。動作の種類とは、ゲームにおいてキャラクタ34がすることができる動作の類型のことである。
また、指示受付部70は、指示を送る相手先の操作ユーザの指定を受け付けるようにしてもよい。即ち、指示ユーザは、操作ユーザの全員に対する指示ではなく、自分が指定した一部の操作ユーザに対する指示を入力できるようにしてもよい。
[3−7.指示情報通知部]
指示情報通知部72は、操作ユーザのゲーム装置10の制御部11を主として実現される。指示情報通知部72は、指示ユーザによる指示に基づく情報(例えば、指示ユーザにより指示された位置又は方向や、動作の種類等の指示内容)を、操作ユーザ(指示の対象となる前記全部又は一部の操作ユーザ)に通知する。指示情報通知部72は、指示ユーザによる指示内容を示す画像を操作ユーザ画面40に表示させたり、指示ユーザによる指示内容を示す音声を音声出力部17から出力したりする。なお、操作部15等の振動により通知するようにしてもよい。
本実施形態では、指示情報通知部72は、第2視界画像(例えば、指示ユーザに対応する仮想カメラ38)を基準として受け付けた指示(例えば、動作に関する位置又は方向の指示)を、第1視界画像を基準とした指示に変換する。「第1視界画像を基準」とは、例えば、操作ユーザに対応する仮想カメラ38を基準(原点)とすることである。指示情報通知部72は、当該変換された指示に基づく情報を、操作ユーザに通知する。
図8は、位置又は方向の変換方法を説明するための説明図である。図8では、指示ユーザ画面50上に設けられたタッチパネル上で指示ユーザがタッチペンPを用いて方向を指示する場合を例に挙げて説明する。
例えば、指示ユーザ画面50上のタッチ開始位置Q1からタッチ終了位置Q2まで、指示ユーザがタッチペンPをスライドすると、指示情報通知部72は、タッチ開始位置Q1及びタッチ終了位置Q2のスクリーン座標を取得する。そして、指示情報通知部72は、指示ユーザに対応する仮想カメラ38の位置及び視線方向に基づいて、タッチ開始位置Q1及びタッチ終了位置Q2のスクリーン座標をワールド座標に座標変換し、それぞれを、タッチ開始位置R1及びタッチ開始位置R2とする。
更に、指示情報通知部72は、操作ユーザに対応する仮想カメラ38の位置及び視線方向に基づいて、タッチ開始位置R1及びタッチ開始位置R2のワールド座標をスクリーン座標に座標変換し、それぞれを、タッチ開始位置S1及びタッチ開始位置S2とする。指示情報通知部72は、タッチ開始位置S1からタッチ開始位置S2への方向を、操作ユーザ画面40において、操作ユーザに案内することになる。
上記のように、指示情報通知部72は、指示ユーザに対応する仮想カメラ38及び操作ユーザに対応する仮想カメラ38の位置関係に基づいて、指示ユーザが指示した位置又は方向を変換する。即ち、指示情報通知部72は、指示ユーザ画面50における見た位置又は方向を、操作ユーザ画面40における位置又は方向に変換することになる。
なお、本実施形態では、指示ユーザは、ゲーム空間20内を移動する操作対象に関する指示を行うため、指示ユーザが指示したタイミングと、当該指示を通知するタイミングと、に差が生じる。また、指示ユーザが指示を開始したタイミングと、指示を終了したタイミングと、に差が生じる。指示情報通知部72は、これらの差に基づいて、指示ユーザの指示を通知するようにしてもよい。例えば、指示情報通知部72は、上記のタイミングの差に基づいて、指示の起点を変化させるようにしてもよい。具体的には、指示ユーザが指示を開始したタイミングにおいて座標P1にいる操作対象に関する指示を行う場合に、指示ユーザが、座標P1から座標P2への移動を指示したとする。そして、指示ユーザの指示が完了するタイミング又は指示が通知されるタイミングにおいて、操作対象が座標P3に移動していたとする。この場合に、座標P1と座標P2に基づいて定まる方向を通知するよりも、操作対象が移動した分を考慮してずらして、座標P3と座標P2に基づいて定まる方向を通知した方が望ましい。このため、指示情報通知部72は、指示ユーザによる指示が開始されてから完了するまでの間における操作対象の移動に基づいて、通知すべき位置又は方向を変化させるようにしてもよい。
また、指示情報通知部72は、操作ユーザの全員に指示内容を通知してもよいし、一部の操作ユーザのみに指示内容を通知するようにしてもよい。例えば、指示情報通知部72は、指示ユーザが指定した操作ユーザのみに指示内容を通知するようにしてもよい。また例えば、指示情報通知部72は、指示が通知される相手先を制限するようにしてもよい。この場合、指示情報通知部72は、指示ユーザによる指示と各操作対象の状態とを比較して指示を実行可能な操作対象を特定し、当該特定された操作対象に対応する操作ユーザのみに指示を通知するようにしてもよい。例えば、指示情報通知部72は、指示ユーザが指示した位置又は方向に基づいて定まる領域内にいる操作対象を特定し、当該特定された操作対象に対応する操作ユーザのみに指示内容を通知する。別の言い方をすれば、指示情報通知部72は、指示ユーザが指示した位置又は方向と、操作対象の位置又は移動方向と、のずれが基準以下の操作対象に対応する操作ユーザのみに、指示内容を通知するようにしてもよい。また、一部の操作ユーザに対してのみ指示内容を通知する場合の通知条件はこれに限らず、例えば、指示情報通知部72は、指示ユーザとの親密度が基準以上である操作ユーザに対してのみ、指示内容を通知するようにしてもよいし、指示ユーザから操作ユーザを指定する入力情報を受け付け、指示ユーザによって指定された操作ユーザにのみ指示内容を通知するとしても良い。
[4.ゲームシステムにおいて実行される処理]
次に、ゲームシステムSにおいて実行される処理を説明する。ここでは、ゲームに参加するユーザをゲームサーバ1がマッチングするためのマッチング処理と、各ゲーム装置10がゲームを実行するためのゲーム処理と、について説明する。これらの処理が実行されることにより、図7に示す機能ブロックが実現される。
[4−1.マッチング処理]
図9は、ゲームサーバ1が実行するマッチング処理を示す図である。図9に示す処理は、制御部2が記憶部3から読み出されたプログラムに従って動作することによって実行される。
まず、図9に示すように、制御部2は、ユーザによるゲームへの参加登録を受け付ける(S1)。参加登録は、ゲームに参加するための所与の操作がなされた場合に行われる。例えば、ユーザが当該所与の操作をすると、当該ユーザを識別する情報(例えば、ユーザID、ユーザ名、及びIPアドレス等)がゲームサーバ1に送信される。S1においては、制御部2は、当該情報を取得することにより参加登録を受け付ける。参加登録をしたユーザを識別する情報は、記憶部3に記憶されるものとする。
制御部2は、ゲームの開始タイミングが到来したか否かを判定する(S2)。S2においては、制御部2は、ゲームを開始するための所定条件が満たされるか否かを判定する。例えば、制御部2は、ゲームを開始するための操作をユーザが行ったか否か、所与の時刻が到来したか否か、ゲームに参加するユーザ数が基準数になったか否かを判定することになる。
開始タイミングが到来していないと判定された場合(S2;N)、S6の処理に移行する。一方、開始タイミングが到来したと判定された場合(S2;Y)、制御部2は、ゲームに参加するユーザのうちで、指示ユーザ及び操作ユーザを決定する(S3)。S3においては、例えば、制御部2は、ゲームに参加するユーザのうちで、指示ユーザに立候補したユーザ(例えば、指示ユーザになるための所与の操作をしたユーザ)を指示ユーザとして決定し、他のユーザを操作ユーザとして決定する。また、ここでは、指示ユーザが一人である場合を説明する。
制御部2は、ゲームに参加するユーザのゲーム装置10のうちで、サーバの役割を果たすゲーム装置10を決定する(S4)。ここでは、指示ユーザのゲーム装置10が、サーバの役割を果たす場合を説明する。即ち、S4においては、制御部2は、指示ユーザのゲーム装置10を、サーバの役割を果たすゲーム装置10として決定し、操作ユーザのゲーム装置10を、クライアントの役割を果たすゲーム装置10として決定する。
制御部2は、ゲームに参加する各ユーザのゲーム装置10に対して、ゲームの開始指示を送信する(S5)。S5においては、制御部2は、指示ユーザを識別する情報、操作ユーザを識別する情報、サーバの役割を果たすゲーム装置10を識別する情報、クライアントの役割を果たすゲーム装置10を識別する情報、及びゲームの開始指示を示す情報を、ゲームに参加する各ユーザのゲーム装置10に送信することになる。
制御部2は、終了条件を満たすか否かを判定する(S6)。終了条件は、マッチング処理を終了するために予め定められた条件であればよい。例えば、終了条件は、所与の時刻が到来したか否か、又は、サーバ管理者により所定の操作が行われたか否かである。
終了条件が満たされないと判定された場合(S6;N)、S1の処理に戻り、再び、ユーザによる参加登録が受け付けられる。一方、終了条件が満たされると判定された場合(S6;Y)、マッチング処理は終了する。
[4−2.ゲーム処理]
図10は、ゲーム装置10が実行するゲーム処理を示す図である。図10に示す処理は、制御部11が記憶部12から読み出されたプログラムに従って動作することによって実行される。
まず、指示ユーザのゲーム装置10(ここでは、サーバの役割を果たすゲーム装置10)においては、制御部11は、ゲームを開始させる(S10)。S10においては、制御部11は、例えば、ユーザチームに所属するキャラクタ34のうちで各操作ユーザに対応する操作対象を決定して、ゲーム状況データを生成する。他にも、S10においては、ゲームを開始させるための各種処理が実行され、各操作ユーザに対応する操作対象が決定されたり、試合に関する各種設定情報が決定されたりする。
制御部11は、操作ユーザのゲーム装置10(ここでは、クライアントの役割を果たすゲーム装置10)に、最新のゲーム状況データを配信する(S11)。
一方、操作ユーザのゲーム装置10(ここでは、クライアントの役割を果たすゲーム装置10)においては、最新のゲーム状況データを受信すると、制御部11は、操作ユーザ画面40を表示させる(S12)。S12においては、制御部11は、最新のゲーム状況データを記憶部12に格納する。制御部11は、操作ユーザに対応する操作対象の位置に基づいて、操作ユーザに対応する仮想カメラ38の位置及び視線方向を決定する。制御部11は、当該決定された仮想カメラ38からゲーム空間20を見た様子を表す操作ユーザ画面40を表示させることになる。
制御部11は、操作部15の検出信号に基づいて、指示ユーザのゲーム装置10に、操作ユーザの操作内容を送信する(S13)。
一方、指示ユーザのゲーム装置10においては、操作ユーザの操作内容を受信すると、制御部11は、ゲーム状況データを更新する(S14)。S14においては、制御部11は、操作ユーザの操作に基づいて、キャラクタ34を動作させる。
制御部11は、最新のゲーム状況データに基づいて、指示ユーザ画面50を表示させる(S15)。S15においては、制御部11は、フィールド22を斜め上方から見降ろす俯瞰視点となるように、指示ユーザに対応する仮想カメラ38の位置及び視線方向を決定する。制御部11は、当該決定された仮想カメラ38からゲーム空間20を見た様子を表す画像と、ピッチ30におけるボール32及びキャラクタ34(36)の位置関係を示す全体画像52と、複数のアイコン54と、を含む操作ユーザ画面40を表示させることになる。
制御部11は、操作部15の検出信号に基づいて、指示ユーザ画面50に表示されたアイコン54が選択されたか否かを判定する(S16)。
アイコン54が選択された場合(S16;Y)、制御部11は、指示ユーザが位置又は方向を指示したか否かを判定する(S17)。
指示ユーザが位置又は方向を指示したと判定された場合(S17;Y)、制御部11は、操作ユーザのゲーム装置10に、指示ユーザによる指示を通知するための情報を送信する(S18)。S18においては、制御部11は、ユーザがポインティングデバイスを用いて指示したスクリーン座標を取得する。そして、制御部11は、指示ユーザが選択したアイコン54が示す動作の種類と、ユーザが指示した画面上の位置又は方向と、指示ユーザに対応する仮想カメラ38の位置及び視線方向と、を操作ユーザのゲーム装置10に送信する。
操作ユーザのゲーム装置10においては、指示ユーザによる指示を通知するための情報を受信すると、制御部11は、操作ユーザに対応する仮想カメラ38の位置及び視線方向に基づいて、指示ユーザが指示した位置又は方向を変換する(S19)。S19においては、制御部11は、指示ユーザに対応する仮想カメラ38と操作ユーザに対応する仮想カメラ38との位置関係に基づいて、指示ユーザ画面50上の位置又は方向を、操作ユーザ画面40上の位置又は方向に変換する。
制御部11は、S19における変換結果に基づいて、指示ユーザによる指示内容を通知する(S20)。S20においては、制御部11は、S19で変換した操作ユーザ画面40上の位置又は方向を表す指示画像42を表示させたり、当該位置又は方向を示す音声を音声出力部17から出力したりする。
なお、指示画像42の画像データや音声の音声データは、記憶部12に予め記憶されているものとする。例えば、指示ユーザが指示する動作の種類毎に、画像データや音声データが用意されており、S20においては、指示ユーザが指示した動作の種類(即ち、指示ユーザが選択したアイコン54の種類)に関連付けられた画像データ又は音声データに基づいて、指示ユーザが指示した動作の種類が通知される。
一方、指示ユーザのゲーム装置10においては、制御部11は、終了条件を満たすか否かを判定する(S21)。終了条件は、ゲームを終了するために予め定められた条件であり、例えば、ユーザが所与の操作を行ったか否か、試合の終了時間が到来したか否か等である。
終了条件が満たされないと判定された場合(S21;N)、S11の処理に戻り、最新のゲーム状況データが配信され、ゲームが続行される。一方、終了条件が満たされると判定された場合(S21;Y)、制御部11は、ゲームの終了指示を操作ユーザのゲーム装置10に送信し(S22)、ゲームを終了させる。
一方、操作ユーザのゲーム装置10においては、制御部11は、終了指示を受信したか否かを判定する(S23)。終了指示を受信しないと判定された場合(S23;N)、S12の処理に戻り、最新のゲーム状況データに基づいて操作ユーザ画面40が更新され、ゲームが続行される。一方、終了指示を受信したと判定された場合(S23;Y)、制御部11は、ゲームを終了させる。
以上説明したゲームシステムSによれば、指示ユーザ画面50にピッチ30の全体の様子が表示され、指示ユーザがピッチ30全体の様子を確認することができるので、指示ユーザが操作ユーザに指示を出しやすくなる。更に、指示ユーザ画面50に全体画像52を表示させることによって、ピッチ30全体の様子を、より詳しく指示ユーザに把握させることができる。
また、指示ユーザ画面50上で位置又は方向を指示ユーザが指示することにより、操作ユーザに対応する操作対象が移動すべき位置又は方向や、操作ユーザに対応する操作対象がボール32を移動させるべき位置又は方向を指示することができる。更に、当該位置又は方向を、操作ユーザに対応する仮想カメラ38と指示ユーザに対応する仮想カメラ38の位置関係に基づいて変換することで、正確な指示を通知することができる。
また、操作ユーザに対応する表示部14に、指示ユーザに対応する表示部14に表示されるゲーム画面40とは異なるゲーム画面40を表示させることで、指示ユーザは、操作ユーザが知り得ない情報に基づいて指示を与えることができるため、協力プレイを促進することができる。
また、指示ユーザは、アイコン54A〜54Eを選択することにより、操作ユーザに対応する操作対象がすべき動作の種類を指定することができる。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
図11は、変形例の機能ブロック図である。図11に示すように、以降説明する変形例では、実施形態の機能に加えて、動作情報取得部74、動作比較部76、評価部78、画像消去部80、対戦相手指示受付部82、及び対戦相手指示通知部84が実現される。なお、ゲームシステムSにおいて、下記に説明する機能は省略するようにしてもよい。
(1)例えば、キャラクタ34がすべき複数の動作の組み合わせを、指示ユーザが指示できるようにしてもよい。例えば、複数のキャラクタ34が協力して行うべき連係プレイを予め登録しておき、当該連係プレイをする際の基準となる位置を指示ユーザが指示するようにしてもよい。
変形例(1)のゲームシステムは、動作情報取得部74を含む。例えば、動作情報取得部74は、指示ユーザのゲーム装置10(サーバの役割を果たすゲーム装置10)の制御部11を主として実現される。動作情報取得部74は、複数の動作の組み合わせを示す動作情報を記憶する手段(例えば、ゲームデータ記憶部60)の記憶内容を取得する。
図12は、動作情報のデータ格納例を示す図である。図12に示すように、動作情報には、複数の動作が順番に定義されており、例えば、あるキャラクタ34がすべき動作と、その次に他のキャラクタ34がすべき動作と、の関連付けが示されている。なお、動作情報には、各動作をすべき位置又は方向が含まれているようにしてもよい。
ここでは、複数パターンの連係プレイが、動作情報に定義されている。指示ユーザは、これら複数パターンのうちから、操作ユーザに指示すべきパターンを選択するようにしてもよい。なお、動作情報に定義される連係プレイの内容は、ゲーム制作者が予め用意したものであってもよいし、ユーザが編集可能であってもよい。
本変形例の指示受付部70は、仮想世界において操作ユーザに対応する操作対象(例えば、ゲーム空間20のキャラクタ34)がすべき複数の動作の組み合わせに関する指示を受け付ける。例えば、指示受付部70は、動作情報に定義された複数パターンのうちの少なくとも一つの選択を受け付ける。
また例えば、指示受付部70は、複数の動作に関する一の動作位置の指示ユーザによる指示を受け付ける。動作位置は、連係プレイの基準となる位置である。例えば、動作情報には、動作位置を原点として各動作をすべき位置又は方向が定義されている。指示受付部70は、指示ユーザが指定する指示ユーザ画面50上の位置を取得することによって、動作位置の指定を受け付ける。
本変形例の指示情報通知部72は、指示ユーザにより指示された複数の動作の組み合わせを、操作ユーザに通知する。例えば、指示情報通知部72は、動作情報に定義された複数パターンのうち、指示ユーザが選択したパターン及びその動作位置を通知する。
図13は、操作ユーザ画面40において複数の動作の組み合わせが通知される様子を示す図である。図13に示すように、例えば、指示情報通知部72は、指示ユーザが指示した動作位置に基づいて、操作ユーザに対応する操作対象が移動すべき方向を通知する。そして、指示情報通知部72は、操作ユーザに対応する操作対象がパスをすべき方向を通知し、その後に、走るべき方向を指示する。
上記のように、指示情報通知部72は、指示ユーザにより指示された一の動作位置と、動作情報と、に基づいて、複数の動作の組み合わせをすべき位置を、操作ユーザに通知する。ここでは、指示情報通知部72は、指示ユーザが指示した動作位置に基づいて、動作情報に定義された各動作をすべき位置を特定する。そして、指示情報通知部72は、当該特定した位置に基づいて、各動作をすべき位置を順番に通知する。なお、指示情報通知部72は、これらの位置を順番に通知するのではなく、一度にまとめて通知してもよい。
変形例(1)によれば、キャラクタ34がすべき複数の動作の組み合わせを、指示ユーザが容易に指示することができる。
なお、上記においては、指示ユーザが動作位置を指定する場合を説明したが、指示ユーザが動作位置を指定しなくても、予め登録された連係プレイの各動作が通知されるようにしてもよい。また、予め登録された連係プレイが通知される場合を説明したが、指示ユーザが連係プレイの各動作をその場で指定するようにしてもよい。
(2)また例えば、ピッチ30を複数の領域に分割しておき、指示ユーザにこれら複数の分割領域の少なくとも一つを選択させることによって、キャラクタ34が移動すべき位置や方向を指定するようにしてもよい。
図14は、ピッチ30に設定される分割領域の一例を示す図である。図14の例では、ピッチ30が、計24個(横6つ×縦4つ)の分割領域30−1〜分割領域30−24に分割される場合を示している。各分割領域30−1〜分割領域30−24は、ゲーム空間20内に設定される複数の基準位置に相当する。
本変形例の指示受付部70は、ゲーム空間20内に設定される複数の基準位置のうちから、指示ユーザによる選択を受け付けることになる。例えば、指示受付部70は、指示ユーザ画面50において、複数の分割領域30−1〜分割領域30−24のうちの少なくとも一つの選択を受け付ける。即ち、指示受付部70は、ユーザにより選択された分割領域30−1〜分割領域30−24を、基準位置として受け付ける。
本変形例の指示情報通知部72は、指示ユーザにより選択された基準位置に基づいて、操作ユーザに対応する操作対象がすべき動作に関する位置又は方向を、操作ユーザに通知する。指示情報通知部72は、指示ユーザが選択した分割領域30−1〜分割領域30−24に対応する基準位置に基づいて、通知すべき位置又は方向を決定することになる。
例えば、指示情報通知部72は、指示ユーザが選択した分割領域30−1〜分割領域30−24の何れかに基づいて、操作ユーザに対応する操作対象の動作に関する位置を通知する。ま例えば、指示情報通知部72は、指示ユーザが選択した分割領域30−1〜分割領域30−24の少なくとも二つを選択した場合、当該分割領域に対応付けられた基準位置を結ぶ方向操作ユーザに対応する操作対象の動作に関する方向を通知する。
変形例(2)によれば、指示ユーザが分割領域を選択することによって、キャラクタ34が移動すべき位置や方向等を指示することができる。例えば、ポインティングデバイスを用いないゲーム装置10であっても、コントローラ等を用いて、比較的容易に、指示を与えることができる。
(3)また例えば、指示ユーザの指示通りに、操作ユーザが操作対象を動作させたか否かに基づいて、指示ユーザや操作ユーザが評価されるようにしてもよい。
変形例(3)のゲームシステムSは、動作比較部76及び評価部78を含む。動作比較部76及び評価部78は、例えば、指示ユーザのゲーム装置10(サーバの役割を果たすゲーム装置10)の制御部11を主として実現される。
動作比較部76は、指示ユーザの指示内容と、指示通知部による通知後に操作ユーザに対応する操作対象が行った動作と、を比較する。動作比較部76は、指示ユーザが指示した動作内容と、操作ユーザに対応する操作対象が行った動作内容と、が一致又は類似するか否かを比較することになる。例えば、動作比較部76は、指示ユーザが指示した位置又は方向と、操作ユーザに対応する操作対象が行った動作に関する位置又は方向と、のずれが基準以内であるか否かを判定する。
評価部78は、動作比較部76の比較結果に基づいて、操作ユーザと指示ユーザとの少なくとも一方を評価する。例えば、評価部78は、操作ユーザ又は指示ユーザに関するパラメータ(例えば、ゲームにおける経験値等)を変化させたり、操作ユーザ画面40又は指示ユーザ画面50に所与の画像を表示させたりすることによって、評価を行う。また例えば、評価部78は、操作ユーザ又は指示ユーザのゲーム装置10から所与の音声を出力することによって、評価を行うようにしてもよい。
評価部78は、指示ユーザが指示した動作内容と、操作ユーザに対応する操作対象が行った動作内容と、が一致又は類似する場合、操作ユーザと指示ユーザとの少なくとも一方を評価する。ここでは、ある動作と、当該動作に類似する動作と、の関連付けがゲームデータ記憶部60に記憶されているものとする。評価部78は、当該関連付けを参照することによって、動作が類似するか否かを特定する。
例えば、評価部78は、指示ユーザが指示した位置又は方向と、操作ユーザに対応する操作対象が行った動作に関する位置又は方向と、のずれが基準以内である場合、操作ユーザと指示ユーザとの少なくとも一方を評価する。また例えば、評価部78は、指示ユーザが指示した動作の種類と、操作ユーザに対応する操作対象が行った動作の種類と、が一致又は類似する場合、操作ユーザと指示ユーザとの少なくとも一方を評価する。
変形例(3)によれば、例えば、指示ユーザの指示通りに操作ユーザに対応する操作対象が動作したかどうかに基づいて、指示ユーザと操作ユーザとの少なくとも一方を評価することができる。
(4)また例えば、指示ユーザが指示した位置が、操作ユーザ画面40に含まれない場合は、指示ユーザが指示した位置がある方向を、操作ユーザ画面40において通知するようにしてもよい。
図15は、指示ユーザが指示した位置が操作ユーザ画面40で通知される様子を示す図である。例えば、図15に示すように、指示ユーザが指示した位置を指し示すように、方向画像44が表示される。方向画像44が示す方向は、操作ユーザに対応する仮想カメラ38と、指示ユーザが指示したゲーム空間20内の位置と、の位置関係に基づいて決定されることになる。
本変形例の指示情報通知部72は、指示ユーザにより指示された位置が操作ユーザに対応する表示部14に表示されていない場合、指示ユーザにより指示された位置に対応する方向を操作ユーザに通知する。例えば、指示情報通知部72は、指示ユーザが指示したゲーム空間20内の位置が操作ユーザに対応する仮想カメラ38の視界内に含まれるか否かを判定する。そして、指示情報通知部72は、当該位置が視界内に含まれないと判定された場合に、操作ユーザに対応する仮想カメラ38から見て、指示ユーザが指示したゲーム空間20内の位置がある方向を通知する。
変形例(4)によれば、操作ユーザ画面40に表示されない位置を指示ユーザが指示したとしても、指示ユーザが指示した位置がどこであるかを通知することができる。なお、指示情報通知部72は、指示ユーザにより指示された位置がある方向を、音声によって通知するようにしてもよい。
また、上記のように、指示ユーザの画面に表示されるゲーム空間20の領域と、操作ユーザの画面に表示されるゲーム空間20の領域と、が異なる場合、指示ユーザが指示した位置が、必ずしも操作ユーザの画面に含まれない可能性があるので、より有益である。
(5)また例えば、指示画像42を表示させたままにしておくと、操作ユーザのゲームプレイの妨げになる可能性があるため、所与の条件のもとで、指示画像42を操作ユーザ画面40から消去するようにしてもよい。
本変形例のゲームシステムSは、画像消去部80を含む。画像消去部80は、操作ユーザのゲーム装置10(クライアントの役割を果たすゲーム装置10)の制御部11を主として実現される。画像消去部80は、実行中のゲームの状況、指示ユーザによる操作及び操作ユーザによる操作の少なくともいずれかに基づいて、操作ユーザに対応する表示部14に表示された指示画像42を消去(除去)する。
例えば、画像消去部80は、実行中のゲームの状況が所与の状況になった場合に、指示画像42を消去する。所与の状況とは、指示画像42を消去するために予め定められた状況であり、例えば、指示ユーザが指示した動作内容と操作ユーザに対応する操作対象が実際に行った動作とのずれが所定条件を満たすこと、指示画像42が表示されてから所定時間が経過した場合等である。なお、当該ずれは、動作の類似具合を示し、動作の類似を判定する方法は、変形例(3)と同様である。例えば、画像消去部80は、指示ユーザが指示した動作内容と同一又は類似する動作が行われた場合、又は、同一又は類似する動作が行われなかった場合、の何れかの場合に指示画像42を消去する。
また例えば、画像消去部80は、操作ユーザが所与の操作をした場合、指示画像42を消去する。所与の操作とは、指示画像42を消去するために予め定められた操作であり、例えば、操作部15の所定部材(例えば、ボタン)を操作すること、当該所定部材の操作量(例えば、ボタンを押した回数)が基準以上であること、操作ユーザ画面40に表示される所与の指標を選択することである。また、画像消去部80は、指示ユーザが指示した位置又は方向と、操作ユーザに対応する操作対象の位置又は移動方向と、のずれ(距離又は角度)が所定条件を満たした場合に、指示画像42を消去するようにしてもよい。例えば、画像消去部80は、指示ユーザが指示した位置又は方向と操作ユーザに対応する操作対象の位置又は移動方向とのずれが基準以上の場合、又は、このずれが基準未満の場合、の何れかの場合に指示画像42を消去する。
変形例(5)によれば、指示画像42が必要なくなった時点で消去させることにより、操作ユーザにゲームプレイをさせやすくすることができる。
(6)また例えば、複数のユーザと、複数の対戦相手ユーザと、が対戦するゲームが実行される場合、対戦相手ユーザによる指示も通知されるようにしてもよい。例えば、操作ユーザ画面40において、味方の指示と対戦相手の指示との両方が通知されるようにしてもよい。
変形例(6)のゲームシステムSは、対戦相手指示受付部82及び対戦相手指示通知部84を含む。対戦相手指示受付部82及び対戦相手指示通知部84は、対戦相手ユーザのゲーム装置10の制御部11を主として実現される。
対戦相手指示受付部82は、複数の対戦相手ユーザの少なくとも一人による、他の対戦相手ユーザへの指示を受け付ける。対戦相手指示受付部82が指示を受け付ける方法は、指示受付部70と同様である。即ち、対戦相手指示受付部82は、対戦相手ユーザのゲーム装置10の操作部15の検出信号に基づいて、対戦相手チームのキャラクタ36の動作に関する位置又は方向の指示を受け付ける。
対戦相手指示通知部84は、当該受け付けた指示に基づく情報を、他の対戦相手ユーザと、複数のユーザの少なくとも一人と、に通知する。
図16は、変形例(6)における操作ユーザ画面40の一例を示す図である。図16に示すように、操作ユーザ画面40には、味方の指示ユーザによる指示を表す指示画像42の他にも、対戦相手ユーザによる指示を表す対戦相手指示画像46が表示される。対戦相手指示画像46の表示方法は、指示画像42と同様であり、対戦相手ユーザが指示した位置又は方向に基づいて表示される。
本変形例(6)の指示情報通知部72は、指示ユーザによる指示に基づく情報を、操作ユーザと、複数の対戦相手ユーザの少なくとも一人と、に通知する。指示情報通知部72は、味方の操作ユーザだけでなく、対戦相手ユーザにも指示内容を通知することになる。対戦相手ユーザに指示内容を通知する方法は、味方の操作ユーザに指示内容を通知する方法と同様である。
変形例(6)によれば、ユーザチームの指示及び対戦相手チームの指示の両者が通知されるため、チーム同士での指示の出しあいを表現することができる。
なお、図16においては、操作ユーザ画面40で対戦相手チームの指示が通知される場合を説明したが、指示ユーザ画面50でも同様に、対戦相手チームの指示が通知されるようにしてもよい。この場合、指示ユーザは、対戦相手チームの指示を分析したうえで、操作ユーザに指示を与えることができる。また、自分の指示が対戦相手ユーザにも伝わるため、対戦相手ユーザをわざと騙すような指示を送ることもできる。
(7)また例えば、実施形態と上記変形例の二つ以上とを組み合わせるようにしてもよい。
また例えば、上記においては、指示ユーザが画面上で指示した内容が変換されたうえで、操作ユーザに指示が通知される場合を説明したが、指示ユーザの指示を操作ユーザに通知する方法は、これに限られない。他にも例えば、指示ユーザが画面上で指示した内容を変換せずに、そのまま操作ユーザに通知されるようにしてもよい。即ち、指示ユーザが画面上で指示した軌跡を、そのまま操作ユーザの画面に表示させるようにしてもよい。
また例えば、指示ユーザの画面において指示画像42を消去するタイミングと、操作ユーザの画面において指示画像42を消去するタイミングと、は同じであってもよいし、異なっていてもよい。
また例えば、指示ユーザに対応する仮想カメラ38が俯瞰視点となり、操作ユーザに対応する仮想カメラ38が三人称視点となる場合を説明したが、仮想カメラ38の制御方法は、上記の例に限られない。指示ユーザ画面50に表示されるゲーム空間20内の領域が、操作ユーザ画面40に表示されるゲーム空間20内の領域よりも広くなるようにすればよく、操作ユーザに対応する仮想カメラ38も俯瞰視点であってもよい。この場合、指示ユーザに対応する仮想カメラ38とピッチ30(又は、各操作ユーザに対応する操作対象)との距離が、操作ユーザに対応する仮想カメラ38とピッチ30(又は、各操作ユーザに対応する操作対象)との距離よりも大きくなるようにすればよい。
また例えば、指示ユーザが指示をするための手段は、アイコン54に限られず、操作ユーザの操作と同様の操作をすることによって指示をするようにしてもよい。例えば、操作ユーザが操作対象に対して動作の種類を指定する際に使用する操作内容と同一の操作内容を、指示ユーザが行うことによって、操作ユーザに対応する操作対象がすべき動作の種類を指定できるようにしてもよい。
また例えば、上記においては、指示ユーザが指示したスクリーン座標をワールド座標に変換する場合を説明したが、他の方法によって、指示ユーザが指示した位置が操作ユーザに通知されるようにしてもよい。例えば、実施形態のようなゲームでは、キャラクタ34(36)は空中に移動するわけではないので、指示ユーザが指示したスクリーン座標を、ワールド座標に変換せずに、Yw軸を一定値に設定(例えば、操作ユーザの視界の邪魔にならない程度の高さ)し、操作ユーザに対応する仮想カメラ38を基準としたスクリーン座標に変換して通知させるようにしてもよい。
また例えば、移動体の移動方向を指示する場合には、上記と同様に、Yw軸は一定値に設定し、第1視界画像上で弧を描くように決定して、指示ユーザが指示したXw座標及びZw座標のみを用いて、指示ユーザの指示内容が通知されるようにしてもよい。また例えば、指示ユーザがYw軸を指定できるようにしてもよい。この場合、指示ユーザが指定したYw軸座標値に基づいて、通知が行われる。更に、指示ユーザが選択した動作の種類にYw軸の値を対応付けてもよい。即ち、例えば、ボール32とピッチ30との距離が基準以下の状態でボール32を移動させる動作(例えば、ショートパス)の場合のYw軸の座標値を、ボール32とピッチ30との距離が基準以上の状態でボール32を移動させる動作(例えば、ロングパス)の場合のYw軸の座標値よりも低くするようにしてもよい。また例えば、第2視界画像上の各オブジェクトの配置に基づいてYw軸を決定するようにしてもよい。例えば、ゲーム空間20に複数の操作対象が配置されており、指示ユーザが指示する操作対象を指定した場合には、当該操作対象の位置に基づいてYw軸を決定するようにしてもよい。
なお、指示ユーザの選択タイミングは、試合開始時に限られない。例えば、試合途中で指示ユーザを決定できるようにしてもよい。あるユーザが、指示ユーザから操作ユーザに変化した場合は、このユーザが操作するゲーム装置10の視点制御が、第1表示制御部66の制御から第2表示制御部68の制御に切り替わる。一方、あるユーザが、操作ユーザから指示ユーザに変化した場合は、このユーザが操作するゲーム装置10の視点制御が第2表示制御部68の制御から第1表示制御部66の制御に切り替わる。
また例えば、上記においては、指示ユーザが指示した画面上の位置又は方向の変換処理が、操作ユーザのゲーム装置10で実行される場合を説明したが、当該変換処理は、指示ユーザのゲーム装置10で実行されるようにしてもよい。即ち、座標変換後の位置又は方向が、指示ユーザのゲーム装置10から操作ユーザのゲーム装置10に送信されるようにしてもよい。
また例えば、指示ユーザが、キャラクタ34を操作しない場合を説明したが、指示ユーザもキャラクタ34を操作できるようにしてもよい。この場合、指示ユーザは、キャラクタ34を操作してピッチ30全体の様子を確認しつつ、他のユーザに指示を与えることになる。
また例えば、上記においては、指示ユーザのゲーム装置10がサーバの役割を果たす場合を説明したが、ゲームに参加するユーザの何れかのゲーム装置10がサーバの役割を果たすようにすればよく、操作ユーザのゲーム装置10がサーバの役割を果たすようにしてもよい。
また例えば、ゲームサーバ1においてゲームが実行されるようにしてもよい。この場合、ゲームの主要な処理をゲームサーバ1で実行し、ゲーム装置10は、画面の表示と、各ユーザの操作を受け付ける処理と、を行うようにしてもよい。この場合、上記説明した各機能ブロックがゲームサーバ1において実現され、ゲームサーバ1は、本発明に係るゲーム装置に相当することになる。即ち、ゲームサーバ1においてゲームの主要な処理が実行されるのであれば、ゲームサーバ1が本発明に係るゲーム装置に相当し、ユーザが操作する端末においてゲームの主要な処理が実行されるのであれば、当該端末が本発明に係るゲーム装置に相当することになる。
更に、上記説明した各機能は、ゲームシステムSに含まれる装置の何れかで実現されるようにすればよい。例えば、ゲームサーバ1とゲーム装置10とで、各機能ブロックが分担されるようにしてもよい。
例えば、ゲームデータ記憶部60がゲームサーバ1で実現され、ゲーム実行部62がゲーム装置10で実現されるようにしてもよい。この場合、ゲーム実行部62は、ネットワークNを介してゲームデータ記憶部60の記憶内容を取得することによって、ゲームを実行することになる。
また例えば、指示ユーザ決定部64がゲーム装置10で実現されるようにしてもよい。この場合、指示ユーザ決定部64を実現するゲーム装置10から、ゲームサーバ1又は他のゲーム装置10に、指示ユーザを識別する情報や操作ユーザを識別する情報が送信されることになる。
また例えば、第1表示制御部66、第2表示制御部68、指示受付部70、及び指示情報通知部72がゲームサーバ1で実現されるようにしてもよい。この場合、ゲームサーバ1は、操作ユーザや指示ユーザに対応する仮想カメラ38の位置及び視線方向を決定して、当該決定内容を各ゲーム装置10に送信する。また、ゲームサーバ1は、指示ユーザにより行われた指示内容をネットワークNを介して取得したり、当該取得した指示内容を操作ユーザのゲーム装置10に送信したりすることになる。
また、上記においては、オンライン型ゲーム(例えば、例えば、いわゆるブラウザ型ゲームやネイティブアプリ型ゲームを含む)を例に挙げて説明したが、スタンドアロン型ゲームであってもよい。この場合、例えば、1台のコンピュータに複数の表示部及び複数の操作部が接続されており、各表示部において、操作ユーザ画面40又は指示ユーザ画面50が表示され、各操作部で操作ユーザ又は指示ユーザの操作を受け付けることになる。
また例えば、本発明は、サッカーゲーム以外のゲームを実行するゲーム装置にも適用することができる。本発明は、複数のユーザが協力するゲームに適用できる。例えば、各種スポーツゲーム(例えば、野球ゲーム、バスケットボールゲーム、アイスホッケーゲーム、又は、アメリカンフットボールゲーム)、シューティングゲーム(例えば、FPS;First Person Shooting)やアクションゲーム、ロールプレイングゲーム等を実行するゲームシステムにも、本発明を適用することができる。