(57)【特許請求の範囲】
【請求項１】
所定のコンピュータプログラムを格納する一又は複数のメモリと、当該メモリに格納された前記所定のコンピュータプログラムを実行する一又は複数のプロセッサとを備え、当該一又は複数のプロセッサに前記所定のコンピュータプログラムを実行させることにより、仮想空間内に配置された複数のオブジェクトを含む前記仮想空間の表示画像を表示装置に表示させるシステムであって、
当該所定のコンピュータプログラムは、
所定のイベント発生条件及び前記複数のオブジェクトの前記仮想空間での位置に基づいて、前記仮想空間内に配置された複数のオブジェクトのうち、前記所定のイベント発生条件を満たす複数のイベント発生オブジェクトを選定するオブジェクト選定モジュールと、
前記仮想空間内に配置された複数のオブジェクトを複数のグループにグループ化するグループ化モジュールと、
前記複数のグループの各々について、前記仮想空間内に参照点及びグループ注視点を定める参照点決定モジュールと、
前記仮想空間における視点及び注視点の位置を制御する視点制御モジュールと、
前記視点から前記注視点を見た前記仮想空間の表示画像を前記表示装置に表示させる表示制御モジュールと、を備え、
前記グループ化モジュールは、前記複数のグループの各々について、前記複数のイベント発生オブジェクトの各々と、当該複数のイベント発生オブジェクトの各々が発生させるイベントの対象となるオブジェクトとが同じグループになるようにグループ化を行い、
前記視点制御モジュールは、前記複数のグループのうちの所定のグループにおいてイベントが発生している間、前記視点を前記所定のグループの参照点に固定するとともに前記注視点を当該所定のグループのグループ注視点に固定することを特徴とするシステム。
【請求項２】
前記所定のコンピュータプログラムは、前記視点が前記所定のグループの参照点に移動したこと、及び／又は、前記注視点が前記所定のグループのグループ注視点に移動したことに応じて、前記複数のイベント発生オブジェクトのうち、前記所定のグループに属する１又は複数のイベント発生オブジェクトの各々にイベントを発生させるイベント発生モジュールをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項３】
前記イベント発生モジュールは、前記一又は複数のプロセッサに実行されることにより、前記所定のグループに属する前記１又は複数のイベント発生オブジェクトの各々に設定されている所定の属性に応じて定められる順番に従って、前記１又は複数のイベント発生オブジェクトによるイベントを発生させることを特徴とする請求項２に記載のシステム。
【請求項４】
前記参照点決定モジュールは、前記一又は複数のプロセッサに実行されることにより、前記複数のグループの各々に属するオブジェクトの重心位置を、当該各グループのグループ注視点として決定することを特徴とする請求項３に記載のシステム。
【請求項５】
前記視点制御モジュールは、前記一又は複数のプロセッサに実行されることにより、前記複数のイベント発生オブジェクトのうち、前記所定のグループに属する前記１又は複数のイベント発生オブジェクトの全てについて、その各々が対応するイベントを発生させたことに応じて、前記視点を前記複数のグループのうちの前記所定のグループとは異なる第２のグループの参照点に移動させ、前記注視点を前記第２のグループのグループ注視点に移動させることを特徴とする請求項１ないし請求項４のいずれか１項に記載のシステム。
システム。
【請求項６】
前記仮想空間は、前記複数のオブジェクトによる対戦を実行する対戦ゲームに関連するゲーム空間であり、
前記イベントは、前記対戦ゲームに関連するものであることを特徴とする請求項１ないし請求項５のいずれか１項に記載のシステム。
【請求項７】
仮想空間内に配置された複数のオブジェクトを含む前記仮想空間の表示画像を表示装置に表示させるためのコンピュータプログラムであって、
一又は複数のコンピュータプロセッサを、
所定のイベント発生条件及び前記複数のオブジェクトの前記仮想空間での位置に基づいて、前記複数のオブジェクトのうち、前記所定のイベント発生条件を満たす複数のイベント発生オブジェクトを選定するオブジェクト選定手段、
前記仮想空間内に配置された前記複数のオブジェクトを複数のグループにグループ化するグループ化手段、
前記複数のグループの各々について、前記仮想空間内に参照点及びグループ注視点を定める参照点決定手段、
前記仮想空間における視点及び注視点の位置を制御する視点制御手段、
前記視点から前記注視点を見た前記仮想空間の表示画像を前記表示装置に表示させる表示制御手段、
として機能させ、
前記グループ化手段は、前記複数のグループの各々について、前記複数のイベント発生オブジェクトの各々と、当該複数のイベント発生オブジェクトの各々が発生させるイベントの対象となるオブジェクトとが同じグループになるようにグループ化を行い、
前記視点制御手段は、前記複数のグループのうちの所定のグループにおいてイベントが発生している間、前記視点を前記所定のグループの参照点に固定するとともに前記注視点を当該所定のグループのグループ注視点に固定することを特徴とするプログラム。
【請求項８】
一又は複数のプロセッサにより、仮想空間内に配置された複数のオブジェクトを含む前記仮想空間の表示画像を表示装置に表示させる方法であって、
所定のイベント発生条件及び前記複数のオブジェクトの前記仮想空間での位置に基づいて、前記複数のオブジェクトのうち、前記所定のイベント発生条件を満たす複数のイベント発生オブジェクトを選定するオブジェクト選定工程と、
前記仮想空間内に配置された前記複数のオブジェクトを複数のグループにグループ化するグループ化工程と、
前記複数のグループの各々について、前記仮想空間内に参照点及びグループ注視点を定める参照点決定工程と、
前記仮想空間における視点及び注視点の位置を制御する視点制御工程と、
前記視点から前記注視点を見た前記仮想空間の表示画像を前記表示装置に表示させる表示制御工程と、を備え、
前記グループ化工程においては、前記複数のグループの各々について、前記複数のイベント発生オブジェクトの各々と、当該複数のイベント発生オブジェクトの各々が発生させるイベントの対象となるオブジェクトとが同じグループになるようにグループ化が行われ、
前記複数のグループのうちの所定のグループにおいてイベントが発生している間、前記視点は、前記所定のグループの参照点に固定され、前記注視点は、当該所定のグループのグループ注視点に固定されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書における開示は、仮想空間の表示画像を生成するためのシステム、プログラム及び方法に関し、より具体的には、複数のオブジェクトを含む仮想空間の表示画像を表示装置に表示させるためのシステム、プログラム及び方法に関する。
【背景技術】
【０００２】
従来から、ビデオゲームや仮想現実の分野においては、３次元の仮想空間の表示画像を生成して、スマートフォンやゲームコンソール等のクライアント端末に表示させることが広く行われている。仮想空間には、通常、プレイヤキャラクタのオブジェクトを含む様々なオブジェクトが含まれる。仮想空間は、様々なパラメータ、例えば、オブジェクトの視覚的な表現に関するパラメータ、オブジェクトが配置されるフィールド又は地形の視覚的な表現に関するパラメータ、当該フィールド内でのオブジェクトの表示位置に関するパラメータに基づいて生成される。
【０００３】
仮想空間の表示画像は、当該仮想空間内の仮想的な視点（「仮想カメラ」と呼ばれることもある。）から注視点を見た当該仮想空間の視覚的表現である。ユーザは、表示装置に表示される仮想空間の表示画像を用いて仮想空間とインタラクトできる。例えば、ユーザは、仮想空間内でユーザキャラクタを操作して当該仮想空間内でイベントを発生させることができる。
【０００４】
仮想空間の表示画像は、視点の移動に応じて随時変化する。例えば、一部のビデオゲーム（例えば、ファースト・パーソン・シューティングゲーム）においては、プレイヤキャラクタの仮想空間内での移動に追従するように視点の位置が移動し、この視点の位置に応じた表示画像が生成される。また、仮想空間に複数のオブジェクトが含まれるビデオゲーム（例えば、戦略シミュレーションゲーム）においては、各オブジェクトが発生させるイベント（移動、攻撃、アイテム使用等）を表示するために、イベントを発生させるオブジェクトの位置に視点が移動し、この視点の位置に応じた表示画像が生成される。
【０００５】
しかしながら、高速移動するオブジェクトに視点を追従させたり、短時間で複数のオブジェクトがイベントを発生させる場合には、表示画面が視点の位置に応じて急速に又は頻繁に変化するので、この表示画像を見るユーザが不快感を覚えることがある。この不快感はカメラ酔いとも言われる。カメラ酔いは、ユーザの満足度の低下につながるため、仮想空間における視点の移動の制御について改善が求められている。
【０００６】
このようなカメラ酔いを緩和するために、特開２００８−２１２２０８号公報（特許文献１）では、視点の平行移動が行われる時間及び速度に制限を設け、制限以上である場合に平行移動の一部をショートカットすることが提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２１２２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
視点の平行移動の一部をショートカットすることにより、視点の高速移動に起因する表示画面の急激な変化はある程度抑制されるが、視点の移動が頻繁に起こることに起因するカメラ酔いは解決されない。上述したように、仮想空間にオブジェクトが多数含まれる場合（例えば、戦略シミュレーションゲームにおける仮想空間）においては、視点が頻繁に移動しやすく、このためカメラ酔いが起こりやすくなる。
【０００９】
そこで、本発明の目的は、上述した問題の少なくとも一部を緩和又は改善することである。本発明の目的の１つは、複数のオブジェクトを含む仮想空間の表示画像を表示装置に表示させるためのシステム、プログラム、及び方法において、イベント発生中の視点の移動を抑制することである。本発明のこれ以外の目的は、本明細書全体を参照することにより明らかとなる。
【課題を解決するための手段】
【００１０】
本発明の一実施形態は、一又は複数のコンピュータプロセッサに所定のコンピュータプログラムを実行させることにより、複数のオブジェクトを含む仮想空間の表示画像を表示装置に表示させるシステムに関する。本発明の一実施形態に係るコンピュータプログラムは、前記複数のオブジェクトを複数のグループにグループ化するグループ化モジュールと、前記複数のグループの各々について、前記仮想空間内に参照点及びグループ注視点を定める参照点決定モジュールと、前記仮想空間における視点及び注視点の位置を制御する視点制御モジュールと、前記視点から前記注視点を見た前記仮想空間の表示画像を前記表示装置に表示させる表示制御モジュールと、を備える。本発明の一実施形態に係る視点制御モジュールは、前記複数のグループのうちの所定のグループにおいてイベントが発生している間、前記視点を前記所定のグループの参照点に固定するとともに前記注視点を当該所定のグループのグループ注視点に固定する。
【００１１】
この実施形態によれば、所定のグループにおいてイベントが発生している間、視点は、当該グループの参照点に固定され、注視点は、当該グループのグループ注視点に固定されるので、当該グループにおけるイベントの発生中には、仮想空間の表示画像は、当該グループの参照点に固定された視点から当該グループのグループ注視点に固定された注視点を見たものとなる。したがって、当該グループにおけるイベントの発生中に視点及び注視点の移動を抑制することができる。これにより、イベント発生中の仮想空間の表示画像が安定する。
【００１２】
本明細書の記載から明らかに理解されるように、本発明の一実施形態に係るシステムは、上述したモジュール及び／又は以下で説明するモジュールを一又は複数のコンピュータプロセッサに実行させることにより、前記複数のオブジェクトを複数のグループにグループ化するグループ化ユニット、前記複数のグループの各々について、前記仮想空間内に参照点及びグループ注視点を定める参照点決定ユニット、前記仮想空間における視点及び注視点の位置を制御する視点制御ユニット、前記視点から前記注視点を見た前記仮想空間の表示画像を前記表示装置に表示させる表示制御ユニット、及びこれら以外の本明細書で説明されている各種処理を行うユニットとして機能することができる。
【００１３】
本発明の一実施形態における仮想空間は、複数のオブジェクトによる対戦を実行する対戦ゲームに関連するゲーム空間である。この対戦ゲームでは、例えば、プレイヤによって操作されるプレイヤオブジェクト及びコンピュータによって操作されるノンプレイヤオブジェクトが仮想空間内のフィールドに配置され、これらのプレイヤオブジェクトとノンプレイヤオブジェクトとの間での対戦が行われる。
【００１４】
このような対戦ゲーム（例えば、戦略シミュレーションゲーム）においては、多数のプレイヤオブジェクト及びノンプレイヤオブジェクトが、攻撃、アイテム使用、特殊効果の発動といった様々なイベントを発生させる。このような多数のイベントが発生する場合であっても、所定のグループにおけるイベントの発生中には、当該グループの参照点に固定された視点から当該グループのグループ注視点に固定された注視点を見た、仮想空間の表示画像が表示されるので、当該グループにおけるイベントの発生中に視点及び注視点の移動を抑制することができる。
【００１５】
本発明の一実施形態においては、前記所定のグループにおけるイベントは、前記複数のオブジェクトのうち当該所定のグループに属する一又は複数のイベント発生オブジェクトが発生させるものである。そして、本発明の一実施形態に係るグループ化モジュールは、前記１又は複数のイベント発生オブジェクトが発生させるイベントの対象となるオブジェクトが当該所定のグループに属するように、前記複数のオブジェクトをグループ化する。
【００１６】
例えば、本発明におけるイベントが対戦ゲームにおいて、前記複数のグループのうちの第１グループに属するイベント発生オブジェクトから他のオブジェクトへの攻撃に対応する攻撃イベントである場合には、その攻撃の対象となるオブジェクト（攻撃を受けるオブジェクト）も第１グループに属するようにグループ化が行われる。当該実施形態によれば、イベントを発生させるイベント発生オブジェクトと、当該イベントの対象となるオブジェクトとが同じグループに属しているので、１つのイベントに関連するオブジェクトを１つのグループにまとめることができる。
【００１７】
本発明の一実施形態に係るコンピュータプログラムは、前記視点が前記所定のグループの参照点に移動したこと、及び／又は、前記注視点が前記所定のグループのグループ注視点に移動したことに応じて、前記所定のグループに属する前記１又は複数のイベント発生オブジェクトの各々にイベントを発生させるイベント発生モジュールをさらに備える。これにより、所定のグループへの視点及び／又は注視点の移動と、当該所定のグループにおけるイベントの発生とを同期させることができる。
【００１８】
本発明の一実施形態に係る視点制御モジュールは、前記所定のグループに属する前記１又は複数のイベント発生オブジェクトの全てについて、その各々が対応するイベントを発生させたことに応じて、前記視点を前記複数のグループのうちの前記所定のグループとは異なる第２のグループの参照点に移動させ、前記注視点を前記第２のグループのグループ注視点に移動させる。これにより、所定のグループについて全てのイベントが発生した後に、視点及び注視点が別のグループに対応する位置に移動するので、所定のグループからの視点及び／又は注視点の離脱と、当該所定のグループにおけるイベントの発生とを同期させることができる。
【００１９】
本発明の一実施形態に係る参照点決定モジュールは、前記複数のグループの各々に属するオブジェクトの重心位置を、当該各グループのグループ注視点として決定する。このようにして定めたグループ注視点に注視点を移動させることにより、当該グループに属する全てのオブジェクトを、表示装置に表示される仮想空間の表示画像に含めることが容易になる。本発明の一実施形態に係る参照点決定モジュールは、必要に応じて、所定のグループに属する全てのオブジェクトが仮想空間の表示画像に含められるように、視点の画角を調整することができる。
【００２０】
本発明の一実施形態に係るイベント発生モジュールは、前記所定のグループに属する前記１又は複数のイベント発生オブジェクトの各々に設定されている所定の属性に応じて定められる順番に従って、前記１又は複数のイベント発生オブジェクトによるイベントを発生させるように構成される。本発明の一実施形態において、この所定の属性は、前記複数のオブジェクトの各々に設定される敏捷性（アジリティ）を表す属性である。
【００２１】
本発明の一実施形態に係る方法は、複数のオブジェクトを含む仮想空間の表示画像を表示装置に表示させる方法であって、前記複数のオブジェクトを複数のグループにグループ化するグループ化工程と、前記複数のグループの各々について、前記仮想空間内に参照点及びグループ注視点を定める参照点決定工程と、前記仮想空間における視点及び注視点の位置を制御する視点制御工程と、前記視点から前記注視点を見た前記仮想空間の表示画像を前記表示装置に表示させる表示制御工程と、を備える。本発明の一実施形態においては、前記複数のグループのうちの所定のグループにおいてイベントが発生している間、前記視点は前記所定のグループの参照点に固定され、前記注視点は当該所定のグループのグループ注視点に固定される。
【発明の効果】
【００２２】
本発明の様々な実施形態によって、複数のオブジェクトを含む仮想空間の表示画像を表示装置に表示させるためのシステム、生成プログラム、及び生成方法において、イベント発生中の視点の移動を抑制することである。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係るシステムを概略的に示すブロック図
【図２】本発明の一実施形態におけるグループ化の方法を模式的に示す図
【図３】本発明の一実施形態におけるグループ化の方法を模式的に示す図
【図４】本発明の一実施形態におけるグループ化の方法を模式的に示す図
【図５】本発明の一実施形態におけるグループ化の方法を模式的に示す図
【図６】本発明の一実施形態におけるグループ化の方法を模式的に示す図
【図７】本発明の一実施形態における参照点の配置を模式的に示す図
【図８】本発明の一実施形態における視点の移動経路を模式的に示す図
【図９】本発明の一実施形態における仮想空間の表示画像の一例を示す図
【図１０】本発明の一実施形態における仮想空間の表示画像の一例を示す図
【図１１】本発明の一実施形態に従って、対戦処理の所定のターンにおいて仮想空間の表示画像を表示装置に表示させる処理の流れを示すフロー図
【発明を実施するための形態】
【００２４】
図１は、本発明の一実施形態に係るシステムを概略的に示すブロック図である。本発明の一実施形態に係るシステムは、複数のオブジェクトを含む仮想空間の表示画像を生成するように構成されている。
【００２５】
図示のとおり、本発明の一実施形態に係るシステムは、サーバ１０と、クライアント端末３０とを備える。図１に示す実施形態においては、サーバ１０がクライアント端末３０の機能と連携して、クライアント端末３０のユーザに対してオンライン対戦ゲームを提供する。この対戦ゲームにおいては、プレイヤによって操作される複数のプレイヤオブジェクトとコンピュータによって操作される複数のノンプレイヤオブジェクトとの間で対戦が行われる。当該実施形態においては、対戦ゲームの仮想空間の表示画像をクライアント端末３０のディスレプレイに表示させる。図１に示すオンライン対戦ゲームの仮想空間の表示画像を生成する実施形態は、あくまで本発明の一実施形態に過ぎない。本発明は、複数のオブジェクトが含まれる様々な仮想空間に適用可能であることに留意されたい。
【００２６】
図１に示した実施形態において、サーバ１０は、クライアント端末３０とインターネット等のネットワーク２０を介して通信可能に接続されており、クライアント端末３０に対してオンラインゲームサービス（例えば、オンライン対戦ゲームに関するサービス）を提供する。例えば、サーバ１０は、クライアント端末３０から受信したゲームメッセージ（例えば、プレイヤオブジェクト（又はプレイヤキャラクタ）の操作に関連するメッセージ、クエストを開始したというメッセージ）を、所定のゲームロジック（又は当該ゲームロジックを実現するためのプログラム）に従って処理し、その処理結果をクライアント端末３０に送信する。また、サーバ１０は、ゲームの進行に必要な様々なゲームデータをクライアント端末３０に提供する。また、後述するように、サーバ１０は、クライアント端末３０でゲームに関連する仮想空間の表示画像（又は当該表示画像を生成するために用いられる対戦ログ情報及び視点情報）を、クライアント端末３０に提供する。対戦ログ情報及び視点情報については後述する。なお、図１には、１つのクライアント端末３０が図示されているが、サーバ１０には、複数のクライアント端末３０が通信可能に接続され得る。
【００２７】
サーバ１０は、図示のとおり、プロセッサ１１と、メインメモリ１２と、ユーザＩ／Ｆ１３と、通信Ｉ／Ｆ１４と、ストレージ１５とを備える。これらの各構成要素は、不図示のバスを介して互いに電気的に接続される。プロセッサ１１は、ストレージ１５からオペレーティングシステムやゲームロジックを実現する様々なプログラムをメインメモリ１２にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ１２は、プロセッサ１１が実行するプログラムを格納するために用いられ、例えば、ＤＲＡＭによって構成される。
【００２８】
ユーザＩ／Ｆ１３は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、プロセッサ１１の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信Ｉ／Ｆ１４は、ハードウェア、ファームウェア、又はＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、ネットワーク２０を介してクライアント端末３０と通信可能に構成される。
【００２９】
ストレージ１５は、例えば磁気ディスクドライブで構成され、例えばゲームロジックを実現するためのゲーム制御用プログラム等の様々なプログラムが記憶される。また、ストレージ１５には、ゲームにおいて用いられる各種データも記憶され得る。ストレージ１５に記憶され得る各種データは、サーバ１０と通信可能に接続され、サーバ１０とは物理的に別体のデータベースサーバに格納されてもよい。
【００３０】
一実施形態におけるサーバ１０は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバである。クライアント端末３０は、このウェブページを表示するためのＨＴＭＬデータをサーバ１０から取得し、取得したＨＴＭＬデータを解析して得られるゲーム画面をクライアント端末３０のディスプレイに表示することができる。プレイヤは、このゲーム画面を介してクライアント端末３０に対して様々な入力を提供することで、サーバ１０が提供するゲームとインタラクトできる（例えば、プレイヤオブジェクトに対する操作指示を行ったりメニューの選択を行うことができる）。ストレージ１５は、このウェブページを表示するためのＨＴＭＬデータを記憶できる。ＨＴＭＬデータは、ＨＴＭＬ等のマークアップ言語で記述されたＨＴＭＬコードから成る。このＨＴＭＬコードには、様々な画像が関連付けられる。また、ＨＴＭＬデータには、ＡｃｔｉｏｎＳｃｒｉｐｔやＪａｖａＳｃｒｉｐｔ（登録商標）等のスクリプト言語等で記述されたプログラムが埋め込まれ得る。
【００３１】
以上のとおり、サーバ１０は、ゲームサービスを提供するウェブサイトを管理しており、当該ウェブサイトを構成するウェブページをクライアント端末３０からの要求に応じて配信することによりゲームを進行させることができる。このようなウェブページを介して提供されるゲームは、ブラウザゲームと称されることがある。
【００３２】
本発明の他の実施形態においては、クライアント端末３０においてＯＳやミドルウェア等の実行環境上でゲームアプリケーションプログラムを実行することにより、このゲームアプリケーションプログラムとサーバ１０が協働してゲームを提供することができる。このゲームアプリケーションプログラムは、例えば、ストレージ１５やストレージ２５に格納されており、クライアント端末３０からの要求に応じて、クライアント端末３０にダウンロードされる。このゲームアプリケーションプログラムには、クライアント端末３０での実行時に、サーバ１０から提供されるゲームデータを処理するための命令セットや当該命令セット実行時に参照される画像データ等の各種データを含めることができる。ゲームアプリケーションプログラムは、例えば、Ｏｂｊｅｃｔｉｖｅ−Ｃ、Ｊａｖａ（登録商標）等のオブジェクト指向プログラミング言語で作成される。ゲームアプリケーションプログラムは、ストレージ１５、外部ストレージ２５、又はこれら以外の不図示のストレージに格納される。
【００３３】
ストレージ１５等のストレージに記憶されたゲームアプリケーションプログラムは、クライアント端末３０からの配信要求に応じて、当該クライアント端末３０に配信される。配信されたゲームアプリケーションプログラムは、クライアント端末３０において、プロセッサ３１の制御に従って通信Ｉ／Ｆ３４を介して受信される。受信されたゲームアプリケーションプログラムは、例えばストレージ３５に記憶される。このアプリケーションソフトウェアは、プレイヤによるクライアント端末３０の操作に応じて起動され、クライアント端末３０に実装されたＯＳやミドルウェア等のプラットフォーム上で実行される。
【００３４】
サーバ１０は、ゲームアプリケーションプログラムからのメッセージを所定のゲームロジックに従って処理し、その処理結果を示す様々な情報をゲームアプリケーションプログラムに返信することにより、ゲームの進行を制御することができる。図１の実施形態において、サーバ１０は、プレイヤによって操作されるプレイヤオブジェクトとコンピュータによって所定のロジックに従って操作されるノンプレイヤオブジェクトとの間の対戦を、所定の対戦ロジックに従って処理する機能を備える。
【００３５】
クライアント端末３０で実行されるゲームアプリケーションプログラムは、サーバ１０から、対戦処理の内容を示す対戦ログ情報を受信することができる。対戦ログ情報については後述する。ゲームアプリケーションプログラムは、サーバ装置から受信した対戦ログ情報や仮想空間内の視点の位置などを表す視点情報（後述する。）に基づいて仮想空間の表示画像を生成し、生成した表示画像（ゲーム画面）をクライアント端末３０のディスプレイに表示する。プレイヤは、クライアント端末３０のディスプレイに表示されたゲーム画面を見て、ゲームを進行させることができる。
【００３６】
以上のとおり、ゲームアプリケーションプログラムをクライアント端末３０で実行することにより、このゲームアプリケーションプログラムの機能とサーバ１０の機能とを連携させてゲームを進行させることができる。このようなゲームアプリケーションプログラムを利用して提供されるゲームは、アプリゲームと称されることがある。本発明は、ブラウザゲームとアプリゲームのいずれにも適用可能である。
【００３７】
サーバ１０は、ゲームの開始時のプレイヤの認証処理やゲームの進行に応じて発生する課金処理を行う機能を有することもできる。サーバ１０によって提供されるゲームには、アクションゲーム、ロールプレイングゲーム、野球ゲーム等の仮想空間内に複数のオブジェクトが含まれる任意のゲームが含まれる。サーバ１０及びクライアント端末３０（又はクライアント端末３０で実行されるゲームアプリケーションプログラム）によって実現されるゲームの種類は、本明細書において明示されたものに限られない。
【００３８】
続いて、クライアント端末３０について説明する。本発明の一実施形態に係るクライアント端末３０は、サーバ１０から取得したゲーム用ウェブサイトのウェブページをウェブブラウザ上で表示する環境及びゲームアプリケーションプログラムを実行するためのアプリケーション実行環境の少なくとも一方を実装した任意の情報処理装置であり、例えば、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ、電子書籍リーダー及びゲーム用コンソールを含むがこれらには限られない。
【００３９】
本発明の一実施形態に係るクライアント端末３０は、図示のとおり、プロセッサ３１と、メインメモリ３２と、ユーザＩ／Ｆ３３と、通信Ｉ／Ｆ３４と、ストレージ３５と、を含み、これらの各構成要素がバス３６を介して互いに電気的に接続されている。
【００４０】
プロセッサ３１は、ストレージ３５からオペレーティングシステム等の様々なプログラムをメインメモリ３２にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ３２は、プロセッサ３１が実行するプログラムを格納するために用いられ、例えば、ＤＲＡＭによって構成される。
【００４１】
ユーザＩ／Ｆ３３は、プレイヤの入力を受け付ける情報入力装置と、プロセッサ３１の演算結果を出力する情報出力装置であり、タッチスクリーンを備える液晶ディスプレイなどの表示装置を含む。通信Ｉ／Ｆ３４は、ハードウェア、ファームウェア、又は、ＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、ネットワーク２０を介してサーバ１０と通信可能に構成される。
【００４２】
ストレージ３５は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムを記憶する。また、ストレージ３５は、サーバ１０から通信Ｉ／Ｆ３４を介してゲームアプリケーションプログラムを受信した場合には、この受信したゲームアプリケーションプログラムを記憶する。
【００４３】
クライアント端末３０は、例えば、ＨＴＭＬ形式のファイル（ＨＴＭＬデータ）を解釈して画面表示するためのブラウザソフトウェアを備えており、このブラウザソフトウェアの機能によりサーバ１０から取得したＨＴＭＬデータを解釈して、受信したＨＴＭＬデータに対応するウェブページを表示することができる。また、クライアント端末３０は、ブラウザソフトウェアに組み込まれるプラグインソフト（例えば、アドビシステムズ社から提供されているＦｌａｓｈ  Ｐｌａｙｅｒ）を備えており、ＨＴＭＬデータに埋め込まれたＳＷＦ形式のファイルをサーバ１０から取得し、当該ＳＷＦ形式のファイルをブラウザソフトウェア及びプラグインソフトを用いて実行することができる。
【００４４】
また、クライアント端末３０においては、プレイヤの操作に応じてゲームアプリケーションプログラムが起動され、クライアント端末３０に実装されたプラットフォーム上で実行される。クライアント端末３０においてゲームアプリケーションプログラムが実行されると、例えば、プログラムにより指示されたアニメーションや操作用アイコンがクライアント端末３０の画面に表示される。プレイヤは、クライアント端末３０のユーザＩ／Ｆ３３を用いてゲームを進行させるための指示を入力することができる。
【００４５】
本発明の一実施形態に係るサーバ１０のプロセッサ１１及びクライアント端末３０のプロセッサ３１においては、様々なコンピュータプログラムモジュールが実行される。このサーバ１０及びクライアント端末３０で実行されるコンピュータプログラムモジュール、及び、必要に応じてこれら以外のコンピュータプログラムモジュールにより、複数のオブジェクトを含む仮想空間の表示画像を表示装置に表示させる本発明に係るシステムの機能が実現される。
【００４６】
図示のとおり、サーバ１０のプロセッサ１１で実行されるコンピュータプログラムモジュールには、ゲーム制御モジュール４１と、対戦処理モジュール４２と、が含まれる。また、クライアント端末３０のプロセッサ３１において実行されるコンピュータプログラムモジュールには、仮想空間の表示画像をクライアント端末のディスプレイに表示するゲームモジュール６１と、クライアント端末３０のユーザからの様々な指示を受け付ける受付モジュール６２と、受付モジュール６２において受け付けられたプレイヤからの様々な指示を表すメッセージをサーバ１０に送信する送信モジュール６３とが含まれる。
【００４７】
図１においてサーバ１０に備えられているモジュールの一部又は全部は、クライアント端末３０のプロセッサ３１やそれ以外の装置のプロセッサにより実行されてもよく、クライアント端末３０に備えられている各モジュールの一部又は全部は、サーバ１０のプロセッサ１１やそれ以外の装置のプロセッサにより実行されてもよい。例えば、仮想空間がサーバ１０との通信を必要とせずに、クライアント端末３０でアプリケーションプログラムを実行することによって提供されるスタンドアローン型のゲームの場合には、図１においてサーバ１０で実行される機能として説明されているモジュールの一部又は全部をクライアント端末で実行するように、本発明のシステムが構成される。
【００４８】
サーバ１０において実行されるモジュールについてさらに説明する。本発明の一実施形態に係るゲーム制御モジュール４１は、例えば、クライアント端末３０からのゲームメッセージを所定のゲームロジックに基づいて処理し、また、対戦ゲームを実行するための様々なゲームデータをクライアント端末３０に提供することで、ゲームの進行を制御することができる。ゲーム制御モジュール４１は、例えば、クライアント端末３０からプレイヤオブジェクトによるアイテムの使用を指示するアイテム使用メッセージを受信した場合には当該プレイヤオブジェクトに指示されたアイテムを使用させる処理を行い、その結果（例えば、ライフの回復など）を示すアイテム使用情報を当該クライアント端末３０に対して提供することができる。ゲーム制御モジュール４１が提供するゲームデータには、例えば、プレイヤオブジェクトやノンプレイヤオブジェクトに関するオブジェクトデータ、及びプレイヤによって経験されるクエストに関するクエストデータが含まれ得る。また、ゲーム制御モジュール４１は、プレイヤ同士のコミュニケーションを促進するためにチャット機能やメッセージング機能を提供することもできる。
【００４９】
本発明の一実施形態に係る対戦処理モジュール４２は、所定の対戦ロジックに従って、プレイヤオブジェクトとノンプレイヤオブジェクトとの対戦処理を実行する。この対戦処理は、例えば、プレイヤからの指示に基づいてコントロールされる複数のプレイヤオブジェクトと、プレイヤからの指示とは無関係に所定のロジックに基づいてコントロールされる複数のノンプレイヤオブジェクトとの間の対戦を実行する。一実施形態におけるゲームは、ターン制のゲームであり、プレイヤのターンの間にプレイヤオブジェクトの各々が移動や攻撃などの様々な動作を行い、次に、これと交代で、コンピュータのターンの間にノンプレイヤオブジェクトの各々が同様の様々な動作を行う。
【００５０】
この対戦処理モジュール４２は、図１に示すとおり、移動制御モジュール５１、オブジェクト選定モジュール５２、グループ化モジュール５３、参照点決定モジュール５４、経路決定モジュール５５、視点制御モジュール５６、イベント発生モジュール５７、及び表示制御モジュール５８を備える。以下、これらのモジュールの機能について説明する。
【００５１】
本発明の一実施形態に係る移動制御モジュール５１は、仮想空間（ゲーム空間）内に配置された複数のオブジェクトの仮想空間内における移動を制御する。この移動制御モジュール５１は、例えば、クライアント端末３０から受信したプレイヤオブジェクトの移動を指示するゲームメッセージや、オブジェクトの移動に関する所定のロジックに基づいて、各ターンにおいて各オブジェクトが移動する位置を決定する。例えば、各オブジェクトには、１ターンにおける移動可能範囲が定められており、各オブジェクトは、この移動可能範囲内のいずれかの位置へ移動するように制御される。
【００５２】
本発明の一実施形態に係るオブジェクト選定モジュール５２は、ターンごとに、所定のイベント発生条件を満たす１又は複数のイベント発生オブジェクトを選定するように構成される。本実施形態において、このイベントは、対戦ゲームに関連するものであり、例えば、攻撃イベント、アイテムイベント、特殊効果イベント、及び会話イベントを含む。複数のオブジェクトの各々には、例えば、他のオブジェクトへの攻撃が可能となる攻撃範囲が定められており、所定のオブジェクトの攻撃範囲に他のオブジェクトが存在するときに、当該所定のオブジェクトについて前記所定のイベント発生条件が満たされていると判断される。一実施形態において、攻撃範囲に他のオブジェクトが存在するか否かの判断は、移動制御モジュール５１により移動された後の各オブジェクトの位置に基づいて判断される。本明細書において具体的に説明するイベントはあくまで例示にすぎず、本発明のイベントには、仮想空間内で一又は複数のオブジェクトに関連して発生する任意のイベントが含まれ得る。また、所定のオブジェクトについてのイベント発生条件は、上述したイベントの発生領域と関連付けられた条件には限られない。
【００５３】
本発明の一実施形態に係るグループ化モジュール５３は、各ターンにおいて、仮想空間内の複数のオブジェクトを複数のグループにグループ化するように構成される。このグループ化モジュール５３は、例えば、ターンごとに、オブジェクト選定モジュール５２によって選定された１又は複数のイベント発生オブジェクトと、当該１又は複数のイベント発生オブジェクトが発生させるイベントの対象となるオブジェクトとが同じグループになるように、仮想空間内の複数のオブジェクトをグループ化する。例えば、上記のイベントが対戦ゲームにおける一のオブジェクトから他のオブジェクトへの攻撃に対応する攻撃イベントである場合には、仮想空間において当該一のオブジェクトによって攻撃が実行可能な攻撃範囲が定められており、この一のオブジェクトとその攻撃範囲に存在する他のオブジェクト（一のオブジェクトの攻撃対象になるオブジェクト）とが同じグループに分類される。仮想空間内に複数のイベント発生オブジェクトが存在する場合には、当該複数のイベント発生オブジェクトの所定の属性に基づいて定められる順番に従って、当該複数のイベント発生オブジェクトの各々について、上記のグループ化処理が行われる。このオブジェクトの所定の属性は、例えば、当該オブジェクトの敏捷性（アジリティ）を示す属性である。グループ化モジュール５３によるグループ化は、ターンごとではなく、ゲームの開始時やゲーム開始後の所定のタイミング（例えば、プレイヤからの指示によって決定されるタイミング）で実行されてもよい。ゲームの開始時や所定のタイミングで定められたグループは、新しいターンが始まるときに更新されてもよく、新しいターンに入ってもゲーム開始時のグループを維持してもよい。
【００５４】
本発明に従ったオブジェクトのグループ化について図２ないし図６を参照して、より具体的に説明する。図２ないし図６は、本発明の一実施形態におけるグループ化の方法を説明するために、仮想空間に含まれるオブジェクトを模式的に示す図である。図２ないし図６に示された仮想空間は、マス目に区切られたフィールドを備えており、このフィールドのマス目内に、プレイヤによって操作されるプレイヤキャラクタを表すオブジェクト８６Ａないし８６Ｃ（以下、単にプレイヤオブジェクト８６Ａないし８６Ｃという。）及びコンピュータによって所定のロジックに従って操作されるノンプレイヤキャラクタを表すオブジェクト８８Ａ及び８８Ｂ（以下、単にノンプレイヤオブジェクト８８Ａ及び８８Ｂという。）が配置されている。図２ないし図６に示されているプレイヤオブジェクト８６Ａないし８６Ｃ並びにノンプレイヤオブジェクト８８Ａ及び８８Ｂの配置は、例えば、移動制御モジュール５１により定められる。
【００５５】
図２ないし図６に示した例では、仮想空間内での攻撃イベントに基づいて複数のオブジェクトをグループ化する例を説明する。図２ないし図６では、オブジェクト間の矢印により、攻撃の方向を示している。具体的には、図２の例では、プレイヤオブジェクト８６Ａとノンプレイヤオブジェクト８８Ａとの間に互いの方向に向かう矢印が記されているので、プレイヤオブジェクト８６Ａとノンプレイヤオブジェクト８８Ａとの間で相互に攻撃を行うことが示されている。他の矢印も同様に攻撃の方向を示しているので、図２の例では、プレイヤオブジェクト８６Ｂ及び８６Ｃはノンプレイヤオブジェクト８８Ｂに対して攻撃を行い、ノンプレイヤオブジェクト８８Ｂはプレイヤオブジェクト８６Ｃに対して攻撃を行う。
【００５６】
図２の例においては、フィールド上の隣接するマス目に別陣営のオブジェクトが存在することが、攻撃イベントのイベント発生条件として定められている。別陣営とは、プレイヤオブジェクトにとってはノンプレイヤオブジェクトのことであり、ノンプレイヤオブジェクトにとってはプレイヤオブジェクトのことである。このイベント発生条件及び各オブジェクトのフィールド上の位置に基づいて、オブジェクト選定モジュール５２は、各オブジェクトがイベント発生条件を満たしているか否かを判定し、イベント発生条件を満たしているオブジェクトをイベント発生オブジェクトとして選定する。図２の例においては、プレイヤオブジェクト８６Ａ〜８６Ｃ並びにノンプレイヤオブジェクト８８Ａ及び８８Ｂの各々について、これらのオブジェクトが配置されているマス目と隣接するマス目に別陣営のオブジェクトのいずれかが配置されているので、オブジェクト選定モジュール５２は、プレイヤオブジェクト８６Ａ〜８６Ｃ並びにノンプレイヤオブジェクト８８Ａ及び８８Ｂの全てをイベント発生オブジェクトとして選定する。
【００５７】
この図２に示した例において、グループ化モジュール５３は、攻撃を行うオブジェクトと、その攻撃の対象となるオブジェクト（攻撃を受けるオブジェクト）とが同じグループになるように、イベント発生オブジェクトとして選定されたプレイヤオブジェクト８６Ａないし８６Ｃ並びにノンプレイヤオブジェクト８８Ａ及び８８Ｂをグループ化する。具体的には、上述したようにプレイヤオブジェクト８６Ａとノンプレイヤオブジェクト８８Ａとが互いに攻撃し合うので、プレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８ＡはグループＧ１にグループ化される。また、プレイヤオブジェクト８６Ｂ及び８６Ｃはノンプレイヤオブジェクト８８Ｂに対して攻撃を行い、ノンプレイヤオブジェクト８８Ｂはプレイヤオブジェクト８６Ｃに対して攻撃を行うので、プレイヤオブジェクト８６Ｂ、８６Ｃ及びノンプレイヤオブジェクト８８ＢがグループＧ２に分類される。
【００５８】
図３は、グループ化の他の例を示す。図３においては、プレイヤオブジェクト８６Ｂが隣接していないオブジェクトに対しても攻撃をできるように、プレイヤオブジェクト８６Ｂのイベント発生領域が定められている。図３の例は、プレイヤオブジェクト８６Ｂが離れた位置にあるノンプレイヤオブジェクト８８Ａに対して攻撃を行っている点で図３の例と異なっている。図３の例では、プレイヤオブジェクト８６Ｂがノンプレイヤオブジェクト８８Ａに対して攻撃をしているので、プレイヤオブジェクト８６ＢがグループＧ１に分類される。
【００５９】
図４は、グループ化のさらに他の例を示す。図４においては、ノンプレイヤオブジェクト８８Ｂが、プレイヤオブジェクト８６Ｃではなくプレイヤオブジェクト８６Ｂを攻撃している点で図３の例と異なっている。プレイヤオブジェクト８６Ｃではなくプレイヤオブジェクト８６Ｂを攻撃しているので、ノンプレイヤオブジェクト８８ＢがグループＧ１に分類されている。また、プレイヤオブジェクト８６Ｃは、グループＧ１に分類されたノンプレイヤオブジェクト８８Ｂに対して攻撃を行っているので、プレイヤオブジェクト８８ＣもグループＧ１に分類される。この結果、図４の例においては、５つのオブジェクト全てがグループＧ１に分類されている。このグループ化処理は、イベント発生オブジェクト（プレイヤオブジェクト８６Ａ〜８６Ｃ並びにノンプレイヤオブジェクト８８Ａ及び８８Ｂ）のアジリティ等の所定の属性に基づいて定められる順番に従って実行されてもよい。例えば、図４の例において、各オブジェクトのアジリティ属性が、プレイヤオブジェクト８６Ａ、プレイヤオブジェクト８６Ｃ、ノンプレイヤオブジェクト８８Ａ、ノンプレイヤオブジェクト８８Ｂ、プレイヤオブジェクト８８Ｂの順で高い場合には、まず、最も高いアジリティ属性値を有するプレイヤオブジェクト８６Ａを起点としてグループ化処理が行われる。つまり、プレイヤオブジェクト８６Ａと、プレイヤオブジェクト８６Ａの攻撃対象であるノンプレイヤオブジェクト８８Ａとが同一のグループにグループ化される。次に、２番目にアジリティ属性値が高いプレイヤオブジェクト８６Ｃを起点としたグループ化処理が行われ、プレイヤオブジェクト８６Ｃと、プレイヤオブジェクト８６Ｃの攻撃対象であるノンプレイヤオブジェクト８８Ｂとが同一のグループに分類される。次に、３番目にアジリティ属性値が高いノンプレイヤオブジェクト８８Ａを起点としたグループ化処理が行われ、ノンプレイヤオブジェクト８８Ａと、ノンプレイヤオブジェクト８８Ａの攻撃対象であるプレイヤオブジェクト８６Ａとが同一のグループに分類される。しかし、図４の例においては、プレイヤオブジェクト８６Ａを起点としたグループ化処理においてプレイヤオブジェクト８６Ａとノンプレイヤオブジェクト８８Ａとが既に同一グループに分類されているため、ノンプレイヤオブジェクト８８Ａを起点としたグループ化処理においては、新しいグループは形成されない。以下、同様にして、仮想空間内の全てのイベント発生オブジェクトについてグループ化処理が行われる。図４以外の例においても、同様にして、イベント発生オブジェクトの所定の属性に従った順番に従ってグループ化処理を行うことができる。
【００６０】
図５は、グループ化のさらに他の例を示す。図５においては、ノンプレイヤオブジェクト８８Ａが隣接していない複数のオブジェクト（プレイヤオブジェクト８６Ｂ及び８６Ｃ）に対して攻撃をできるように、ノンプレイヤオブジェクト８８Ａのイベント発生領域が定められており、ノンプレイヤオブジェクト８８Ａがプレイヤオブジェクト８６Ｂ及び８６Ｃに対して攻撃を行っているので、ノンプレイヤオブジェクト８８Ａとプレイヤオブジェクト８６Ｂ及び８６ＣがグループＧ１にグループ化されている。また、プレイヤオブジェクト８６Ａとノンプレイヤオブジェクト８８Ｂは、互いに攻撃し合っているので、プレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ｂは、グループＧ２にグループ化される。他の実施例においては、ノンプレイヤオブジェクト８８Ａが、そのイベント発生領域に含まれているプレイヤオブジェクト８６Ｂ及び８６Ｃのうち一方のみに攻撃を行うことができるようにし、その攻撃の対象となっているオブジェクト（例えば、プレイヤオブジェクト８６Ｂ）とノンプレイヤオブジェクト８８Ａとを同一のグループとし、プレイヤオブジェクト８６Ｃを別のグループとしてもよい。
【００６１】
図６は、グループ化のさらに他の例を示す。図６においては、ノンプレイヤオブジェクト８８Ａが一直線上に配置されている複数のオブジェクト（プレイヤオブジェクト８６Ａ及び８６Ｃ）に対して攻撃をできるように、ノンプレイヤオブジェクト８８Ａのイベント発生領域が定められている。これにより、ノンプレイヤオブジェクト８８Ａとプレイヤオブジェクト８６Ａ及び８６ＣがグループＧ１にグループ化されている。ノンプレイヤオブジェクト８８Ｂもプレイヤオブジェクト８６Ａ及び８６Ｃを貫く直線上に配置されているが、ノンプレイヤオブジェクト８８Ａとノンプレイヤオブジェクト８８Ｂとは同陣営なので、ノンプレイヤオブジェクト８８Ｂはノンプレイヤオブジェクト８８Ａの攻撃対象とならず、従ってノンプレイヤオブジェクト８８ＢはグループＧ１には分類されない。一方、プレイヤオブジェクト８６Ｂとノンプレイヤオブジェクト８８Ｂは、互いに攻撃し合っているので、プレイヤオブジェクト８６Ｂ及びノンプレイヤオブジェクト８８Ｂは、グループＧ２にグループ化される。
【００６２】
図３ないし図６を参照して説明したグループ化はあくまで例示に過ぎず、本発明においては、イベントを発生させるオブジェクト（イベント発生オブジェクト）と当該イベントの対象となるオブジェクトを同一のグループに分類する任意の方法でグループ化を行うことができる。グループ化のために用いられるイベントは、上述した攻撃イベントに限られず、仮想空間内の様々なイベントが利用され得る。
【００６３】
本発明の一実施形態に係る参照点決定モジュール５４は、ターンごとに、グループ化モジュール５３により形成された複数のグループの各々について、仮想空間内に、参照点及びグループ注視点を定めるように構成される。後述するように、一実施形態においては、視点が所定のグループの参照点にあるときに、当該視点の注視点は当該所定のグループのグループ注視点に位置する。一実施形態においては、各グループについて、参照点及びグループ注視点が１つずつ定められる。
【００６４】
一実施形態においては、各グループに属する複数のオブジェクトの重心に相当する位置がグループ注視点として選択される。しかしながら、本発明のグループ注視点はグループに属するオブジェクトの重心位置には限られず、例えば、グループに属するいずれかのオブジェクトが配置されているマス目の位置（例えば、その中心位置）、グループに属する複数のプレイヤオブジェクトの重心に相当する位置などをグループ注視点とすることができる。例えば、所定のグループに、対戦ゲームにおける指揮官に相当するオブジェクトが属している場合には、当該指揮官に相当するオブジェクトの位置をグループ注視点の位置とすることができる。これにより、プレイヤが注目しやすいオブジェクトの位置をグループ注視点に設定することができる。
【００６５】
仮想空間内の参照点の位置について、図７を参照してさらに説明する。図７は、本発明の一実施形態における参照点Ｒ１及びＲ２の配置を模式的に示す説明図である。この参照点Ｒ１及びＲ２には、後述するように、視点（仮想カメラ）９０が移動する。図７に示した仮想空間内でのオブジェクトの配置及びグループ化の方法は、図２に示したものと同じである。図７においては、グループＧ１に含まれるプレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ａの重心位置ＧＣ１がグループＧ１についてのグループ注視点として定められ、グループＧ２に含まれるプレイヤオブジェクト８６Ｂ及び８６Ｃ並びにノンプレイヤオブジェクト８８Ｂの３つのオブジェクトの重心位置ＧＣ２がグループＧ２についてのグループ注視点として定められている。
【００６６】
所定のグループの参照点の位置を示す仮想空間内の座標は、例えば、同じグループのグループ注視点の位置を示す座標に対して所定の変換を行うことで得られる。図７の例において、グループＧ１の参照点Ｒ１の座標は、グループＧ１のグループ注視点（重心位置ＧＣ１）の位置を示す座標を所定の方向に所定の距離だけ移動させた座標とすることができる。グループＧ２の参照点Ｒ２の座標もこれと同様に、グループＧ２のグループ注視点（重心位置ＧＣ２）の位置を示す座標を所定の方向に所定の距離だけ移動させた座標とすることができる。つまり、各グループのグループ注視点の位置を示す座標を所定の方向（例えばｚ軸）に所定の距離だけ移動させた座標を、当該グループの参照点の座標とすることができる。グループ注視点の座標から参照点の座標を求めるためには、様々な座標変換を用いることができる。また、全てのグループについて同じ座標変換を用いても良いし、一部のグループについては他のグループと異なる座標変換を用いてもよい。
【００６７】
本発明の一実施形態に係る経路決定モジュール５５は、ターンごとに、参照点決定モジュール５４によって定められた各グループの参照点に基づいて、視点９０が移動可能な経路を決定する。一実施形態における経路は、参照点決定モジュール５４によって定められた各グループの参照点を所定の順番で連結することで形成される。図８を参照して、この視点の経路についてさらに説明する。図８は、本発明の一実施形態における仮想空間の全体を模式的に示す図である。
【００６８】
図８に示すように、本発明の一実施形態にかかる仮想空間ＶＳは、二次元のフィールドを含んでおり、このフィールドに複数のオブジェクトが配置される（ただし、図８では、図示を簡略化するために、オブジェクトの図示を省略している）。上述のとおり、参照点決定モジュール５４は、各グループに属するオブジェクトの重心位置ＧＲ１ないしＧＲ４をグループ注視点として定める。また、図８の例では、重心位置ＧＲ１ないしＧＲ４から所定方向に所定距離だけ移動した位置に、参照点Ｒ１ないしＲ４が配置されている。
【００６９】
上述のとおり、経路決定モジュール５５は、この参照点Ｒ１ないしＲ４を所定の順番で連結することで、視点９０の経路を定める。一実施形態において、この所定の順番は、仮想空間ＶＳ内の所定の基準点ＢＰに対する各参照点の位置に応じて決定される。図８に示すように、一実施形態においては、仮想空間ＶＳの矩形に形成された二次元フィールドの隅の１つを基準点ＢＰとすることができる。一実施形態においては、この基準点ＢＰから参照点Ｒ１ないしＲ４又はグループ注視点ＧＣ１ないしＧＣ４の各々までの距離を比較し、この距離が短い順に視点９０の移動経路を定めることができる。図８の例では、グループ注視点ＧＣ１、グループ注視点ＧＣ２、グループ注視点ＧＣ３、グループ注視点ＧＣ４の順で、基準点ＢＰからの距離が遠くなるので、視点９０の経路を、グループ注視点ＧＣ１に対応する参照点Ｒ１、グループ注視点ＧＣ２に対応する参照点Ｒ２、グループ注視点ＧＣ３に対応する参照点Ｒ３、グループ注視点ＧＣ４に対応する参照点Ｒ４とすることができる。この場合、経路決定モジュール５５は、参照点Ｒ１、参照点Ｒ２、参照点Ｒ３、参照点Ｒ４をこの順に結ぶ経路を、視点９０の経路として定めることができる。
【００７０】
視点９０の経路の決定方法は、適宜変更可能である。例えば、基準点ＢＰの位置を始点として所定の探索ルートで仮想空間内におけるグループ注視点の探索を行い、グループ注視点が発見された順に当該グループ注視点に対応する参照点を連結することで視点９０の経路を形成してもよい。グループ注視点の探索ルートは、例えば、基準点ＢＰから出発し、ｘ軸と平行な方向へ移動し、このｙ＝０の列においてｘ軸方向における仮想空間の端まで到達したならば、次にｙ＝１の列について同様にｘ＝０の地点から仮想空間のｘ軸の端まで移動する。以下、仮想空間のｙ軸方向の端に到達するまでｙの値を１ずつ増加させながら探索を継続する。そして、この探索ルートにおいて、グループ注視点が発見された順に当該グループ注視点に対応する参照点を連結することで、視点９０の経路が形成される。図８の例において、この方法で視点９０の経路を決定すると、参照点Ｒ２、参照点Ｒ１参照点Ｒ３、参照点Ｒ４の順に各参照点を連結する経路ができる。本発明に適用可能な視点９０の経路の決定方法は、本明細書で明示的に説明したものに限られず、発明の範囲を逸脱しない任意の方法で視点９０の経路を定めることができる。
【００７１】
また、経路決定モジュール５５は、視点９０の経路を基準点ＢＰとは無関係に定めるように構成されてもよい。例えば、経路決定モジュール５５は、グループ化モジュール５３によって定められたグループの各々に属するオブジェクト（又はイベント発生オブジェクト）の属性に基づいて各グループの順番を決定し、このグループの順番に従って、各グループの参照点の順番を決定することができる。例えば、各グループに属するオブジェクトの敏捷性を表す属性の平均値を求め、この平均値が高い順にグループをランキングし、このランキングの上位にあるグループにある参照点から順に視点９０を移動させることができる。このように、オブジェクトの敏捷性に基づいて視点９０の経路を定めることにより、敏捷性が高いオブジェクトが属するグループに先に視点９０を移動させることができる。
【００７２】
本発明の一実施形態に係る視点制御モジュール５６は、経路決定モジュール５５によって定められた経路に沿って視点９０を移動させる。例えば図８の例では、視点制御モジュール５６は、参照点Ｒ１、参照点Ｒ２、参照点Ｒ３、参照点Ｒ４をこの順に結ぶ経路に沿って視点９０を移動させることができる。また、この視点の移動と同期させて、注視点を、グループ注視点ＧＣ１、グループ注視点ＧＣ２、グループ注視点ＧＣ３、グループ注視点ＧＣ４をこの順に結ぶ経路に従って移動させることができる。一実施形態において、視点９０は、経路決定モジュール５５によって定められた経路を一方向（上記の例では、参照点Ｒ１から参照点Ｒ２、参照点Ｒ２から参照点Ｒ３、参照点Ｒ３から参照点Ｒ４の方向）にのみ移動可能であり、逆方向（参照点Ｒ２から参照点Ｒ１、参照点Ｒ３から参照点Ｒ２、参照点Ｒ４から参照点Ｒ３の方向）には移動できない。
【００７３】
本発明の一実施形態に係るイベント発生モジュール５７は、ターンごとに、グループ化モジュール５３によって生成された複数のグループの各々について、各グループに属する１又は複数のイベント発生オブジェクトの各々に攻撃イベント、アイテム使用イベント等の様々なイベントを所定のゲームロジックに従って発生させる。イベント発生モジュール５７は、例えば、視点制御モジュール５６の制御により視点９０が所定のグループの参照点に移動したことに応じて、当該グループに属するイベント発生オブジェクトに所定のイベントを発生させるように構成される。
【００７４】
再び図２を参照して、イベント発生モジュール５７がイベントを発生させる制御について説明する。上述したとおり、図２の例においては、プレイヤオブジェクト８６Ａからノンプレイヤオブジェクト８８Ａに対する攻撃イベント、ノンプレイヤオブジェクト８８Ａからプレイヤオブジェクト８６Ａに対する攻撃イベント、プレイヤオブジェクト８６Ｂ及び８６Ｃからノンプレイヤオブジェクト８８Ｂに対する攻撃イベント、及びノンプレイヤオブジェクト８８Ｂからプレイヤオブジェクト８６Ｃに対する攻撃イベントが発生する。イベント発生モジュール５７は、視点９０がグループＧ１の参照点に移動したことに応じて、グループＧ１に属するプレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ａのイベントを発生させる。本発明の一実施形態において、この攻撃イベントは、イベント発生オブジェクトの各々に設定されている所定の属性に応じて定められる順番に従って発生するように制御される。本発明の一実施形態において、この所定の属性は、前記複数のオブジェクトの各々に設定される敏捷性（アジリティ）を表す属性である。攻撃イベントが発生すると、攻撃イベントを発生させたオブジェクトの属性（攻撃力等）及び攻撃を受けたオブジェクトの属性（防御力等）に基づいて、攻撃の結果（例えば、攻撃を受けたオブジェクトが受けたダメージ）が算出される。
【００７５】
本発明の一実施形態に係る視点制御モジュール５６は、視点９０がグループＧ１の参照点に移動した後、当該グループＧ１に属するイベント発生オブジェクト（つまり、プレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ａ）によるイベントが発生している間、視点９０をグループＧ１の参照点に固定する。そして、視点制御モジュール５６は、グループＧ１に属するイベント発生オブジェクトが全てイベントを発生させた後に、視点９０をグループＧ２の参照点に移動させる。これにより、グループＧ１に属するオブジェクトがイベントを発生させている間は、視点９０をグループＧ１の参照点に固定しておくことができる。視点９０がグループＧ２の参照点に移動すると、イベント発生モジュール５７は、当該グループＧ２に属するイベント発生オブジェクト（プレイヤオブジェクト８６Ｂ及び８６Ｃ並びにノンプレイヤオブジェクト８８Ｂ）のイベントを発生させる。視点制御モジュール５６は、このグループＧ２に属するイベント発生オブジェクトによるイベントが発生している間、視点９０をグループＧ２の参照点に固定する。これにより、各グループに属するイベント発生オブジェクトによるイベントが発生している間、視点９０は、当該グループの参照点に固定されることになる。
【００７６】
また、本発明の一実施形態に係る視点制御モジュール５６は、視点９０の注視点を、視点９０と同期して移動させることができる。注視点を視点９０と同期して移動させるために、本発明の一実施形態に係る視点制御モジュール５６は、グループ注視点を所定の順番で連結することにより注視点の経路を決定する。本発明の一実施形態において、視点制御モジュール５６は、視点９０がグループＧ１の参照点に固定されている間、当該視点９０の注視点をグループＧ１のグループ注視点（重心位置ＧＣ１）に固定しておき、視点９０がグループＧ２の参照点に移動するときにこれと同期してグループＧ２のグループ注視点（重心位置ＧＣ２）に移動させるように構成される。これにより、グループＧ１に属するイベント発生オブジェクトによるイベントが発生している間、視点９０の位置及び注視点の両方を固定しておくことができるので、グループＧ１に属するイベント発生オブジェクトによるイベントの発生を安定した画像で表現することができる。
【００７７】
本発明の一実施形態に係る表示制御モジュール５８は、ターンごとに、視点（例えば、視点９０）から見た当該仮想空間の表示画像を表示装置に表示させる。この表示装置には、例えば、上述したクライアント端末３０のディスプレイが含まれる。本発明の一実施形態に係る表示制御モジュール５８は、例えば、各モジュールで実行された対戦処理の内容を示す対戦ログ情報、及び、当該対戦処理の間における視点に関連する視点情報を生成し、この対戦ログ情報及び視点情報に基づいて、ターンごとに、仮想空間の表示画像を生成することができる。本発明が対戦ゲーム以外の用途に適用される場合には、対戦ログ情報に代えて、その他の用途における仮想空間でのイベントやオブジェクトの動作などを示す仮想空間情報と、視線情報とに基づいて、仮想空間の表示画像を生成することができる。
【００７８】
本発明の一実施形態における対戦ログ情報には、各ターンにおける対戦処理の内容を示す様々なイベントを表すデータやそのイベントの結果を表すデータが含まれ、例えば、各オブジェクトの移動後の位置や移動経路を表す移動データ、各オブジェクトによる攻撃イベントを表す攻撃イベントデータ、攻撃イベントによって各オブジェクトが受けたダメージの大きさを示すダメージデータ、プレイヤオブジェクトの各々が獲得した経験値等のポイントを示す獲得ポイントデータが含まれる。本発明における対戦ログ情報は、本明細書で具体的に説明したものに限られず、対戦処理モジュール４２によって実行される対戦処理の内容を示す様々な情報を含むことができる。
【００７９】
本発明の一実施形態における視点情報には、当該ターンにおける対戦処理開始からの各時点における視点の位置を示す視点位置データ、当該ターンにおける対戦処理開始からの各時点における注視点の位置を示す注視点位置データ、及び当該ターンにおける対戦処理開始からの各時点における視点の画角を示す画角データが含まれる。この視点データは、例えば、経路決定モジュール５６が算出した視点９０の経路及び注視点の経路を示すデータに基づいて生成される。
【００８０】
本発明の一実施形態に係る表示制御モジュール５８は、例えば、各オブジェクトについての移動データと、各オブジェクトが移動する間の視点情報（視点の位置、注視点の位置、及び画角を表す情報）に基づいて、当該各オブジェクトの移動を表す画像（移動画像）を含む仮想空間の表示画像を生成することができる。また、各オブジェクトについての攻撃イベントデータと、その攻撃イベントが発生している間の視点情報に基づいて、オブジェクトによる攻撃を表す画像（攻撃イベント画像）を含む仮想空間の表示画像を生成することができる。
【００８１】
本発明の一実施形態に係る表示制御モジュール５８は、上記のようにして生成された仮想空間の表示画像をクライアント端末３０に送信することで、クライアント端末３０のディスプレイに当該仮想空間の表示画像を表示させることができる。また、本発明の他の実施形態に係る表示制御モジュール５８は、対戦ログ情報及び視点情報をクライアント端末３０に送信することができる。
【００８２】
本発明の一実施形態において、クライアント端末３０のゲームモジュール６１は、サーバ１０の表示制御モジュール５８から受信した仮想空間の表示画像をクライアント端末のディスプレイに表示するように構成される。本発明の他の実施形態においては、ゲームモジュール６１は、サーバ１０の表示制御モジュール５８から受信した対戦ログ情報及び視点情報に基づいて仮想空間の表示画像を生成し、このようにして生成した表示画像をディスプレイに表示することができる。ゲームモジュール６１は、これ以外の当業者に知られている任意の方法で、上述したように制御される視点から見た、サーバ１０で管理される仮想空間の表示画像を、表示装置に表示することができる。このように、表示制御モジュール５８は、生成した仮想空間の表示画像をクライアント端末３０に送信することにより、又は、対戦ログ情報及び視点情報をクライアント端末３０に送信することにより、クライアント端末３０のディスプレイに仮想空間の表示画像を表示させることができる。
【００８３】
本発明の一実施形態における仮想空間の表示画像の例を図９及び図１０に示す。図９は、図７の参照点Ｒ１にある視点からグループＧ１のグループ注視点にある注視点を見た仮想空間の表示画像の例であり、図１０は、図７の参照点Ｒ２にある視点からグループＧ２のグループ注視点を見た仮想空間の表示画像の例である。図９及び図１０に示すように、本発明の一実施形態においては、対戦ゲームの仮想空間の表示画像８２がクライアント端末３０のタッチスクリーンに表示される。図示を省略しているが、仮想空間の表示画像８２には、ゲームのメニュー画面、メッセージング機能を利用するためのアイコン、及びそれ以外のプレイヤが入力操作を行うための様々なオブジェクトが配置され得る。図９及び図１０に示すように、各グループの参照点にある視点から当該グループのグループ注視点にある注視点を見た表示画像には、当該グループに属するオブジェクトの全てが含まれてもよい。オブジェクトの数が多い場合には、例えば、視点制御モジュール５６が、視点９０の画角（視野角）を調整することにより、当該グループに属する全てのオブジェクトを表示画像に含めることができる。
【００８４】
本発明の一実施形態に係る受付モジュール６２は、プレイヤオブジェクト８６Ａないし８６Ｃに対するプレイヤからの指示を受け付けることができる。プレイヤは、例えば、クライアント端末３０に備えられたタッチスクリーン上のプレイヤオブジェクト８６Ａないし８６Ｃが表示されている領域に対して所定の操作（例えば、タップ、ダブルタップ、ドラッグ）を行うことにより、プレイヤオブジェクト８６Ａないし８６Ｃに対する指示を行うことができる。プレイヤからプレイヤオブジェクトに対する指示には、例えば、所定のマス目に移動する指示、ノンプレイヤユニット８８Ａ及び８８Ｂを攻撃する指示、アイテムを使用する指示など、ノンプレイヤユニット８８Ａ及び８８Ｂとの対戦に関連する様々な指示が含まれる。
【００８５】
このようにして受付モジュール６２において受け付けられたプレイヤからの様々な指示を表すメッセージは、本発明の一実施形態に係る送信モジュール６３により、ネットワーク２０を介して、サーバ１０に送信される。サーバ１０では、上述のように、受信したメッセージに基づいて、所定のゲームロジックに従った様々な処理が行われる。
【００８６】
次に、図１１を参照し、本発明の一実施形態に従って、対戦処理の所定のターンにおいて仮想空間の表示画面を生成する処理の流れを説明する。対戦ゲームにおける所定のターンが開始されると、まず、ステップＳ１０２において、仮想空間（ゲーム空間）内に配置された複数のオブジェクトの各々が、所定のロジックに従って仮想空間内の他の位置に移動する。仮想空間における全てのオブジェクトが移動する必要はなく、所定のロジックに従って、移動の対象となるオブジェクトが所定の位置に移動する。このオブジェクトの移動の制御は、例えば、上述した移動制御モジュール５１によって実行される。
【００８７】
次に、ステップＳ１０４に進み、当該仮想空間に含まれている複数のオブジェクトの中から、所定のイベント発生条件を満たす１又は複数のイベント発生オブジェクトが選定される。この所定のイベントの一例は、上述したように、一のオブジェクトから他のオブジェクトへの攻撃イベントである。このイベント発生オブジェクトの選定は、例えば、上述したオブジェクト選定モジュール５２によって実行される。例えば、図２に示した実施例では、プレイヤオブジェクト８６Ａないし８６Ｃ並びにノンプレイヤオブジェクト８８Ａ及び８８Ｂがいずれも、他のオブジェクトに対して攻撃イベントを行うイベント発生オブジェクトとして選定される。
【００８８】
次に、ステップＳ１０６に進み、当該仮想空間内の複数のオブジェクトが複数のグループにグループ化される。このグループ化は、例えば、ステップＳ１０４において選定された１又は複数のイベント発生オブジェクトと、当該１又は複数のイベント発生オブジェクトが発生させるイベントの対象となるオブジェクトとが同じグループになるように行われる。このグループ化は、例えば、上述したグループ化モジュール５３によって実行される。
【００８９】
次に、ステップＳ１０８に進み、ステップＳ１０６において形成された複数のグループの各々について、仮想空間内に、参照点及びグループ注視点が定められる。例えば、各グループに属するオブジェクトの重心位置がグループ注視点として選択される。また、所定のグループの参照点の位置は、当該所定のグループのグループ注視点の位置に基づいて定められる。この参照点及びグループ注視点の位置の決定は、例えば、上述した参照点決定モジュール５４によって実行される。
【００９０】
次に、ステップＳ１１０に進み、ステップＳ１０８において決定された参照点の位置に基づいて、視点が移動する経路が決定される。上述したように、この視点の移動経路は、例えば、各グループの参照点を所定の順番で連結することで形成される。この経路の決定は、例えば、上述した経路決定モジュール５５によって実行される。
【００９１】
次に、ステップＳ１１２において、ステップＳ１１０において決定された移動経路に沿って視点が移動し、この視点の位置に応じて所定のイベントが発生する。例えば、図７に示した例においては、視点９０がグループＧ１の参照点Ｒ１に移動したことに応じて、当該グループＧ１に属するイベント発生オブジェクト（すなわち、プレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ａ）が各々のイベントを発生させる。具体的には、プレイヤオブジェクト８６Ａはノンプレイヤオブジェクト８８Ａに対する攻撃イベントを発生させ、ノンプレイヤオブジェクト８８Ａはプレイヤオブジェクト８６Ａに対する攻撃イベントを発生させる。プレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ａの両方の攻撃イベントの間、視点９０は参照点Ｒ１に固定され、注視点はグループＧ１のグループ注視点（重心位置ＧＣ１に相当）に固定されている。
【００９２】
グループＧ１に属するイベント発生オブジェクトによるイベントが終わると、視点９０は、グループＧ２の参照点Ｒ２に移動する。そして、視点９０がグループＧ２の参照点Ｒ２に移動したことに応じて、当該グループＧ２に属するイベント発生オブジェクト（すなわち、プレイヤオブジェクト８６Ｂ及び８６Ｃ並びにノンプレイヤオブジェクト８８Ｂ）が各々のイベントを発生させる。グループＧ２の各イベント発生オブジェクトの攻撃イベントの間、視点９０は参照点Ｒ２に固定され、注視点はグループＧ２のグループ注視点（重心位置ＧＣ２に相当）に固定されている。ステップＳ１１２においては、視点の位置だけでなく、当該視点の注視点の位置や画角についても随時決定される。この視点や注視点の位置及び画角に関する制御は、例えば、上述した視点制御モジュール５６によって実行され、イベント発生モジュールによるイベントの発生は、例えば、上述したイベント発生モジュール５７によって実行される。
【００９３】
次に、ステップＳ１１４においては、上述したステップＳ１０２ないしステップ１１２の処理及びこれら以外の処理に基づいて、仮想空間内を移動する視点から見た当該仮想空間の表示画像が生成され、生成された仮想空間の表示画像が表示装置に表示される。この表示装置は、例えば、図１のクライアント端末３０のディスプレイである。この仮想空間の表示画像には、オブジェクトの移動を表す画像やオブジェクトによる攻撃を表す画像が含まれ得る。例えば、ターン開始時のオブジェクトの配置に関するデータ及びステップＳ１０２において定められた当該オブジェクトの移動に関する移動データ、並びに、オブジェクトが移動する間の視点の位置、注視点の位置、及び画角を示す視点情報に基づいて、オブジェクトの移動を表す移動画像が生成される。
【００９４】
また、ステップＳ１１４においては、オブジェクト間での攻撃イベントを表す攻撃イベント画像が生成される。この攻撃イベント画像は、ステップＳ１１２で発生する攻撃イベントを示す攻撃イベントデータ、並びに、ステップＳ１１２で定められる視点の位置、注視点の位置、及び画角を示す視点情報に基づいて生成される。このように、所定のターンにおける仮想空間の表示画像は、オブジェクトの移動を表す移動画像と、オブジェクトの攻撃イベントを表す攻撃イベント画像を含むことができる。表示装置には、まず上述のようにして生成されたオブジェクトの移動を表す移動画像が表示され、続いてオブジェクト間の攻撃イベントを表す攻撃イベント画像が表示される。このような仮想空間の表示画像の表示制御は、例えば、上述した表示制御モジュール５８により実行される。
【００９５】
表示装置のディスプレイに表示される仮想空間の表示画像の例について、再び図７、図９及び図１０を参照して説明する。上述したように、一実施形態において、プレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ａの両方の攻撃イベントの間、視点９０は参照点Ｒ１に固定され、注視点はグループＧ１のグループ注視点（重心位置ＧＣ１に相当）に固定されているので、グループＧ１に属するイベント発生オブジェクトによるイベントは、参照点Ｒ１に固定された視点からグループＧ１のグループ注視点に固定された注視点を見た画像として表現される。図９は、参照点Ｒ１に固定された視点からグループＧ１のグループ注視点に固定された注視点を見た画像（攻撃イベント画像）を示す。図示のとおり、この攻撃イベント座標は、グループＧ１のグループ注視点ＧＣ１（プレイヤオブジェクト８６Ａ及びノンプレイヤオブジェクト８８Ａの重心位置）がディスプレイのほぼ中央に位置するように表示される。次に、視点がグループＧ２の参照点Ｒ２に移動すると、この参照点Ｒ２に固定された視点からグループＧ２のグループ注視点ＧＣ２に固定された注視点を見た画像がグループＧ２に対応する攻撃イベント画像として生成される。このグループＧ２に対応する攻撃イベント画像は、図１０に示すように、グループＧ２のグループ注視点ＧＣ２（プレイヤオブジェクト８６Ｂ及び８６Ｃ並びにノンプレイヤオブジェクト８８Ｂの重心位置）がディスプレイのほぼ中央に位置するように表示される。このように、視点が参照点Ｒ１から参照点Ｒ２への移動に対応して、表示装置に表示されている仮想空間の表示画像は、図９に示されている画像から図１０に示されている画像に変化する。このとき、表示装置を見ているユーザにとっては、仮想空間が図の右下方向へ移動したように見える。
【００９６】
以上のようにして所定のターンにおける仮想空間の表示画像が生成されると、当該ターンにおける表示画像の生成処理は終了し、必要に応じて、次ターンにおける表示画像の生成処理が開始される。図１１の実施形態においては、ターンの開示後にグループ化が行われるが、上述のように、ターンの開始前（例えば、ゲーム開始時やプレイヤによって指定された所定のタイミング）にグループ化がなされていてもよい。グループ化以外の図１１の実施形態で説明した処理についても、必要に応じて、ターンの開始前に実行され得る。
【００９７】
以上説明した仮想空間の表示画像は、当該仮想空間内の複数のオブジェクトをグループ化した複数のグループの各々について参照点を定め、視点は、このグループごとに定められた参照点に所定の順番で移動するので、個々のオブジェクトの位置に視点が移動する従来の視点制御方法よりも、視点の移動回数が少なくて済む。特に、一実施形態においては、各グループにおけるイベントを表すイベント画像（例えば、攻撃イベント画像）が、当該グループの参照点に固定した視点から当該グループのグループ注視点に固定された注視点を見た画像として表されるので、当該グループに属するオブジェクトが発生させるイベントを安定した（視点の動きが少ない）画像で見ることができる。この際、注視点の位置も、グループごとに設定されたグループ注視点に固定され得る。したがって、当該実施形態に従って表示される仮想空間の表示画像は、イベントを発生させるオブジェクトに逐一視点を移動させて表示される従来の表示画像よりも少ない視点の移動回数で仮想空間内でのイベントの発生を表現することができる。
【００９８】
以上の実施形態において、イベント発生オブジェクトではなく、また、イベント発生オブジェクトによるイベントの対象ともなっていないオブジェクト（以下「ノーアクションオブジェクト」という。）は、いずれのグループにも属さないため、視点が当該ノーアクションオブジェクトに相当する位置には移動しないが、ノーアクションオブジェクトは、イベントと関係がないので、特に視点を移動させて表示画像に含める必要性が小さい点に留意されたい。
【００９９】
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び／又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
【０１００】
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
【０１０１】
本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程（ステップ）の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること，及び／又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
【符号の説明】
【０１０２】
１０  サーバ
１１、３１  プロセッサ
１５、２５、３５  ストレージ
３０  クライアント端末
４１  ゲーム制御モジュール
４２  対戦処理モジュール
５１  移動制御モジュール
５２  オブジェクト選定モジュール
５３  グループ化モジュール
５４  参照点決定モジュール
５５  経路決定モジュール
５６  視点制御モジュール
５７  イベント発生モジュール
５８  表示制御モジュール
６１  ゲームモジュール
６２  受付モジュール
６３  送信モジュール
【要約】
【課題】  イベント発生中の視点の移動を抑制すること。
【解決手段】  本発明の一実施形態に係るコンピュータプログラムは、複数のオブジェクトを複数のグループにグループ化するグループ化モジュールと、前記複数のグループの各々について、前記仮想空間内に参照点及びグループ注視点を定める参照点決定モジュールと、前記仮想空間における視点及び注視点の位置を制御する視点制御モジュールと、前記視点から前記注視点を見た前記仮想空間の表示画像を前記表示装置に表示させる表示制御モジュールと、を備える。本発明の一実施形態に係る視点制御モジュールは、前記複数のグループのうちの所定のグループにおいてイベントが発生している間、前記視点を前記所定のグループの参照点に固定するとともに前記注視点を当該所定のグループのグループ注視点に固定する。
【選択図】  図１【図１】
0005617022.tif 000002
【図２】
0005617022.tif 000003
【図３】
0005617022.tif 000004
【図４】
0005617022.tif 000005
【図５】
0005617022.tif 000006
【図６】
0005617022.tif 000007
【図７】
0005617022.tif 000008
【図８】
0005617022.tif 000009
【図９】
0005617022.tif 000010
【図１０】
0005617022.tif 000011
【図１１】
0005617022.tif 000012