以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
〔第1実施形態〕
図1は、本実施形態におけるゲームシステムの構成の一例を示す図である。本実施形態のゲームシステム1000は、通信回線9に接続することで相互にデータ通信が可能なサーバシステム1100及び複数のユーザ端末1500(1500a,1500b,…)を含むコンピュータシステムであり、ゲームコンテンツ(或いはゲームアプリケーションとも呼ばれる)を提供するコンテンツ提供システムである。
通信回線9は、データ通信が可能な通信路を意味する。すなわち、通信回線9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
サーバシステム1100は、本体装置1101と、キーボード1106と、タッチパネル1108と、ストレージ1140とを有し、本体装置1101には制御基板1150を搭載する。
制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現するとしてもよい。
そして、サーバシステム1100は、制御基板1150が所定のプログラム及びデータに基づいて演算処理することにより、1)ユーザ登録等に係るユーザ管理機能と、2)登録ユーザであるプレーヤ2(2a,2b,…)がユーザ端末1500(1500a,1500b,…)でゲームプレイするのに必要なデータを提供してユーザ端末1500(1500a,1500b,…)でのゲームの実行制御を管理するゲーム管理機能と、3)ゲームで利用可能な様々なアイテムをオンラインでユーザに販売するオンラインショッピング機能と、を実現する。つまり、本実施形態におけるゲームは、一種のクライアント・サーバ型のオンラインゲームとして実現される。
なお、サーバシステム1100は単体として記しているが、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であっても良い。或いは、離れた場所に設置された独立した複数のサーバを、通信回線9を介してデータ通信させることで、全体としてサーバシステム1100として機能させる構成であっても良い。
ユーザ端末1500(1500a,1500b,…)は、プレーヤ2(2a,2b,…)がゲームプレイのために個別に使用するコンピュータシステムであって、通信回線9を介してサーバシステム1100にアクセスしてオンラインゲームを実行できる電子装置(電子機器)であり、機能的に言えばゲーム装置となるものである。本実施形態のユーザ端末1500は、いわゆるスマートフォンと呼ばれる装置であるが、携帯型ゲーム装置や、ゲームコントローラ、パソコン、タブレット型コンピュータ、ウェアラブルコンピュータ、家庭用ゲーム装置、業務用ゲーム装置などでもよい。
図2は、本実施形態におけるユーザ端末1500の構成例を示す正面図である。
ユーザ端末1500は、方向入力キー1502と、ボタンスイッチ1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、スピーカ1510と、内蔵バッテリー1509と、マイク1512と、イメージセンサユニット1520と、制御基板1550と、コンピュータ読み出し可能な記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない電源ボタン、音量調節ボタン等が設けられている。また、ゲームプレイの対価の支払いが可能なICカード型のクレジットカードやプリペイドカードに対して非接触にデータの読み書きが行えるICカード読取装置などを設けるとしてもよい。
制御基板1550は、CPU1551やGPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、通信回線9に接続する携帯電話基地局や無線LAN基地局などと無線通信するための無線通信モジュール1553、インターフェース回路1557などを搭載する。
インターフェース回路1557には、タッチパネル1506のドライバ回路、方向入力キー1502及びボタンスイッチ1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512で集音した音声の信号を生成する入力信号生成回路、イメージセンサユニット1520で撮影された画像の画像データを入力する回路、メモリカード読取装置1542への信号入出力回路、などが含まれている。
制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、本実施形態のゲームのユーザ端末としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。
なお、本実施形態では、ユーザ端末1500はクライアントプログラムや各種設定データをサーバシステム1100からダウンロードする構成としているが、別途入手したメモリカード1540などの記憶媒体から読み出す構成としても良い。
[ゲームの説明]
本実施形態は、オンラインゲームであって、プレーヤがメインキャラクタ(主に操作するプレイアブル・キャラクタの意)であるプレーヤキャラクタを操作しつつ、味方NPCであるサブキャラクタを使用し、ゲーム空間で敵キャラクタと対戦する対戦ゲームである。
図3は、本実施形態のゲームをプレイするための準備操作について説明するための図である。先ず、ゲームの前提として、プレーヤ2は、ゲーム媒体として、メインキャラクタ3(3a,3b,…)と、サブキャラクタ5(5a,5b,…)と、格納オブジェクト7(7a,7b,…)と、を所有することができる。ここで言う所有とは、当該ゲーム媒体のゲーム内での使用権を有するという意味である。
メインキャラクタ3は、プレーヤ2の代理としてゲーム空間に存在するプレーヤキャラクタの候補となるキャラクタである。アバターキャラクタの候補とも言える。
サブキャラクタ5は、プレーヤキャラクタの味方のNPC(ノン・プレイアブル・キャラクタ:コンピュータにより自動制御されるキャラクタの意。)である。
格納オブジェクト7は、サブキャラクタ5を格納することができるオブジェクトである。格納といってもゲーム上の仮想的な格納を意味しており、本実施形態ではゲーム上、サブキャラクタ5を仮想的に縮小して格納でき、また格納後は再び開放することができるオブジェクトとする。格納オブジェクト7の形態は、瓶やカプセル、箱、袋、などとして表現される。
メインキャラクタ3(3a,3b,…)、サブキャラクタ5(5a,5b,…)、格納オブジェクト7(7a,7b,…)は、それぞれ複数種類が予め用意されており、プレーヤ2は、ゲームプレイに先立ってそれらの一つ又は複数を入手・所有する。例えば、初期設定で予め付与されるほか、オンラインショッピングで購入することもできる。また、ゲームを進めるうちに獲得状況に至った場合に獲得することができる。
ゲームプレイに当たっては、プレーヤ2は幾つかの準備操作を行う。
本実施形態の準備操作には、プレイするゲーム空間(ゲーム空間に同じ)を選択する操作と、プレーヤ2が所有するメインキャラクタ3(3a,3b,…)の中からプレーヤキャラクタ4を選択する操作と、が含まれる。また、使用する格納オブジェクト7と、これに格納するサブキャラクタ5との組み合わせの設定操作と、が含まれる。
格納オブジェクト7とサブキャラクタ5を組み合わせると、当該サブキャラクタ5は当該格納オブジェクト7に格納された扱いとなる。これを。設定済格納オブジェクト8と呼ぶ。設定済格納オブジェクト8は、プレーヤキャラクタ4(図3の例では、メインキャラクタ3a)が所有・所持している扱いとなる。例えば、ポケットやバックに収めて持ち歩いている扱いとなる。つまり、プレーヤ2は、自身が所有するメインキャラクタ3(3a,3b,…)に、格納オブジェクト7を組み合わせる、ということができる。
格納オブジェクト7とサブキャラクタ5との組み合わせが行われると、これに使用された格納オブジェクト7とサブキャラクタ5はそれぞれ「組み合わせ不可」の扱いとなり、重複した組み合わせはできないようになる。但し、格納オブジェクト7の種類によっては、複数のサブキャラクタ5を同時に格納できる場合もあるので、その場合は格納上限数に達するまでは当該格納オブジェクト7は組み合わせ不可の扱いとはならない。
ゲームプレイが開始されると、ユーザ端末1500では、図4に示すようなゲーム画面W4が表示される。本実施形態のゲーム画面W4は、仮想3次元空間に構築されたゲーム空間を、使用するプレーヤキャラクタ4越しに後ろ斜め上から撮影した画像(いわゆる三人称視点画像)がベースとされる。勿論、ゲームの味付けによっては、プレーヤキャラクタ4の一人称視点画像をベースとしても良い。
プレーヤ2は、プレーヤキャラクタ4を操作して、ゲーム空間を移動し、敵キャラクタ6と遭遇するとこれと対戦する。本実施形態では、敵キャラクタ6はNPCとするが、プレーヤ同士が対戦する対戦ゲームの場合は、敵キャラクタ6は対戦相手プレーヤのプレーヤキャラクタ或いはサブキャラクタとなる。
敵キャラクタ6への攻撃は、プレーヤキャラクタ4による攻撃と、サブキャラクタ5を用いた攻撃との2通りが可能である。
図5は、サブキャラクタ5を用いた攻撃の概要説明図である。なお、ゲームに登場するオブジェクトを、投擲、打撃、発射、呪文の詠唱、スキルの発動、又はこれらに準じたプレーヤキャラクタ4のアクションにより、飛翔・転動・走行・滑走などをさせて移動させることができるが、以下説明では代表して「飛翔」による移動を説明する。他の移動であってもよいことは勿論である。
サブキャラクタ5を用いた攻撃は、a)プレーヤキャラクタ4が設定済格納オブジェクト8を投擲して飛翔させ、b)敵キャラクタ6にぶつける、又はゲーム空間の背景オブジェクトにぶつけて、c)格納されているサブキャラクタ5をそこに出現させると、d)出現したサブキャラクタ5が攻撃行動をとる、ことで実現される。
具体的には、図5(1)に示すように、プレーヤ2は、先ず、所定の飛翔前操作を行う。飛翔前操作では、ゲーム画面W4(図4参照)に、設定済格納オブジェクト8が選択可能に表示される設定済格納オブジェクトリスト10が表示される。プレーヤ2は当該リストの中から投擲する設定済格納オブジェクト8を選択する。図5(1)の例では、設定済格納オブジェクト8aが選択されている。
そして、アクション操作をすると、図5(2)に示すように、プレーヤキャラクタ4が、選択した設定済格納オブジェクト8を投擲する。本実施形態では、設定済格納オブジェクト8の使用アクションを「投擲」としているが、プレーヤキャラクタ4がロボットなどの場合には使用アクションを設定済格納オブジェクト8の「発射(あるいは「射出」や「放出」などともいえる)などとしてもよい。
なお、ここで言う「アクション操作」とは、所定のボタンスイッチを操作する、所定の操作アイコンをタッチ操作すると言った、ON/OFFにより検出できる操作は勿論のこと、タッチパネルへの単数又は複数指によるフリック操作、スライド操作、ユーザ端末1500やゲームコントローラを振る、と言った操作入力に係り検出される検出量により入力検出判定される操作も含まれる。
投擲方向はプレーヤキャラクタ4の正面方向とする。ゲーム画面W4(図4参照)には正面に投擲方向マーカ12(図4の例では画面中央の破線円)が表示されるので、プレーヤは投擲したい方向(投擲方向)に当該マーカが向くようにプレーヤキャラクタ4の位置や姿勢を調整すれば良い。また、ゲーム画面W4には、投擲力入力バー14が表示されるので、プレーヤが当該バーにタッチして投擲力を入力する。
なお、投擲方向と投擲力の入力は、これに限らない。例えば、タッチパネル1506へのスワイプ操作により行うとしてもよい。すなわち、スワイプした方向を投擲方向とし、スワップする距離や速さを投擲力の入力と見なすとしても良い。また、ユーザ端末1500又は当該端末から分離可能なゲームコントローラ部に加速度センサを搭載する構成では、ユーザ端末1500やゲームコントローラ部を手に持って振ることで投擲力の入力を行う構成としてもよい。
投擲方向と投擲力が入力されると、投擲に係る初期条件が決定されたと見なされ、投擲される設定済格納オブジェクト8が飛翔する経路(飛翔経路)と、到達する飛翔先とが決定される。飛翔経路や飛翔先の決定は、物理演算又は擬似物理演算、予め用意されている複数種類の飛翔経路のなかからの選択、などにより実現され得る。
投擲力を入力すると、投擲するための方向と力の諸元が決まるので、図6に示すように、投擲される設定済格納オブジェクト8が辿る予測軌道30と、予測飛翔先32とがゲーム画面内に予測表示オブジェクトにて表現されプレーヤに予測通知される。本実施形態では、出現したサブキャラクタ5は、攻撃可能範囲内の敵キャラクタ6のうち最寄りの敵キャラクタ6を攻撃するように自動制御される。そのため、予測飛翔先32は、実質的に、飛翔される設定済格納オブジェクト8に格納されているサブキャラクタ5が出現制御された場合に攻撃対象とする敵キャラクタ6の予測表示を兼ねる。
ここで言う「予測軌道」には、その時点の投擲に係る初期条件などの諸元に基づいて設定される飛翔経路と誤差範囲とを含み得る。同様に、「予測飛翔先」には、その時点の諸元に基づいて設定される飛翔先と誤差範囲とを含み得る。
プレーヤ2は、この予測表示を見て思った通りのコースや思った場所に向けて飛翔し得るかを思案する。そして、プレーヤキャラクタ4の正面方向を変える、投擲力入力バー14を再タッチするなどして、投擲方向や投擲力を調整することができる。
予測軌道30や予測飛翔先32が望んだ通りであれば、プレーヤ2は、所定のアクション操作を入力して、選択した設定済格納オブジェクト8をプレーヤキャラクタ4に投擲させる。
そして、投擲された設定済格納オブジェクト8は、プレーヤキャラクタ4により放たれ、所与の飛翔終了条件を満たすまで飛翔先を目指して飛翔経路に沿って飛翔するように移動制御される。
「飛翔終了条件」は、設定済格納オブジェクト8の移動を終了させるために満たすべき条件であって、適宜設定可能である。本実施形態では、設定済格納オブジェクト8や他オブジェクトなどとの接触を飛翔終了条件とする。よって、投擲された設定済格納オブジェクト8は、やがて敵キャラクタ6に当たるか、背景オブジェクトに当たるか、その他のオブジェクトに当たるかして飛翔が止まり、止まった位置に配置される、或いは、格納オブジェクトが壊れる演出表示がなされる。
設定済格納オブジェクト8については、所与の開放条件が満たされた場合に、図5(3)に示すように、当該設定済格納オブジェクトに格納されていたサブキャラクタ5が開放されてゲーム空間に出現し、サブキャラクタ5としての行動を開始する。
「開放条件」は、適宜設定可能であるが、本実施形態では、少なくとも飛翔終了条件を満たしたことを含むこととするが、飛翔開始からの経過時間が所定時間に達したことや、敵キャラクタ6に接近したこと、敵キャラクタ6による攻撃を受けたこと、などとのAND条件やOR条件として適宜設定することが可能である。
設定済格納オブジェクト8から開放されて出現したサブキャラクタ5は、NPCなのでコンピュータにより自動制御される。図5の例では、敵キャラクタ6への攻撃に関する例を示しているが、味方を防御する制御や、味方の体力値を回復させる制御、敵キャラクタ6の行動を妨害する制御、など攻撃以外の自動行動制御を可能としてもよく、サブキャラクタ5の種類によってそれが優先的に選択実行されるとしても良い。或いは、プレーヤ2が複数の自動行動のなかから選択して設定する構成とすることもできる。
なお、開放条件を満たした設定済格納オブジェクト8は、今回のゲームプレイでの再使用はできないが、次回のゲームプレイでは再使用可能となる。また、同じゲームプレイ中に、使用してから所定時間が経過した後に再使用可能になることとしてもよい。
さて、サブキャラクタ5を使う対戦ゲームにおいて新たな興趣を生み出す、或いは、興趣を高めるために、本実施形態では、少なくともサブキャラクタ5と格納オブジェクト7との組み合わせに応じて、設定済格納オブジェクト8の飛翔に関する制御設定(以降、「飛翔制御設定」と言う。)と、格納されていたサブキャラクタ5の出現後の行動に係る制御設定(以降、「行動制御設定」と言う。)と、の少なくとも一方を変更することができる。
「飛翔制御設定」とは、設定済格納オブジェクト8が投擲・発射されてからの移動制御に係るパラメータの設定値である。例えば、重量相当パラメータ値、飛翔経路種類、飛翔可能距離(射程に相当)、飛翔高さ、飛翔速さ、飛翔経路や飛翔先の誤差、他オブジェクトとの接触に伴うバウンド許可回数、最初に接触した他オブジェクトへの接着の有無、などを含み得る。勿論、これら以外のパラメータも適宜、飛翔に係る制御パラメータとすることができる。そして、飛翔制御設定の変更に当たっては、飛翔制御設定のうち少なくとも一つが変更される。
飛翔経路種類は、飛翔経路の決定パターンと言い換える事が可能である。例えば、物理演算(又は擬似物理演算)、直線運動、ロックオンした敵キャラクタ6への自動追尾飛翔、などを設定することができる。更に、それぞれについて、所定回数の障害物自動回避付き飛翔、障害物のすり抜け(仮想的な貫通)許可飛翔、などの詳細タイプを加えることもできる。
「行動制御設定」とは、サブキャラクタ5の行動制御に係るパラメータの設定値である。例えば、耐久値(ダメージを受けると減算され「0」になると行動不能になる値)、攻撃力、防御力、移動力、回復力、索敵範囲、行動種類、移動に係る制限事項(例えば、移動できる地形の種類。逆に、移動できない地形の種類。)、重量相当パラメータ値、などを含み得る。勿論、これら以外のパラメータも適宜、行動に係る制御パラメータとすることができる。そして、飛翔制御設定の変更に当たっては、行動制御設定のうち少なくとも一つが変更される。
ここで言う「行動種類」とは、出現後に当該サブキャラクタ5がどのような行動を行うかのパターンである。同じ行動種類でも、その内容によって複数種類設定することができる。例えば、同じ攻撃行動に分類されるものでも、a)索敵行動をとりつつ発見した敵キャラクタ6に攻撃をする「索敵攻撃」、b)配置された位置からあまり移動せずに攻撃可能範囲に進入した敵キャラクタを攻撃する「防衛」、c)味方に追従して接近する敵キャラクタ6を攻撃する「味方護衛」、d)味方を攻撃している敵キャラクタ6を優先的に攻撃する「援護」、などを設定することができる。勿論、攻撃以外の行動分類の行動種類、例えば味方の体力値を回復させる「救助」、なども適宜設定することができる。
また、本実施形態では、飛翔制御設定や行動制御設定を変更するファクターとして、格納オブジェクト7の進展度合と、サブキャラクタ5の進展度合との少なくとも一方を含めることができる。
ここで言う「進展度合」とは、格納オブジェクト7やサブキャラクタ5のいわゆる成長の度合である。ゲームルールやサブキャラクタ5のゲーム世界におけるキャラクタ設定によって、成長、強化、進化、改良、改修、などと同義となる。本実施形態では、包括して「成長」と呼称する。
すなわち、サブキャラクタ5と格納オブジェクト7には、ゲームプレイで使用されるとそのゲームプレイのプレイ成績に応じた経験値が付与・蓄積され、蓄積された経験値に応じてそのサブキャラクタ5や格納オブジェクト7が成長して能力が向上するゲームルールとする。成長度合は、それぞれ格納オブジェクトレベル、キャラクタレベルとして表されることとし、組み合わされるサブキャラクタ5と格納オブジェクト7の種類が同じでも、組み合わされたサブキャラクタ5のキャラクタレベルや格納オブジェクト7の格納オブジェクトレベルが異なれば、飛翔制御設定や行動制御設定が異なるようになっている。
また更に、本実施形態では、使用するプレーヤキャラクタ4の種類や、サブキャラクタ5に使用するアイテム(サブキャラクタ用アイテム)や、格納オブジェクト7に使用するアイテム(格納容オブジェクト用アイテム)の作用効果に基づいても、飛翔制御設定や行動制御設定を変更することができる。
では、飛翔制御設定や行動制御設定の具体的な変更について例示する。
図7は、飛翔制御設定の変更の例を示す図である。
図7(1)は、サブキャラクタ5aと格納オブジェクト7aとが組み合わされた場合の設定済格納オブジェクト8の飛翔可能距離・飛翔高さ・飛翔経路の一例を示した図である。
図7(2)は、図7(1)の組み合わせから、格納オブジェクト7aを格納オブジェクト7cに代えた例であって、相対的に飛翔可能距離(射程に相当)が伸びた例を示している。
格納オブジェクト7cは、格納オブジェクト7aよりも「軽い(重量相当パラメータ値が小さい)」と言うゲーム上の設定である。プレーヤ2は、サブキャラクタ5aをより遠くに出現させたい場合に、格納オブジェクト7aよりも「軽い」格納オブジェクト7cと組み合わせることで、それを実現できることになる。
図7(3)は、図7(1)の組み合わせから、サブキャラクタ5aをサブキャラクタ5bに代えて組み合わせたことで、相対的に飛翔可能距離が伸びた例を示している。
サブキャラクタ5bは、サブキャラクタ5aよりも「軽い」と言うゲーム上の設定である。プレーヤ2が有する未使用格納オブジェクトが格納オブジェクト7aのみであるにも係わらず、何らかのサブキャラクタをより遠くに出現させたい場合には、格納オブジェクト7aに、サブキャラクタ5aよりも「軽い」サブキャラクタ5bを組み合わせることで、それを実現できることになる。
図7(4)は、図7(1)の組み合わせはそのままに、飛翔性能を向上させるサブキャラクタ用アイテム21を使用することで、相対的に飛翔可能距離が伸びるとともに、投擲操作時にロックオン操作(飛翔目標の指示操作)がなされてロックオンされた敵キャラクタ6を追尾するように飛翔経路の種類が変化した例を示している。なお、ロックオン操作の操作方法は特に限定されない。例えば、プレーヤキャラクタ4の投擲方向マーカ12の周囲所定範囲に存在する敵キャラクタ6の中から1体をプレーヤが選択するとしてもよい。なお、飛翔目標とされた敵キャラクタ6は、ゲーム画面内においてロックオンマーカ19が表示され識別可能となる。
図7(4)にてサブキャラクタ5aに設定された(“対応づけられた”、或いは“使用された”ということもできる)サブキャラクタ用アイテム21の作用効果は、「重量軽減」或いは「飛翔可能距離の伸長」と言うゲーム上の設定である。サブキャラクタ5aと格納オブジェクト7aとの組み合わせであっても、当該アイテムが使用されることで、格納オブジェクト7又はサブキャラクタ5の少なくとも何れか一方の重量相当パラメータ値が軽減調整されて、軽減調整後の値に基づいて飛翔制御の可変制御が行われて飛翔可能距離が伸長した、とも言える。
図8は、飛翔制御設定の別の変更例を示す図である。
図8(1)と図8(2)では、組み合わされたサブキャラクタ5と格納オブジェクト7の種類は同じであるが、前者よりも後者の方が格納オブジェクトレベルが高くなっている。そして、飛翔可能距離が伸長されるとともに、飛翔に係る誤差20が、後者の方が小さくなるように飛翔制御設定が変更されている例を示している。
言い換えると、図8(2)における格納オブジェクト7とこれに格納されたサブキャラクタ5との組み合わせが、所与の軽減条件(この場合、例えば、格納オブジェクト7aの進展度合が所定の基準値「Lv.5」に達している、など)を満たすので、格納オブジェクト7又はサブキャラクタ5の少なくとも何れか一方の重量相当パラメータ値が軽減調整され、軽減調整後の値に基づいて飛翔制御の可変制御が行われた結果、飛翔可能距離が伸びた、と言える。
なお、ここで言う「誤差」は、飛翔可能範囲や飛翔先のバラツキに相当する。具体的には、投擲方向や投擲力から決定される飛翔経路や飛翔先に対して誤差20の範囲でランダムなゆらぎを与えることで実現される。
飛翔経路の種類が「ロックオンした敵キャラクタ6への自動追尾飛翔」に設定されている場合には、ここで言う「誤差」は、飛翔目標に対する「命中率」と同義となる。また、ロックオン操作でなくとも、飛翔先の目標を決めて投擲操作をしているため、飛翔目標に着弾するか否かの「命中率」と言うこともできる。
所定の「命中率向上」の作用効果を有するアイテムを用意しておいて、プレーヤ2がこれを使用すると誤差を軽減(命中率を向上することと同義)できるようにすると好適である。
図8(3)では、図8(2)の組み合わせにおいて、格納オブジェクト7に飛翔の高度(高さ)を増加させる格納オブジェクト用アイテム22wを設定・使用した場合に、飛翔制御設定が変更されている例を示している。
この例では、投擲の高さを向上させることが可能となることで、障害物24を越えてその反対側まで設定済格納オブジェクト8を投げ込むことが可能となっている。
図8(4)では、組み合わされたサブキャラクタ5と格納オブジェクト7の種類は図8(1)と同じであるが、プレーヤキャラクタ4として、メインキャラクタ3aより投擲能力が高い設定のメインキャラクタ3bを選択した場合であって、誤差20はそのままに投擲可能な高さが向上した例を示している。
図9は、行動制御設定の変更例を示す図である。
図9(1)と図9(2)とを比較すると、投擲される設定済格納オブジェクト8として組み合わされたサブキャラクタ5と格納オブジェクト7の組み合わせは同じであるが、サブキャラクタ5の成長度合が異なっており、後者の方が前者よりも索敵範囲26が拡張され、攻撃力も増加されるように行動制御設定が変更されている。
図9(2)と図9(3)とを比較すると、サブキャラクタ5と格納オブジェクト7のそれぞれの成長度合は同じであるが、組み合わされた格納オブジェクト7の種類が異なっている。図9(2)の格納オブジェクト7aよりも図9(3)の格納オブジェクト7hの方が攻撃力が増加されるように行動制御設定が変更されている。
図10は、行動制御設定の別の変更例を示す図である。
行動制御設定の1つに、障害物24を越えて移動できるか否かの、移動に係る制限事項の設定がある。図10(1)に示すように、サブキャラクタ5a(腕の無いキャラクタ)の移動に係る制限事項の設定には障害物24が含まれる。従って、敵キャラクタ6に攻撃するためには障害物24を迂回して移動する必要がある。
一方、図10(2)に示すように、サブキャラクタ5b(腕の有るキャラクタ)の移動に係る制限事項の設定には障害物24が含まれない。従って、敵キャラクタ6に攻撃するためには、障害物24をよじ登って乗り越え、サブキャラクタ5aよりも短時間で攻撃を開始できる。
また、図10(3)に示すように、サブキャラクタ5と格納オブジェクト7との組み合わせは図10(1)と同じでも、アイテムを使用することで、サブキャラクタ5aにサブキャラクタ5bと同様の能力を付加できる。例えば、梯子的な作用効果を有する格納オブジェクト用アイテム22rを格納オブジェクト7に使用・設定すると、サブキャラクタ5aの移動に係る制限事項の設定には障害物24が含まれないように行動制御設定が変更され、図10(2)のサブキャラクタ5bと同様に、障害物24を乗り越えて短時間で攻撃を開始できるようになる。
なお、格納オブジェクト用アイテム22(22w、22r)等のゲーム内での表現は、格納オブジェクト7に装着されるものとして表現すると好適である。例えば、格納オブジェクト7に取り付けるストラップ、カバー、ホルダー、シール、交換キャップ、キャップカバー、などとして表現することができる。
図11は、サブキャラクタ5と格納オブジェクト7との組み合わせに基づく行動制御設定の変更例を示す図である。
通常、サブキャラクタ5が敵キャラクタ6を局所攻撃する際、敵キャラクタ6のどの部位を攻撃するかはランダムに決定される。結果、敵キャラクタ6の部位は満遍なく攻撃されることとなる。
しかし、図11に示すように、サブキャラクタ5と格納オブジェクト7との組み合わせに基づいて攻撃部位に優先度を与えることができる。換言すると、攻撃対象として部位を選択する確率・比重・優先度に偏りを与えることができる。すなわち、図11(1)の例では、サブキャラクタ5aと格納オブジェクト7jを組み合わせた場合、敵キャラクタ6の部位別の攻撃比重は通常は「頭1:胴1:腕1:脚1」であるが、これを頭部偏重に変化させている。図11(2)の例では、同じサブキャラクタ5aであるが、格納オブジェクト7kと組み合わせた場合には、腕と脚に攻撃を優先するように変更させている。こうした攻撃部位が選択される優先度の設定、選択される傾向の設定の例は、図11の例に限らず、適宜設定可能である。また、部位も図11の例に限らず、敵キャラクタ6のデザインに応じて適宜設定可能である。
また、本実施形態では、サブキャラクタ5の行動制御設定を、出現位置と、敵キャラクタ6の位置との相対位置関係に基づいて変更することができる。
図12は、出現位置と敵キャラクタのとの相対位置関係に基づく行動制御設定の変更の比較例を示す図である。図12(1)は、相対位置関係が所定の距離条件を満たしていないケースを示している。すなわち、プレーヤキャラクタ4が飛翔させた設定済格納オブジェクト8は、敵キャラクタ6から離れた場所で他オブジェクト(この場合は、地面オブジェクト)に接触して、飛翔終了条件が満たされたことになる。格納されていたサブキャラクタ5は、敵キャラクタ6から離れた場所に出現することとなる。この場合、サブキャラクタ5は、索敵して最寄りの敵キャラクタ6へ向かって移動して第1種の攻撃行動(図12(1)の例では、体当たり)を、敵キャラクタ6の第1指定部位(図12(1)の例では胴体)へするように自動制御される。
図12(2)は、相対位置関係が所定の距離条件を満たしているケースを示している。すなわち、プレーヤキャラクタ4が飛翔させた設定済格納オブジェクト8は、敵キャラクタ6に接触して飛翔終了条件が満たされたことになる。設定済格納オブジェクト8は、敵キャラクタ6に当たって壊れ、開封されたように表現される。このケースでは、格納されていたサブキャラクタ5は、設定済格納オブジェクト8が当たった位置に出現する。それは、敵キャラクタ6に取り付いているように表現される。そして、サブキャラクタ5は、第2種の攻撃行動(図12(2)の例では、足蹴り)を、敵キャラクタ6の第2指定部位(設定済格納オブジェクト8の接触部位:図12(2)の例では、頭部)へ行うように自動制御される。そして、サブキャラクタ5の攻撃力は、図12(1)のケースよりも向上させるように行動制御設定も変更される。
こうした相対位置関係に基づく行動制御設定の変更を行うと、設定済格納オブジェクト8を上手く敵キャラクタ6に当てられるか否かで、その後の展開を当てられなかった場合より有利に進めることが可能になる。つまり、射的ゲーム的要素が加わることなり、ゲームの興趣をより高めることができる。
なお、相対位置関係を定義する要素は、こうした相対距離や両者の接触の有無に限らない。出現位置を敵キャラクタ6から見た方向、を定義要素として使用することもできる。
この様に、サブキャラクタ5をゲーム内で利用可能とするために格納オブジェクト7と組み合わせることを必須とし、その組み合わせに応じて飛翔制御設定や行動制御設定を変更することで、単にゲームに使用するサブキャラクタ5を選抜してデッキを選択し、所望するタイミングでゲーム内に登場させる構成よりも、遥かにゲームの状況に多様性が生まれ、手持ちのサブキャラクタ5や格納オブジェクト7でどのように組み合わせてゲームを攻略するかの戦術的思考の要素が増し、新たな興趣が生まれる。
更には、プレーヤキャラクタ4とするメインキャラクタ3の選択や、アイテムの使用に応じても飛翔制御設定や行動制御設定を変更することができるので、設定済格納オブジェクト8の投擲を介したサブキャラクタ5のゲーム空間内への出現制御や、出現後のサブキャラクタ5の能力や行動種類をより多彩に実現できるようになる。
また、本実施形態では設定済格納オブジェクト8の用意をゲームプレイ中でも可能とすることで、ゲームプレイ前に編成したデッキに限定されずに、その時々の戦況に応じて戦術を柔軟にプレイできるのは、従来にないゲームの面白さを生むこととなる。
なお、設定済格納オブジェクト8を飛翔させることから、設定済格納オブジェクト8の飛翔先が、プレーヤキャラクタ4からは見通せない障害物の向こうになることもある。その場合、プレーヤキャラクタ4に基づく視点(ゲーム空間に配置された仮想カメラ)のゲーム画像では、飛翔先で出現したサブキャラクタ5の様子が分からない。そこで、本実施形態では、サブキャラクタ5が出現する毎に、当該サブキャラクタを基準とした視点を増設し、プレーヤがゲーム画面の視点を切り換えできるようになる。
図13は、視点増設とゲーム画面の視点切り換えについて説明するための図である。
プレーヤキャラクタ4に基づく視点としてプレーヤ視点仮想カメラ41は、常設されている。サブキャラクタ5が出現すると、当該サブキャラクタに基づく視点としてサブキャラクタ視点仮想カメラ42が新たに設定される。サブキャラクタ視点仮想カメラ42は、三人称視点としても良いし一人称視点(サブキャラクタ5の視点)としても良い。
仮想カメラが増設されると、各仮想カメラをゲーム画面の視点として切換操作するための視点切換操作アイコン15(15a,15b)が表示される。図13の例では、第1視点切換操作アイコン15aがプレーヤ視点仮想カメラ41、第2視点切換操作アイコン15bがサブキャラクタ視点仮想カメラ42、に対応する。
ゲーム画面W5の視点は、プレーヤ視点仮想カメラ41をデフォルトとするが、プレイ中に第2視点切換操作アイコン15bが操作されると、視点がサブキャラクタ視点仮想カメラ42に切り換えられ、タッチパネル1506では、サブキャラクタ視点仮想カメラ42を視点としたゲーム画面W6が表示される。プレーヤ視点仮想カメラ41を操作すると、再び視点は切り換えられ、タッチパネル1506ではゲーム画面W5が表示される。
このように、プレーヤが出現したサブキャラクタ5に対応付けられた視点を任意に選択して、ゲーム画面の視点に切り換え可能にすることで、プレーヤキャラクタ4の視点からは見えない場所にあるサブキャラクタ5の様子を知ることができるようになる。
[機能構成の説明]
図14は、本実施形態におけるサーバシステム1100の機能構成例を示す機能ブロック図である。本実施形態におけるサーバシステム1100は、操作入力部100sと、サーバ処理部200sと、音出力部390sと、画像表示部392sと、通信部394sと、サーバ記憶部500sとを備える。
操作入力部100sは、サーバの管理のための各種操作を入力するための手段である。図1のキーボード1106がこれに該当する。
サーバ処理部200sは、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現され、操作入力部100sやサーバ記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号、ユーザ端末1500から受信したデータ、等に基づいて各種の演算処理を実行して、サーバシステム1100の動作を統合的に制御する。
そして、本実施形態のサーバ処理部200sは、ユーザ管理部202と、オンラインショッピング管理部204と、ゲーム管理部210と、計時部288sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
ユーザ管理部202は、ユーザ登録手続きに係る処理及びユーザアカウントに紐付けられる各ユーザのデータの管理を行う。本実施形態では、ユーザ管理部202は、1)登録ユーザへの固有のユーザアカウントの付与と、2)ユーザアカウント別に個人情報を登録管理する登録情報管理と、3)課金要素(本実施形態ではオンラインショッピングとプレイ対価など)の支払いで消費される電子決済媒体の帳簿管理と、4)ゲームプレイするためのログイン及びログアウトの履歴等を管理するプレイ履歴管理と、5)ゲームセーブデータの管理と、の各機能を有する。勿論、これら以外のアカウントに紐付けられる他のデータの管理機能も適宜含めることができる。
オンラインショッピング管理部204は、オンラインショッピングに関する制御を担い、公知のオンラインショッピング技術を適宜利用して実現できる。本実施形態では、プレーヤは、オンラインショッピングによって、メインキャラクタ3や、サブキャラクタ5、格納オブジェクト7、アイテムなどを購入することができる。オンラインショッピングにおける販売対象は、これら以外にも適宜設定可能である。
ゲーム管理部210は、ゲームの実行管理に係る各種処理を行う。本実施形態のゲームは、クライアント・サーバ型のオンラインゲームなので、本実施形態のゲーム管理部210は、ユーザ端末1500と通信を行いながらゲームプレイに必要なデータを提供する制御を行う。そして、本実施形態のゲーム管理部210は、準備設定部220と、飛翔制御部230と、予測表示制御部236と、サブキャラクタ出現制御部240と、サブキャラクタ自動制御部250と、進展制御部260と、視点切換制御部262と、を有する。勿論、これら以外の機能部も適宜含むとしてもよい。
準備設定部220は、プレーヤの操作に基づいて、ゲームプレイの準備に関する各種設定を行う。具体的には、準備設定部220は、プレーヤキャラクタ設定部222と、格納設定部224と、アイテム設定部226と、を有する。
プレーヤキャラクタ設定部222は、プレーヤの操作に基づいて、複数のキャラクタの中からプレーヤキャラクタ4とするキャラクタを選択して設定する。
格納設定部224は、プレーヤの選択操作に基づいて、複数のNPC及び複数のオブジェクトの中から、格納するNPCと格納先とするオブジェクトとを選択することで、格納オブジェクトを設定する。格納オブジェクトが、複数のサブキャラクタ5を格納可能な場合には、格納設定部224は、格納するNPCを複数選択することができる。より具体的には、格納設定部224は、サブキャラクタ5と格納オブジェクト7との対応づけを設定し、設定済格納オブジェクト8を作成する。
アイテム設定部226は、プレーヤの操作入力に基づいて、格納オブジェクト及び/又は格納オブジェクトに格納されたNPCに所与のアイテムを対応付ける。より具体的には、アイテム設定部226は、サブキャラクタ5へのサブキャラクタ用アイテム21(図7参照)や、格納オブジェクト7への格納オブジェクト用アイテム22(図8参照)の使用設定を行う。
また、準備設定部220は、上述した各機能の他に、プレーヤの操作入力に基づいて、複数のゲーム空間(ゲームステージとも言う)の中から、ゲームプレイに使用するゲーム空間を設定することができる。
飛翔制御部230は、NPCが格納された格納オブジェクトを、プレーヤのアクション操作に基づいて、所与の飛翔終了条件を満たすまで飛翔させる制御を行う。より具体的には、飛翔制御部230は、設定済格納オブジェクト8として組み合わされた格納オブジェクト7とサブキャラクタ5との組み合わせに基づく、飛翔制御設定の変更と、変更された飛翔制御設定に基づく当該設定済格納オブジェクト8の移動制御とを行う。
例えば、飛翔制御部230は、投擲される設定済格納オブジェクト8の飛翔制御設定を変更する。そして、変更後の飛翔設定に基づいて、その時々の投擲に係る諸元(本実施形態で言う所の投擲方向や投擲力など)に基づいて飛翔先とそこへ向かうための飛翔経路とを決定する。これらが、予測飛翔先であり予測軌道を決定する元となる。そして、アクション操作がなされた時点における諸元に基づいて飛翔先・飛翔経路を決定し、設定済格納オブジェクト8を、決定された飛翔経路に沿って飛翔先へ向かうように移動制御する。
予測表示制御部236は、飛翔制御の予測軌道30及び/又は予測飛翔先32を示す予測表示を表示させる制御を行う。予測飛翔先32の表示制御は、サブキャラクタ5が出現した場合に攻撃対象とする敵キャラクタ6の予測表示を兼ねる。
サブキャラクタ出現制御部240は、飛翔終了条件を満たした格納オブジェクトから、当該格納オブジェクトに格納されたNPCを出現させるように制御する。例えば、サブキャラクタ出現制御部240は、サブキャラクタ5の開放・出現制御を行う。
サブキャラクタ自動制御部250は、サブキャラクタ出現制御部240により出現されたNPCを、敵キャラクタに向けて所与の行動を行うように自動制御する。但し、NPCに設定された制限時間が経過するまでの間に限り自動制御することができる。例えば、サブキャラクタ5の自動的な行動制御を行う。
そして、サブキャラクタ自動制御部250は、設定された格納オブジェクトを構成するNPC及び格納オブジェクトに基づいてその自動制御に係る行動制御設定を変更する。例えば、設定済格納オブジェクト8を構成するサブキャラクタ5と格納オブジェクト7とに基づいて行動制御設定を変更する。
より具体的には、サブキャラクタ自動制御部250は、a)格納オブジェクトに格納されたNPC、b)格納されたNPCが複数の場合は、そのNPCの組み合わせ、c)格納オブジェクトとして選択したオブジェクト、d)格納オブジェクトとしたオブジェクトと格納したNPCとの組み合わせ、の少なくとも何れかに基づいて自動制御に係る行動制御設定を変更することができる。
また、サブキャラクタ自動制御部250は、e)プレーヤキャラクタとされたキャラクタ、f)格納オブジェクト及び/又は格納オブジェクトに格納されたNPCにアイテムが対応付けられている場合の当該アイテム、に基づいて行動制御設定を変更することができる。
また、サブキャラクタ自動制御部250は、飛翔された格納オブジェクトが敵キャラクタに接触したか否かに基づいて、自動制御に係る行動制御設定を変更するか否か、又は、変更の程度を決定することもできる。
また、サブキャラクタ自動制御部250は、出現されたNPCの位置と、敵キャラクタの位置との相対位置関係に基づいて、自動制御に係る行動制御設定を変更することができる。
進展制御部260は、格納オブジェクトのパラメータ値を、当該格納オブジェクトの能力向上、強化、レベルアップ等の進展制御によって変更する。また、NPCのパラメータ値を、当該NPCの能力向上、強化、レベルアップ等の進展制御によって変更することができる。
視点切換制御部262は、サブキャラクタ自動制御部250による自動制御中、プレーヤによるゲーム画面の視点を切り換える視点切換操作に基づいて、自動制御されているNPCに基づく視点に切り替えすることができる。例えば、視点切換制御部262は、視点切換操作アイコン15(図13参照)の表示及び当該操作アイコンへの操作に応じたゲーム画面の視点の切換制御を行う。
計時部288sは、システムクロックを利用して現在日時や制限時間等の計時を行う。
音生成部290sは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、サーバシステム1100のシステム管理やゲームプレイに係る操作音やBGMなどの音声データを生成或いはデコードする。そして、システム管理に関する音声信号は音出力部390sへ出力する。
音出力部390sは、音声信号を放音する。図1の例では本体装置1101やタッチパネル1108が備えるスピーカ(不図示)がこれに該当する。
画像生成部292sは、サーバシステム1100のシステム管理に関する画像や、ゲーム画像(又はゲーム画像をユーザ端末1500で表示させるためのデータ)等を生成することができる。そして、システム管理に関する画像は画像表示部392sへ出力することができる。
画像表示部392sは、画像生成部292sから入力される画像信号に基づいてシステム管理のための各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1の例ではタッチパネル1108が該当する。
通信制御部294sは、データ通信に係るデータ処理を実行し、通信部394sを介して外部装置とのデータのやりとりを実現する。
通信部394sは、通信回線9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信装置1153が該当する。
サーバ記憶部500sは、サーバ処理部200sにサーバシステム1100を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、サーバ処理部200sの作業領域として用いられ、サーバ処理部200sが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例では本体装置1101が搭載するICメモリ1152やハードディスクなどの記憶媒体、及びストレージ1140がこれに該当する。
図15は、本実施形態におけるサーバ記憶部500sが記憶するプログラムやデータの例を示す図である。本実施形態におけるサーバ記憶部500sは、サーバプログラム501と、配信用ゲームクライアントプログラム502と、販売管理データ509と、ゲーム空間初期設定データ510と、敵キャラクタ初期設定データ512と、アイテム初期設定データ516と、メインキャラクタ初期設定データ518と、サブキャラクタ初期設定データ520と、格納オブジェクト初期設定データ540と、飛翔制御設定変更パターン定義データ570と、行動制御設定変更パターン定義データ580と、を記憶する。
また、サーバ記憶部500sは、ゲームに係り逐次生成・管理されるデータとして、ユーザ管理データ600と、プレイデータ700と、現在日時800と、を記憶する。サーバ記憶部500sは、その他のプログラムやデータ(例えばタイマや、カウンタ、各種フラグなど)も適宜記憶できる。
サーバプログラム501は、サーバ処理部200sが読み出して実行することで、ユーザ管理部202と、オンラインショッピング管理部204と、ゲーム管理部210としての機能を実現させるためのプログラムである(図14参照)。
配信用ゲームクライアントプログラム502は、ユーザ端末1500へ提供されるゲームクライアントプログラムのオリジナルである。
販売管理データ509は、オンラインショッピングによる販売品を定義・管理するためのデータを格納する。例えば、購入可能なアイテムと、在庫数、その課金対価(本実施形態では決済媒体からの引き落とし額に相当)とを対応づけて格納している。
ゲーム空間初期設定データ510は、ゲーム空間毎に用意され、当該ゲーム空間に係る各種初期設定データを格納する。一つのゲーム空間初期設定データ510は、ゲーム空間ID、マップデータ、マップ内の各位置における地形種類の設定データ、敵キャラクタ出現設定、格納オブジェクト付与条件、サブキャラクタ付与条件、アイテム付与条件、などを含む。
格納オブジェクト付与条件、サブキャラクタ付与条件、アイテム付与条件は、当該ゲーム空間において新たな格納オブジェクトや、新たなサブキャラクタ、新たなアイテムをプレーヤに付与するために満たすべき条件を定義している。
敵キャラクタ初期設定データ512は、敵キャラクタの種類毎に用意され、当該敵キャラクタに係る各種初期設定データを格納する。例えば、一つの敵キャラクタ初期設定データ512は、敵キャラクタ種類と、能力パラメータ値と、行動種類を定義する行動種類データと、を含む。勿論、これら以外のデータも適宜含めることができる。
アイテム初期設定データ516は、アイテム毎に用意され、当該アイテムに係る各種初期設定データを格納する。例えば、一つのアイテム初期設定データ516は、アイテム種類と、作用効果の定義データとを格納する。作用効果の対象は、当該アイテムが格納オブジェクト用アイテム22(図8参照)であれば、主に飛翔制御設定とする。当該飛翔制御設定のうちのどのパラメータを作用効果の対象とするかや、作用効果による値の変更の程度などが定義されたデータとなる。なお、飛翔制御設定のみではなく、行動制御設定を含めることもできる。同様に、当該アイテムがサブキャラクタ用アイテム21(図7参照)であれば、主に行動制御設定とするが、飛翔制御設定を含めることもできる。
メインキャラクタ初期設定データ518は、メインキャラクタ3の種類毎に用意され(図3参照)、当該メインキャラクタに係る各種初期設定データを格納する。例えば、一つのメインキャラクタ初期設定データ518は、キャラクタ種類と、キャラクタの初期能力パラメータ値、などの情報を格納する。勿論、当該キャラクタをゲーム画面中に表示させ、動作させるために必要な各種データ(例えば、キャラクタのモデルデータや、モーションデータ、テクスチャデータ、など)も含まれているものとする。
サブキャラクタ初期設定データ520は、サブキャラクタ5の種類毎に用意され(図3参照)、当該サブキャラクタに係る各種初期設定データを格納する。一つのサブキャラクタ初期設定データ520は、例えば、図16に示すように、サブキャラクタ種類521と、サブキャラクタ属性522と、初期キャラクタ成長レベル523と、初期キャラクタ経験値524と、初期行動制御設定530と、を含む。勿論、当該キャラクタをゲーム画面中に表示させ、動作させるために必要な各種データ(例えば、キャラクタのモデルデータや、モーションデータ、テクスチャデータ、など)も含まれているものとする。
初期行動制御設定530は、例えば、初期能力パラメータ値リスト531、初期移動制限事項532、初期重量相当パラメータ値533、初期行動種類定義データ534、などを含む。勿論、これら以外のデータも適宜含めることができる。
初期行動種類定義データ534は、当該キャラクタの自動制御の初期設定に関するデータであって、初期行動種類535と、初期攻撃内容536と、初期行動制限時間539と、を含む。勿論、これら以外のデータも適宜含めることができる。
初期行動種類535は、当該サブキャラクタが初期設定の状態で行い得る行動の種類、或いは行動パターンを示す。例えば、索敵攻撃、防衛、味方護衛、などが設定される。そして、当該サブキャラクタは設定された行動種類に応じたアルゴリズムに従って自動制御される。
初期攻撃内容536は、初期行動種類535が示す行動に含まれる攻撃においてどのような内容を行うかを定義する。例えば、初期攻撃部位比重537と、初期攻撃種類538と、を含む。勿論、これら以外のデータも適宜含めることができる。
初期攻撃部位比重537は、敵キャラクタ6の部位毎に、当該部位を優先して攻撃対象部位とする割合・比重・重み付けを定義する。当該サブキャラクタは、比重が高ければそれだけ優先的にその部位を攻撃するように自動制御される。
初期攻撃種類538は、攻撃方法の内容を定義する。例えば、当該サブキャラクタにとって標準的な攻撃方法を主に使用する標準攻撃を優先する「標準攻撃優先」、標準攻撃よりも使用回数や使用条件は厳しいがより強力な特別攻撃を優先する「特別攻撃優先」、近距離攻撃優先、遠距離攻撃優先、などを設定することができる。
初期行動制限時間539は、当該サブキャラクタの自動制御に係る制限時間の初期設定を定義する。本実施形態では、当該サブキャラクタが出現後から計時されて行動不能になるまでの時間、つまり可動時間とする。勿論、その他の意味の制限時間とすることもできる。例えば、1行動当たり(例えば、ターン制ゲームであって、1キャラクタが1ターン当たり1行動できるルールであれば1ターン当たりに相当)の可動時間とすることもできる。
図15に戻って、格納オブジェクト初期設定データ540は、格納オブジェクトの種類毎に用意され、当該格納オブジェクトに係る各種初期設定データを格納する。一つの格納オブジェクト初期設定データ540は、例えば図17に示すように、格納オブジェクト種類541と、格納オブジェクト属性542と、初期格納オブジェクトレベル543と、初期格納オブジェクト経験値544と、初期飛翔制御設定550と、を含む。勿論、これら以外のデータも適宜含めることができる。
初期飛翔制御設定550は、初期格納可能上限数553と、初期同時投擲可能数554と、初期開放条件555と、初期飛翔可能距離560と、初期飛翔高度561と、初期飛翔経路種類562と、初期誤差563と、初期バウンド有無設定564と、初期接着有無設定565と、初期重量相当パラメータ値566と、を含む。勿論、これら以外のデータも適宜含めることができる。
図15に戻って、飛翔制御設定変更パターン定義データ570は、飛翔制御設定の変更パターン毎に用意され、当該変更パターンに係る各種定義データを格納する。一つの飛翔制御設定変更パターン定義データ570は、例えば図18に示すように、変更実施要件571と、変更内容データ573と、を含む。
変更実施要件571は、当該変更パターン定義データが選択・適用されるための要件を定義する。本実施形態では、複数の条件のAND又はORで記述される。記述に使われる条件の種類は適宜設定可能である。本実施形態では、ゲーム空間ID条件571aと、プレーヤキャラクタ種類条件571bと、格納オブジェクト種類条件571cと、格納オブジェクト属性条件571dと、格納オブジェクトレベル条件571eと、サブキャラクタ種類条件571fと、サブキャラクタ属性条件571gと、サブキャラクタレベル条件571hと、の一つ又は複数を組み合わせて変更実施要件571を記述する。なお、これらの各条件の設定は「なし」を含み得る。
変更内容データ573は、当該変更パターン定義データが適用された場合に変更される内容毎に用意され、変更対象飛翔制御設定項目と、その変更内容とが対応づけて格納されている。
図15に戻って、行動制御設定変更パターン定義データ580は、行動制御設定の変更パターン毎に用意され、当該変更パターンに係る各種定義データを格納する。一つの行動制御設定変更パターン定義データ580は、例えば図19に示すように、変更実施要件581と、変更内容データ583と、を含む。
変更実施要件581は、当該変更パターン定義データが選択・適用されるための要件を定義する。本実施形態では、複数の条件のAND又はORで記述される。記述に使われる条件の種類は適宜設定可能である。本実施形態では、ゲーム空間ID条件581aと、プレーヤキャラクタ種類条件581bと、格納オブジェクト種類条件581cと、格納オブジェクト属性条件581dと、格納オブジェクトレベル条件581eと、サブキャラクタ種類条件581fと、サブキャラクタ属性条件581gと、サブキャラクタレベル条件581hと、敵キャラクタ接触有無条件581jと、敵キャラクタ相対位置条件581kと、敵キャラクタ種類条件581mと、衝突部位条件581nと、出現地形種類条件581pと、の一つ又は複数を組み合わせて変更実施要件581を記述する。なお、これらの各条件の設定は「なし」を含み得る。
サブキャラクタ種類条件581fは、サブキャラクタ5の種類を単数又は複数設定することができる。単数設定するケースは、格納オブジェクト7に格納されているサブキャラクタ5の数に係わらず該当する場合に、当該変更パターンを適用したい場合に利用できる。複数設定するケースは、格納オブジェクト7に格納されているサブキャラクタ5の組み合わせが該当する場合に、当該変更パターンを適用したい場合に利用できる。
敵キャラクタ接触有無条件581jは、飛翔した設定済格納オブジェクト8が飛翔終了条件を満たすまでに敵キャラクタ6と接触したか否かの履歴の有無に関する条件である。
敵キャラクタ相対位置条件581kは、敵キャラクタ6との相対位置関係に関する条件を定義する。当該条件を記述する相対位置関係は、適宜設定可能であり、単数又は複数の相対位置関係で条件を記述することができる。例えば、出現したサブキャラクタ5を基準として、敵キャラクタ6に接触又は近接攻撃可能な状態である近接、敵キャラクタ6が攻撃可能範囲内、敵キャラクタ6が攻撃可能範囲外、敵キャラクタ6が障害物越し、相対方位範囲、相対距離範囲、などを記述に用いることができる。
敵キャラクタ種類条件581mは、設定済格納オブジェクト8(サブキャラクタ5を格納した格納オブジェクト7)が飛翔して衝突した敵キャラクタ6の種類に関する条件である。
衝突部位条件581nは、設定済格納オブジェクト8が飛翔して衝突した敵キャラクタ6の部位に関する条件である。
出現地形種類条件581pは、設定済格納オブジェクト8が飛翔して衝突した位置、或いは当該サブキャラクタ5が出現した位置の地形の種類に関する条件である。
変更内容データ583は、当該変更パターン定義データが適用された場合に変更される内容毎に用意され、変更対象行動制御設定項目と、その変更内容とが対応づけて格納されている。
よって、変更実施要件581と変更内容データ583とを適切に設定することで、出現後のサブキャラクタ5の行動や能力を様々に変化させることができる。例えば、A種類の敵キャラクタ6に設定済格納オブジェクト8が衝突してサブキャラクタ5が出現した場合と、B種類の敵キャラクタ6に衝突して出現した場合とで、出現するのが同じサブキャラクタ5であっても、出現以降の自動行動制御のパターンや、攻撃能力が異なるようにできる。また、同じ敵キャラクタ6に衝突しても、敵キャラクタ6のどの部位に格納オブジェクト7が衝突したかによって、出現以降の自動行動制御のパターンや、攻撃能力が異なるようにもできる。
そして、変更実施要件581と変更内容データ583とを適切に組み合わせて記述することで、様々な条件で様々に行動制御設定を変更できるようになる。
例えば、次のような行動制御設定とすることができる。
1)変更実施要件581に、「接触あり」の敵キャラクタ接触有無条件581jを含めることで、設定済格納オブジェクト8が敵キャラクタ6に当たった場合に、当該変更パターンを適用できるように、言い換えると自動制御に係る行動制御設定を変更するか否かを設定できる。そして、変更内容データ583の変更内容で、変更の程度を設定することができる。
2)変更内容データ583において、能力パラメータ値(図17の初期能力パラメータ値リスト531に対応)を変更対象行動制御設定項目に設定すれば、変更実施要件581が満たされる場合に、サブキャラクタ5の特定の能力を変更できるようになる。
3)変更内容データ583において、移動制限事項(図17の初期移動制限事項532に対応)を変更対象行動制御設定項目に設定すれば、変更実施要件581が満たされる場合に、移動制限を解除したり増やすことも可能になる。
4)変更内容データ583において、重量相当パラメータ値(図17の初期重量相当パラメータ値533に対応)を変更対象行動制御設定項目に設定すれば、変更実施要件581が満たされる場合に、サブキャラクタ5を軽くして、当該サブキャラクタの設定済格納オブジェクト8の飛翔可能距離を伸長させることもできる。
5)変更内容データ583において、行動種類(図17の初期行動種類定義データ534に対応)を変更対象行動制御設定項目に設定すれば、変更実施要件581が満たされる場合に、サブキャラクタ5の自動行動の内容、特に攻撃行動の内容を変更できる。
勿論、変更実施要件581が含む条件を単独とすることもできる。例えば、格納オブジェクト種類条件581cのみとすれば、特定の格納オブジェクト7を使用する場合には、必ず特定の変更内容が適用されると言った設定も可能となる。
図15に戻って、ユーザ管理データ600は、登録ユーザ毎に用意され、固有の識別情報であるアカウントと紐付けられる各種データを格納する。本実施形態では、例えば図20に示すように、1つのユーザ管理データ600には、固有のユーザアカウント601と、決済媒体帳簿データ602と、プレイ履歴データ603と、ゲームセーブデータ610と、を含む。勿論、これら以外のデータも適宜含めることができる。
決済媒体帳簿データ602は、当該ユーザに紐付けられる電子決済用の決済媒体(例えば、仮想通貨、ゲーム内通貨、特定のアイテム、行動力などの特定のパラメータ値など)の補充/消費の量と、補充/消費の事由と、変更日時と、の情報を対応づけて格納する所謂帳簿である。課金履歴データ或いは課金履歴情報と読み替えることができる。
プレイ履歴データ603は、何時ゲームプレイをしたか、どのようなプレイ成績であったか、などを記述するデータを、プレイした時系列に格納するデータであって、ログイン/ログアウトのタイミングで自動的に更新される。
ゲームセーブデータ610は、前回のゲームプレイ時までのプレイ結果やゲーム進行の状態を記述する各種データを格納する。例えば、所有メインキャラクタセーブデータ612と、所有格納オブジェクトセーブデータ614と、所有サブキャラクタセーブデータ616と、所有アイテムデータ618と、を含む。勿論、これら以外のデータも適宜含めることができる。
図15に戻って、プレイデータ700は、ユーザ端末1500で実行されるゲームプレイ毎に用意され、そのゲーム進行状況を記述する各種データや、各キャラクタ毎の制御データなどゲーム画面の表示等に関する各種情報を格納する。一つのプレイデータ700は、例えば図21に示すように、プレイ開始日時701と、プレーヤとされるユーザのユーザアカウントであるプレーヤアカウント702と、プレーヤのユーザ端末1500にアクセスするためのユーザ端末アクセス情報703と、使用ゲーム空間ID704と、プレーヤキャラクタ制御データ705と、敵キャラクタ制御データ706と、設定済格納オブジェクト管理データ710と、予測表示制御データ740と、出現済サブキャラクタ自動制御データ750と、仮想カメラ制御データ752と、を含む。勿論、これら以外のデータも適宜含めることができる。
プレーヤキャラクタ制御データ705と敵キャラクタ制御データ706は、それぞれプレーヤキャラクタ4や敵キャラクタ6毎に用意され、当該キャラクタのゲーム空間内での最新状態を記述する各種データ(例えば、位置座標や、姿勢、能力パラメータ値、キャラクタモデルのモーション制御データ、など)を格納する。
設定済格納オブジェクト管理データ710は、プレーヤがサブキャラクタと格納オブジェクトとの組み合わせを設定操作する毎に、つまり設定済格納オブジェクト毎に作成され、当該設定済格納オブジェクトに係る各種データが格納される。
一つの設定済格納オブジェクト管理データ710は、例えば図22に示すように、固有の格納オブジェクトID711と、最新飛翔制御設定712と、適用格納オブジェクト用アイテムID714と、格納キャラクタ管理データ720と、投擲ベクトル728と、飛翔先座標730と、飛翔経路データ731と、飛翔速度ベクトル732と、位置座標734と、接触フラグ736と、開放フラグ738と、を含む。勿論、これら以外のデータも適宜含めることができる。
最新飛翔制御設定712に含まれるデータの種類は、初期飛翔制御設定550(図13参照)と同様である。最新飛翔制御設定712には、設定当初、当該格納オブジェクトの初期飛翔制御設定550(図17参照)がコピーされるが、サブキャラクタ5との組み合わせ等に応じて変更される。
適用格納オブジェクト用アイテムID714は、当該格納オブジェクトに対応付けられた格納オブジェクト用アイテム22(例えば、図8参照)のアイテムIDである。
格納キャラクタ管理データ720は、当該設定済格納オブジェクトに組み合わされたサブキャラクタ毎に作成され、当該サブキャラクタに係る各種データを格納する。一つの格納キャラクタ管理データ720は、例えば、格納キャラクタID721と、最新行動制御設定722と、適用サブキャラクタ用アイテムID723と、出現日時724と、を含む。
最新行動制御設定722に含まれるデータの種類は、初期行動制御設定530(図12参照)と同様である。最新行動制御設定722には、設定当初、当該サブキャラクタの初期行動制御設定530(図16参照)がコピーされるが、格納オブジェクト7との組み合わせ等に応じて変更される。
適用サブキャラクタ用アイテムID723は、当該サブキャラクタに対応付けられたサブキャラクタ用アイテム21(例えば、図7参照)のアイテムIDである。
投擲ベクトル728は、当該設定済格納オブジェクト8の投擲の初期条件を格納する。本実施形態では、投擲方向と投擲力とに基づくベクトルである。本実施形態では、投擲方向はプレーヤキャラクタ4の正面方向(投擲方向マーカ12の方向;図4参照)に一致するように逐次更新される。投擲力は所定の初期値に設定されるが、投擲力入力バー14(図4参照)へのタッチ操作すなわち投擲力の入力操作を検出するとタッチされた位置に応じた投擲力に更新される。
飛翔先座標730は、飛翔先となるゲーム空間の位置座標を格納する。但し、当該設定済格納オブジェクト8の飛翔経路種類が、飛翔目標として設定された(ロックオンされた)敵キャラクタ6を追尾するように飛翔する種類に設定されている場合には、当該飛翔目標とされる敵キャラクタ6の位置座標、又はその位置座標が格納されたポインタを格納する。
飛翔経路データ731は、当該設定済格納オブジェクト8が飛翔する経路を示す関数又は通過点の座標値リストである。設定済格納オブジェクト8の投擲開始とともに作成され、当該データの経路に沿って移動制御されることとなる。経路は、物理演算又は擬似物理演算等により求めるとしても良いし、予め定義した擬似放物線等の関数を適用するとしてもよい。
接触フラグ736は、当該管理データの設定済格納オブジェクト8が、敵キャラクタ6と接触したかを示す。飛翔制御開始時の初期値は「0(接触なし)」、敵キャラクタ6と接触すると自動的に「1(接触あり)」に変更される。
開放フラグ738は、当該設定済格納オブジェクト8にサブキャラクタ5を格納している状態が「1」、最新飛翔制御設定712に含まれる開放条件(初期開放条件555(図17参照)がコピーされたまま又は変更されたもの)が満たされ、格納されていたサブキャラクタ5を開放しゲーム空間に出現させると「0」に変更される。
出現済サブキャラクタ自動制御データ750は、設定済格納オブジェクト8からサブキャラクタ5が開放されてゲーム空間に出現すると作成される。当該サブキャラクタの最新状態を記述する各種データ(例えば、位置座標や、姿勢、能力パラメータ値、キャラクタモデルのモーション制御データ、残可動時間(行動制限時間の残り時間)、など)を格納する。
仮想カメラ制御データ752は、仮想カメラ毎に用意され、当該仮想カメラの最新状態を記述する各種パラメータ値を格納する。一つの仮想カメラ制御データ752は、固有の仮想カメラID、当該仮想カメラがどのキャラクタの視点として設定されているかを示す対応キャラクタID、ゲーム空間内における位置座標及び姿勢、画角などのデータを格納する。本実施形態では、プレーヤ視点仮想カメラ41(図13参照)については、ゲーム開始当初より作成されているが、サブキャラクタ5がゲーム空間に出現する毎に、当該サブキャラクタに対応づけられるサブキャラクタ視点仮想カメラ42のデータが作成される。
図23は、本実施形態におけるユーザ端末1500の機能構成の一例を示す機能ブロック図である。本実施形態のユーザ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500とを備える。
操作入力部100は、プレーヤによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、CCDモジュール、などによって実現できる。図2の方向入力キー1502や、ボタンスイッチ1504、タッチパネル1506がこれに該当する。
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバシステム1100から受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末1500の動作を制御する。図2の制御基板1550がこれに該当する。そして、本実施形態における端末処理部200は、ユーザ端末演算部280と、計時部288と、音生成部290と、通信制御部294と、を備える。
ユーザ端末演算部280は、操作信号送信制御部281と、ゲーム画面表示制御部282とを含む。
操作信号送信制御部281は、操作入力部100へなされた操作に応じて、各種データやリクエストをサーバシステム1100へ送信するための処理を実行する。
ゲーム画面表示制御部282は、サーバシステム1100から受信した各種データに基づいてゲーム画面を表示するための制御を行う。本実施形態では、ゲーム空間画像(例えば、3DCG画像など)をサーバシステム1100にて生成する構成とするが、ゲーム空間画像をユーザ端末1500で生成する構成も可能である。その場合、ゲーム画面表示制御部282は、例えば3DCGを生成するための仮想3次元空間に配置されたオブジェクトの制御を含むこととなる。
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム画面表示制御部282による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部390に出力する。
音出力部390は、音生成部290から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図2のスピーカ1510がこれに該当する。
画像表示部392は、ゲーム画面表示制御部282から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、図2のタッチパネル1506がこれに該当する。
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。通信部394は、通信回線9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図2の無線通信モジュール1553がこれに該当する。
端末記憶部500は、端末処理部200にユーザ端末1500を統合的に制御させるための諸機能を実現するためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図2の制御基板1550が搭載するICメモリ1552やメモリカード1540がこれに該当する。
本実施形態の端末記憶部500は、ゲームクライアントプログラム504、を記憶する。勿論、これら以外のプログラムやデータも適宜記憶することができる。
ゲームクライアントプログラム504は、端末処理部200が読み出して実行することによってユーザ端末演算部280としての機能を実現させるためのアプリケーションソフトウェアである。本実施形態では、サーバシステム1100から提供される配信用ゲームクライアントプログラム502(図15参照)のコピーとする。
なお、ゲームクライアントプログラム504は、オンラインゲームを実現する技術手法に応じて専用のクライアントプログラムであっても良いし、ウェブブラウザプログラム及びインタラクティブな画像表示を実現するプラグインなどにより構成するとしても良い。
[動作の説明]
次に、サーバシステム1100における処理の流れについて説明する。ここで説明する処理の流れは、サーバ処理部200sがサーバプログラム501を実行することにより実現される。
図24〜図25は、1ゲームプレイに係るサーバシステム1100における処理の流れについて説明するためのフローチャートである。
サーバシステム1100は、使用するゲーム空間の選択とプレーヤキャラクタ4とするメインキャラクタ3の選択とを受け付ける(ステップS10)。例えば、使用するゲーム空間については、ユーザ端末1500にて、ゲーム空間初期設定データ510で定義されるゲーム空間を選択可能に提示して、何れでプレイするかの選択操作を受け付ける。プレーヤキャラクタ4については、プレーヤが所有するメインキャラクタ3の一覧を選択可能に提示して、選択操作を受け付ける。
次に、サーバシステム1100は、ゲームプレイ開始当初よりプレーヤキャラクタ4に所持させる分の設定済格納オブジェクト8の設定を行う(ステップS12)。
具体的には、所定数の設定済格納オブジェクト8の設定を可能とし、それぞれについて格納設定処理を実行する。
図26は、格納設定処理の流れを説明するためのフローチャートである。
同処理において、サーバシステム1100は、先ず、組み合わせるサブキャラクタ5と格納オブジェクト7との選択を受け付ける(ステップS50)。具体的には、ユーザ端末1500にて、プレーヤが所有するサブキャラクタ5と格納オブジェクト7の中から、それぞれ未使用(設定済格納オブジェクト管理データ710が無いもの:図22参照)を抽出して、選択可能に提示する。この際、選択されている格納オブジェクト7の初期格納可能上限数553(図17参照)が複数の場合には、これを上限として組み合わせるサブキャラクタ5を複数選択受け付けできるものとする。これにより、設定済格納オブジェクト8の1次設定がなされることとなり、プレイデータ700に、新たな設定済格納オブジェクト管理データ710を作成される(図21参照)。
次いで、サーバシステム1100は、サブキャラクタ5と格納オブジェクト7との組み合わせに応じて最新飛翔制御設定712と最新行動制御設定722を初期化する(ステップS52;図22参照)。
具体的には、最新飛翔制御設定712には、選択された格納オブジェクト7の初期飛翔制御設定550(図17参照)がコピーされ、最新行動制御設定722には、選択されたサブキャラクタ5の初期行動制御設定530(図16参照)がコピーされて初期化される。
次に、サーバシステム1100は、飛翔制御設定変更パターン定義データ570(図18参照)と、行動制御設定変更パターン定義データ580(図19参照)とに基づいて、初期化された最新飛翔制御設定712と最新行動制御設定722とを変更する(ステップS54)。
なお、ステップS12において格納設定処理を実行した場合には、設定対象となっている設定済格納オブジェクト8の飛翔に関する初期条件は未設定のままである。よって、行動制御設定変更パターン定義データ580(図19参照)のうち、敵キャラクタ接触有無条件581j、敵キャラクタ相対位置条件581kを含む変更パターンはこの段階では適用されないことになる。
そして、サーバシステム1100は、ユーザ端末1500にて、最新飛翔制御設定712と最新行動制御設定722とがどのように設定されているかをプレーヤに通知する表示を行わせる(ステップS56)。この通知表示を見ることで、プレーヤは今回作成する組み合わせが適当であるかを判断できる。
この通知表示を見て、プレーヤが満足しなければ、アイテムを使用することでこの組み合わせに係るパラメータ値を調節することができる。
すなわち、ユーザ端末1500にて、飛翔制御設定と行動制御設定との何れかを変更する作用効果があるアイテムの使用操作を検出すると(ステップS58のNO→ステップS60のYES)、サーバシステム1100は、使用されたアイテムを使用先(格納オブジェクト7、サブキャラクタ5)に対応づける(ステップS62)。そして、使用されたアイテムの作用効果に基づいて、最新飛翔制御設定712や最新行動制御設定722を変更し(ステップS64)、ステップS56に戻る。もし、サブキャラクタ5と格納オブジェクト7の組み合わせを変更する操作を検出した場合には(ステップS66のYES)、ステップS52に戻る。
そして、ユーザ端末1500にて所定の格納設定完了操作の入力を検出すると(ステップS58のYES)、サーバシステム1100は、格納設定処理を終了する。
図24に戻って、次に、サーバシステム1100は、ゲームプレイの進行制御を開始する(ステップS70)。すなわち、仮想3次元空間に背景オブジェクトを配置してゲーム空間を形成し、プレーヤキャラクタ4と敵キャラクタ6とを配置する。そして、プレーヤキャラクタ4の操作入力に応じてプレーヤキャラクタ4を動作させ、敵キャラクタ6の自動制御を開始する。その他、対戦ゲームの進行制御として基本的に必要とされる制御も適宜開始されるものとする。
ゲームプレイ開始以降、ユーザ端末1500にて所定のサブキャラクタ5や格納オブジェクト7の入手操作(例えば、オンラインショッピングによる購入など)がなされたならば(ステップS72のYES)、サーバシステム1100は格納オブジェクト7の入手処理を実行する(ステップS74)。
また、ゲームプレイ開始以降に、ゲーム進行状況が、使用ゲーム空間ID704が示すゲーム空間における格納オブジェクト付与条件やサブキャラクタ付与条件(図15のゲーム空間初期設定データ510を参照)を満たしたならば(ステップS76のYES)、サーバシステム1100は、満たされた条件に応じて新たなサブキャラクタ5や格納オブジェクト7をプレーヤに付与する(ステップS78)。
この様に、本実施形態によれば、プレーヤはゲームプレイ中でもサブキャラクタ5を使用するための素材を入手できる機会が得られる。サブキャラクタを使用可能な従来の対戦ゲームでは、予め用意したサブキャラクタしかゲームプレイで使用できない。そのため、プレーヤによっては、ゲーム開始早々に自身が想定していた戦略や戦術が的外れでゲームが進められなくなり、あっさりゲームプレイを放棄したりリセットしてしまうことも起こり得た。しかし、本実施形態では、対戦の戦況に応じて次の手を打つ自由度があるので、ゲームプレイ中に形勢逆転をねらう楽しさが生まれる。
さて、ゲームプレイ開始以降に、ユーザ端末にて、所定の格納設定開始操作が入力されたならば(ステップS90のYES)、サーバシステム1100は格納設定処理を実行する(ステップS91)。
そして、ゲームプレイ中に、ユーザ端末1500にて所定の飛翔前操作の入力を検出すると(ステップS92のYES)、サーバシステム1100は、投擲ベクトル728(図22参照)の向きをプレーヤキャラクタ4の正面方向に逐次合わせるように調整する制御を開始する(ステップS93)。
次いで、サーバシステム1100は、ユーザ端末1500にて設定済格納オブジェクトリスト10(図4参照)を表示させて、投擲する設定済格納オブジェクト8の選択操作を受け付ける(ステップS94)。この時、選択された設定済格納オブジェクト8の最新飛翔制御設定712の同時投擲可能数(図17の初期同時投擲可能数554のコピー値又は後に変更された値)が複数の場合は複数の選択を受け付ける。
次いで、サーバシステム1100は、ユーザ端末1500にて投擲力入力バー14(図4参照)を表示させ、当該バーへのタッチ操作に応じた投擲ベクトル728の大きさの逐次調整を開始する(ステップS96)。
図25に移って、サーバシステム1100は、最新の投擲の諸元に応じた飛翔経路と飛翔先との逐次調整を開始する(ステップS98)。具体的には、最新の投擲ベクトル728と、最新行動制御設定722における飛翔経路種類(図17の初期飛翔経路種類562を参照)とに基づいて、飛翔先座標730と飛翔経路データ731とを仮決定する(図22参照)。そして、投擲ベクトル728が更新される毎にそれを繰り返し、飛翔先座標730と飛翔経路データ731とを更新する。
次いで、サーバシステム1100は、最新飛翔制御設定712と最新行動制御設定722(図22参照)との更新を行う(ステップS100)。すなわち、格納設定処理のステップS54に相当するステップを再度ここで行い、行動制御設定変更パターン定義データ580(図19参照)のうち、敵キャラクタ接触有無条件581j、敵キャラクタ相対位置条件581kを含む変更パターンを適用する。
そして、サーバシステム1100は、ゲーム画面内に、予測軌道30・予測飛翔先32・行動制御設定情報予測表示34など各種予測表示を開始する(ステップS102;図6参照)。
予測飛翔先32は、飛翔先座標730を中心に、最新飛翔制御設定712に含まれる初期誤差(図17の初期誤差563のコピー又は変更された値)に応じた範囲を所定のオブジェクトで表現する。
予測軌道30は、プレーヤキャラクタ4から飛翔先座標730を、飛翔経路データ731の示す経路で結ぶオブジェクトを設定して表現する。
行動制御設定情報予測表示34は、最新行動制御設定722(図22参照)の内容を表示する。テキスト表示しても良いし、所定のアイコンで表示するとしてもよい。表示内容の量に応じて、適宜自動スクロールを行うと好適である。
勿論、これらの予測表示は、飛翔先座標730と飛翔経路データ731とが更新される都度に再表示される。
そして、サーバシステム1100は、予測表示を基準とした形式の投擲関連の操作入力の受付を開始する(ステップS104)。
具体的には、投擲方向を修正するためのガイド表示として、表示されている予測飛翔先32や予測軌道30(図4参照)を中心にゲーム画面の上下左右それぞれの方向に沿って目盛りを表示させ、所定の方向変更操作を検出すると、操作された方向に1目盛り分ずつ投擲方向を変更するといったガイド表示をすることができる。
同様に、投擲力入力バー14(図4参照)にも修正用の現在の投擲力の位置を示すマーカと、修正用のガイド表示として強弱それぞれの方向に目盛りを表示させることができる。そして、所定の力変更操作を検出すると、操作された方向に1目盛り分ずつ投擲力を変更する。
ロックオンマーカ19(図7参照)については、現在のロックオンマーカ19の周囲に、他の飛翔目標の候補について、選択候補である旨を示す別のマーカを表示させ、所定の目標変更操作を検出すると、操作された方向でもよりの別のマーカが付された敵キャラクタ6に、飛翔目標候補の設定を切り換えることとしてもよい。
プレーヤ2は、予測飛翔先32や予測軌道30を見て、狙い通りの飛翔先や飛翔経路が予測されていなければ、プレーヤキャラクタ4の正面方向を変えるなどして、投擲方向や投擲力を調整することができる(ステップS110のNO)。そして、予測表示が狙い通りであれば、所定のアクション操作を入力して、選択した設定済格納オブジェクト8をプレーヤキャラクタ4に投擲させる。
サーバシステム1100は、ユーザ端末1500にて所定のアクション操作の入力を検出すると(ステップS110のYES)、ステップS94で選択受け付けした設定済格納オブジェクト8をゲーム空間に出現させ、飛翔表示の制御を開始する(ステップS112)。飛翔制御は、それぞれが飛翔終了条件を満たすまで継続される。本実施形態では、飛翔終了条件は、飛翔している設定済格納オブジェクト8が敵キャラクタ6や他オブジェクトとの接触とする。飛翔制御されている設定済格納オブジェクト8は、逐一、敵キャラクタ6との接触が判定され、接触すると接触フラグ736が「1」に変更される。
なお、ステップS92〜ステップS104において、所定の飛翔キャンセル操作を適宜受付可能とする。
次に、サーバシステム1100は、飛翔終了条件を満たす設定済格納オブジェクト8であって、その開放条件(図17の初期開放条件555に同じ又は変更されたもの)が満たされているものがあれば(ステップS120のYES)、当該設定済格納オブジェクト8に格納されているサブキャラクタ5の最新行動制御設定722を更新する(ステップS122)。
そして、当該設定済格納オブジェクト8に格納されているサブキャラクタ5をゲーム空間に出現させ、当該サブキャラクタ5の最新行動制御設定722に基づいて、当該サブキャラクタの自動制御を開始する(ステップS124)。
これに伴って、自動制御の開始に伴って、サーバシステム1100は、プレイデータ700(図21参照)に、出現済サブキャラクタ自動制御データ750を作成し、自動制御による最新の状況を記述する各種データをここに格納し、逐一更新する。
自動制御が開始されたサブキャラクタ5は、行動制限時間(可動時間)に達するか、出現済のサブキャラクタ5も敵キャラクタ6の攻撃を受けるとダメージを受け、受けたダメージが能力パラメータ値の一つである耐久値に達するまで、行動可能であり自動制御される。なお、行動制限時間(可動時間)に基づく判定に関しては、当該サブキャラクタが出現されるのに伴って格納キャラクタ管理データ720(図22参照)の出現日時724に現在日時800がコピーされ、それ以降、この出現日時724から現在日時800への時間経過・時間差をもとに判定を行うこととする。
また、新たにサブキャラクタ5を出現させるのに伴って、サーバシステム1100は、当該サブキャラクタに対応するサブキャラクタ視点仮想カメラ42(図13参照)を追加設定し、ゲーム画面内に視点切換操作アイコン15を表示させ、視点切換操作の受付を可能にする(ステップS126)。
そして、ゲームプレイ中に、視点切換操作アイコン15(15a,15b)への操作を検出すると(ステップS130のYES)、サーバシステム1100は、視点切換処理を実行する(ステップS132)。すなわち、操作された視点切換操作アイコン15に対応する仮想カメラを視点とするゲーム空間の画像をゲーム画面とするように表示切換を行う。
サーバシステム1100は、ゲーム終了条件が満たされるまで、ステップS72〜S140を繰り返し実行する(ステップS140のNO)。
ゲーム終了条件が満たされれば(ステップS140のYES)、サブキャラクタ5と格納オブジェクト7の進展制御を行う(ステップS142)。具体的には、投擲された設定済格納オブジェクト8のサブキャラクタ5及び格納オブジェクト7に対して経験値を付与し、累積された経験値に応じてサブキャラクタレベルや格納オブジェクトレベルを変更する。なお、進展制御は、サブキャラクタ5と格納オブジェクト7の何れか一方に限っても良い。また、進展の対象は、投擲された設定済格納オブジェクト8であって、且つ開放条件を満たした設定済格納オブジェクト8に限定してもよい。
次に、サーバシステム1100は、プレイ成績に応じてプレーヤにボーナスを付与する(ステップS144)。例えば、メインキャラクタ3や、サブキャラクタ5、格納オブジェクト7、アイテム、の付与としてもよい。また、新しいゲーム空間をプレイ可能に開放などとすることもできる。
そして、サーバシステム1100は、プレイ履歴を更新して(ステップS146)、一連の処理を終了する。
以上、本実施形態によれば、プレーヤが操作するメインキャラクタに味方するNPCであるサブキャラクタを使用する対戦型のビデオゲームにおいて、新しい興趣を追加する技術を提供することができる。
すなわち、プレーヤは、サブキャラクタ5を格納オブジェクト7に格納する操作をすることで設定済格納オブジェクト8を設定して、これをプレーヤキャラクタ4から投擲させるように指示操作する。するとサブキャラクタ5が投擲先で出現するように制御されて、出現したサブキャラクタ5が敵キャラクタ6と交戦するように制御されるという新しいスタイルの対戦ゲームが実現できる。
投擲された設定済格納オブジェクト8の移動制御に関する飛翔制御設定や、設定済格納オブジェクト8から開放・出現されたサブキャラクタ5の自動制御に関する行動制御設定が、サブキャラクタ5と格納オブジェクト7との組み合わせに応じて変更される。よって、プレーヤはどのサブキャラクタ5をどの格納オブジェクト7と組み合わせ、どの場面でどのように使うかといった戦術を思考する楽しさが得られる。
しかも、飛翔制御設定や行動制御設定は、プレーヤキャラクタ4としたメインキャラクタ3や、プレイするゲーム空間の種類、アイテムの使用などによっても変更される。特にサブキャラクタ5については、どのように敵キャラクタ6に対して攻撃するかの内容や能力が様々に変化することになるので、戦術を思考は更に深くなり、飽きの来ないやり込み要素に優れたゲームとなる。
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。本実施形態は、基本的には第1実施形態と同様に実現されるが、ゲーム管理の処理主体がユーザ端末1500である点が異なる。以降では、主に第1実施形態との差異について述べることとし、第1実施形態と同様の構成要素については同じ符号を付与して説明は省略するものとする。
本実施形態のゲームシステム1000は、第1実施形態と同様に実現される。
また、本実施形態のサーバシステム1100の機能構成からは、ゲーム管理部210が省略される。
図27は、本実施形態におけるユーザ端末1500Bの機能構成例を示す機能ブロック図である。本実施形態のユーザ端末1500Bは、ユーザ端末演算部280が省略され、その代わりにゲーム管理部210と、画像生成部292を有する。ユーザ端末1500Bは、ゲーム装置と言うことができる装置である。
画像生成部292は、ゲーム画面を画像表示部392に表示させるためのデータを生成し、画像信号を画像表示部392に出力する。
すなわち、本実施形態ではユーザ端末1500Bは、自身でゲーム管理に関する演算処理を実行して、ゲーム進行を制御し、ゲーム画面の画像を生成し、音声再生を制御する。但し、オンラインショッピングの利用や、登録ユーザとしてのログイン/ログアウト、プレイ履歴の管理などは第1実施形態と同様に行われる。ただし、ユーザ端末1500をスタンドアローンのゲーム機として機能させる場合、つまり対戦ゲームを非オンラインゲームとして実現する場合には、この限りではない。
図28は、本実施形態のユーザ端末1500Bの端末記憶部500に記憶されるプログラムやデータの例を示す図である。本実施形態の端末記憶部500は、ゲームプログラム505を記憶する。ゲームプログラム505は、ゲーム管理部210としての機能を端末処理部200に実現させるためのプログラムである。そのオリジナルは、サーバシステム1100に配信用ゲームプログラムとして記憶させておき、適宜ダウンロードするとしても良い。
また、本実施形態の端末記憶部500は、ゲーム管理部210がユーザ端末1500Bにて処理されるのに伴って、ゲーム空間初期設定データ510、敵キャラクタ初期設定データ512、アイテム初期設定データ516、メインキャラクタ初期設定データ518、サブキャラクタ初期設定データ520、格納オブジェクト初期設定データ540、飛翔制御設定変更パターン定義データ570、行動制御設定変更パターン定義データ580、を記憶する。これらのオリジナルは、本実施形態のサーバシステム1100が記憶しており、必要に応じてダウンロードする構成としてもよい。また、逐次、作成・更新するデータとして、プレイデータ700が記憶される。
本実施形態におけるユーザ端末1500で実行される処理の流れは、第1実施形態におけるサーバシステム1100におけるそれと基本的に同じであり(図24〜図25参照)、ゲーム管理部210をユーザ端末1500Bにて実行するのに合わせて、適宜各ステップの実行主体をユーザ端末1500Bと読み替えれば良い。
ユーザ端末1500Bにてユーザ管理データ600を参照・変更する必要がある処理を実行する場合には、適宜サーバシステム1100へ必要なデータの提供や照合等をリクエストする。或いは、処理そのものをリクエストして対処するものとする。
もし、ユーザ端末1500をスタンドアローンのゲーム機として機能させる場合、つまり対戦ゲームを非オンラインゲームとして実現する場合には、ユーザ管理データ600もユーザ端末1500にて管理する構成では、端末記憶部500にユーザ管理データ600も記憶させればよい。
本実施形態によれば、第1実施形態と同様の作用効果が得られる。
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
[変形例その1]
例えば、上記実施形態では、クライアント・サーバ型のコンピュータシステムにてオンラインゲームを実現する例を挙げたが、ゲーム装置とも言える複数のユーザ端末1500(或いはユーザ端末1500B)をピアツーピア接続したコンピュータシステムにおいて実現するとしてもよい。その場合、何れかのユーザ端末1500に第1実施形態のサーバシステム1100としての機能を担わせる。或いは、複数のユーザ端末1500でゲーム管理部210が有する機能を分担して担う構成としてもよい。
[変形例その2]
また、上記実施形態では、ゲームジャンルを対戦ゲームとしたが、サブキャラクタ5を使用するゲームであれば、本発明を同様に適用できる。
[変形例その3]
また、飛翔制御設定や行動制御設定の変更は、これまで例示したようにプレーヤにとって有利に作用する内容に限らず、不利に作用する内容も設定可能である。
[変形例その4]
また、上記実施形態では、サブキャラクタ5の行動パターンの変更は、行動制御に関する初期パラメータ値を、例えば行動制御設定変更パターン定義データ580(図19参照)に基づいて変更することにより実現されているが、これに限らない。例えば、初期行動種類定義データ534(図16参照)を予め複数パターン用意しておいて、行動制御設定変更パターン定義データ580にて、そのうちの何れのパターンを適用するかを指定することで実現するとしてもよい。
[変形例その5]
ユーザ端末1500,1500Bのハードウェア構成は、上記実施形態に限らない。
例えば、図29に示すような形態のゲーム装置1400をユーザ端末1500Cとして用いるとしてもよい。
ゲーム装置1400は、携行性と使用時の利便性とを考慮してデザインされた、携帯型ゲーム装置或いは家庭用ゲーム装置に分類されるコンピュータである。ゲーム装置1400は、本体装置1401と、少なくとも1つの着脱可能なゲームコントローラ1460(右ゲームコントローラ1460R、左ゲームコントローラ1460L)と、を備える。
本体装置1401は、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1406と、コネクタ1407と、内蔵バッテリー1409と、スピーカ1410と、制御基板1450と、を備える。その他、電源ボタン、音量調節ボタン等が適宜設けられている。
コネクタ1407は、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lに対応して本体装置1401の左右の端部それぞれに設けられている。そして、右ゲームコントローラ1460Rや左ゲームコントローラ1460Lのコネクタと接続されて、ゲームコントローラと本体装置1401との間の通信を実現する。
制御基板1450は、CPU(Central Processing Unit)1451やGPU(Graphics Processing Unit),DSP(Digital Signal Processor)などの各種プロセッサ、VRAMやRAM,ROM等の各種ICメモリ1452、携帯電話基地局や無線LAN基地局、近距離無線器を有する他の装置などと無線通信するための通信モジュール1453、インターフェース回路1457などを搭載する。
インターフェース回路1457には、タッチパネル1406のドライバ回路、コネクタ1407を介して右ゲームコントローラ1460Rや左ゲームコントローラ1460Lと信号を送受信する回路、スピーカ1410へ音声信号を出力する出力アンプ回路、などが含まれている。
制御基板1450に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1450の一部又は全部をASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)、SoC(System on a Chip)にて構成してもよい。
制御基板1450は、プログラムや各種データをICメモリ1452に記憶しており、制御基板1450がそれらに基づいて演算処理することにより、本発明のゲームを実行する各種機能を実装する。
右ゲームコントローラ1460R及び左ゲームコントローラ1460Lは、プレーヤがそれぞれ右手・左手に把持されるようにデザインされている。そして、右ゲームコントローラ1460R及び左ゲームコントローラ1460Lは、それぞれ、ジョイスティック1461と、操作ボタンとなる複数のプッシュスイッチ1462と、振動発生デバイスであるバイブレータ1463と、スピーカ1464と、コネクタ1467と、コントローラ制御基板1470と、内蔵バッテリー(図視略)と、を備える。
コントローラ制御基板1470は、当該ゲームコントローラを制御するプロセッサに相当するコントローラ制御IC1471と、通信モジュール1473と、3軸加速度センサ1475と、3軸ジャイロセンサ1476と、インターフェース回路1477と、を備える。
勿論、これら以外の要素、例えばイメージセンサモジュールなども適宜含めることができる。或いは、一部の要素で他の要素の機能を兼用させることで、当該他の要素を省略することもできる。例えば、3軸加速度センサ1475と3軸ジャイロセンサ1476とを1つのセンサで実現する構成、コントローラ制御IC1471とインターフェース回路1477とを統合した構成、なども可能である。
通信モジュール1473は、本体装置1401の通信モジュール1453との間で、無線通信を実現する。
そして、図30に示すように、右ゲームコントローラ1460Rの3軸加速度センサ1475は、右手系のローカル座標(Xr・Yr・Zr)を構成している。具体的には、右ゲームコントローラ1460Rの正面向かって右方向(図25の右側)がXr軸の正方向、コントローラの長手方向上側(図25の上側)がYr軸の正方向、コントローラの正面法線方向つまりコントローラの正面手前側(図25の手前側)がZr軸の正方向となるように構成されている。
右ゲームコントローラ1460Rの3軸ジャイロセンサ1476は、右手系のローカル座標(Xr・Yr・Zr)を構成しており、右ゲームコントローラ1460Rの3軸加速度センサ1475の各軸回りの角速度を検出できるように構成されている。
そして、右ゲームコントローラ1460Rの左端には、コネクタ1467を塞ぐようにアタッチメント1468が装着可能とされる。右ゲームコントローラ1460Rは、当該コントローラの右側を右手の親指及び母指球に当てて、当該コントローラのアタッチメント1468を人差し指から小指で包むようにして把持される。換言すると、正面側とは反対の背面側を掌側にして片手で握るようにして保持される。
同様にして、左ゲームコントローラ1460Lの3軸加速度センサ1475は、左手系のローカル座標(Xl・Yl・Zl)を構成している。具体的には、左ゲームコントローラ1460Lの正面向かって左方向(図30の左側)がXl軸の正方向、コントローラの長手方向上側(図30の上側)がYl軸の正方向、コントローラの正面法線方向つまりコントローラの正面手前側(図30の手前側)がZl軸の正方向となるように構成されている。
左ゲームコントローラ1460Lの3軸ジャイロセンサ1476は、左手系のローカル座標(Xl・Yl・Zl)を構成しており、左ゲームコントローラ1460Lの3軸加速度センサ1475の各軸回りの角速度を検出できるように構成されている。
そして、左ゲームコントローラ1460Lの左端には、コネクタ1467を塞ぐようにアタッチメント1468が装着可能とされる。左ゲームコントローラ1460Lは、当該コントローラの左側を左手の親指及び母指球に当てて、当該コントローラのアタッチメント1468を人差し指から小指で包むようにして把持される。換言すると、正面側とは反対の背面側を掌側にして片手で握るようにして保持される。
ユーザ端末1500C(ゲーム装置1400)を採用する構成では、上記実施形態における飛翔開始操作を、左ゲームコントローラ1460L又は右ゲームコントローラ1460Rで、腕を振ったと認められる所定の基準値を超える加速度や角速度の検出により実現することができる。また、その時の加速度や角速度の最大値をもって、投擲力入力バー14(図4参照)への投擲力の入力に代替することもできる。