以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
図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、3軸ジャイロ1554、3軸加速度センサ1555、インターフェース回路1557などを搭載する。
インターフェース回路1557には、タッチパネル1506のドライバ回路、方向入力キー1502及びボタンスイッチ1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512で集音した音声の信号を生成する入力信号生成回路、イメージセンサユニット1520で撮影された画像の画像データを入力する回路、メモリカード読取装置1542への信号入出力回路、3軸ジャイロ1554や3軸加速度センサ1555といったセンサからの信号入出力回路、などが含まれている。
制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1550の一部または全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、本実施形態のゲームのプレーヤ端末としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。
なお、本実施形態では、プレーヤ端末1500はクライアントプログラムや各種設定データをサーバシステム1100からダウンロードする構成としているが、別途入手したメモリカード1540などの記憶媒体から読み出す構成としても良い。
[ゲームの説明]
図3は、本実施形態におけるゲーム内容について説明するための図である。
本実施形態におけるゲームは、複数のプレーヤが同時参加し、各々が移動体を操作して競争するゲームである。具体的には、各プレーヤが移動体であるレースカー4(4a,4b,…)を操作して、サーキットを周回させてゴール着順を競う所謂サーキット走行タイプのマルチプレイヤーのレースゲームである。
本実施形態のゲーム画面W3では、当該プレーヤ端末1500を操作するプレーヤのレースカー4(4a)越しにコース前方を斜視するサードパーソン視点を採用しており、プレーヤは、これから向かうべきコース5と、前方を走行する他のレースカー4(4b)とを見ながらプレイする。
プレーヤは、プレーヤ端末1500の長辺方向を左右にして、その両端を左右の手で掴み、プレーヤ端末1500をあたかもハンドルのように左右に回転させるようにして操縦する。ハンドル操作は、無線通信モジュール1553や3軸ジャイロ1554に基づいて決定する。本実施形態では、アクセル操作やブレーキ操作、ギア操作は自動とするが、方向入力キー1502やタッチパネル1506でそれらの手動操作を受け付ける構成としてもよい。
また、プレーヤは、ゲーム開始前にオンラインショッピングでゲームプレイ中に使用可能なアイテムを事前購入し、プレイ中にそれらを使用してレースを有利に進めることができる。アイテムの選択及び使用操作は、方向入力キー1502やタッチパネル1506で受け付けることができる。
また、アイテムについては、プレーヤ自らが事前購入するモノに限らず、コース中に自動的に出現・配置され、走行中に獲得することができる自動配置アイテム3も用意されている。本実施形態では、自動配置アイテム3にレースカー4をぶつけると、当該アイテムを獲得することができるが、当該アイテムをタッチパネル1506の上から、タッチ操作して獲得することができるようにしてもよい。
アイテムの効能としては、レースカー4の能力向上、相手の走行の妨害、などを適宜設定可能である。本実施形態では、外観変化とともに走行能力を1段階高いレベルへ一時的に変更させるバージョンアップアイテムが含まれている。
ゲーム画面W3には、自身の最新の走行順位が表示される順位表示6や、サーキットの何処を走行しているかを示す走行位置表示7、速度表示8などが表示されている。プレーヤは、これらに表示される各種情報を基に、アイテムを駆使しながら仮想的なカーレースを楽しむ。
図4は、本実施形態におけるプレイ成績に大きな差が付くのを抑制し、できるだけ接戦が繰り広げられるように演出する原理について説明するための概念図である。
前提として、黒いレースカー4cを走行順位第1位としてレースが展開されているものとする。図4(1)に示すように、走行順位上位、具体的には少なくとも第1位を含む上位のレースカーが、ゲーム進行状況が所定の「放出条件」を満たしたことが検出されると、当該放出条件を満たしたレースカー(図4の例では黒いレースカー4c)から、放出体10が放出される。放出体10は、プレイ成績に大きな差が付くのを抑制し、できるだけ接戦が繰り広げられるように演出する制御(発動制御)を開始させるキーとなる特別なアイテムであって、放出された後はコース内に配置される。なお、以降では放出体10を放出した移動体を「放出元移動体」と呼称する。
ここで言う「放出条件」は、大きなプレイ成績差が生じた状態や生じつつある状況を記述する内容、換言すると、移動体同士の状況の差が所定条件を満たした状況であることを示す条件である。
本実施形態のゲームは、移動体を使ったレースゲームなので、放出条件を、先行する移動体(先行移動体)とその後を行く移動体(後行移動体)の状況差で記述することができる。
例えば、大きなプレイ成績差が生じた状態を表すのに、タイム差、相対距離、走行距離差、ラップ数、平均速度、などのゲーム進行状況を記述する各種パラメータ値を用いることができる。
また、大きなプレイ成績差が生じつつある状況を表すのには、それらの時間変化量のほか、先行移動体を操作するプレーヤのプレイ技量が高いことやプレイ技量が高いと推測されることを表す「高技量条件」を含めて記述することができる。
ここで言う「高技量条件」は、潜在的に大きなプレイ成績差が生じた状況が起こり得ると推定される内容を含む。具体的には「高難度の操作を行った」「順位が高成績である」「誤操作入力が低い」といったことが該当する。
より具体的には、本実施形態のゲームは、サーキット走行タイプのレースなので、ヘアピンカーブをドリフト走行で抜けた場合は「高難度の操作を行った」とすることができる。或いは“すり抜け走行”なども該当するだろう。プレイ開始からの走行順位の履歴が、所定の上位範囲に維持されている場合や、ゲーム中のファステストラップをより多く記録していたり、他の移動体を追い越した回数が相対的に多ければ、「順位が高成績である」と認めることができる。プレイ開始からのコースアウト回数や他レースカーとの接触回数が所定の基準値に達していなければ「誤操作入力が低い」とすることができる。
その他、高技量条件には、歴代の最高速度や最速ラップを更新した場合を適宜含めることもできる。
勿論、先行移動体や後行移動体の設定はこれに限らず、レースルールや参加人数などに応じて適宜設定可能である。
例えば、本実施形態のように、比較的少数の参加者によるレースの場合であれば、走行順位1位の移動体を先行移動体とみなし、これ以外の全ての移動体を後方移動体と見なすこともできる。また、大規模な人数が参加するマラソン大会のように、上位走者グループ、中盤走者グループ、…といった具合に、複数のランナー(移動体)が団子状態のグループが複数できる場合には、1つのグループを1つの移動体と見なし、当該グループのランナー順位の平均または中央値を、当該グループ(=移動体)のプレイ成績と見なしても良い。
さて、図4(2)に示すように放出された放出体10にレースカー4を接触させると、当該レースカーは当該放出体を獲得することができる。図4(2)の例では、白いレースカー4dが、黒いレースカー4cが放出元の放出体10に接触し、これを獲得している。放出体を獲得した移動体を以降は「獲得移動体」と呼称する。
本実施形態では、放出体10の獲得は、当該放出体に紐付けられている発動制御(懸念される大きなプレイ成績の差が生じている状態や、生じそうな状態を解消に向かわせる制御)の開始と同義とされる。
すなわち、図4(3)に示すように、発動制御として、放出元移動体(図4の例では黒いレースカー4c)に対しては不利益をもたらす不利益制御と、獲得移動体(図4の例では白いレースカー4d)に対して利益をもたらす不利益制御と、が発動される。なお、放出体10の種類によっては、不利益制御と利益制御の何れかのみが発動されるとしてもよい。
ここで言う「不利益制御」は、「プレイ成績を低減する制御」や、「プレイ成績の上昇を抑制する制御」などである。
本実施形態のゲームは、サーキット走行タイプのレースなので、「プレイ成績を低減する制御」としては、少なくともラップタイムを低減させればよく、一時的に速度や加速度の上限値を低下変更すること、換言すると放出移動体の能力を低減させること、がこれに該当する。また、エンジンやブレーキ、タイヤなどの一時的な不調、雨や濃霧による視界不良、動物や障害物のコース前方への侵入、強い逆風の発生、など放出移動体の移動を阻害するアクシデントを発生させることもこれに該当する。得点制のゲームであれば、得点を減ずるなどの直接的な内容でもよい。
「プレイ成績の上昇を抑制する制御」の例としては、先に、ゲームプレイ中に使用可能なアイテムの効能の例として、走行能力を1段階高いレベルへ一時的に変更させるバージョンアップアイテムについて述べたが、この一時的なレベルアップを強制的に中止させる、或いは強制的にレベルダウンさせて、放出移動体のレベルを低減させること、が例示され得る。その他、プレーヤが保有しておりプレイ中に使用可能な特定のアイテム(例えば、一時的にエンジン回転数の限界値を解除するリミッターカットアイテムなど)やレース中に獲得した自動配置アイテム3の没収、発動中のアイテムの効能の低減或いは効果時間の短縮、なども採用することができる。
不利益制御の逆となる「利益制御」は、「プレイ成績を向上する制御」や、「プレイ成績の上昇を可能にする制御」などである。
本実施形態のゲームは、サーキット走行タイプのレースなので、「プレイ成績を向上させる制御」としては、少なくともラップタイムを向上させればよく、一時的に速度や加速度のリミッターを解除することや、コーナリングのグリップ性能を一時的に向上させるなど、換言すると獲得移動体の能力を向上させること、がこれに該当する。また、ジャンプ台の出現とそれを使ったコースのショートカット、エンジンやブレーキ、タイヤなどの一時的な不調の改善、雨や濃霧による視界不良の解除、前方障害物の削減、強い追い風の発生、など、獲得移動体の移動を補助や強化するイベントを発生させることも、これに該当する。得点制のゲームであれば、獲得移動体の得点を加算するなどの直接的な内容でもよい。
「プレイ成績の上昇を可能にする制御」の例としては、獲得移動体を一時的にバージョンアップさせて獲得移動体のレベルを向上させることが挙げられる。その他、ボーナスアイテムの付与、発動中のアイテムの効能の向上や効果時間の延長、なども採用することができる。
そして、不利益・利益の程度は、図5に示すように、獲得移動体の走行順位の数値が大きいほど、より不利益・利益の程度が大きくなるように内容が変更されて実行される。なお、獲得移動体の走行順位に代えて、走行順位第1の移動体と走行順位最下位の移動体のプレイ成績差や、放出元移動体と獲得移動体のプレイ成績差、を採用することもできる。また、不利益・利益の程度の変更は、段階的であってもよいし、有る所で限界になるように設定してもよい。
図6は、放出体の外観特徴について説明するための図である。本実施形態の放出体10の外観は、放出体の種類と、放出元と、の組み合わせに応じて決まる。
具体的には、放出体10は複数種類用意されていて、種類毎に固有の外観特徴を有している。そして、外観特徴の一部は、放出元を判別するのに役立つ放出元移動体固有の特徴を有する。図6の例では、第1種放出体10a(10a(c)~10a(e))は、正多面体であり、ある方向から見ると正六角形を成しており、これが当該種類における共通の外観特徴とされる。同様にして、第2種放出体10b(10b(c)~10b(e))は、ロケットのような形を成している。
一方で、黒いレースカー4cを放出元として放出された放出体には、その種類に係わらず共通して黒色が主な配色カラーに設定されており、白いレースカー4dを放出元として放出される放出体には、その種類に係わらず共通して白色が主な配色カラーに設定されている。以下、同様である。つまりは、プレーヤは、放出された放出体10を見れば、その外観から放出元移動体がどの移動体であるかを容易に知ることができるようになっている。
なお、放出元と対応づけられる外観特徴は、配色に限らない。例えば、放出体10のデザインは種類毎に1つだけ用意されていて、移動体別に固有のマーカやバッジ、吹き出しなどを別途用意し、放出元に応じたマーカやバッジを放出体10に添付表示するとしてもよい。
図7は、本実施形態における放出体の放出制御に係るパラメータ(放出パラメータ)について説明するための図である。本実施形態における放出パラメータには、放出頻度(放出時間間隔とも言える)、1回当たりの放出数、放出された放出体を獲得するための条件である獲得要件の難易度、とが含まれる。そして、これらの放出パラメータの設定値は、放出元移動体と他移動体とのプレイ成績差に応じて変化する。本実施形態のゲームは、サーキット走行タイプのレースなので、例えば、放出元移動体とされる移動体と他移動体とのタイム差が小さいほど、放出頻度と1回当たりの放出数は小さくなり、獲得要件の難易度はより低く設定される。
なお、放出パラメータの種類は、これらの組み合わせに限らない。適宜追加・削除が可能である。また、ここで言う「放出元移動体と他移動体のプレイ成績差」は、「放出元移動体のプレーヤと、他移動体のプレーヤの技量差」に置き換えることもできる。技量差は、ラップタイムは勿論のこと、コースアウトの回数、他移動体との接触回数、スピン回数などから求めるとしても良い。或いは、過去のプレイ成績に応じてプレーヤレベルや、プレーヤ称号などが付与される場合には、それらの差から求めるとしてもよい。
図8は、自身が放出した放出体を獲得した場合の制御について説明するための図である。
本実施形態のゲームは、コースを周回して走行するレースゲームなので、図8(1)に示すように、後続車に獲得されなかった放出体10は、放出元移動体(図示の例では、黒いレースカー4c)がコースを1周回るとその前方に現れることとなる。そして、図8(2)に示すように、放出元移動体が、自身が放出した放出体10を獲得すると、図8(3)に示すように、不利益制御の程度が小さくなるように(緩和されるように)制御内容が変更される。或いは不利益制御が一定時間抑止される。
放出元移動体のプレーヤにしてみれば、自身の移動体が放出した放出体10を積極的に獲得する動機付けとなる。一方で、放出された放出体10は、コース中の何処に留まっているかはその時次第である。理想的な走行ラインから外れた場所に留まっていることの方が多いだろう。
放出元移動体の後続車が放出体10を取り損ねたとしても、放出元移動体のプレーヤが、理想的な走行ラインを外してまで自身が放出した放出体10を獲得しに行けば、その周回のラップタイムが結果的に下がることになり、後続との差は縮まり、接戦が起きやすくなる。
図9は、不利益制御、利益制御が適用中であることをプレーヤに報せる表示例を示す図である。ゲーム画面W9の例で示すように、不利益制御が適用中の放出元移動体(図9の例では、レースカー4b)には、不利益適用報知20が添付表示される。また、利益制御が適用中の獲得移動体(図9の例では、レースカー4a)には、利益適用報知22が添付表示される。なお、不利益制御が適用中の放出元移動体がゲーム画面内には表示されないサーキットの別の場所を走行している場合には、走行位置表示7に、対象となる移動体の走行位置に該当する位置に所定のマーク(図9の例では三角形マーク)を表示するとともに、これに報知バッジ24を添付表示する。
このように、不利益制御や利益制御が適用されていることと、その対象をゲーム画面上で明らかとすることで、プレーヤに順位を上げる好機の到来を報せることができる。よって、ゲームをより盛り上げることができる。
[機能構成の説明]
図10は、本実施形態におけるサーバシステム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と、計時部280sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
ユーザ管理部202は、ユーザ登録手続きに係る処理及びユーザアカウントに紐付けられる各ユーザのデータの管理を行う。本実施形態では、ユーザ管理部202は、1)登録ユーザへの固有のユーザアカウントの付与と、2)ユーザアカウント別に個人情報を登録管理する登録情報管理と、3)課金要素(本実施形態ではオンラインショッピングとプレイ対価など)の支払いで消費される電子決済媒体の帳簿管理と、4)ゲームプレイするためのログイン及びログアウトの履歴等を管理するプレイ履歴管理と、の各機能を有する。勿論、これら以外のアカウントに紐付けられる他のデータの管理機能も適宜含めることができる。
オンラインショッピング管理部204は、オンラインショッピングに関する制御を担い、公知のオンラインショッピング技術を適宜利用して実現できる。本実施形態では、プレーヤは、オンラインショッピングによって、ゲーム内で使用するレースカー4(図3参照)や、ゲーム内で使用するアイテム等を購入することができる。オンラインショッピングにおける販売対象は、これら以外にも適宜設定可能である。
ゲーム管理部210は、ゲームの実行管理に係る各種処理を行う。本実施形態のゲームは、クライアント・サーバ型のオンラインゲームなので、本実施形態のゲーム管理部210は、プレーヤ端末1500と通信を行いながらゲームプレイに必要なデータを提供する制御を行う。そして、本実施形態のゲーム管理部210は、エントリー管理部212と、プレイ成績更新部214と、放出元検出部216と、放出制御部218と、獲得検出部220と、発動制御部222と、を有する。勿論、これら以外の機能部も適宜含むとしてもよい。
エントリー管理部212は、本実施形態のゲームへの参加エントリーの管理を行う。
プレイ成績更新部214は、参加プレーヤ別のプレイ成績を逐一更新・記録する制御を行う。
放出元検出部216は、複数の移動体のうち、所与の放出条件を満たした移動体を検出する。本実施形態では、全ての移動体それぞれについて、複数の放出条件のなかから参照する放出条件を選択し、選択された放出条件が満たされていれば、当該移動体を放出元と見なす。
具体的には、放出元検出部216は、移動体同士の状況の差が所定条件を満たした場合の有利な状況にある移動体を、放出条件を満たした移動体として検出する。本実施形態のゲームは、サーキット走行タイプのレースゲームなので、先行移動体と後行移動体の状況の差(例えば、タイム差或いは距離差)が所定条件を満たした場合の当該先行移動体を、放出条件を満たした移動体として検出することとなる。
また、放出元検出部216は、プレイ技量が高いことを表す高技量条件を放出条件に少なくとも含めて、放出条件を満たした移動体を検出することができる。
放出制御部218は、放出元検出部216により検出された移動体(放出元移動体)から、当該移動体固有の外観特徴を有する放出体を放出させる制御を行う。その際、放出制御部218は、放出元移動体から放出させる放出体の数、及び/又は、放出させる頻度の放出パラメータを制御・変更することできる。放出パラメータは、放出元検出部216が選択した放出条件に関連付けられて設定されているので、これを用いる。
獲得検出部220は、放出体を獲得した移動体(獲得移動体)を検出する。
発動制御部222は、獲得検出部220の検出結果が、獲得された放出体の放出元移動体と異なる場合には、放出元移動体に対して不利益をもたらす不利益制御、及び/又は、獲得移動体に対して利益をもたらす利益制御、を行う。獲得検出部220の検出結果が、獲得された放出体の放出元移動体と同じ場合(獲得移動体が放出元移動体であった場合)には、発動制御部222は、獲得移動体へ適用されている不利益の程度が小さくなるように不利益制御の内容を変更して不利益制御を実行する。又は、獲得以降所定期間(例えば、20秒間であったり、現在のラップが終了するまで、獲得から1ラップ走行する間、など)は新たな不利益制御の実行を抑止するとしてもよい。
計時部280sは、システムクロックを利用して現在日時や制限時間等の計時を行う。
音生成部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がこれに該当する。
図11は、本実施形態におけるサーバ記憶部500sが記憶するプログラムやデータの例を示す図である。本実施形態におけるサーバ記憶部500sは、サーバプログラム503と、配信用プレーヤ端末プログラム505と、販売品管理データ509と、ゲーム初期設定データ510と、を記憶する。また、サーバ記憶部500sは、ゲームに係り逐次生成・管理されるデータとして、ユーザ管理データ600と、プレイデータ700と、現在日時800と、を記憶する。その他、タイマや、カウンタ、各種フラグなどの情報を適宜記憶できる。
サーバプログラム503は、サーバ処理部200sが読み出して実行することで、ユーザ管理部202と、オンラインショッピング管理部204と、ゲーム管理部210としての機能を実現させるためのプログラムである(図10参照)。
配信用プレーヤ端末プログラム505は、プレーヤ端末1500へ提供されるゲームクライアントプログラムのオリジナルである。
販売品管理データ509は、オンラインショッピングによる販売品を定義・管理するためのデータを格納する。例えば、購入可能なアイテムと、在庫数、その課金対価(本実施形態では決済媒体からの引き落とし額に相当)とを対応づけて格納している。本実施形態では、レースカー4や、プレイ中に使用できるアイテム、などが販売品に含まれている。
ゲーム初期設定データ510は、本実施形態のゲームを実行するための各種初期設定データを含んでいる。本実施形態では、コース定義データ512と、移動体定義データ520と、放出体定義データ530と、不利益制御定義データ540と、利益制御定義データ550と、放出条件定義データ560と、を含む。勿論、これら以外のデータも適宜含めることができる。
コース定義データ512は、本実施形態のゲームで使用するコース5(図3参照)並びにその周辺環境を定義する各種データを格納している。自動配置アイテム3の設定データもここに含まれており、どの種類のアイテムがどのタイミングで配置されるかが定義されている。
移動体定義データ520は、本実施形態で使用可能な移動体の種類毎に用意され、当該移動体を定義する各種データを格納している。例えば図12に示すように、1つの移動体定義データ520は、固有の移動体種類521と、レベル別のモデルデータと能力パラメータ値リストのセット(初期レベルモデルデータ522と初期レベル能力パラメータ値リスト523のセット、上位レベルモデルデータ524と上位レベル能力パラメータ値リスト525のセット)と、放出体外観特徴指定データ526と、を含む。
前述のように、本実施形態における移動体であるレースカー4には、外観形態が異なる複数のレベルが用意されており、レベル変化により外観形態とともにその移動能力等の能力がバージョンアップする設定である。
初期レベルモデルデータ522は、当該移動体の初期レベルにおける表示形態を定義する。対応する初期レベル能力パラメータ値リスト523は、初期レベルにおける当該移動体の能力(例えば、加速力、最高速度、最高加速度、減速力、グリップ力、など)の設定値を格納している。
上位レベルモデルデータ524は、当該移動体の上位レベルにおける表示形態を定義する。上位レベル能力パラメータ値リスト525は、上位レベルにおける当該移動体の能力の設定値を格納している。なお、図示の例では上位レベルは1つのみとしているが、複数段階設けるとしてよい。
放出体外観特徴指定データ526は、当該移動体が放出元となって放出される放出体10に与えられる外観特徴を定義するデータが格納されている。例えば、主な配色カラーや、放出体10に添付されるマーカやバッジを表示させるためのデータが含まれる(図6参照)。
図11に戻って、放出体定義データ530は、放出体の種類毎に用意され、当該放出体を定義する各種データを格納する。例えば図13に示すように、1つの放出体定義データ530は、固有の放出体種類531と、当該放出体をゲーム画面に表示させるためのデータである表示モデルデータ532と、放出後移動制御定義データ533と、指定不利益制御種類534と、指定利益制御種類535と、緩和制御定義データ536と、を含む。勿論、これら以外のデータも適宜含めることができる。
放出後移動制御定義データ533は、放出後の当該放出体の動作を制御するデータである。本実施形態では、放出後に最初にコース5と接触した位置に着地・固定される「着地位置で固定」と、放出後の自律移動の移動パターンを定義する「移動パターンデータ」と、これら2つの何れかをその都度ランダムに選択する「ランダム選択」と、の3つの何れかが設定さている。
指定不利益制御種類534は、当該放出体を獲得すると発動される不利益制御の種類を指定する。
指定利益制御種類535は、当該放出体を獲得すると発動される利益制御の種類を指定する。
緩和制御定義データ536は、当該放出体を獲得した獲得移動体が放出元移動体であった場合で、且つ放出元移動体に適用されている不利益制御の程度をどの程度小さくするか、緩和するかを定義するデータが格納されている。例えば、不利益制御の程度を半分まで緩和することを意味する「効果マイナス50%」、不利益制御の適用残時間を半分まで低減することを意味する「適用時間マイナス50%」などといった具合に設定する。
また、当該放出体を獲得した獲得移動体が放出元移動体であるが、不利益制御が適用されていない場合に、次回の不利益制御の適用を抑制する定義データも含まれる。例えば、「20秒間不利益制御の発動を抑制」「次回の不利益制御の発動をキャンセル」といった具合に設定する。
なお、指定不利益制御種類534、指定利益制御種類535、緩和制御定義データ536は、それぞれ「設定なし」を設定することができる。
図11に戻って、不利益制御定義データ540は、不利益制御の内容別に用意されており、不利益制御の内容を定義する各種データを格納している。
1つの不利益制御定義データ540は、例えば図14に示すように、固有の不利益制御種類541と、当該不利益制御の適用対象を指定する不利益適用対象542と、少なくとも1つの不利益実行データ543と、不利益適用報知データ544と、を含む。勿論、これら以外のデータも適宜含めることができる。
不利益適用対象542は、当該不利益制御を適用する移動体を指定する。基本的には放出元移動体の単体に設定されるが、複数の移動体に設定することもできる。例えば、走行順位3位までの移動体と言った具合である。
不利益実行データ543は、不利益制御を実行するための制御パラメータ値を定義する。
図14(1)では、移動体の移動能力を一時的に低下させる内容を不利益制御とする例を示しており、低下させる程度を示す制御パラメータ値を決定するための関数f1や、移動能力の低下を継続する又は終了する条件を決定するための制御パラメータ値を決定するための関数f2を、格納する。
本実施形態では、関数f1や関数f2は変数として、獲得移動体と放出元移動体とのプレイ成績差(例えば走行順位差)を含むように設定されている。勿論、プレイ成績差の例はこれに限らず、獲得移動体と放出元移動体との距離差、タイム差、などを用いることができる。また、ここで言う獲得移動体と放出元移動体とを、自身を先行移動体と見なして後行移動体とのプレイ成績差と読み替えることもできる。その場合、後行移動体は、走行順で次の移動体としても良いし、走行順最下位の移動体としても良い。
また、図14(2)では、視界不良イベントを発生させる内容を不利益制御とする場合の不利益実行データ543の例を示しており、視界不良の程度を示す制御パラメータ値を決定するための関数f3や、イベントを継続する又は終了する条件を決定するための制御パラメータ値を決定するための関数f4を、格納している。なお、関数f3,関数f4は、関数f1や関数f2と同様の変数を用いることができる。
また、図14(3)では、不利益制御の適用対象とされる移動体のレベルを強制的にダウンさせる内容を不利益制御とする場合の不利益実行データ543の例を示している。
不利益適用報知データ544は、不利益適用報知20(図9参照)を表示させるためのデータ、例えばテキストデータや画像データである。
図11に戻って、利益制御定義データ550は、不利益制御や利益制御の内容別に用意されており、利益制御の内容を定義する各種データを格納している。
1つの利益制御定義データ550は、例えば図15に示すように、固有の利益制御種類551と、当該利益制御の適用対象を指定する利益適用対象552と、少なくとも1つの利益実行データ553と、利益適用報知データ554と、を含む。勿論、これら以外のデータも適宜含めることができる。
利益適用対象552は、当該利益制御を適用する移動体を指定する。基本的には獲得移動体の単体に設定されるが、複数の移動体に設定することもできる。例えば、走行順位が下位3位までの移動体と言った具合である。
利益実行データ553は、利益制御を実行するための制御パラメータ値を定義する。
図15(1)では、移動体の移動能力を一時的に向上させる内容を利益制御とする例を示しており、向上させる程度を示す制御パラメータ値を決定するための関数f5や、移動能力の向上を継続する又は終了する条件を決定するための制御パラメータ値を決定するための関数f6を、格納する。
また、図15(2)では、コース5のショートカットイベント(例えば、ジャンプ台が出現してこれを利用すると、コースをショートカットできる。)を発生させる内容を利益制御とする場合の利益実行データ553の例を示している。ショートカットされる距離を決定するための関数f7を、格納している。
また、図15(3)では、利益制御の適用対象とされる移動体のレベルを強制的にバージョンアップさせる(1段階上位レベルにする)内容を利益制御とする場合の利益実行データ553の例を示している。
なお、関数f5~関数f7は、関数f1や関数f2と同様の変数を用いることができる。
図11に戻って、放出条件定義データ560は、放出条件の内容別に用意されている。
1つの放出条件定義データ560は、例えば図16に示すように、当該条件が適用される条件を示す適用条件561と、放出条件562と、指定放出体種類563と、放出数564と、放出方向設定565と、獲得認定要件566と、を含む。勿論、これら以外のデータも適宜含めることができる。
適用条件561は、プレーヤに関する情報、移動体に関する情報、プレーヤの参加状況に関する情報、ゲーム進行状況に関する情報を要素としてAND条件、OR条件として記述することができる。
プレーヤに関する情報としては、プレーヤレベル、プレイ頻度、などを利用することができる。例えば、プレーヤレベル「5」以上の場合に適用される放出条件を用意することもできる。
移動体に関する情報としては、移動体の種類や、移動体の現在のレベル、などを用いる事ができる。
プレーヤの参加状況に関する情報としては、プレーヤ人数、プレーヤレベルの統計値(最大と最小の差、平均、など)を用いることができる。
ゲーム進行状況に関する情報としては、プレイ残時間、残ラップ数、プレイ継続不能と判定された脱落者数、などを用いることができる。
放出条件562は、単数又は複数のプレイ成績やゲーム進行状況を記述するパラメータ値についての条件をAND又はORにより記述できる。例えば、放出頻度に関する放出頻度条件562aと、放出体残条件562bと、高成績条件562cと、高技量条件562dと、高ポテンシャル条件562eとを含めることができる。
放出頻度条件562aには、放出条件562を満たしているか否かの判定対象とされる移動体(判定対象の移動体)の前回放出からの経過時間を設定することができる。つまり、当該条件により、放出体の放出頻度(放出に係る制御パラメータ値:放出パラメータ値の1つ)を規定することになる。
放出体残条件562bには、判定対象の移動体を放出元とする放出体10であって、コース5に未獲得のまま残っている数を設定することができる。
高成績条件562cは、判定対象の移動体のその時点のプレイ成績に関する条件を設定することができる。図示の例では、プレイ成績順位(走行順位)第1位の状態が継続していることを表す内容を複数例示しているが、これらに限らない。そして、高成績条件562cは、これらのAND又はORとして記述される。
高技量条件562dは、判定対象の移動体のプレーヤが、大きなプレイ成績差がついた状況を生み出し得ると認められる条件を設定することができる。図示の例では、高難易度とされる走行技術の実施に着目した条件と、誤操作の頻度に着目した条件の複数を例示しているが、これらに限らない。そして、高技量条件562dはこれらのAND又はORとして記述される。
高ポテンシャル条件562eは、判定対象の移動体のプレーヤが、アイテムの獲得に係り、今後大きなプレイ成績差がついた状況を生み出し得ると認められる条件を設定することができる。図示の例では、他レースカーの走行を妨害するなどの特に状況を有利に変更し得る特定アイテムの保有数に着目した条件と、自動配置アイテム3の獲得数に着目した条件の複数を例示しているが、これらに限らない。例えば、自機の最高速が上がるターボ的なアイテムを保有したこと、後続車に対してオイルをばら撒くアイテムを保有したこと、自機以外の速度がゆっくりになる魔法的なアイテムを保有したこと、コースを外れても減速しないハイグリップ的なアイテムを保有したこと、弾丸を発射して敵を蹴落とすバズーカ的なアイテムを保有したこと、等を条件とすることができる。そして、高ポテンシャル条件562eはこれらのAND又はORとして記述される。
指定放出体種類563は、当該放出条件が満たされた場合に放出される放出体の種類を指定する。
放出数564は、当該放出条件が満たされた場合に放出される放出体の数(放出に係る制御パラメータ値:放出パラメータ値の1つ)を指定する。
放出方向設定565は、当該放出条件が満たされた場合に放出される放出体の放出方向(放出元移動体の進行方向を基準とする相対方向)を指定する。基本的には、後方が設定されるが、放出数564が複数の場合に放出の都度に方向を変える場合には、方向の優先順位を設定することもできる。また、放出可能な方向のなかからランダムに選択する設定も可能である。
獲得認定要件566は、当該放出条件が満たされた場合に放出される放出体を獲得するための要件を指定する。例えば、放出からの有効期限や、接触回数、接触時の速度範囲などを用いてAND又はORで記述することができる。
図11に戻って、ユーザ管理データ600は、登録ユーザ毎に用意され、固有の識別情報であるアカウントと紐付けられる各種データを格納する。1つのユーザ管理データ600には、例えば、固有のユーザアカウント601と、決済媒体帳簿データ602と、プレーヤレベル603と、保有アイテム管理データ610と、を含む。勿論、これら以外のデータも適宜含めることができる。例えば、プレイ履歴データや、ゲームセーブデータなども適宜含めることができる。
プレイデータ700は、実行されるゲームプレイ毎に用意され、参加プレーヤに関する情報や、ゲーム進行状況を記述する各種データ、各移動体等の制御データ、ゲーム画面の表示に関するデータ、などを格納する。
1つのプレイデータ700は、例えば図17に示すように、プレイするコースを示すコース種類701と、参加プレーヤ別に用意されるプレーヤ管理データ710と、自動配置アイテム管理データ740と、プレイ成績管理データ750と、放出体管理データ770と、を含む。勿論、これら以外の情報も適宜含めることができる。
プレーヤ管理データ710は、参加プレーヤ別に用意される。1つのプレーヤ管理データ710は、例えば図18に示すように、プレーヤアカウント711と、固有の移動体ID712と、移動体種類713と、移動体レベル714と、移動体管理データ720と、適用中不利益制御管理データ730と、適用中利益制御管理データ732と、不利益抑制制御データ734と、を含む。勿論、これら以外のデータも適宜含めることができる。
移動体種類713は、プレーヤがゲーム前に選択したレースカー4の種類を示す。
移動体レベル714は、本実施形態ではプレイ開始時点の初期設定は「初期レベル」とされる。
移動体管理データ720は、当該プレーヤが操作する移動体(本実施形態ではレースカー4)の最新状況を記述する各種データを格納する。例えば、ゲーム空間における位置座標721や、姿勢722、移動速度723、加速度724、発動中高難易度動作種類725、を格納する。勿論、これら以外のデータも適宜格納するとしてもよい。
発動中高難易度動作種類725は、難易度が相対的に高いとされる操作入力が実行されて発動している動作の種類を格納する。本実施形態のゲームはサーキット走行タイプのレースゲームなので、例えば「ドリフト」「ジャンプ」「スピンターン」などの種類情報が格納され得る。ゲームジャンルがアクションゲームであれば、発動に難しい操作入力を要求する所謂「スペシャル技」の種類情報がここに格納され得る。
適用中不利益制御管理データ730は、不利益制御の適用が開始される毎に作成され、当該プレーヤの移動体に適用開始された不利益制御を実行・管理するための各種データが格納される。1つの適用中不利益制御管理データ730は、元になった放出体を示す放出体IDと、制御開始日時と、制御パラメータ値リストと、適用限界時間タイマと、を格納する。勿論、これら以外のデータも適宜格納するとしてもよい。制御パラメータ値リストには、例えば、移動体の最高速度を一時的に低減する内容の不利益制御であれば、低減率が格納されることになる。なお、プレイ開始時点では、不利益制御は適用されないので、該当データ無しとなる。また、1台のレースカー4が、複数の放出体10を連続的に獲得した場合には、当該管理データは、獲得したそれぞれの放出体に係り不利益制御が発動される毎に作成されることになる。つまり、複数の不利益制御が同時に適用されることになる。移動体の最高速度の低減率が10%の不利益制御が2つ重なると低減率は20%ということになる。
適用中利益制御管理データ732は、不利益制御の適用が開始される毎に作成され、当該プレーヤの移動体に適用開始される利益制御を実行・管理するための各種データが格納される。1つの適用中利益制御管理データ732は、元になった放出体を示す放出体IDと、制御開始日時と、制御パラメータ値リストと、適用限界時間タイマと、を格納する。勿論、これら以外のデータも適宜格納するとしてもよい。制御パラメータ値リストには、例えば、移動体の最高速度を一時的に向上する内容の利益制御であれば、向上率が格納されることになる。なお、プレイ開始時点では、利益制御は適用されないので、該当データ無しとなる。また、当該管理データは、獲得したそれぞれの放出体に係り利益制御が発動される毎に作成されることになる。つまり、複数の利益制御が同時に適用されることになる。移動体の最高速度の向上率が10%の利益制御が2つ重なると向上率は20%ということになる。
不利益抑制制御データ734は、当該プレーヤの移動体自身が過去に放出した放出体を獲得した場合で、且つ、不利益制御が適用されていない場合に、次回の不利益制御の発動を抑制するための管理データを格納する。例えば、放出体獲得時のラップを含めて2ラップの間、次回の不利益制御の発動を抑制するのであれば、獲得時のラップ数と、有効ラップ数「2」とを格納することとなる。もし、抑制を時限性とする場合には、獲得時から有効期間をカウントダウンするタイマを設定するとしてもよい。
図17に戻って、自動配置アイテム管理データ740は、自動配置アイテム3(図3参照)が配置される都度、アイテム別に用意されて当該アイテムの最新状態を記述する各種データを格納する。例えば、アイテム種類や、配置数、配置位置座標、などを格納することができる。
プレイ成績管理データ750は、各プレーヤのプレイ成績に係る各種データを格納する。
例えば、全体順位履歴データ751と、高成績実績データ752と、移動体別プレイ成績データ760と、を含む。勿論、これら以外のデータも適宜含めることができる。
全体順位履歴データ751は、プレイ開始から終了までの全プレーヤのプレイ成績の順位の履歴を格納する。本実施形態のゲームはサーキット走行タイプのレースゲームなので、ラップ別の走行順位の履歴データ、所謂「ラップチャート」がこれに該当する。
高成績実績データ752は、高成績或いは好成績と見なされるプレイ成績の記録である。1プレイ当たり、1つ又は複数種類用意される。本実施形態のゲームは、サーキット走行タイプのレースゲームなので、ラップ別のファステストトラップと移動体IDとのリストや、セクターベストタイムなどがこれに該当する。
移動体別プレイ成績データ760は、移動体別の最新のプレイ成績を記述する各種データを格納する。1つの移動体別プレイ成績データ760は、移動体ID761と、ラップタイム履歴データ762と、アイテム獲得履歴データ763と、放出体獲得履歴データ764と、誤操作履歴データ765と、を含む。勿論、これら以外のデータも適宜含めることができる。
放出体獲得履歴データ764には、当該移動体で放出体10を獲得すると、当該放出体の識別情報が時系列に格納され、発動された放出体の識別情報は消去される。
誤操作履歴データ765は、誤操作(望ましくないと認められる操作を含む意。)の履歴である。本実施形態のゲームは、サーキット走行タイプのレースゲームなので、例えばコースアウト履歴、他レースカーとの衝突履歴、スピン履歴などがこれに該当する。
放出体管理データ770は、放出体が放出される毎に、放出体別に用意され、当該放出体の最新状態を記述する各種データを格納する。例えば図19に示すように、固有の放出体ID771と、放出元移動体ID772と、放出体種類773と、放出体外観特徴データ774と、適用獲得認定要件775と、放出後移動パターンデータ776と、放出日時780と、現在位置座標781と、姿勢782と、速度783と、加速度784と、獲得認定要件判定用データ785と、獲得日時790と、獲得移動体ID791と、発動制御済みフラグ792と、を含む。勿論、これら以外のデータも適宜含めることができる。
放出元移動体ID772は、当該放出体の放出元とされる移動体の移動体ID712(図18参照)がコピーされる。
放出体種類773は、当該放出体の種類を示す。本実施形態では、放出元移動体ID772が示す移動体が満たした放出条件562に対応する指定放出体種類563(図16参照)がコピーされる。
放出体外観特徴データ774は、当該放出体の放出元とされる移動体を、当該放出体の外観特徴からプレーヤが識別し易くするためのデータである。本実施形態では、移動体種類773の移動体定義データ520の放出体外観特徴指定データ526(図12参照)で設定されている主配色やマーカ、バッジなどデータがコピーされる。
適用獲得認定要件775は、当該放出体を獲得認定するための要件を示す。本実施形態では、放出元移動体ID772が示す移動体が満たした放出条件562に対応する獲得認定要件566(図16参照)がコピーされる。
放出後移動パターンデータ776は、当該放出体の放出後の自律移動・自動移動についての設定を示す。本実施形態では、移動体種類773の移動体定義データ520の放出後移動制御定義データ533(図13参照)がコピーされる。
獲得認定要件判定用データ785は、当該放出体の獲得を認定するために必要なデータである。本実施形態では、移動体を放出体へ接触させることを要件の1つとしているので、当該放出体に衝突した移動体IDのリストとして実現できる。
獲得日時790と獲得移動体ID791は、ともに初期状態は「設定無し」を示す所定値(例えば、NULL)とされ、獲得認定されると現在日時800や獲得移動体の移動体IDが設定される。
発動制御済みフラグ792は、当該放出体が獲得され、指定不利益制御種類534、指定利益制御種類535(図13参照)が指定する不利益制御や利益制御が発動されると、「1」に設定される。
図20は、本実施形態におけるプレーヤ端末1500の機能構成の一例を示す機能ブロック図である。本実施形態のプレーヤ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500とを備える。
操作入力部100は、プレーヤによって為された各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、CCDモジュール、などによって実現できる。図2の方向入力キー1502や、ボタンスイッチ1504、タッチパネル1506、無線通信モジュール1553、3軸ジャイロ1554、がこれに該当する。
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバシステム1100から受信した各種データに基づいて各種の演算処理を実行して、プレーヤ端末1500の動作を制御する。図2の制御基板1550がこれに該当する。そして、本実施形態における端末処理部200は、端末演算部270と、計時部280と、音生成部290と、通信制御部294と、を備える。
端末演算部270は、操作信号送信制御部272と、画面表示制御部274とを含む。
操作信号送信制御部272は、操作入力部100へ為された操作に応じて、各種データやリクエストをサーバシステム1100へ送信するための処理を実行する。
画面表示制御部274は、サーバシステム1100から受信した各種データに基づいてゲーム画面を表示するための制御を行う。本実施形態では、ゲーム空間画像(例えば、3DCG画像など)をサーバシステム1100にて生成する構成とするが、ゲーム空間画像をプレーヤ端末1500で生成する構成も可能である。その場合、画面表示制御部274は、例えば3DCGを生成するための仮想3次元空間に配置されたオブジェクトの制御を含むこととなる。
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、画面表示制御部274による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部390に出力する。
音出力部390は、音生成部290から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図2のスピーカ1510がこれに該当する。
画像表示部392は、画面表示制御部274から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(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と、自機ユーザアカウント580と、サーバシステム1100から受信した各種データの一時記憶である受信済データ群581と、現在日時800と、を記憶する。勿論、これら以外のプログラムやデータも適宜記憶することができる。
プレーヤ端末プログラム504は、端末処理部200が読み出して実行することによって端末演算部270としての機能を実現させるためのソフトウェアである。本実施形態では、サーバシステム1100から提供される配信用プレーヤ端末プログラム505(図11参照)のコピーとする。
なお、プレーヤ端末プログラム504は、オンラインゲームを実現する技術手法に応じた専用のクライアントプログラムであっても良いし、ウェブブラウザプログラム及びインタラクティブな画像表示を実現するプラグインなどにより構成されるとしても良い。
[動作の説明]
次に、サーバシステム1100における処理の流れについて説明する。ここで説明する処理の流れは、サーバ処理部200sがサーバプログラム503を実行することにより実現される。
図21~図22は、本実施形態におけるサーバシステムが1プレイに係り実行する処理の流れを説明するためのフローチャートである。
サーバシステム1100は、先ず参加者受付処理を実行する(ステップS10)。これに伴い、プレイデータ700(図17参照)が作成される。コース種類701は、ランダムに設定してもよいし、参加者間で選択するとしても良い。プレーヤ管理データ710は受付したプレーヤ毎に用意される。自動配置アイテム管理データ740は、コース種類701の示すコースのコース定義データ512(図11参照)に従って、プレイ開始前に配置可能なアイテムについてはこの時点で作成され得る。プレイ成績管理データ750及び放出体管理データ770は未だ作成されない。
ゲームを開始すると(ステップS12)、サーバシステム1100は、ゲームプレイが終了するまで所定周期内(例えば、タッチパネル1506のリフレッシュレートよりも短い周期)で、ステップS14~S92(図22参照)を繰り返し実行する。
具体的には、ゲームが開始されると、サーバシステム1100は、サーキット走行タイプのレースゲームのゲーム進行制御を開始し、プレーヤ端末1500からの操作入力に応じた各プレーヤのレースカー4(移動体)の移動制御と、プレイ成績管理データ750の作成及び逐次更新を開始する(ステップS14)。これに伴い、移動体管理データ720(図18参照)、自動配置アイテム管理データ740及びプレイ成績管理データ750(図17参照)が逐次更新される。
そして、プレイ継続中(本実施形態では、走行可能で未ゴール・非脱落状態の意)の移動体それぞれについて放出元移動体の検出処理並びに検出処理放出制御処理として、ループAを実行する(ステップS20~ステップS40)。
ループAでは、サーバシステム1100は、先ず、処理対象とする移動体に対して適用する放出条件を選択する(ステップS22)。具体的には、複数の放出条件定義データ560(図16参照)のなかから、現在のゲーム進行状況が満たす適用条件561を有する定義データを抽出する。そして、サーバシステム1100は、ループAにおける処理対象とされる移動体(処理対象の移動体)が、選択した放出条件定義データ560の放出条件562を満たしているか判定する(ステップS22)。
放出条件562が満たされている場合(ステップS30のYES)、サーバシステム1100は、処理対象の移動体を放出元移動体として検出し、当該移動体から放出される放出体に関する設定を行う(ステップS32~S36)。設定の結果は、放出体管理データ770(図19参照)として記憶される。
すなわち、放出体種類と、放出数と、放出方向と、獲得認定要件とを、ステップS22で選択された放出条件定義データ560の指定放出体種類563、放出数564、放出方向設定565、獲得認定要件566(図16参照)に従って設定する(ステップS32)。放出方向設定565が決まることで、放出体の放出時における速度783、加速度784が所定の関数で決定される。
次いで、サーバシステム1100は、放出体外観特徴データ774(図19参照)を、処理対象の移動体の移動体定義データ520の放出体外観特徴指定データ526(図12参照)に従って設定し(ステップS34)、放出体定義データ530の放出後移動制御定義データ533(図13参照)に従って、放出後移動パターンデータ776(図19参照)を設定する。
そして、新たに放出させる放出体10の設定が決まったならば、サーバシステム1100は、放出体10の放出表示と、獲得認定要件判定用データ785(図19参照)の更新などの各種管理の制御を開始する(ステップS38)。そして、ループAを終了する(ステップS40)。
プレイ継続中の全ての移動体についてループAを実行したならば、サーバシステム1100は、放出体10の移動制御を行う(ステップS50)。これに伴い、放出体10の現在位置座標781、姿勢782、速度783、加速度784、などの制御パラメータ値が逐次更新される。
次いで、サーバシステム1100は、適用獲得認定要件775にて獲得有効期限が設定されている放出体で、且つ当該期限が切れている放出体を、コース上から消去する(ステップS52)。なお、ステップS52において、放出後から所定の配置限界時間が経過した放出体10を、適用獲得認定要件775の設定に係わらず消去する構成としても良い。
図22に移って、サーバシステム1100は、次に各放出体についてループBを実行する(ステップS60~ステップS80)。
ループBにおいては、先ず獲得検出処理として、ステップS62~ステップS66を実行する。すなわち、サーバシステム1100は、ループBにおける処理対象とされる放出体(処理対象の放出体)への移動体の衝突、又は、ゲーム画面内に表示されている放出体へのタッチ操作がなされたことを検出すると(ステップS62のYES)、処理対象の放出体の適用獲得認定要件775(図19参照)が満たされているかを判定する(ステップS64)。
そして、当該要件が満たされていれば(ステップS64のYES)、サーバシステム1100は、ステップS62で検出した獲得操作の主体となった移動体を「獲得移動体」として検出し、処理対象の放出体が獲得されたと認定する(ステップS66)。これに伴い、処理対象の放出体に係る獲得日時790(図19参照)には現在日時800が設定され、獲得移動体ID791(図19参照)には獲得移動体の識別情報が設定されることになる(図19参照)。また、獲得操作の主体となった移動体の移動体別プレイ成績データ760(図17参照)の放出体獲得履歴データ764に、処理対象の放出体の識別情報を登録する。
次に、サーバシステム1100は、発動処理として、ステップS70~ステップS79を実行する。
すなわち、ステップS62で検出した獲得移動体と、処理対象の放出体の放出元移動体との異同を判定する。もし、両者が異なっていれば(ステップS70のYES)、サーバシステム1100は、獲得移動体と放出元移動体のプレイ成績差に応じて不利益制御や利益制御の内容を決定する(ステップS72)。
具体的には、処理対象の放出体の放出体定義データ530(図13参照)を参照し、その指定不利益制御種類534が示す種類に合致する不利益制御定義データ540の不利益実行データ543(図14参照)に従って、不利益内容を決めるパラメータ値(例えば、異同能力の低下率であったり)と、適用限界のパラメータ値(例えば、適用限界時間であったり)を決定する。決定された内容は、不利益適用対象542(図14参照)が指定する移動体(放出元移動体を含む)の適用中不利益制御管理データ730(図18参照)に格納される。
同様に、指定利益制御種類535が示す種類に合致する利益制御定義データ550の利益実行データ553(図15参照)に従って、利益内容を決めるパラメータ値と、適用限界のパラメータ値などの制御パラメータ値を決定する。決定された内容は、利益適用対象552(図15参照)が指定する移動体(獲得移動体を含む)の適用中利益制御管理データ732(図18参照)に格納される。
そして、不利益制御や利益制御の内容を決定したならば、サーバシステム1100は、それらの適用・実行を開始する(ステップS74)。但し、当該移動体の不利益抑制制御データ734(図18参照)に設定がある場合には、不利益制御については発動がスキップされる、或いは不利益の内容が低減されるなどの抑制が施されるものとする。
そして、ループBを終了する(ステップS80)。
一方、獲得移動体と放出元移動体とが同じ場合で(ステップS70のNO)、且つ、放出元移動体に適用中の不利益制御が有れば(ステップS76のYES)、サーバシステム1100は、これを緩和するように実行中の不利益制御の内容を変更し(ステップS78)、ループBを終了する(ステップS80)。
獲得移動体と放出元移動体とが同じ場合であるが、放出元移動体に適用中の不利益制御が無ければ(ステップS76のNO)、サーバシステム1100は、不利益抑制制御データ734を設定して次回の不利益制御が抑制されるようにして(ステップS79)、ループBを終了する(ステップS80)。
コース上に残存している全ての放出体についてループBを実行したならば、サーバシステム1100は、適用限界に達した不利益制御や利益制御の適用を終了して、適用前の状態に戻す(ステップS90)。
次いで、サーバシステム1100は、ゲーム終了条件を満たすかを判定する(ステップS92)。本実施形態では、プレイ継続中の全移動体がゴールした場合と、所定のプレイ制限時間が経過すると、ゲーム終了条件が満されたと判定して(ステップS92のYES)、成績発表などのゲーム終了処理を実行して(ステップS94)、処理の流れを終了する。
以上、本実施形態によれば、従来のラバーバンド処理とは全く異なる方法で、競争プレイにおいて、プレイ成績に大きな差が付くのを抑制し、できるだけ接戦が繰り広げられるような新たな興趣をもたらす技術を実現できる。
すなわち、プレイ成績に大きな差が付いている状態や当該状態が生じそうになると、成績上位の移動体から放出体が放出される場合がある。この放出体を成績下位の移動体が獲得でれば、成績上位の移動体には不利益をもたらす不利益制御が発動されたり、成績下位の移動体に対して利益をもたらす利益制御が発動される。よって、懸案されるプレイ成績に大きな差が付いている状態や当該状態が生じそうな状況が解消され、接戦が繰り広げられるようになる。但し、不利益制御や利益制御が発動されるかどうかは、放出体が放出されるかどうか、その放出体を獲得できたかどうか、どの移動体が獲得したか、などに従うことになり、従来のラバーバンド処理とは全く異なる興趣をもたらすことができる。
加えて、不利益制御の内容や利益制御の内容については、放出元移動体と獲得移動体とのプレイ成績の差に応じて変化し、更にはゲーム進行状況や、放出元移動体のプレーヤについての情報等に基づいて変化する。また更には、それに伴って、放出される放出体の主対、放出数、放出方向、放出後の放出体の移動パターンが変化する。
こうした工夫により、懸念される状況を適切に解消に向かわせつつ、様々なバリエーションをもって、放出体の獲得とそれに伴う不利益制御や利益制御の発動そのものをゲームの興趣の1つにまで昇華させている。
また、自身が放出した放出体を他者に先んじて自らが獲得することにより、適用されている不利益制御の程度を軽減したり、次回の不利益制御を抑制できるように工夫されているので、競争相手が放出した放出体を獲得することと、自身が放出した放出体を獲得することとの2つの興趣を楽しむことができる。
〔変形例〕
以上、本発明を適用した実施形態の一例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
[その1]
例えば、上記実施形態では、本発明が適用されたコンピュータシステムの例として、クライアント・サーバ型のゲームシステム1000のサーバシステム1100、あるいは、ゲームシステム1000全体の例を挙げたがこれに限らない。複数のプレーヤ端末1500をピアツーピア接続したコンピュータシステムにおいて実現するとしてもよい。その場合、何れかのプレーヤ端末1500に第1実施形態のサーバシステム1100としての機能を担わせる。或いは、複数のプレーヤ端末1500でゲーム管理部210が有する機能を分担して担う構成としてもよい。
或いは、図23に示すゲームシステム1000Bのように、所謂「据置型家庭用ゲーム装置」としてデザインされたコンピュータシステムにて本発明が実現されるとしてもよい。
具体的には、上記実施形態でいうところのサーバシステム1100の本体装置1101を、据置型家庭用ゲーム装置の本体装置1101Bと読み替え、上記実施形態でいうところのプレーヤ端末1500を、据置型家庭用ゲーム装置のゲームコントローラ1500B、1500Cと読み替えることができる。そして、上記実施形態で言うところのタッチパネル1108を据置型家庭用ゲーム装置におけるビデオモニタ1108Bと読み替えることができる。ゲーム画面は、ビデオモニタ1108Bにてプレーヤ別の画面を画面分割して表示させるとしても良いし、ゲームコントローラ1500Cのように、タッチパネル1506を備える構成であれば、個別に表示させるとしても良い。
[その2]
また、上記実施形態では、ゲーム内容をサーキット走行タイプのカーレースゲームとして説明したが、ゲームジャンルや移動体の形態などがこれに限定されるものではない。例えば、同じカーレースでも、非周回タイプのレースゲーム、ラリーをテーマとした競争ゲームとしてよい。移動体をロードバイクとしてロードレースをテーマとしたゲームにも本発明は同様に適用できる。移動体をスキーヤーとすれば、ダウンヒルスキーやクロスカントリースキーをテーマとしてもよいだろう。
更に言えば、本発明が適用可能なゲームジャンルは、“競争”であればよく、“競争”の一形態である上述した“競走”に限らず、他の“競争”でもよい。例えば、図24に示すように、移動体を人型のキャラクタ30(30a,30b,…)として、広大なフィールド32に分散されている獲物34を見つけ出して様々な用具36(36a,36b,…)を駆使して狩りをし、制限時間内の狩りの成果を競うゲームとすることができる。
その他、シューティングゲームや、恋愛シミュレーションゲーム、アクションゲームなど、プレーヤが移動体を操作して“競争”するゲームであれば、本発明は上記実施形態と同様に適用することができる。
[その3]
また、上記実施形態では、放出元移動体や獲得移動体を、単体の移動体として扱ってきたが、グループ対戦形式、チーム対戦形式のマルチプレイゲームの場合は、放出元移動体や獲得移動体をグループ単位、すなわち複数の移動体を対象とする構成も可能である。この場合、不利益制御や利益制御の適用対象もグループ単位としてもよいだろう。或いは、適用対象数を、放出元移動体と獲得移動体とのプレイ成績差(この場合、グループ単位の成績差)や、ゲーム進行状況に応じて変更して、適用対象のグループを構成する移動体のなかから適用対象数だけ選抜して適用するとしてもよい。
[その4]
また、上記実施形態では、1台のレースカー4が、短時間で連続的に複数の放出体10を獲得した場合、不利益制御や利益制御が適用限界時間内であれば、多重で適用される構成としたが、その詳細は上記実施形態の例に限らない。
例えば、複数の不利益制御や利益制御が多重で適用されている場合には、その組み合わせに応じて追加される不利益制御や利益制御を発動させる構成も可能である。その場合、ば、別途、不利益制御種類541(図14参照)の組み合わせ別に、不利益制御定義データ540相当のデータを用意することとする。同様に、別途、利益制御種類551(図15参照)の組合せ別に、利益制御定置データ550相当のデータを用意することとする。そして、ステップS74に次いで、適合する組み合わせの追加される不利益制御や利益制御を検索・実行するステップを追加する。
或いは、単純に、ステップS74に次いで、多重される数だけ、或いはその組み合わせに応じて適用される作用効果を倍加するステップを設ける構成も可能である。
また例えば、既に適用中の不利益制御や利益制御がある場合には、例え新たな放出体10を獲得したとしても、それに係る新たな不利益制御や利益制御は発動させないとしてもよい。具体的には、既に適用中の不利益制御や利益制御がある場合には、ステップS70からステップS79をスキップする構成も可能である(図22参照)。
或いは、放出体10の獲得順に、順番に不利益制御や利益制御を発動させる構成も可能である。すなわち、既に適用中の不利益制御や利益制御がある場合には、発動を待機させ、既に適用中の不利益制御や利益制御が終了すると発動させる構成も可能である。具体的には、既に適用中の不利益制御や利益制御がない場合、ステップS70からステップS79において、処理対象移動体の放出体獲得履歴データ764(図17参照)のうち、登録順が最も古い放出体IDを読み出して、当該放出体の不利益制御や利益制御を発動対象とすればよい。
また、適用する不利益制御や利益制御を、ループBの処理対象移動体のプレーヤが選択できる構成も可能である。具体的には、ステップS74にて、既に適用中の不利益や利益制御と、今回新たに獲得した放出体に係る不利益や利益制御とのうち、何れを適用するかを選択入力する機会を設けると良い。