以下、図面を参照して、本発明の好適な実施形態について説明する。なお、以下説明する実施形態によって本発明が限定されるものではなく、本発明を適用可能な形態が以下の実施形態に限定されるものでもない。また、図面の記載において、同一部分には同一の符号を付す。
[全体構成]
図1は、本実施形態におけるゲームシステム1000の全体構成例を示す図である。図1に示すように、ゲームシステム1000は、コンピュータシステムであるサーバシステム1100と、本実施形態のゲームのユーザ2が所持するユーザ端末1500とを含み、これらがネットワーク9を介して相互にデータ通信可能に接続されて構成される。
ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
サーバシステム1100は、本体装置1101と、キーボード1106と、タッチパネル1108と、ストレージ1140とを備え、本体装置1101は、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等の各種マイクロプロセッサ、VRAMやRAM、ROM等の各種ICメモリ1152、通信装置1153等の電子部品が搭載された制御基板1150を内蔵している。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)やFPGA(field-programmable gate array)、SoC(System on a Chip)により実現するとしてもよい。
このサーバシステム1100は、CPU1151等が所定のプログラムおよびデータに基づいて演算処理することにより、ユーザ登録等に係るユーザ管理機能と、ユーザ端末1500でのゲームに必要なデータを提供してユーザ端末1500でのゲームの実行制御を管理するゲーム管理機能と、を実現する。つまり、本実施形態におけるゲームは、一種のクライアント・サーバ型のオンラインゲームとして実現される。ユーザ2は、自分のユーザ端末1500でサーバシステム1100にアクセスし、発給されたアカウント(ユーザID)によりログインして本実施形態のゲームを楽しむ。
また、サーバシステム1100は、電子決済業者等が運営する外部の電子決済サーバと連携し、ゲーム内通貨であるゲームコインの購入手続き(課金処理)を行う。課金処理に際し、電子決済サーバは、サーバシステム1100からの問合せに応答してゲームコインの購入額をユーザ2のクレジットカードやプリペイドカード等で清算する処理を行う。そして、サーバシステム1100は、電子決済サーバにより清算された購入額相当のゲームコインをユーザ2に付与する。
なお、サーバシステム1100は、図1に示す単体の構成に限らず、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であってもよい。或いは、離れた場所に設置された独立した複数のサーバを、ネットワーク9を介してデータ通信させることで、全体としてサーバシステム1100として機能させる構成であってもよい。
ユーザ端末1500は、マンマシンインターフェースの機能を担うコンピュータシステムであって、携帯電話基地局や無線通信基地局等を介してネットワーク9に接続し、サーバシステム1100とデータ通信を行うことができる。このユーザ端末1500は、例えば、スマートフォン、携帯電話機、携帯型ゲーム装置、据置型家庭用ゲーム装置、据置型家庭用ゲーム装置のコントローラ、業務用ゲーム装置、パソコン、タブレット型コンピュータ、ウェアラブルコンピュータ等の形態を取り得る。
図2は、ユーザ端末1500の一例であるスマートフォンの装置構成例を示す図である。図2に示すように、ユーザ端末1500は、方向入力キー1502と、ホームキー1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、内蔵バッテリー1509と、スピーカ1510と、マイク1512と、制御基板1550と、コンピュータ読み出し可能な記憶媒体であるメモリカード1540に対してデータを読み書きできるメモリカード読取装置1542とを備える。その他、図示しない電源ボタン、音量調節ボタン等が設けられている。
制御基板1550には、CPU1551やGPU、DSP等の各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、ネットワーク9に接続する携帯電話基地局や無線LAN基地局等と無線通信するための無線通信モジュール1553等が搭載されている。また、制御基板1550には、方向入力キー1502やホームキー1504からの信号を受信する回路、タッチパネル1506のドライバ回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512で集音された音声の信号を生成する音声信号生成回路、メモリカード読取装置1542への信号入出力回路といった、いわゆるI/F回路(インターフェース回路)1557等が搭載されている。これら制御基板1550に搭載されている各要素は、それぞれがバス回路等を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。
この制御基板1550においてICメモリ1552には、ゲームクライアントプログラムや、このゲームクライアントプログラムを実行するのに必要な各種設定データ等が格納される。ゲームクライアントプログラム等は、適宜のタイミングでサーバシステム1100からダウンロードされる。なお、別途入手したメモリカード1540等の記憶媒体から読み出す構成としてもよい。そして、CPU1551等がゲームクライアントプログラムを実行して演算処理を実行し、タッチパネル1506や方向入力キー1502、ホームキー1504に対する操作入力に応じてユーザ端末1500の各部を制御する。
[詳細]
本実施形態では、サーバシステム1100は、複数のゲームオブジェクトが登場可能な対戦ゲームを実行し、当該対戦ゲームの対戦結果を各ユーザのユーザ端末1500に提供する制御を行う。以下では、ゲームオブジェクトをアイドルのキャラクタとし、複数のキャラクタがオーディションの合格を目指して競う対戦ゲームを例示する。
具体的には、サーバシステム1100は、対戦ゲームに登場可能な全てのキャラクタ毎にファングループを設定し(グループ設定処理)、各ユーザの所属先のファングループ(以下「所属先グループ」ともいう)を決定する(所属制御処理)。そして、ユーザ毎に、その所属先グループのキャラクタに対する愛情指数を算定する(愛情指数算定処理)。一方で、サーバシステム1100は、キャラクタ同士が対戦する対戦ゲームの実行を制御する(対戦ゲーム制御処理)。そして、対戦ゲームが終了したときには、当該対戦ゲームの対戦結果と、各ユーザの愛情操作とに基づいて、各ユーザに付与する特典を決定する(特典決定処理)。
1.ファングループについて
図3は、ファングループを説明する図であり、対戦ゲームに登場可能なキャラクタA,B,C,・・・と、各キャラクタA,B,C,・・・に設定されているファングループとを示している。また、図4は、キャラクタAのファングループに着目して会員のユーザを示す図である。ファングループは、そのキャラクタを好きなユーザ(ファン)で構成される。本実施形態では、ユーザは、何れか一体のキャラクタのファングループに加入できるものとする。ユーザは、各キャラクタの中から応援したい好きな(お気に入りの)キャラクタを一体選び、そのファングループへの加入申請操作を行う。申請が承認されると、当該ファングループに加入できる。よって、ファングループの中には、図3に示すキャラクタCのファングループのように、ユーザが1人も加入しておらず会員数がゼロのファングループも存在し得る。
また、対戦ゲームに登場可能なキャラクタは、アップデート時等において随時追加される。削除されるキャラクタがいてもよい。よって、あるキャラクタのファングループに加入したものの他のキャラクタを好きになったとか、新たに追加されたキャラクタに目移りしたとか、或いは所属先グループのキャラクタがいなくなった等の理由で、ユーザが所属先グループを変えたいと考える場合も生じ得る。その場合には、ユーザは、退会操作を行って現在の所属先グループから退会した上で、新たに加入したいファングループについて加入申請操作を行う。
そのため、本実施形態のグループ設定処理では、サーバシステム1100は、対戦ゲームに登場するキャラクタ毎に、1以上のユーザが所属可能なファングループを設定する。そして、所属制御処理では、サーバシステム1100は、1人のユーザが所属可能なファングループを最大1つとして、何れかのキャラクタのファングループの中から、各ユーザの所属先グループを決定する。また、サーバシステム1100は、適宜のタイミングで対戦ゲームに登場可能なキャラクタの追加や削除といった変更を行う。
より詳細には、グループ設定処理では、ゲームの初期設定時において、当該初期設定の時点で対戦ゲームに登録可能とされている全てのキャラクタ毎に、ファングループを設定する。また、その後は、対戦ゲームに登場可能なキャラクタの追加があった場合に、追加されたキャラクタのファングループを設定する。
また、所属制御処理では、ユーザ端末1500での加入申請操作を監視する。そして、何れかのユーザ端末1500での加入申請操作を検出した場合に、先ず、当該ユーザ端末1500のユーザについて所属先グループの有無を判定する。そして、所属先グループがある場合には、当該ユーザ端末1500に対して退会画面を表示する制御を行い、退会操作を促す。退会操作がなされたときには、当該ユーザの所属先グループに係る設定を削除する。そうしてユーザが所属先グループから退会した場合や、当初から所属先グループがない場合は承認処理を行い、加入申請操作で指定されたファングループへの当該ユーザの加入の許否を決定する。そして、加入を許可する場合には、当該ユーザを当該ファングループの会員に追加する。
承認処理は、加入申請操作を行ったユーザの加入を無条件で許可する処理でもよいし、予め設定される所定条件を満たした場合に加入を許可する処理としてもよい。例えば、ゲームサイトの運営スタッフが承認操作したことを条件とし、当該条件を満たした場合に加入を許可する処理が挙げられる。そのファングループのグループリーダーが承認操作したことを条件とするのでもよい。
なお、全ての登録可能なキャラクタについてファングループを設定する構成に限らず、一部のキャラクタについてファングループを設定する構成でもよい。例えば、予めキャラクタ毎にファングループの設定の可否を定めておき、設定可とされたキャラクタについてファングループを設定する一方、設定不可とされたキャラクタについてはファングループを設定しない構成としてもよい。
また、所属制御処理は、加入申請操作に応答して承認処理を行う構成に限らず、例えば、ユーザのゲームデータを解析することでおすすめのキャラクタを選出し、選出したキャラクタのファングループを当該ユーザの所属先として決定するのでもよい。その場合の所属先グループの決定は自動的に行ってもよいし、決定の前に当該ユーザの承諾操作を受け付けるようにしてもよい。後者の場合には、先ず、当該ユーザのユーザ端末1500に対し、おすすめキャラクタを提示してそのファングループへの加入を促す確認画面の表示を制御する。そして、確認画面での承諾操作を受け付けたならば、当該ユーザを当該キャラクタのファングループの会員に追加する。
一方で、おすすめキャラクタを選出するために解析するゲームデータには、1)当該ユーザがゲーム内の抽選等で入手したアイテムの種類、2)実行した抽選の種類やその実行回数、3)入手したアイテムを合成素材として使用したり売却する等して手放したのか、それとも手元に残しているのかといった処分の状況、4)対戦ゲームに登場するキャラクタを使用して遊べるミニゲームでのキャラクタの使用状況、5)当該ミニゲームのプレイ結果、6)キャラクタやアイテム等についてのお気に入り設定等のデータ、等が含まれる。当該ユーザが他のゲームにおいて使用しているキャラクタの風貌等の設定データを含めてもよい。
そして、ユーザのそれらゲームデータに基づいて、ゲームに登場するキャラクタの中から当該ユーザの趣味嗜好に合ったキャラクタをおすすめキャラクタとして選出する。例えば、ミニゲームでの使用回数が最も多いキャラクタをおすすめキャラクタとして選出するのでもよいし、お気に入りに設定されたキャラクタをおすすめキャラクタとして選出してもよい。また、特定のキャラクタの関連アイテム(例えばそのキャラクタ向けのファッションアイテム等)を手放さずに収集しているユーザについては、そのキャラクタをおすすめキャラクタとして選出する構成でもよい。また、当該ユーザが他のゲームで使用しているキャラクタの設定をもとに、髪型や目の色等が似たキャラクタをおすすめキャラクタとして選出するのでもよい。
さて、以上のようにして特定のキャラクタのファングループに加入したユーザは、当該ファングループ(所属先グループ)のキャラクタ(つまり、自分が好きで応援しているキャラクタ)に関する愛情操作を繰り返すことで、自分のそのキャラクタに対する愛情指数を高めることができる。基本的には、愛情操作を行えばその分愛情指数の値も増えていく。例えば、図4の例では、愛情指数が最も高い(その値が最大の)ユーザeは、愛情操作をたくさん行っているユーザといえる。一方、愛情指数が最も低いユーザdは、他の会員と比べてあまり愛情操作を行っていないユーザである。
2.愛情操作について
本実施形態では、愛情操作は、コミュニケーション操作と、イベント操作とを含む。
2−1.コミュニケーション操作
本実施形態のゲームでは、ユーザは、所属先グループのキャラクタとの間で仮想的なコミュニケーションをとることができる。コミュニケーション操作は、当該コミュニケーションにあたってユーザが行う操作であり、会話操作と、接触操作と、プレゼント操作とを含む。
先ず、会話操作は、所属先グループのキャラクタとの会話に関する操作である。具体的には、本実施形態のゲームでは、チャットボット等を用いて所属先グループのキャラクタと会話することができる会話メニューが用意されており、その会話画面においてユーザが行ったメッセージの送信操作を、当該ユーザの会話操作として検出する。なお、会話画面でのメッセージの送信操作に限らず、ユーザが所属先グループのキャラクタに対してファンレターを送る等、一方的なメッセージの送信操作を会話操作に含めてもよい。
また、所定のシナリオに沿って所属先グループのキャラクタとの会話が展開される会話シーンを含むゲームイベントを用意し、その会話シーンでのシナリオ選択操作を会話操作に含めてもよい。図5は、その場合の会話シーンの1場面を表示した会話画面例を示す図である。図5に示す会話画面には、あたかもユーザと対面してるようにキャラクタAが表示されるとともに、会話テキスト表示部W1にて会話のセリフの選択肢が表示される。セリフの選択肢には、キャラクタの好意が増加するような好意的な内容の選択肢や、好意が低下する内容の選択肢、それらの中間の選択肢等が適宜含まれる。ユーザが会話テキスト表示部W1において何れかの選択肢のセリフをタッチ操作して選択すると、選択された選択肢に応じて会話が分岐して継続する。そして、本例においては、例えば、当該タッチ操作を1回の会話操作として検出する。
次に、接触操作は、所属先グループのキャラクタとのスキンシップに関する操作である。本実施形態では、ゲーム中にゲームイベントの1つとして開催された握手会イベントにおいてユーザが行った所属先グループのキャラクタとの握手操作を、当該ユーザの接触操作として検出する。なお、その他にも、対戦ゲームに登場するゲームオブジェクトが例えば動物のキャラクタの場合であれば、キャラクタをなでる操作として行ったタッチパネル1506のタッチ操作を接触操作に含めるとしてもよい。
次に、プレゼント操作は、ユーザから所属先グループのキャラクタに対して所与のプレゼントを贈呈する操作である。プレゼントの内容は特に限定されないが、例えば、衣類や小物その他のファッションアイテム、お菓子等の差し入れアイテムといった各種アイテムをプレゼントする構成が挙げられる。
具体的には、ユーザがその時点で所有しているアイテムの中からプレゼントアイテムを選ぶ構成とすることができる。つまり、ユーザが過去にゲームコインや実通貨、ゲーム内ポイント等の消費と引き換えに購入したアイテム、抽選を実行して入手したアイテム、ログイン報酬やゲームイベントの参加報酬等として入手したアイテム等を、所属先グループのキャラクタにプレゼントすることができる。或いは、プレゼントに際して新たにプレゼントアイテムを購入し、所属先グループのキャラクタに買い与える構成でもよい。また、アイテムをプレゼントする操作に限らず、ユーザが所属先グループのキャラクタに対して行った「いいね」の操作や「拍手」の操作を、プレゼント操作として検出するようにしてもよい。
2−2.イベント操作
本実施形態のゲームでは、例えば、握手会イベントや誕生日イベント等の各種ゲームイベントが用意されており、イベント操作は、所属先グループのキャラクタに関するゲームイベントに参加するにあたってユーザが行う操作である。例えば、該当するゲームイベントへの参加操作を、当該ユーザのイベント操作として検出する。所属先グループのキャラクタ以外のキャラクタに関するゲームイベントへの参加操作については、当該ユーザのイベント操作としては検出しない。
なお、ゲームイベントへの参加操作に限らず、当該ゲームイベントで行ったゲーム操作をイベント操作に含めてもよい。例えば、所属先グループのキャラクタに係る設定(出身地や血液型、星座といった当該キャラクタの特性や趣味等の設定)について出題するクイズゲームを行うゲームイベント(クイズイベント)を開催する場合に、当該クイズゲームでの正解の回答操作の各々をイベント操作として検出するとしてもよい。10問中9問正解したのであれば、イベント操作を9回行ったことになる。或いは、当該クイズゲームの正解数が所定数以上の場合に、そのゲームイベントへの参加操作をイベント操作として検出する構成でもよい。その場合は、当該ゲームイベントに参加しても、クイズゲームの正解数が所定数に満たなければ、その参加操作はイベント操作として検出されない。
また、ゲームイベントには、現実世界の所定の場所をユーザが実際に訪れると発生するゲームイベントを含めてもよい。或いは、現実世界の所定の開催場所で開催されるライブイベント等のイベントを含めることもできる。その場合は、ユーザがゲームイベントの開催場所を訪れた場合に、イベント操作があったとして検出するのでもよい。また、当該開催場所の訪問回数を計数し、所定回数を超えた場合にイベント操作があったとして検出するのでもよい。ユーザがゲームイベントの開催場所を訪れたことの検出は、例えば、ユーザ端末1500から随時位置情報を取得することで行える。或いは、ライブイベントへの当該ユーザの参加の有無をその運営側に設置された外部装置から取得し、参加有りの場合にイベント操作があったとして検出する構成でもよい。また、現実世界の所定の開催場所で開催されるクイズイベントをゲームイベントに含める場合であれば、正解数等の当該ユーザのゲーム結果をその運営側に設置された外部装置から取得し、取得したゲーム結果から当該ユーザのイベント操作の回数を検出するとか、イベント操作の有無を検出するのでもよい。
また、愛情操作には、上記したコミュニケーション操作やイベント操作の他にも、所属先グループのキャラクタについてのグッズ、フィギュア、ゲームソフト、CDといった当該キャラクタに関連する商品の購入操作、当該キャラクタの映像やCD音源等の視聴操作を含めてもよい。ゲーム内で関連商品の購入や映像等の視聴を行えるようにしてもよいし、それらのサービスを行う外部サイトから購入等の操作情報を取得するのでもよい。
また、愛情操作には、抽選を実行する操作(抽選操作)を含めてもよい。例えば、抽選の結果所属先グループのキャラクタや当該キャラクタの関連アイテムが払い出された場合に、その抽選操作を愛情操作として検出するとしてもよい。或いは、特定のキャラクタやその関連アイテムのみが払い出されるキャラクタ別の抽選ゲームを用意しておき、ユーザが所属先グループのキャラクタに係る抽選ゲームを実行する操作を行った場合に、当該抽選操作を愛情操作として検出するようにしてもよい。
2.愛情指数について
サーバシステム1100は、各ユーザ端末1500における会話操作、接触操作、プレゼント操作、およびイベント操作を愛情操作として監視する。そして、何れかのユーザ端末1500におけるユーザの愛情操作を検出した場合に、愛情指数算定処理を行う。本実施形態では、当該愛情操作を算出対象操作として算出対象操作に係るポイントを算出し、算出したポイントのユーザ毎の累積値を随時算出・更新することで、愛情指数の算定を行う。
ポイントは、算出対象操作の種類に応じた基準ポイントに係数を乗じて算出する。先ず、基準ポイントは、会話操作、接触操作、プレゼント操作、およびイベント操作の各愛情操作の種類別に予めその初期値を設定しておき、当該初期値を調整することで、愛情操作別の基準ポイントをユーザ毎に設定・更新する(基準ポイントデータ600;図11を参照)。本実施形態では、ユーザ毎に愛情操作の回数をその種類別に計数する。そして、対応する種類の愛情操作の回数が予め設定された所定の閾値を超えるたびに、その基準ポイントに所定値を加算して更新する。
なお、対戦ゲームの終了後にユーザに付与される特典に、愛情操作の種類別の基準ポイントを高く調整すること(例えば全ての愛情操作に係る基準ポイントを1.2倍にするとか、特定の愛情操作に係る基準ポイントを2倍にする等)を内容とするもの(図7の特典データ557の特典内容の設定)を含めるとしてもよい。その場合は、当該特典がユーザに付与されたときに、当該ユーザの該当する基準ポイントを更新する。
一方、基準ポイントに乗じる係数は、算出対象操作を行ったユーザを算出対象ユーザとし、算出対象ユーザのファングループの所属履歴や、現在の所属先グループのキャラクタの対戦ゲームでの対戦成績等を用いて、ポイント算出のたびに設定する。
具体的には、本実施形態では、算出対象ユーザの所属先グループの所属時間長に基づく第1係数K1と、算出対象ユーザが過去に所属したファングループの数に基づく第2係数K2と、当該過去に所属したファングループのキャラクタに対する算出対象ユーザの愛情指数に基づく第3係数K3と、算出対象操作の時点で実行済みの直近の対戦ゲームでの対戦結果に基づく第4係数K4とを設定する。そして、次式(1)に従って基準ポイントPbに各係数K1,K2,K3,K4を乗じ、算出対象操作のポイントPを算出する。
P=Pb×K1×K2×K3×K4 ・・・(1)
先ず、第1係数K1は、所属時間長の長短に基づき設定する。例えば、所属時間長が長くなるにつれて第1係数K1の値が段階的に大きくなるように、各々の対応関係をテーブル化して設定しておく(第1係数設定テーブル571;図11を参照)。そして、算出対象ユーザが所属先グループに所属した所属時間長(図12の現所属時間長524)をもとに、第1係数設定テーブル571から対応する第1係数K1の値を読み出して設定する。なお、所属時間長と第1係数K1との関係式を設定しておき、当該関係式に従って現所属時間長524から第1係数K1を求めて設定するのでもよい。
次に、第2係数K2は、算出対象ユーザが過去に所属したファングループの数(つまり、所属先グループを変えた回数;以下「所属変更回数」ともいう)に基づいて設定する。具体的には、先ず、算出対象ユーザについてのファングループ所属履歴530(図11を参照)を読み出して所属変更回数を計数する。算出対象ユーザが算出対象操作の時点までに所属先グループを退会した回数を所属変更回数として用いるのでもよいし、現在と同じ所属先グループの退会については計数対象とせずに他のファングループの退会のみを計数対象とし、所属変更回数とするのでもよい。
また、その他にも、退会時におけるキャラクタの対戦成績を用いて、当該退会を計数対象とするか否かの判定をしてもよい。具体的には先ず、対戦結果データ627(図14を参照)を読み出し、当該退会以前に実行された対戦ゲームの対戦結果から各キャラクタの勝率(オーディションの合格率)を求める。そして、当該退会に係るファングループのキャラクタと、退会後に加入したファングループのキャラクタとで勝率を比較し、後者の勝率が低い場合、つまり、対戦成績の良いキャラクタのファングループから悪いキャラクタのファングループへと移った場合は計数対象としない等としてもよい。
そして、例えば、所属変更回数が多くなるにつれて第2係数K2の値が段階的に小さくなるように各々の対応関係をテーブル化して設定しておき(第2係数設定テーブル573;図11を参照)、算出対象ユーザの所属変更回数をもとに、第2係数設定テーブル573から対応する第2係数K2の値を読み出して設定する。なお、所属変更回数と第2係数K2との関係式を設定しておき、当該関係式に従って所属変更回数から第2係数K2を求めて設定するのでもよい。
次に、第3係数K3の算出にあたっては、算出対象ユーザが過去に別のファングループに所属していたときのそのキャラクタに対する愛情指数(当該ファングループを退会した時点での最終愛情指数535;図12を参照)の値を、算出対象ユーザについてのファングループ所属履歴530から読み出す。1つ前に所属していたファングループに係る最終愛情指数535の値を用いるのでもよいし、過去に所属したファングループが複数あるのであれば、各々の最終愛情指数535の平均値やそのうちの最大値を用いるとしてもよい。
そして、第3係数K3は、算出対象ユーザの算出対象操作の時点での所属先グループのキャラクタに対する愛情指数が、読み出した最終愛情指数535を超えるか否かに基づいて設定する。例えば、超える場合と、超えない場合と、過去に他のファングループへの所属歴がない場合と、について異なる第3係数K3の値を設定しておく(第3係数設定テーブル575;図11を参照)。超える場合の第3係数K3と、超えない場合の第3係数K3とは何れも1未満の正の小数値とし、前者の方が後者よりも大きい値として設定しておくとよい。一方、他のファングループへの所属歴がない場合の第3係数K3については、1以上の値を設定しておく。
次に、第4係数K4の算出にあたっては、先ず、対戦結果データ627を参照して、算出対象操作以前に実行済みであって、算出対象ユーザの所属先グループのキャラクタが登場した対戦ゲームのうちの、当該キャラクタが敗者となった(オーディションに不合格となった)直近の対戦ゲームを特定する。続いて、特定した対戦ゲームの実行終了時点を愛情操作タイミング基準として用いて、算出対象操作のタイミングを評価する。具体的には、算出対象操作のタイミングと愛情操作タイミング基準との時間差を求め、求めた時間差が所定の時間差を超えているか否かの評価を行う。
そして、第4係数K4は、その評価結果(所定の時間差を超えているか否か)に基づいて設定する。例えば、超える場合と、超えない場合と、について異なる第4係数K4の値を設定しておく(第4係数設定テーブル577;図11を参照)。超える場合の第4係数K4の値を例えば1とし、超えない場合の第4係数K4については1より大きい値を設定しておく。
以上のように愛情指数を算定する愛情指数算定処理によれば、ユーザの愛情操作に基づいて、その所属先グループのキャラクタに対する当該ユーザの愛情指数を算定することができる。具体的には、愛情操作のたびに当該愛情操作に係るポイントを算出し、ユーザ毎に累積値を算出・更新していくことで各ユーザの愛情指数を算定できる。
またその際に、算出対象操作の種類に応じた基準ポイントに第1係数K1を乗じてポイントを算出するため、算出対象ユーザが所属先グループに所属した所属時間長を愛情指数に反映させることができる。具体的には、同じファングループに長く所属していると、1回の愛情操作で愛情指数に加算されるポイントが大きくなる。よって、所属時間長が第1の所属時間長の場合よりも、当該第1の所属時間長より長い第2の所属時間長の場合の方が、愛情指数が高く(その値が大きく)算定されることとなる。
また、算出対象操作の種類に応じた基準ポイントに第2係数K2を乗じてポイントを算出するため、算出対象ユーザの所属変更回数を愛情指数に反映させることができる。具体的には、何度も所属先グループを変更しており好きなキャラクタが頻繁に変わる(目移りし易い)ユーザの場合は、1回の愛情操作で愛情指数に加算されるポイントが小さくなる。よって、所属変更回数が第1の回数の場合よりも、第1の回数より多い第2の回数の場合の方が、愛情指数が低く算定されることとなる。
また、算出対象操作の種類に応じた基準ポイントに第3係数K3を乗じてポイントを算出するため、ファングループを変えた後の愛情操作の状況を愛情指数に反映させることができる。すなわち、基本的には、算出対象ユーザが他のファングループへの所属歴のあるユーザの場合は、ポイントを減点する。ただし、他のファングループへの所属歴のあるユーザであっても、当該他のファングループのキャラクタに対する愛情指数を超える程度まで現在の所属グループのキャラクタに関する愛情操作を行っている場合は、行っていない場合と比べてポイントの減点を少なく抑えることができる。
また、算出対象操作の種類に応じた基準ポイントに第4係数K4を乗じてポイントを算出するため、所属先グループのキャラクタが負けた対戦ゲームの直後に愛情操作を行ったかどうかを、愛情指数に反映させることができる。本例では、そのような愛情操作を負けて落ち込んでいるキャラクタを励ます操作とみなして、ポイントを加点することができる。
なお、第4係数設定テーブル577における第4係数K4の設定を上記と逆にして、愛情操作タイミング基準との時間差が所定の時間差を超えない愛情操作があった場合にポイントを減点する構成としてもよい。或いは、所属先グループのキャラクタが勝者となった直近の対戦ゲームの実行終了時点を愛情操作タイミング基準とし、同様の要領で算出対象操作のタイミングを評価することで第4係数K4を設定してもよい。その場合は、所属先グループのキャラクタが勝った対戦ゲームの直後に愛情操作を行ったかどうかを、愛情指数に反映させることができる。すなわち、そのような愛情操作を対戦ゲームの勝利をキャラクタと一緒に喜ぶ操作と捉えて、ポイントを加算できる。
また、愛情操作に関連商品の購入操作を含める場合において、算出対象操作が購入操作である場合に、今回のポイント算出で用いる基準ポイントを適宜調整する構成としてもよい。例えば先ず、算出対象ユーザが当該購入操作で購入した関連商品の購入額に基づいて、加点数を設定する。購入額が高い場合の加点数を、低い場合の加点数と比べて大きく設定するとよい。そして、基準ポイントに設定した加点数を加算した上でポイントを算出する。
また、愛情操作にキャラクタの映像等の視聴操作を含める場合において、算出対象操作が視聴操作である場合に、今回のポイント算出で用いる基準ポイントを適宜調整する構成としてもよい。例えば先ず、算出対象ユーザが当該視聴操作を行って視聴した映像等の視聴時間をもとに、加点数を設定する。視聴時間が長い場合の加点数を、低い場合の加点数と比べて大きく設定するとよい。そして、基準ポイントに設定した加点数を加算した上でポイントを算出する。
また、算出対象操作が会話操作の場合に、その内容が好意的な内容のものなのか、好意が低下する内容のものなのかに応じて、今回のポイント算出で用いる基準ポイントを適宜調整する構成としてもよい。例えば、図5に例示した会話シーンでの選択肢(セリフ)のタッチ操作があった場合に、選んだセリフが好意的な内容の選択肢であれば基準ポイントを加点する一方、好意が低下する内容の選択肢の場合には基準ポイントを減点する等としてもよい。
また、愛情操作が抽選操作の場合は、抽選操作の回数に応じて基準ポイントを適宜調整する構成としてもよい。その場合は、ユーザ毎に抽選操作の回数(抽選実行回数;抽選を実行した累積回数)を計数しておく。上記したキャラクタ別の抽選ゲームを用意する場合には、所属先グループのキャラクタに係る抽選ゲームの実行回数を抽選実行回数としてユーザ毎に計数しておく。そして、算出対象操作が抽選操作の場合は、算出対象ユーザの抽選実行回数をもとに加点数を設定する。抽選実行回数が多い場合の加点数を、少ない場合の加点数と比べて大きく設定するとよい。そして、基準ポイントに設定した加点数を加算した上でポイントを算出する。
また、ここでは、愛情操作が繰り返されるとその分愛情指数を高く算定する例を説明したが、愛情操作の頻度に基づいて、愛情指数を可変に算定する構成としてもよい。愛情操作の頻度が高いほど愛情指数が高く算定されるようにするとよい。
或いは、愛情操作の回数と頻度の両方に基づいて、愛情指数を可変に算定するとしてもよい。例えば、上記の要領で愛情操作を検出するたびにポイントを算出し、当該愛情操作を行ったユーザ毎に累積することで、愛情指数を算定する。加えて、前回の愛情操作から次の愛情操作がないまま経過した無操作時間をユーザ毎に計時する。そして、無操作時間が所定の閾値を超えるたびに、該当するユーザの愛情指数から所定値を減算する。これによれば、愛情操作を行わないユーザの愛情指数を、その無操作時間に応じて漸次減少させることができる。
また、愛情指数は、上記式(1)に従って算定する構成に限らず、愛情操作の回数を愛情指数の値としたり、愛情操作の頻度を愛情指数の値とする構成でもよい。
3.対戦ゲームと特典について
本実施形態の対戦ゲームは、歌やダンス、演技等の実技や特技の審査によって選考が行われるオーディションの合格を目指し、各キャラクタが競い合う対戦ゲームである。図6は、ゲーム画面の一例を示す図である。図6に示すように、対戦ゲームのゲーム画面には、各キャラクタが順番に歌等を披露する映像や、選考過程での質疑応答の様子等が表示される。最終的にオーディションに合格したキャラクタが、当該対戦ゲームの勝者となる。
より詳細には、本実施形態では、各キャラクタには、歌唱力やダンスの上手さ、演技力、可愛らしさ、特技の内容等の各種能力パラメータ値が予め設定されている。そして、対戦ゲーム制御処理では、サーバシステム1100は、対戦する各キャラクタ(当該対戦ゲームにおいてオーディションを受ける各キャラクタ)の能力パラメータ値を用い、自動制御によってオーディションを進行させて、対戦ゲームを実行する。すなわち、対戦ゲーム制御処理では、当該対戦ゲームに登場するキャラクタのファングループに所属するユーザの数(会員数)といった当該ファングループへのユーザの所属状況や、当該ユーザの当該キャラクタに関する愛情操作の状況、或いは当該キャラクタに対する愛情指数の高低等とは関係の無い(それらの影響を受けない)パラメータ値に基づいて、対戦ゲームの実行を自動制御する。この自動制御においては勝敗に影響を与えるランダム的な要素を加えてもよい。例えば、各キャラクタに設定されている各能力パラメータ値を、対戦前にプラス20%〜マイナス20%の範囲でランダムに調整する処理を施す。その上で、対戦結果を判定する処理を行う。このようにすることで、能力パラメータ値が固定であるため、いつも同じ対戦相手に負ける/勝つといったことがなくなる。また、その後の特典決定処理では、サーバシステム1100は、対戦ゲームの対戦結果をもとに、その愛情指数に応じた特典をユーザに付与する。
そのために、本実施形態では、対戦ゲーム毎に、当該対戦ゲームの内容を定めた対戦ゲーム定義データ550(図11を参照)が予め設定されており、サーバシステム1100は、当該対戦ゲーム定義データ550に基づいて対戦ゲームを実行し、当該対戦ゲーム定義データ550に基づいてユーザに特典を付与する。
図7は、1つの対戦ゲーム定義データ550のデータ構成例を示す図である。この対戦ゲーム定義データ550は、該当する対戦ゲームを実行するために必要な各種設定データを格納する。具体的には、1つの対戦ゲーム定義データ550は、図7に示すように、当該対戦ゲームの対戦ゲームID551と、登場キャラクタ設定553と、実行タイミング設定555と、特典データ557とを含む。また、対戦ゲーム定義データ550は、その他にも、当該対戦ゲームに係るゲーム空間を形成してゲームステージを設定するための各種設定データや、当該対戦ゲームの進行制御に用いる各種設定データ等を格納する。
登場キャラクタ設定553は、当該対戦ゲームに登場するキャラクタの組み合わせを規定する。例えば、全てのキャラクタを規定した設定のものや、一部のキャラクタを規定した設定のものを含めることができる。また、その他にも、当該対戦ゲームに登場するキャラクタの数を規定したものを含めてもよい。その場合は、当該対戦ゲームの実行時において設定された数のキャラクタを例えばランダムに選んで、ゲームに登場するキャラクタを決めればよい。
実行タイミング設定555は、当該対戦ゲームの実行タイミングを規定する。例えば、当該対戦ゲームを実行する日時を規定した設定のものや、1週間毎等の定期的な実行時期を規定した設定のもの、実行日時をランダムに規定する設定のもの等を含めることができる。
特典データ557は、当該対戦ゲームに係る特典の付与対象(ユーザ)と、その特典内容とを規定する。図8および図9は、特典データ557の一例を示す図である。図8および図9に示すように、特典データ557は、例えば、特典発生キャラクタと、愛情指数条件と、特典内容とを対応付けて設定したデータテーブルであり、特典発生キャラクタと愛情指数条件との組み合わせによって付与対象のユーザが規定される。
そして、特典付与処理では、当該対戦ゲームを終了した場合に、先ず、特典データ557における特典発生キャラクタの設定に従って、対戦ゲームに登場したキャラクタ毎の対戦結果特典を決定する(対戦結果特典決定処理)。図8の例では、当該対戦ゲームで勝者となった(オーディションに合格した)キャラクタが特典発生キャラクタとされているので、勝者のキャラクタについて、対応する愛情指数条件毎の各特典内容の特典D21を対戦結果特典として決定する。敗者のキャラクタについては特典発生キャラクタとして設定されていないため、その対戦結果特典を「特典なし」とする。
一方、図9の例では、勝者のキャラクタと敗者のキャラクタの両方が特典発生キャラクタとされており、勝者のキャラクタについては対応する愛情指数条件毎の各特典内容の特典D231を、敗者のキャラクタについては対応する愛情指数条件毎の各特典内容の特典D233を、それぞれ対戦結果特典として決定する。
対戦結果特典決定処理によって対戦結果特典を決定したならば、サーバシステム1100は、特典発生キャラクタについて決定した対戦結果特典と、そのファングループに所属する各ユーザの愛情指数とに基づいて、当該各ユーザに付与する特典を決定する(ユーザ別特典決定処理)。本実施形態では、対戦結果特典を当該特典発生キャラクタのファングループに所属する各ユーザに対して分配することで、ユーザ別特典決定処理を行う。分配に際し、各ユーザの愛情指数を用いる。具体的には、特典データ557の当該特典発生キャラクタに係る愛情指数条件の設定に従って、各ユーザのうちの愛情指数条件を満たすユーザを付与ユーザとし、対応する特典内容の特典を当該付与ユーザに付与する付与特典として決定する。
例えば、図8の特典データ557では、愛情指数の順位が愛情指数条件とされている。したがって、ユーザ別特典決定処理では先ず、特典発生キャラクタのファングループに所属する各ユーザを、その愛情指数の高い順に並べる。そして、愛情指数条件を満たす各順位(図8の例では上位10位まで)のユーザをそれぞれ付与ユーザとし、対応する特典内容の特典をその付与ユーザそれぞれに対する付与特典とする。これにより、愛情指数が上位10位までの各ユーザに対し、対戦結果特典D21が分配される。図8の例では、特典はゲームアイテムとなっている。
また、図9の特典データ557では、愛情指数の範囲が愛情指数条件とされている。したがって、ユーザ別特典決定処理では先ず、特典発生キャラクタのファングループに所属する各ユーザの愛情指数が何れの愛情指数条件を満たすのか(何れの範囲に属するのか)を特定する。そして、各ユーザを付与ユーザとし、特定した愛情指数条件に対応する特典内容の特典(ここでは所定枚数のメダル)を付与特典とする。同じ愛情指数条件を満たすユーザが複数存在する場合は、メダルを等分する。これにより、各特典発生キャラクタのファングループにそれぞれ所属する各ユーザに対し、対戦結果特典D231,D233が分配される。図9の例では、特典はゲーム内通貨となっている。
より詳細には、愛情指数条件毎の特典内容は、例えば図8の特典データ557のように愛情指数の順位が愛情指数条件とされている場合であれば、対応する順位が高順位であるほど高価値の特典として設定される。図9の特典データ557のように愛情指数の範囲が愛情指数条件とされている場合であれば、その値が大きい範囲ほど高価値の特典として設定される。よって、同一のファングループに所属する第1のユーザおよび当該第1のユーザよりも愛情指数が高い第2のユーザについて、その特典が、第1のユーザよりも第2のユーザの方が高価値の特典として決定されることとなる。また、図9の特典データ557のように、勝者と敗者の両方を特典発生キャラクタとする場合は、勝者の特典内容の方が敗者よりも高価値の特典として設定される。
具体的な特典の中身としては、例えば、各種ゲームオブジェクトやゲーム内通貨・ポイント、等を設定することができる。ゲームオブジェクトとしては、例えば、新たなプレーヤキャラクタ、プレーヤキャラクタが装備又は使用することができる武器や防具、弾、薬等の各種アイテム、プレーヤキャラクタの乗り物、スキン、召喚獣、等が含まれる。特典は、その他にも、例えば、魔法やスキル等のプレーヤキャラクタに付加できる追加能力、新しいゲームステージやマップの開放、各種ゲームイベントの発動、抽選権等としてもよい。本実施形態では、所属先グループのキャラクタ(アイドルキャラクタ)の関連アイテムや、集めると当該関連アイテムとの引き換えが可能な引き換えチケット、当該関連アイテムの抽選を実行できる抽選チケット、当該アイドルキャラクタが登場するミニゲーム等の各種ゲームイベントの発動等が特典の中身とされる。その他にも、抽選でのレアアイテムの当選確率を高くする内容の特典を含めてもよい。そして、付与するゲームオブジェクトのレア度や付与数、組み合わせ等によって、特典内容の価値が調整される。
なお、特典データ557には、勝敗だけでなく、そのオーディションの審査の状況に応じて特典発生キャラクタをさらに細かく分けて設定したものを含めてもよい。例えば、一次審査と二次審査の2段階で進行するオーディションであれば、敗者のキャラクタを一次審査で不合格となったキャラクタと二次審査で不合格となったキャラクタとにさらに分けて特典発生キャラクタとして設定したものを含めてもよい。その場合には、審査の段階がより進んだ方(二次審査で不合格となったキャラクタ)の特典内容を高価値の設定とするとよい。
また、愛情指数条件には、対応する特典発生キャラクタのファングループに所属する各ユーザの、愛情指数の合計値に関する条件を含めてもよい。例えば、当該合計値の範囲を愛情指数条件として設定した特典データ557を含めてもよい。或いは、当該合計値が対戦した他のキャラクタに係る当該合計値と比べて大きいのか小さいのかの場合分けをそれぞれ愛情指数条件とした特典データ557を含めてもよい。対応する特典内容は、当該合計値が大きいほど高価値の設定とするとよい。
また、愛情指数条件を愛情指数の順位とし、当該順位が1位のユーザのみに特典を付与する設定の特典データ557を含めてもよい。その場合は、1位のユーザに対戦結果特典が全て付与されることとなる。逆に、最下位のユーザのみに特典を付与する特典データ557を含めてもよい。或いは、全順位をいくつかの段階(例えば5段階)のランクに分けて、各ランクを愛情指数条件として設定した特典データ557を含めてもよい。その場合は、下位の順位のユーザも含めて全てのユーザに特典が付与されることとなる。
また、愛情指数条件として愛情指数の順位が設定されており、特典発生キャラクタのファングループに所属する各ユーザを愛情指数の順に並び替える際に、当該各ユーザの中に愛情指数の値が同じユーザが含まれているときには、そのファングループの所属履歴を用いて該当するユーザを順位付けるようにしてもよい。例えば、特典発生キャラクタのファングループへの所属時間長が長い方のユーザを上位にするとか、所属変更回数の少ないユーザを上位にする等としてもよい。或いは、過去に所属したファングループのキャラクタに対する愛情指数よりも現在の愛情指数の方が高いユーザを選んで上位にするのでもよい。また、上記した愛情指数タイミング基準を用いた評価の履歴を保持しておき、その評価が高い愛情操作を行った回数や頻度の高いユーザを選ぶ等とすることもできる。
[機能構成]
1.サーバシステム
図10は、サーバシステム1100の機能構成例を示すブロック図である。図10に示すように、本実施形態のサーバシステム1100は、操作入力部100sと、サーバ処理部200sと、画像表示部390sと、音出力部392sと、通信部394sと、サーバ記憶部500sとを備える。
操作入力部100sは、システム管理や保守等のための各種操作を入力するためのものであり、例えばキーボードやマウス、タッチパネル等で実現できる。図1では、キーボード1106やタッチパネル1108がこれに該当する。
サーバ処理部200sは、例えばCPUやGPU、ASIC、FPGA等の演算回路であるプロセッサや、ICメモリ等の電子部品によって実現でき、操作入力部100sやサーバ記憶部500sを含む装置各部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号、ユーザ端末1500から受信したデータ等に基づいて各種の演算処理を行い、サーバシステム1100の動作を統括制御する。図1では、制御基板1150やそのCPU1151がこれに該当する。
このサーバ処理部200sは、ユーザ管理部210と、課金処理部220と、ゲーム管理部230と、画像生成部290sと、音生成部292sと、通信制御部294sとを備える。
ユーザ管理部210は、ユーザ登録に係る処理およびユーザID(アカウント)に紐付けられる各登録ユーザのデータの管理を行う。例えば、ユーザ登録を済ませたユーザへの固有のユーザIDの付与処理、ユーザID別に個人情報を登録管理する登録情報管理処理、ログインおよびログアウトの履歴等を管理する利用履歴管理処理等を実行することができる。勿論、これら以外のユーザIDに紐付けられる他のデータの管理処理も適宜含めることができる。
課金処理部220は、ユーザによるゲームコインの購入操作に応じて課金処理を行い、購入額相当のゲームコインを当該ユーザに付与する。
ゲーム管理部230は、ゲームの実行管理に係る各種処理を行う。本実施形態のゲームはクライアント・サーバ型のオンラインゲームなので、ゲーム管理部230は、ユーザ端末1500と通信を行いながらゲームに必要なデータを提供する制御を行う。このゲーム管理部230は、対戦ゲーム制御部231と、キャラクタ数制御部233と、コミュニケーション制御部235と、グループ設定部237と、所属制御部239と、愛情指数算定部241と、特典決定部243、特典付与部249とを含む。
対戦ゲーム制御部231は、対戦ゲーム制御処理を行う機能部であり、自動制御によってキャラクタが登場する対戦ゲームを実行する。
キャラクタ数制御部233は、対戦ゲーム制御部231が実行する対戦ゲームに登場可能なキャラクタの数(登場可能キャラクタ数)を制御する。本実施形態では、アップデート時等において随時新規のキャラクタの追加や既存のキャラクタの削除を行って対戦ゲームに登場可能なキャラクタを変更することで、登場可能キャラクタ数を増減させる制御を行う。
コミュニケーション制御部235は、対戦ゲームに登場するキャラクタとそのファングループに所属するユーザとの間の仮想的なコミュニケーションを、当該ユーザの愛情操作に基づいて実行する制御を行う。会話画面でのキャラクタとユーザとの会話の進行制御、ゲームイベントの1つである握手会イベントの実行、ユーザからキャラクタに対するプレゼントの贈答に係る処理等がこれに該当する。
グループ設定部237は、グループ設定処理を行う機能部であり、対戦ゲームに登場するキャラクタ毎に、1以上のユーザが所属可能なファングループを設定する。
所属制御部239は、所属制御処理を行う機能部であり、1人のユーザが所属可能なファングループを最大1つとして、各ユーザの所属先グループを決定する。
愛情指数算定部241は、愛情指数算定処理を行う機能部であり、ユーザ毎に、その所属先グループのキャラクタに対する愛情指数を、当該ユーザによる当該キャラクタに関する愛情操作に基づいて算定する。
特典決定部243は、特典決定処理を行う機能部であり、対戦ゲームの対戦結果と、ファングループに所属する各ユーザの愛情指数とに基づいて、各ユーザに付与する特典を決定する。この特典決定部243は、対戦結果特典決定部245と、ユーザ別特典決定部247とを備える。
対戦結果特典決定部245は、対戦結果特典決定処理を行う機能部であり、終了した対戦ゲームに登場したキャラクタ毎の対戦結果特典を決定する。
ユーザ別特典決定部247は、ユーザ別特典決定処理を行う機能部であり、対戦結果特典決定処理で決定したキャラクタ毎の対戦結果特典と、当該キャラクタのファングループに所属する各ユーザの愛情指数とに基づいて、当該各ユーザに付与する特典を決定する。ここでの処理によって付与ユーザが決定され、付与ユーザ毎に付与特典が決定される。
特典付与部249は、特典決定処理での決定に従って、付与ユーザに付与特典を付与する制御を行う。
画像生成部290sは、サーバシステム1100のシステム管理等に関する画像を生成し、画像表示部390sへ出力する。
音生成部292sは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、サーバシステム1100のシステム管理や動画配信に係る操作音、BGM等の音声データを生成し、或いはデコードする。システム管理に関する音声信号は、音出力部392sへ出力される。
通信制御部294sは、通信部394sを介して外部装置(例えばユーザ端末1500)とのデータ通信のための通信接続およびデータ処理を行い、外部装置とのデータのやりとりを実現する。
画像表示部390sは、画像生成部290sから入力される画像信号に基づいてシステム管理等のための各種画面を表示する。例えば、フラットパネルディスプレイ、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1では、タッチパネル1108がこれに該当する。
音出力部392sは、音生成部292sから入力される音声信号を放音する。図1では、本体装置1101やタッチパネル1108が備えるスピーカ(不図示)がこれに該当する。
通信部394sは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現できる。図1では、通信装置1153がこれに該当する。
サーバ記憶部500sには、サーバシステム1100を動作させ、サーバシステム1100が備える種々の機能を実現するためのプログラムや、このプログラムの実行中に使用されるデータ等が予め格納され、或いは処理の都度一時的に格納される。例えば、RAMやROM等のICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVD等の光学ディスク等によって実現できる。図1では、ICメモリ1152やストレージ1140がこれに該当する。
図11は、本実施形態におけるサーバ記憶部500sが記憶するプログラムやデータの例を示す図である。図11に示すように、本実施形態におけるサーバ記憶部500sは、サーバプログラム501と、配信用ゲームクライアントプログラム503と、ユーザ管理データ510と、ゲーム設定データ540と、ファングループデータ580と、基準ポイントデータ600と、対戦ゲーム実行データ610と、実行済み対戦ゲームデータ620とを格納する。またその他にも、タイマーやカウンタ、各種フラグ等、必要なデータも適宜記憶できる。
サーバプログラム501は、サーバ処理部200sをユーザ管理部210、課金処理部220およびゲーム管理部230として機能させるためのプログラムである。なお、画像生成部290sや音生成部292s、通信制御部294sとして機能させるプログラムも適宜これに含めることができる。
配信用ゲームクライアントプログラム503は、ユーザ端末1500にダウンロードされるゲームクライアントプログラム502(図15を参照)の原本である。
ユーザ管理データ510は、ユーザ登録を済ませたユーザ毎に用意され、当該ユーザの管理用の各種データを格納する。具体的には、1つのユーザ管理データ510は、図12に示すように、当該ユーザのユーザID(アカウント)511と、ユーザ名511と、決済媒体帳簿データ515と、所属先グループデータ520と、現愛情指数527と、ファングループ所属履歴530と、所有オブジェクトリスト537とを含む。
決済媒体帳簿データ515は、当該ユーザに紐付けられる電子決済媒体(本実施形態ではゲーム内通貨であるゲームコイン)の収支の情報、例えば、ゲームコインの購入日時や購入数(課金額)の履歴、ゲームコインの消費日時や消費数の履歴等を格納する。
所属先グループデータ520は、当該ユーザが所属するファングループ(所属先グループ)に関するデータを格納する。例えば、ファングループID521と、ファングループ名522と、加入日時523と、現所属時間長524とを格納する。現所属時間長524は、当該ユーザが当該所属先グループに所属した加入日時から現在までの時間長を格納する。
現愛情指数527は、当該ユーザの所属先グループのキャラクタに対する現在の愛情指数の値を格納する。
ファングループ所属履歴530は、当該ユーザが過去に(所属先グループに所属するよりも前に)所属したファングループ毎に用意される。例えば、当該ユーザに2つのファングループへの所属歴がある場合、図12に例示するように2つのファングループ所属履歴530が格納される。現在所属しているファングループ以外にファングループの所属歴がないユーザの場合には、ファングループ所属履歴530は設定されない。
そして、1つのファングループ所属履歴530は、該当するファングループのファングループID531と、当該ファングループへの加入日時532と、当該ファングループからの退会日時533と、当該ファングループに所属した所属時間長534と、最終愛情指数535とを含む。
所属時間長534は、加入日時532から退会日時533までの時間長を格納する。退会時点での現所属時間長524をコピーして設定するのでもよい。
最終愛情指数535は、当該ファングループに所属していたときの当該ユーザの愛情操作に基づいて算定された最終的な愛情指数の値を格納する。この最終愛情指数535は、退会時点での現愛情指数527をコピーすることで設定される。
所有オブジェクトリスト537は、当該ユーザがゲームの過程で入手し、現時点で保有しているアイテム等の各種ゲームオブジェクトのリストを格納する。本実施形態では、特典付与処理でのゲームオブジェクトの付与にあたり、そのゲームオブジェクトのオブジェクトIDが所有オブジェクトリスト537に追加される。
図11に戻る。ゲーム設定データ540は、対戦ゲームを実行するために必要な各種設定データを格納する。例えば、対戦ゲームに登場するキャラクタの各種能力パラメータ値、モデルデータ、動作制御に用いるモーションデータ等を定義するキャラクタ設定データ、ゲームの過程でユーザが入手し得るゲームオブジェクトに係るオブジェクト定義データ等を格納する。
また、ゲーム設定データ540は、図7に示した対戦ゲーム毎の対戦ゲーム定義データ550と、愛情操作に係るポイント算出で用いる基準ポイントの初期値560と、ポイント算出係数データ570とを含む。
基準ポイント初期値560は、会話操作、接触操作、プレゼント操作、およびイベント操作の各愛情操作の種類別の基準ポイントの初期値を格納する。
ポイント算出係数データ570は、第1係数設定テーブル571と、第2係数設定テーブル573と、第3係数設定テーブル575と、第4係数設定テーブル577とを格納する。
ファングループデータ580は、ファングループ毎(ゲームに登場可能なキャラクタ毎)に用意され、当該ファングループの管理用の各種データを格納する。具体的には、1つのファングループデータ580は、図13に示すように、当該ファングループのファングループID581と、ファングループ名583と、対象キャラクタデータ585と、グループリーダーデータ587と、所属ユーザデータ590とを含む。
対象キャラクタデータ585は、当該ファングループに係るキャラクタのキャラクタIDや、キャラクタ名等を格納する。
グループリーダーデータ587は、当該ファングループに所属するユーザの中から当該ファングループのグループリーダーとして選ばれたユーザのユーザIDや、ユーザ名等を格納する。
所属ユーザデータ590は、当該ファングループに所属する(会員の)ユーザ毎に用意される。1つの所属ユーザデータ590は、当該ユーザのユーザID591と、ユーザ名593と、現在の愛情指数(現愛情指数)595とを含む。現愛情指数595は、ユーザ管理データ510の現愛情指数527のコピーである。
基準ポイントデータ600は、ユーザ毎に用意され、愛情操作に係るポイント算出で用いる基準ポイントを格納する。具体的には、該当するユーザについての会話操作、接触操作、プレゼント操作、およびイベント操作の各愛情操作の種類別の現在の基準ポイントが、随時更新・保持される。
対戦ゲーム実行データ610は、実行中の対戦ゲーム毎に用意され、当該対戦ゲームの進行状況を記述する各種データを格納する。
実行済み対戦ゲームデータ620は、終了した実行済みの対戦ゲーム毎に用意される。そして、1つの実行済み対戦ゲームデータ620は、図14に示すように、当該対戦ゲームの対戦ゲームID621と、実行時期623と、登場キャラクタデータ625と、対戦結果データ627とを含む。
実行時期623は、当該対戦ゲームの実行開始日時と実行終了日時とを格納する。
登場キャラクタデータ625は、当該対戦ゲームに登場した各キャラクタのキャラクタIDや、キャラクタ名等を格納する。
対戦結果データ627は、当該対戦ゲームにおける対戦結果を時系列で格納する。
2.ユーザ端末
図15は、ユーザ端末1500の機能構成例を示すブロック図である。図15に示すように、ユーザ端末1500は、操作入力部100と、端末処理部200と、画像表示部390と、音出力部392と、通信部394と、端末記憶部500とを備える。
操作入力部100は、ユーザが各種操作を入力するためのものであり、例えば、ボタンスイッチ、ジョイスティック、タッチパッド、トラックボール、加速度センサ、角速度センサ、CCDモジュール等によって実現できる。図2では、方向入力キー1502やホームキー1504、タッチパネル1506がこれに該当する。
端末処理部200は、例えばCPUやGPU、ASIC、FPGA等の演算回路であるプロセッサや、ICメモリ等の電子部品によって実現でき、操作入力部100や端末記憶部500を含む装置各部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバシステム1100から受信したデータ等に基づいて各種の演算処理を行い、ユーザ端末1500の動作を統括制御する。図2では、制御基板1550やそのCPU1551がこれに該当する。そして、本実施形態における端末処理部200は、ユーザ端末演算部270と、画像生成部290と、音生成部292と、通信制御部294とを備える。
ユーザ端末演算部270は、ユーザ端末1500を、ユーザが対戦ゲームを観戦したりゲームイベントに参加しながら愛情操作を行ってゲームを楽しむための端末として機能させるための各種演算処理を実行する。例えば、ユーザ端末演算部270は、操作信号送信制御部271と、ゲーム画面表示制御部273とを含む。
操作信号送信制御部271は、操作入力部100に対する操作入力に応じて、各種データやリクエスト情報をサーバシステム1100へ送信するための処理を行う。
ゲーム画面表示制御部273は、サーバシステム1100から受信した各種データに基づいて、ゲーム画面を表示するための制御を行う。例えば、本実施形態のオンラインゲームをウェブゲームとして実現するならば、ウェブブラウザをベースとしてHTMLとともにJava(登録商標)やCSS(Cascading Style Sheets)を利用して能動的に画面表示を制御するウェブ技術、Adobe(登録商標)Flash等のプラグインを用いて実現できる。勿論、その他の方法でもかまわない。また、本実施形態の構成では、ゲーム画面のベースとなるゲーム空間画像(例えば、3DCG等)はサーバシステム10にて生成されるが、ゲーム空間画像をユーザ端末1500で生成する構成も可能である。その場合、ゲーム画面表示制御部273は、3DCGを生成するための仮想3次元空間に配置されたオブジェクトの制御を行うこととなる。
画像生成部290は、ゲーム画面表示制御部273と連係して、サーバシステム1100から受信した各種データに基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面を表示するための画像信号を生成し、生成した画像信号を画像表示部390に出力する。例えば、GPU、デジタルシグナルプロセッサ(DSP)等のプロセッサ、ビデオ信号IC、ビデオコーデック等のプログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現できる。
音生成部292は、例えば、デジタルシグナルプロセッサ(DSP)や、音声合成IC等のプロセッサ、音声ファイルを再生するためのオーディオコーデック等によって実現され、ゲームの効果音やBGM、各種操作音の音声信号を生成して音出力部392に出力する。
通信制御部294は、通信部394を介して外部装置(例えばサーバシステム1100)とのデータ通信のための通信接続およびデータ処理を行い、外部装置とのデータのやりとりを実現する。
画像表示部390は、画像生成部290から入力される画像信号に基づいて、ゲーム画面等の各種画面を表示する。例えば、フラットパネルディスプレイ、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図2では、タッチパネル1506がこれに該当する。
音出力部392は、音生成部292から入力される音声信号に基づいてゲームに関する効果音やBGM等を放音する。図2では、スピーカ1510がこれに該当する。
通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA、有線用の通信ケーブルのジャックや制御回路等によって実現できる。図2では、無線通信モジュール1553がこれに該当する。
端末記憶部500には、ユーザ端末1500を動作させ、ユーザ端末1500が備える機能を実現するためのプログラムや、このプログラムの実行中に使用されるデータ等が予め格納され、或いは処理の都度一時的に格納される。例えば、RAMやROM等のICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVD等の光学ディスク等によって実現できる。図2では、ICメモリ1552や、メモリカード1540がこれに該当する。
また、端末記憶部500には、ゲームクライアントプログラム502が格納される。ゲームクライアントプログラム502は、端末処理部200をユーザ端末演算部270として機能させるためのプログラムである。このゲームクライアントプログラム502は、オンラインゲームを実現する技術手法に応じた専用のクライアントプログラムであってもよいし、ウェブブラウザプログラムおよびインタラクティブな画像表示を実現するプラグイン等により構成するとしてもよい。本実施形態では、サーバシステム1100から提供される配信用ゲームクライアントプログラム503(図11を参照)のコピーとする。
[処理の流れ]
図16は、サーバシステム1100の処理の流れを示すフローチャートである。ここで説明する処理は、サーバ処理部200sがサーバプログラム501を読み出して実行することによって実現される。
サーバシステム1100では、先ず、グループ設定部237がグループ設定処理を開始するとともに(ステップS1)、所属制御部239が所属制御処理を開始する(ステップS3)。各処理によって対戦ゲームに登場するキャラクタ毎にファングループが設定され、各ユーザの所属先グループが決定される。
その後は、ユーザ端末1500での愛情操作を監視する。そして、何れかのユーザ端末1500での愛情操作を検出した場合には(ステップS5:YES)、愛情指数算定部241が愛情指数算定処理を行って、当該愛情操作を行ったユーザの、所属先グループのキャラクタに対する愛情指数を算定する(ステップS7)。
また、対戦ゲームの実行タイミングとなったときには(ステップS9:YES)、対戦ゲーム制御部231が対戦ゲーム制御処理を行い、自動制御によって対戦ゲームを実行する(ステップS11)。
対戦を終了したならば、対戦結果特典決定部245が対戦結果特典決定処理を行い、当該対戦ゲームに登場したキャラクタ毎の対戦結果特典を決定する(ステップS13)。続いて、ユーザ別特典決定部247がユーザ別特典決定処理を行い、ステップS13で決定したキャラクタ毎の対戦結果特典と、当該キャラクタのファングループに所属する各ユーザの愛情指数とから、付与ユーザとその付与特典を決定する(ステップS15)。ここでの処理により、キャラクタ毎の対戦結果特典が、そのファングループに所属する各ユーザの愛情指数に従って、当該各ユーザに対して分配される。そして、特典付与部249が、付与ユーザに付与特典を付与する制御を行う(ステップS17)。
その後は、本処理の終了判定がされなければ(ステップS19:NO)、ステップS5に戻って上記した処理を繰り返す。
以上説明したように、本実施形態によれば、対戦ゲームに登場するキャラクタ毎にファングループを設定することができる。そして、ユーザ毎に、当該ユーザの所属先グループのキャラクタに対する愛情指数を、当該ユーザの当該キャラクタに関する愛情操作に基づいて算定することができる。一方、キャラクタが登場する対戦ゲームを実行し、その対戦結果と、各ユーザの愛情指数とに基づいて、各ユーザに特典を付与することができる。これによれば、ゲームに登場するオブジェクトに対する愛情をプレーヤ間で競い合う興趣性を醸成することができる。
なお、本発明を適用可能な形態は上記した実施形態に限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
[変形例1]
例えば、上記実施形態では、ゲームオブジェクトをアイドルのキャラクタとし、複数のキャラクタがオーディションの合格を目指して競う対戦ゲームを例示したが、対戦ゲームの内容は特に限定されるものではなく、対戦ゲームに登場するゲームオブジェクトも特に限定されない。ゲームオブジェクトには、例えば、人型、動物型、モンスター型、ロボット型等のキャラクタの他、自動車、二輪車、飛行機といった乗り物や建物等が含まれる。例えば、ゲームオブジェクトを自動車とし、対戦ゲームをカーレースゲームとしてもよいし、ゲームオブジェクトを人型として、対戦ゲームを格闘ゲームとしてもよい。また、対戦ゲームを格闘ゲーム等のキャラクタ同士が戦うゲームとする場合には、当該対戦ゲームに登場する各キャラクタがトーナメント戦で対戦する構成としてもよい。
また、自動制御による対戦ゲームの実行は、予め設定された能力パラメータ値を用いる構成に限らず、ランダムに勝敗を決定した上で対戦の進行を制御するのでもよい。
また、必ずしも登場するキャラクタの勝敗を決める必要はなく、例えば、歌の上手さやダンスの上手さ、可愛らしさ等の所定の評価項目について各キャラクタの順位を決定する場合にも同様に適用が可能である。つまり、対戦には、各キャラクタがその順位を競い合うことも含まれる。
[変形例2]
また、上記実施形態では、対戦ゲームの自動制御に用いる能力パラメータ値を、当該対戦ゲームに登場するキャラクタのファングループへのユーザの所属状況や、当該ユーザの当該キャラクタに関する愛情操作の状況、当該キャラクタに対する愛情指数の高低等とは関係の無い(それらの影響を受けない)パラメータ値であるとしたが、少なくとも愛情操作とは関係の無いパラメータ値であればよい。例えば、能力パラメータ値を、ファングループへのユーザの所属状況に応じて変動させた上で、対戦ゲームの自動制御に用いるとしてもよい。
[変形例3]
或いは、ファングループへのユーザの所属状況や、ユーザのキャラクタに関する愛情操作の状況、愛情指数の高低等を用いて対戦ゲームを進行制御する構成としてもよい。例えば、ファングループに所属するユーザの愛情指数を対戦するキャラクタ間で比較し、勝敗を決定するようにしてもよい。具体的には、対戦するキャラクタ毎に、そのファングループに所属するユーザの愛情指数に基づく代表値を求める。代表値は、例えば、当該ファングループに所属する全てのユーザの愛情指数の合計値、平均値、最大値、最小値等とすることができる。そして、求めた代表値を対戦するキャラクタ間で比較し、代表値が大きいキャラクタを勝者とする等として対戦ゲームを進行制御することとしてもよい。また、代表値を比較する構成に限らず、合計値、平均値、最大値、および最小値をそれぞれ比較する構成でもよいし、それらに加えて会員数を比較する構成でもよい。
或いは、愛情指数の代表値が高いキャラクタほど対戦が有利に進むように、当該対戦ゲームの進行制御を行う構成としてもよい。例えば、対戦ゲームに登場する各キャラクタの能力パラメータ値を、愛情指数の代表値を用いて増減させて調整する処理を施すとしてもよい。ランダムに対戦の勝敗を決める場合であれば、各キャラクタが勝利する確率を、各々の愛情指数の代表値をもとに決定するようにしてもよい。
[変形例4]
また、上記実施形態では、愛情操作のたびに求めたポイントを累積することで愛情指数を算定することとしたが、当該累積の期間を限って愛情指数を算定することとしてもよい。例えば、所定期間の間各ユーザの愛情操作を監視し、愛情指数を算定するゲームイベントを開催することで実現できる。イベント期間中は、上記実施形態と同様の要領で愛情指数算定処理を行い、当該対戦ゲームに登場する各ユーザの愛情操作に基づいて、当該ユーザ毎に愛情指数を算定する。愛情操作に係るポイント算出に際しては、上記実施形態と同様の要領でユーザ毎に基準ポイントを随時更新しながら用いる。
また、当該ゲームイベントでは、その最後に複数のキャラクタが登場する対戦ゲームを実行する。そして、上記実施形態と同様の要領で特典決定処理を行い、対戦ゲームの対戦結果と、当該対戦ゲームに登場したキャラクタのファングループに所属する各ユーザの愛情指数とに基づいて、各ユーザに付与する特典を決定する。決定した特典を各ユーザに付与したならば、ゲームイベントを終了し、イベント期間中に各ユーザについて算定した愛情指数をリセットする。
ただし、愛情操作に係るポイント算出で用いるユーザ毎の基準ポイント(基準ポイントデータ600)については、リセットせずに保持しておく。そして、次回の同種のゲームイベントの実行時には、保持しておいたユーザ毎の基準ポイントを随時更新しながら用い、ポイントの算出を行う。
[変形例5]
また、上記実施形態では、自動制御により対戦ゲームを実行することとしたが、ユーザの操作入力に基づいてキャラクタを制御し、対戦ゲームを進行制御する構成としてもよい。その場合は、ユーザの操作するキャラクタ(プレーヤキャラクタ)同士が対戦する構成の他、プレーヤキャラクタがコンピュータ制御の敵キャラクタ(NPC)と対戦する構成でもよい。
対戦で用いる各キャラクタの能力パラメータ値は、上記実施形態と同様に、そのファングループへのユーザの所属状況、当該ユーザの当該キャラクタに関する愛情操作の状況、当該キャラクタに対する愛情指数の高低等とは関係の無い(それらの影響を受けない)値としてもよいし、変形例2の要領で、そのファングループへのユーザの所属状況に応じて変動させる構成としてもよい。或いは、各キャラクタの能力パラメータ値は、変形例3の要領で、そのファングループへのユーザの所属状況、当該ユーザの当該キャラクタに関する愛情操作の状況、当該キャラクタに対する愛情指数の高低等に応じて変動させるとしてもよい。
[変形例6]
また、上記実施形態では、キャラクタ同士が対戦する対戦ゲームを例示したが、2以上のゲームオブジェクトを少なくとも含むオブジェクト群を1つの味方群(ユニット)として対戦する場合にも、同様に適用が可能である。ユニット同士が対戦する構成でもよいし、1つのユニットがコンピュータ制御の敵キャラクタ(NPC)と対戦する構成でもよい。また、ユニット同士が対戦する場合であれば、各ユニットを構成する全てのキャラクタが同時に対戦する構成でもよいし、1対1の勝ち抜き戦形式や星取り戦形式で対戦する構成でもよい。総当たり戦で対戦するのでもよい。
図17は、複数(例えば3体)のキャラクタが1つのユニットとなって対戦相手のユニットと対戦する場合の特典決定処理を説明する図である。本変形例の特典決定処理では、対戦ゲームを終えるとまず、ユニット毎に対戦結果特典を決定する。例えば、特典データの設定が勝者のユニットのみに特典を付与する設定の場合であって、ユニット1が対戦に勝ったときには、その特典データに従って、ユニット1の対戦結果特典(例えばメダル400枚)を決定する。
対戦結果特典を決定したならば、続いて、ユニット1を構成する各キャラクタK,L,Mの勝利への貢献度を判定する。貢献度は、例えば、対戦相手を倒した数、対戦相手に与えたダメージの大きさ、獲得したスコア等をキャラクタ毎に比較することで判定する。
そして、貢献度の高いキャラクタほど高価値となるように、ユニット1について決定された対戦結果特典を各キャラクタに振り分ける。図17の例では、ユニット1の対戦結果特典として決定されたメダル500枚が、キャラクタL,M,Kの順番で多く振り分けられている。
その後は、上記実施形態で説明したのと同様の要領で、各ユーザの愛情指数に基づいて当該各ユーザに付与する特典を決定する。すなわち、各キャラクタK,L,Mに振り分けたメダルを、各々のファングループに所属する各ユーザの愛情指数に基づいて、当該各ユーザに分配する。
[変形例7]
また、上記実施形態では、1人のユーザが所属可能なファングループを最大1つとして説明したが、1人のユーザが複数のファングループに所属できる構成でもよい。その場合は、ユーザ毎に、その所属するファングループのキャラクタ別にそれぞれ愛情指数を算定する。