以下、本発明の実施の形態を、添付図面を参照して具体的に説明する。なお、本発明が適用されるゲームジャンルは対戦ゲームに限られるものではなく、また、オンラインで行うゲームに限られるものでもないが、以下の説明では、オンラインで行う対戦型格闘ゲームを例に説明する。
図1は、オンラインゲームシステムの構成例を示す図である。同図に示すオンラインゲームシステム1は、例えば、「ストリートファイター(登録商標)」に代表されるオンライン対戦機能を有する特定の対戦型格闘ゲームに対して構築されたものであり、ネットワーク回線2と、複数のゲーム装置3(以下、単に「ゲーム装置3」という。)と、ゲームサーバ4とを含んでいる。
なお、以下の説明で、プレイヤAの操作するゲーム装置とプレイヤBの操作するゲーム装置を区別するために、必要に応じて前者のゲーム装置の符号を「3A」とし、後者のゲーム装置3の符号を「3B」として説明する。
対戦型格闘ゲームは、一般に、プレイヤとコンピュータ(具体的にはプレイヤが使用するゲーム装置内のCPU)、或いは複数のプレイヤ(主として2人)がそれぞれ操作する複数体(主として2体)のゲームキャラクタを、格闘技を繰り出す形式若しくはそれに類する形式で戦わせてゲーム上の所定のルールに従って勝敗を決するものである。
各ゲーム装置3とゲームサーバ4は、ネットワーク回線2に接続されている。各ゲーム装置3とゲームサーバ4は、それぞれネットワーク回線2を介して互いにデータ通信を行う機能を備えている。各ゲーム装置3では、オンライン対戦機能を有する特定の対戦型格闘ゲーム(以下、「格闘ゲーム」と略称する。)のゲームプログラムとそのゲームプログラムで使用されるゲームデータとが記録された記録媒体5を装着し、その記録媒体5から読み込んだゲームプログラムを実行させることによって格闘ゲームを楽しむことができるようになっている。
また、本実施形態では、ゲームサーバ4に記録された対戦内容に関するデータ(以下、「リプレイデータ」という。)をダウンロードすることにより、ゲーム装置3で対戦内容を再現することができる。当該リプレイデータは、本発明の「ゲーム再現データ」に対応するものである。以下、ゲーム装置3でリプレイデータに基づいて対戦内容を再現する行為を「リプレイ」という。各リプレイデータは、リプレイにより再現された対戦内容を視聴したユーザの投票により評価される。ユーザは、リプレイ中に所定の操作ボタンを押圧することで、対戦内容を評価するための投票を行うことができる。ユーザによる投票数は、本発明の「評価情報」および「評価点数」に対応するものである。各ユーザによる投票数は、投票が行われたタイミングに基づいて集計されて、リプレイデータの一部である投票データとして、ゲームサーバ4に記録される。リプレイ時には、この投票データに基づいて、投票数が表示される(図11参照)。このとき表示される投票数(以下、当該表示される投票数を「表示投票数」とする。)は、各ユーザが投票を行ったタイミングに基づいて、リプレイされる対戦内容の進行に合わせてカウントアップ表示される。
また、リプレイデータにはこの投票データに基づいて算出された、リプレイデータの評価を示すリプレイポイントが含まれている。当該リプレイポイントは、本発明の「ゲーム評価情報」に対応するものである。ゲームサーバ4は、リプレイポイントに基づいてリプレイデータを順位付けている。本実施形態では、ゲームサーバ4に登録可能なリプレイデータの数(登録可能数)を、例えば2000個としているので、2000個のリプレイデータが順位付けて記録されている。すなわち、ゲームサーバ4では、1位から最大2000位までのリプレイデータがランキングされている。このランキングされる順位(本実施形態では1位から2000位)を「ランキング圏」とする。
また、ゲームサーバ4は、ランキング圏内に入っているリプレイデータのうち、所定の順位に入るリプレイデータによるリストを作成する。以下、当該作成されたリストを「リプレイランキングリスト」とする。当該リプレイランキングリストは、本発明の「ランキング情報」に対応するものである。本実施形態では、リプレイランキングリストの対象となるリプレイデータの数(リプレイランキングリスト登録可能数)を、例えば、1位から最大1000位までのリプレイデータが順位付けられたリプレイランキングリストが作成される。このリプレイランキングリストに登録される順位(本実施形態では1位から1000位)を「ランキングリスト圏」とする。したがって、1001位から2000位までのリプレイデータは、ランキング圏内には入っているが、ランキングリスト圏には入っていない(ランキングリスト圏外)。作成されたリプレイランキングリストは、ゲームサーバ4よりダウンロードされてゲーム装置3に表示される。ユーザは表示されたリプレイランキングリストから視聴したいリプレイデータを選択してリプレイすることができる。すなわち、ランキングリスト圏内のリプレイデータのみが、ユーザによるリプレイのための選択の対象となる。なお、ユーザの投票によりリプレイポイントが変化するので、リプレイランキングリストの順位も変動する。
本実施形態では、後述するチャンピオンシップモードの決勝戦の勝者プレイヤにリプレイデータをアップロードする権利が与えられる。勝者プレイヤのゲーム装置3は、リプレイデータを作成してゲームサーバ4に送信することで、リプレイデータのアップロードを行う。
図2は、リプレイデータのデータ構造を説明するための図である。同図に示すように、リプレイデータには、対戦に関する対戦データと、投票結果に関する投票データと、人気度に関する人気度データとが含まれている。
対戦データは、対戦を再現するためのデータであり、対戦レギュレーション、対戦日時、勝敗結果と、1Pプレイヤ(左サイド)および2Pプレイヤ(右サイド)のハンドルネーム、国籍ID、使用キャラID、称号ID、アイコンID、およびキー入力データが含まれている。対戦レギュレーションには、当該対戦の対戦場所、対戦の種類、ラウンド数、各ラウンドの対戦所要時間などのデータが含まれている。対戦日時は、当該対戦が行なわれた日付と時刻からなるデータである。勝敗結果は、当該対戦で1Pプレイヤと2Pプレイヤのどちらが勝ったかを示すデータである。国籍ID、使用キャラID、称号ID、およびアイコンIDは、それぞれ、各ゲーム装置3が記録している、国籍を示す国旗の画像、キャラクタ画像、称号の画像、およびキャラクタアイコンの画像の描画データを引き出すためのIDである。1Pプレイヤは当該対戦におけるホストプレイヤであり、2Pプレイヤは当該対戦におけるゲストプレイヤである。ホストプレイヤとは当該対戦において対戦相手を募集した(セッションを作成した)プレイヤであり、ゲストプレイヤとはこの対戦相手の募集に応じた(セッションに参加した)プレイヤである。対戦開始時には、表示画面の左側に1Pプレイヤの使用するキャラクタが表示され、右側に2Pプレイヤの使用するキャラクタが表示される。
ゲーム装置3Aとゲーム装置3Bとの間で対戦が行なわれている間に、ゲーム装置3Aおよびゲーム装置3Bは、互いに必要な情報を送受信し、勝敗結果以外の対戦データ(キー入力データなど)を記録している。対戦終了後、勝者側のゲーム装置3が、両者のキー入力データなどに勝敗結果のデータを含めた対戦データと、投票データと、人気度データとを、リプレイデータとして作成し、ゲームサーバ4にアップロードする。以下、ゲーム装置3Aを操作したプレイヤAが対戦に勝利し、ゲーム装置3Aがリプレイデータをアップロードする場合について説明する。
対戦レギュレーションデータおよび対戦日時は、対戦時にプレイヤAのゲーム装置3Aに記録される。勝敗結果は、対戦結果に基づいてゲーム装置3Aに記録される。プレイヤAがホストプレイヤであった場合、勝敗結果には勝者が1Pプレイヤ(ホストプレイヤ)であることを示すデータが記録され、プレイヤAがゲストプレイヤであった場合、勝敗結果には勝者が2Pプレイヤ(ゲストプレイヤ)であることを示すデータが記録される。
プレイヤAのハンドルネーム、国籍ID、使用キャラID、称号ID、アイコンIDは、あらかじめプレイヤA自身が設定することで、ゲーム装置3Aに記録されている。対戦相手であるプレイヤBのハンドルネーム、国籍ID、使用キャラID、称号ID、アイコンIDは、プレイヤB自身の設定によりゲーム装置3Bに記録されている。プレイヤBの各データは、対戦開始前にゲーム装置3Bからゲーム装置3Aに送信される。プレイヤAがホストプレイヤの場合、ゲーム装置3Aに記録されている各データが1Pプレイヤの各データとなり、ゲーム装置3Bから送信された各データが2Pプレイヤの各データとなる。逆に、プレイヤAがゲストプレイヤの場合、ゲーム装置3Aに記録されている各データが2Pプレイヤの各データとなり、ゲーム装置3Bから送信された各データが1Pプレイヤの各データとなる。
キー入力データとは、対戦時に入力されたキー操作信号をタイミングデータ(1フレーム単位のデータ)とともに記録したものである。キー入力データは、対戦時のキー入力受付開始からキー入力受付終了までの期間に受け付けたキー操作信号を、受け付けたタイミングに関連付けたデータとして作成される。プレイヤAのキー入力データは、プレイヤA自身がゲーム装置3Aに入力したキー操作信号に基づいて作成される。一方、プレイヤBのキー入力データは、プレイヤBのゲーム装置3Bからネットワーク回線2を介してプレイヤAのゲーム装置3Aに入力されたキー操作信号に基づいて作成される。プレイヤAがホストプレイヤの場合、プレイヤAの入力に基づくキー入力データが1Pプレイヤのキー入力データとなり、プレイヤBの入力に基づくキー入力データが2Pプレイヤのキー入力データとなる。逆に、プレイヤAがゲストプレイヤの場合、プレイヤAの入力に基づくキー入力データが2Pプレイヤのキー入力データとなり、プレイヤBの入力に基づくキー入力データが1Pプレイヤのキー入力データとなる。
投票データは、当該リプレイデータをリプレイして視聴したユーザにより投票された投票数の集計値からなるデータである。本実施形態では、ユーザによる投票は、Humor評価、Excellent評価、Beautiful評価の3つの評価項目毎に行われる。Humor評価、Excellent評価、Beautiful評価は、ユーザがリプレイを視聴しているときに、「おもしろい」、「すばらしい」、「美しい」とそれぞれ感じたときに投票されることを期待するものである。投票データは、評価項目数に対応して、3つのデータ群からなる。なお、評価項目数は、3つに限られるものではなく、1または2でも4以上でもよい。また、各評価項目もHumor/Excellent/Beautifulに限定されるものではなく、例えばNice/Great/Excellentとするなど、適宜設定すればよい。また、マイナス評価の項目(例えば、Booing評価)を設けてもよい。
ユーザによる投票は、各評価項目に対応してあらかじめ定められたボタンが押圧される事で行われる。本実施形態では、投票されたタイミング毎の投票数の集計を行うために、リプレイの画像をリプレイ開始から0.5秒単位(30フレーム)の集計期間に区切っている。各投票数は、各集計期間にユーザによって投票された回数(所定のボタンの押圧回数)としてカウントされた数値となる。各ユーザの投票数を集計期間毎に集計したものを、それぞれ集計投票数とする。各評価項目の投票データは、これら集計期間毎に集計された集計投票数をデータ要素とするデータ群となっている。したがって、リプレイ時間が200秒(12000フレーム)の画像となる場合、そのリプレイ時間には400の集計期間が含まれるので、各評価項目の投票データは、400個の集計投票数からなるデータ群となる。なお、集計期間は0.5秒に限定されるものではない。
投票データは、ゲームサーバ4に記録されており、ゲーム装置3にリプレイデータとしてダウンロードされる。ユーザがそのリプレイデータのリプレイ中に投票を行うと、その投票に基づいて集計期間毎の投票数がそれぞれカウントされ、ゲームサーバ4からダウンロードした投票データの各集計期間の集計投票数にそれぞれ集計されて、集計後の投票データがゲームサーバ4にアップロードされる。
リプレイ中は、投票データに基づいて、表示投票数が表示される(図11参照)。表示投票数は、リプレイにおける各集計期間の開始時に当該集計期間の集計投票数が加算表示(いわゆる、カウントアップ表示)される。
リプレイデータ作成時の投票データ(初期値)は、リプレイ時間(対戦処理開始から終了までの経過時間)に基づいてデータ要素の数が決定され、各データ要素の値がいずれも「0」として作成される。
人気度データは、投票データから算出されるリプレイポイントを含んでいる。リプレイポイントは、新着ボーナスポイントに投票データの各評価項目の各集計期間の集計投票数を加算することで算出される。なお、単純加算するのではなく、例えば、Excellent評価
の評価項目の集計投票数は2倍にして加算するなど、評価項目により軽重を付けて加算するようにしてもよい。また、集計投票数だけでなく、当該リプレイデータのダウンロード回数も考慮して算出するようにしてもよく、ダウンロード回数のみでリプレイポイントを算出してもよい。
リプレイデータ作成時のリプレイポイント(初期値)は、投票データの各集計期間の集計投票数がすべて「0」なので、新着ボーナスポイントとされる。当該新着ボーナスポイントは、作成されたリプレイデータが最初からランキングリスト圏外となることを防ぐために設定されるものである。新着ボーナスポイントは、リプレイランキングリストの最下位であるリプレイデータのリプレイポイントに「1」を加えて算出される。例えば、本実施形態ではリプレイランキングリスト登録可能数を1000としているので、新着ボーナスポイントは、最下位である1000位のリプレイデータのリプレイポイントに「1」を加えて算出される。当該リプレイポイントが「500」の場合、これに「1」を加えた「501」が新着ボーナスポイントとされる。なお、登録されているリプレイデータの数が、リプレイランキングリスト登録可能数より小さい場合は、新着ボーナスポイントは「0」とされる。リプレイデータ作成時のリプレイポイントを新着ボーナスポイントとすることにより、新しく作成されたリプレイデータは、リプレイランキングリストの1000位以内に入ることができる。
なお、リプレイデータ作成時に一度付与された新着ボーナスポイントが、時間経過に伴って減少するようにしてもよい。例えば、リプレイデータ作成時の新着ボーナスポイントがBPだとすると、1日経過後にはBP×0.5とし、2日経過後にはBP×0.2とし、3日経過後には「0」としてもよい。このようにすれば、作成されたときからランキングリスト外となることはなく、また、新着ボーナスポイントが大きくなりすぎることを抑制することができる。なお、新規リプレイデータをすべてランキングできるようにするなど、新着リプレイデータがランクインできる場合には、新着ボーナスポイントを設けなくてもよい。つまり、この場合、新規リプレイデータはランキングの最下位にランキングされる。
作成されたリプレイデータは、ゲームサーバ4にアップロードされ、記録される。ゲームサーバ4は、アップロードされたリプレイデータのリプレイポイントに基づいて、リプレイポイント値を作成し、当該リプレイデータに関連付けて記録する。リプレイポイント値は、リプレイポイントの更新に利用されるものであり、リプレイポイントと同様に、新着ボーナスポイントに投票データの各評価項目の各集計期間の集計投票数を加算したものである。リプレイポイント値は、ユーザの投票により増加され更新される。当該リプレイポイント値は、本発明の「評価点数情報」に対応するものである。リプレイデータ作成時のリプレイポイント値(初期値)は、アップロードされたリプレイデータのリプレイポイントと同じ値、すなわち、新着ボーナスポイントとなる。
リプレイポイントは、後述するリプレイランキング更新処理により、最新のリプレイポイント値に基づいて更新される。リプレイランキングリストは、当該更新されたリプレイポイントに基づいて更新される。当該リプレイランキング更新処理は、リプレイポイント値の作成の直後にも行われる。これにより、アップロードされたリプレイデータがリプレイランキングリストにランクインする。
なお、リプレイポイント値の作成は、ゲームサーバ4で行わなくてもよい。例えば、ゲーム装置3でリプレイポイントを作成したときにリプレイポイント値を作成して、リプレイデータとともにゲームサーバ4にアップロードするようにしてもよい。
図1に戻って、ゲーム装置3は、データ通信機能を備えたゲーム装置本体31、操作コントローラ32、ディスプレイ33及びネットワークアダプタ34を基本構成とし、必要に応じてゲームデータを保存するためのメモリカード6がゲーム装置本体31に装着される。操作コントローラ32、ディスプレイ33及びネットワークアダプタ34は、専用のケーブルによってゲーム装置本体31に接続されている。
ゲーム装置本体31には、一般的には、例えば、「Wii(登録商標)」や「プレイステーション(登録商標)」などの家庭用のゲーム専用機が用いられるが、パーソナルコンピュータ(以下、「パソコン」と略称する。)や「PlayStation Portable(登録商標)」や「Nintedo DS(登録商標)」などの携帯型ゲーム機を用いることもできる。携帯型ゲーム機を用いた場合は、モニタや操作部材が一体的に設けられているので、操作コントローラ32やディスプレイ33を必要としない。
また、本実施形態では、ゲーム装置本体31に有線によるデータ通信機能が設けられているが、携帯型ゲーム機のように無線によるデータ通信機能を備えたものであってもよい。なお、この場合は、ネットワークアダプタ34に代えて無線LAN用のルータを設ける必要がある。
操作コントローラ32は、ゲーム装置本体31にユーザ(プレイヤ)の操作情報を入力するための操作部材であり、通常は、ゲーム機専用の操作コントローラが用いられる。操作コントローラ32には、周知の十字キー321、ジョイスティック322、A,B,X,Yの4個の操作ボタン323、Rボタン324及びLボタン325が設けられている。なお、以下の説明で、A,B,X,Yの各操作ボタンを区別する必要がある場合は、Aボタン323a、Bボタン323b、Xボタン323x、Yボタン323yという。
十字キー321やジョイスティック322は、格闘ゲームを実行しているときには、プレイヤの操作するゲームキャラクタ(プレイヤキャラクタ)をゲーム空間上で移動させる方向を指定するための操作部材として機能する。また、4個の操作ボタン323やRボタン324やLボタン325は、プレイヤキャラクタに特定の攻撃や防御を行わせるための操作部材として機能する。各種のメニュー画面を用いて、格闘ゲームを実行する前の準備作業やゲームキャラクタのステータス情報を閲覧するなどの作業をするときには、十字キー321やジョイスティック322は、主としてメニュー画面に表示される項目の選択(カーソル表示の移動に相当)をするための操作部材として機能し、4個の操作ボタン323やRボタン324やLボタン325は、主として選択された項目を確定し、その項目の作業に移行させるための操作部材として機能する。また、Aボタン323a、Bボタン323b、Rボタン324は、投票を行うための操作部材としても機能する。
例えば、対戦モードは、後述するように、メニュー画面に表示される選択項目から選択される。この場合の選択操作は、十字キー321若しくはジョイスティック322によって行われ、選択の決定操作は、Aボタン323aによって行われる。また、本実施形態に係る格闘ゲームには、後述するリプレイを行なっているときに投票を行う機能がある。このときユーザは、Aボタン323a、Bボタン323b、Rボタン324によって、投票を行う。
ディスプレイ33には、一般的にテレビ受信機が用いられるが、コンピュータシステムにおけるモニタを用いることもできる。テレビ受信機を用いた場合はテレビ受信機の一対のスピーカ33a,33aが音声出力(効果音出力)に利用されるが、スピーカを有しないモニタを用いた場合には、ゲーム装置本体31に音声出力用のスピーカが外部接続される。ネットワークアダプタ34は、ゲーム装置本体31をネットワーク回線2に接続するための装置である。
ゲーム装置本体31には、制御部311、描画処理部312、音声処理部313、ディスクドライブユニット314、メモリカード接続ユニット315及びI/Oインターフェース部316などが含まれている。制御部311には描画処理部312、音声処理部313及びI/Oインターフェース部316などが接続されており、I/Oインターフェース部316には、さらにディスクドライブユニット314、メモリカード接続ユニット315、操作コントローラ32、ディスプレイ33及びネットワークアダプタ34などが接続されている。
ゲーム装置3では、ゲーム装置本体31内に装着された記録媒体5からディスクドライブユニット314によってゲームプログラム及びゲームデータがRAM311cに読み込まれ、CPU311aがそのゲームプログラムを実行することにより、プレイヤがゲームを楽しむことができる。プレイヤは、操作コントローラ32の操作ボタンなどを操作することによりゲームを進行させることができる。
なお、格闘ゲームのゲームプログラムは、複数の独立したプログラムや相互に関連付けられた複数のプログラムで構成されている。これらのプログラムには、例えば、ゲームサーバ4との回線接続を制御するためのプログラムやゲームサーバ4との間や対戦相手となった他のゲーム装置3との間のデータの送受信を制御するためのプログラムなどが含まれている。
また、例えば、対戦処理を実行するためのプログラム(対戦処理用のプログラム)には、対戦モードなどによって対戦処理が複数に分けられて作成された複数のプログラムが含まれている。対戦処理用のプログラムは、対戦モードが選択される毎にその選択された対戦モードの処理に必要な対戦処理プログラムとゲームデータが記録媒体5からRAM311cに読み込まれ(ローディングが行われ)、CPU311aがその対戦処理プログラムを実行する構成となっている。
制御部311は、ゲーム装置本体31の全体動作を制御するマイクロコンピュータを有しており、マイクロコンピュータは、CPU311a、ROM311b及びRAM311cを含み、これらの部材はバスラインで相互に接続されている。
CPU311aは、ディスクドライブユニット314によって記録媒体5からRAM311cに読み込まれるゲームプログラムを実行することよってゲーム進行を統括的に制御する。ROM311bには、上述のゲームプログラム及びゲームデータのローディング機能等のゲーム装置3の基本的な機能や記録媒体5に記録されたゲームプログラム及びゲームデータを読み出す手順等を示す基本プログラムが記憶されている。RAM311cは、ディスクドライブユニット314によって記録媒体5から読み込まれたゲームプログラムやゲームデータを格納するエリアと、CPU311aがゲームプログラムを実行するのに必要なワークエリアとを提供するものである。
CPU311aは、ディスクドライブユニット314に記録媒体5が装着されると、ROM311bの基本プログラムに従ってディスクドライブユニット314を動作させ、記録媒体5からゲームプログラム及びゲームデータをRAM311cに読み込み、ゲーム開始状態に設定する。このときのゲームプログラム及びゲームデータは、格闘ゲームに用意されている各種のゲームモードを選択させるなど、プレイヤが所望の遊び方を設定するためのもので、ここで言う「ゲーム開始状態」とは、所望の格闘ゲームを楽しむためにゲーム装置本体31に必要な準備作業をさせる状態をいう。
対戦処理では、CPU311aは、ネットワーク回線2を介して操作コントローラ32から入力されるプレイヤAの操作信号などを対戦相手であるプレイヤBのゲーム装置3Bに送信するとともに、当該ゲーム装置3BからプレイヤBの操作信号などを受信し、ネットワーク対戦用のゲームプログラムに従って両操作信号に基づく格闘処理を行う。そして、CPU311aは、その格闘処理結果に応じた三次元のゲーム進行画面を描画処理部312に作成させるとともに、効果音を音声処理部313に生成させ、ディスプレイ33に転送する。ディスプレイ33では、三次元のゲーム進行画面が表示画面にされ、効果音がスピーカ33aから出力される。
また、CPU311aは、プレイヤA自身が入力した操作信号とネットワーク回線2を介して入力されるプレイヤBの操作信号とを、操作信号が入力されたタイミングデータとともにRAM311cに格納する。この操作信号とタイミングデータからなるデータは、対戦内容をリプレイするためのキー入力データであり、リプレイデータの一部を成す。リプレイデータは、後述するアップロード処理により、ゲームサーバ4のハードディスク装置44に記録される。また、後述するダウンロード処理により、リプレイデータをRAM311cに読み込めば、対戦内容をリプレイすることができる。
また、CPU311aは、対戦処理開始からの経過時間を、対戦処理の終了まで、例えば1/60秒単位で計時している。投票データの各集計期間は、当該計時された経過時間に基づいて決定される。また、CPU311aは、リプレイ開始からの経過時間も同様に、例えば1/60秒単位で計時している。リプレイ中にユーザによって投票された投票数は、当該計時された経過時間に基づいて、集計期間毎にカウントされる。また、リプレイ中に表示される表示投票数は、当該計時される経過時間に基づいて、カウントアップ表示される。
描画処理部312は、ディスプレイ33に表示すべきゲーム画面の描画処理をするものである。描画処理部312にはVRAM(図略)が設けられており、描画処理部312は、例えば、1/60秒毎に、CPU311aから入力される描画指令に基づいて1コマ(1フレーム)のゲーム画面の画像をVRAM上に作成する。CPU311aから送信される描画指令は、例えば、対戦処理では、上述した対戦処理結果の情報であり、対戦処理ではなくプレイヤにモード選択やステータス閲覧などをさせる処理では、メニュー画面や項目を選択するための選択画面を指令する情報である。また、ダウンロードされたリプレイデータに基づいてリプレイする場合には、リプレイデータに基づいて対戦処理を行った結果の情報が描画指令となる。
描画処理部312は、CPU311aから入力される描画指令に基づいて、描画に必要な処理(例えば、攻撃の連続技などの成立の可否、攻撃/防御の有効性の判定、体力値などの変化などの演算処理も含む)を行い、その処理結果に基づいてVRAMに描画処理を行う。VRAMに描画された各コマのゲーム画面の画像は、例えば、1/60秒毎に映像信号に変換されてディスプレイ33に出力される。
音声処理部313は、スピーカ33aから出力すべき効果音やBGMなどを生成するものである。音声処理部313は、CPU311aから入力される音声生成指令に基づき、RAM311cから効果音もしくはBGMなどの音声データを読み出し、所定の加工処理とD/A変換処理とを施した後、ディスプレイ33に出力する。
ディスクドライブユニット314は、記録媒体5に記録されたゲームプログラムやゲームデータを読み出すためのユニットである。ディスクドライブユニット314は、CPU311aからのローディング指令(ローディングすべきゲームプログラムとゲームデータを指定した読出指令)に基づき、記録媒体5から指定されたゲームプログラムとゲームデータをRAM311cに読み出す。
メモリカード接続ユニット315は、ゲーム進行に関する情報をメモリカード6に書き込んだり、読み出したりするためのユニットである。CPU311aは、ゲーム進行中やゲーム終了時にプレイヤから「データのセーブ」が指令されると、メモリカード接続ユニット315を介してメモリカード6に、ゲーム進行に関する情報(この情報には、例えば、プレイヤが設定したゲームキャラクタの種類、対戦成績、獲得したポイントやアイテムなどの各種の特典などの情報が含まれる。)を記憶する。
I/Oインターフェース部316は、ディスクドライブユニット314やメモリカード接続ユニット315によって読み出されたゲームプログラムやゲームデータ、及び操作コントローラ32からの操作信号等を制御部311に伝送したり、制御部311からの映像信号やオーディオ信号等をディスプレイ33に伝送したりする。また、I/Oインターフェース部316は、ネットワーク回線2及びネットワークアダプタ34を介してゲームサーバ4や他のゲーム装置3との間でデータの伝送を行う。
ゲームサーバ4は、ネットワーク回線2に接続された1台又は複数台のコンピュータによって構成されており、各ゲーム装置3のネットワークを介しての対戦のマッチング処理と、リプレイデータの保存およびリプレイランキングの更新を行う。マッチング処理とは、ネットワークを介しての対戦を希望する多数のプレイヤに対し、各プレイヤの希望する対戦条件に合う他のプレイヤの情報を提供する処理である。マッチング処理は本発明に直接関係しないので、詳細についての説明を省略する。
ゲームサーバ4は、CPU41、ROM42、RAM43、ハードディスク装置44及びI/F(Interface)45を含んでいる。ROM42、RAM43及びI/F45は、バスライン46で接続されている。また、ハードディスク装置44は、I/F45及びバスライン46を介してCPU41に接続されている。
CPU41は、マッチング処理の他に、ゲーム装置3から送信されるリプレイデータをハードディスク装置44に記録し、ゲーム装置3からの要求に応じてリプレイデータをハードディスク装置44から読み出して当該ゲーム装置3に送信する。また、所定のタイミングで、リプレイランキングの更新を行い、ゲーム装置3からの要求に応じてリプレイランキングリストを当該ゲーム装置3に送信する。ROM42には、マッチング処理、アップロード処理、ダウンロード処理やランキング処理などのための処理プログラムや必要なデータが記憶されている。この処理プログラムには、例えば、ハードディスク装置44に記録されたデータを読み出す手順等を示す基本プログラム、各ゲーム装置3との通信を行うための通信制御プログラム、各プレイヤから提供される対戦条件に適合する他のプレイヤを検索する検索プログラム、投票データに基づいてリプレイポイントを算出するプログラム、リプレイポイントに基づいてリプレイランキングの更新を行うプログラムなどがあるなどがある。
また、RAM43は、CPU41が処理プログラムを実行するために必要なワークエリアを提供する。I/F45は、ハードディスク装置44から読み出されたデータをネットワーク回線2を介して各ゲーム装置3に送信したり、各ゲーム装置3から送信されるデータを受信し、CPU41に伝送したりするためのインターフェースである。
ネットワーク回線2は、ゲームサーバ4及び複数のゲーム装置3を相互に通信可能に接続する通信回線であり、本実施形態では、例えばインターネット回線が適用される。
次に、本実施形態に係る対戦型格闘ゲームにおける、リプレイデータのアップロード処理について、図3〜図6を参照して説明する。
本実施形態に係る格闘ゲームには、ランクマッチモード、プレイヤマッチモード、チャンピオンシップモードという、対戦方法が用意されている。ランクマッチモードは、対戦の結果によりバトルポイントが変動する対戦方法である。バトルポイントとは、プレイヤ自身の強さ(プレイスキル)のレイティングを表す点数であり、ランクマッチモードや後述するチャンピオンシップモードの対戦に勝利することにより増加し、敗退することにより減少するポイントである。プレイヤマッチモードは、バトルポイントが変動しない、練習試合に位置づけられる対戦である。
チャンピオンシップモードは、トーナメント戦による対戦方法である。なお、当該トーナメント戦は、いわゆる勝ち残りトーナメント戦とは異なり、連続勝利回数が同一である相手とのみ対戦を行ない、連続勝利回数が所定の回数に達したものが優勝者となる対戦方法である。勝ち残りトーナメント戦の場合、あらかじめトーナメント表を作成してゲームサーバ4で管理を行なう必要がある。また、トーナメント表に従って対戦が行なわれるので、下位回戦の勝敗が決まってからでないと対戦相手が決まらず上位回戦を行うことができないので時間がかかるという問題もある。一方、チャンピオンシップモードにおけるトーナメント戦の場合は、各ゲーム装置3で連続勝利回数を管理し、同じ連続勝利回数の対戦相手と対戦すればよいので、ゲームサーバ4にはトーナメント管理のための負担がかからない。また、各ゲーム装置3で対戦履歴を記録しておき、対戦時に相互に対戦履歴を交換することで、ゲーム装置3で事後的にトーナメント表を作成することもできる。
チャンピオンシップモードでは、各ゲーム装置3がプレイヤの連続勝利回数を記録しており、この連続勝利回数が同じであることを対戦相手のマッチングにおける検索条件としている。マッチングされた同じ連続勝利回数のプレイヤ同士が対戦終了時、勝者プレイヤAのゲーム装置3Aは記録されている連続勝利回数を1増加し、敗者プレイヤBのゲーム装置3Bは記録されている連続勝利回数を「0」にリセットする。
本実施形態では、チャンピオンシップモードの決勝戦(連続勝利回数が所定の回数より1回少ないプレイヤ同士の対戦)のリプレイデータのみアップロード可能としている。このように、リプレイデータのアップロードを可能とする対戦を限定することにより、ゲームサーバ4のハードディスク装置44の記憶容量を節約することができる。なお、アップロードを可能とする対戦をチャンピオンシップモードの決勝戦のみに限定しているのは一例であり、これに限られない。例えば、準決勝の対戦のリプレイデータもアップロードできるようにしてもよい。また、上記のトーナメント戦に限らず、例えば、一般的な勝ち抜きトーナメントの決勝戦などや、バトルポイントが高いプレイヤ同士の対戦などのリプレイデータをアップロードの対象としてもよい。また、所定の確率の抽選に当選した場合にアップロード可能としてもよいし、アップロードに制限を設けなくてもよい。
また、本実施形態では、チャンピオンシップモードで優勝したプレイヤ(連続勝利回数が所定の回数となったプレイヤ)にのみ、アップロードする権利を与えている。これは、敗者が、自分が負けた対戦の履歴(事実)を残さないように強制終了するなどの不正をすることにより、リプレイをアップロードできなくなることを防止するものである。なお、決勝戦の敗者ではあるが決勝まで勝ち進んだ準優勝者であるので、当該敗者にもアップロードする権利を与える様にしても構わないし、両者の合意の下アップロードをするようにしても構わない。また、アップロードできる試合を決勝戦に限定せず、アップロードする権利を与えられたプレイヤが、希望する対戦をアップロードできるようにしてもよい。決勝戦が優勝者の満足する対戦であったとは限らず、例えば第1回戦や準決勝などの方が満足のいく対戦でありユーザが見ても評価が高い対戦の場合もあるからである。
図3は、本実施形態に係る対戦型格闘ゲームのための、ゲーム装置3のCPU311aで行われるゲーム進行処理のフローチャートであり、リプレイデータのアップロード処理を説明するためのものである。
当該ゲーム進行処理は、格闘ゲームのゲームプログラムが記録された記録媒体5(例えば、DVD−ROM又はCD−ROM)がディスクドライブユニット314に装着され、プレイヤに格闘ゲームの準備作業を行わせるためのゲームプログラムがRAM311cにローディングされた後に開始される。
まず、ディスプレイ33に、メインメニュー画面が表示される(S1)。メインメニュー画面では、プレイヤAが選択できる遊技モードとして、アーケードモードとネットワーク対戦モードとが表示される。アーケードモードとは、プレイヤAの操作するゲームキャラクタをコンピュータ(当該プレイヤAの操作するゲーム装置3AのCPU311a)の制御するゲームキャラクタと対戦させる遊技モードであり、ネットワーク対戦モードとは、プレイヤAの操作するゲームキャラクタを他のプレイヤB(ネットワーク回線2を介して接続される他のゲーム装置3Bで格闘ゲームを行うプレイヤ)の操作するゲームキャラクタと対戦させる遊技モードである。なお、メインメニュー画面では、後述するプレイヤデータモードを選択することもできる。図3に示すフローチャートでは、プレイヤがネットワーク対戦モードを選択した場合を記載しており、他のモードを選択した場合については省略している。ネットワーク対戦モードが選択された場合、ディスプレイ33にネットワーク対戦メニュー画面が表示される(S2)。
図4は、ネットワーク対戦メニュー画面を説明するための図である。ネットワーク対戦メニュー画面7(以下、単に「画面7」と省略する。)には、左側に配置された対戦モードを選択するためのモードリスト表示71と、右側に配置されたプレイヤの設定した遊技条件を示すステータス表示72と、右下に配置された画面7における操作コントローラ32の操作方法を示すガイダンス表示73とが含まれている。
モードリスト表示71には複数の対戦モードなどの表示が縦に配列されている。モードリスト表示71には、ランクマッチモード、プレイヤマッチモード、チャンピオンシップモードなどの対戦モードの表示の他に、図示していないがプレイヤAの操作するゲームキャラクタ(プレイヤキャラクタ)に関するデータ(対戦履歴、対戦成績、取得したアイテム、ポイント等の特典などの各種のデータ)を閲覧するモードの表示などが含まれている。
ステータス表示72には、プレイヤAのハンドルネーム、称号、アイコンを示す項目などが含まれている。
ガイダンス表示73には、Aボタン323aを押せば、選択されている項目の処理をすることが決定され、Bボタン323bを押せば、画面7の前の状態(すなわち、メインメニュー画面)に戻り、Rボタン324を押せば、ステータス編集画面に進むことが示されている。ステータス編集画面とは、ステータス表示72の称号やアイコンの内容などを設定するための画面であるが、本発明と直接関係ないので、詳細説明を省略する。
モードリスト表示71の最上段のモード項目にはカーソル表示が行われ、そのモード項目が選択候補であることが示される。カーソル表示は、例えば、項目全体の反転表示や項目枠の強調表示である。プレイヤは操作コントローラ32の十字キー321の上方向キーと下方向キーを操作してモードリスト表示71のカーソル表示の位置を上方向又は下方向に移動させることができる。プレイヤが所望のモード項目にカーソル表示を移動させた後、Aボタン323aを押すと、そのモード項目が決定される。例えば、「チャンピオンシップモード」にカーソル表示を移動させてAボタン323aを押すと、プレイヤはチャンピオンシップモードでの対戦を行うことができる。図3に示すフローチャートでは、プレイヤがチャンピオンシップモードを選択した場合を記載しており、他のモードを選択した場合については省略している。
チャンピオンシップモードが選択されると、ディスプレイ33にセッションメニューが表示される(S3)。セッションメニューは、セッション作成及びセッション検索のためのメニューである。セッション作成は、希望する対戦相手の条件などのセッション情報をゲームサーバ4に送信してセッションを作成し、対戦相手が現れるのを待つモードである。セッション検索は、ゲームサーバ4に作成されたセッションの中から対戦相手の条件などに合うとして受信したセッション情報を見て、希望する対戦相手に対戦を申し込むモードである。なお、セッションの作成および検索については、本発明と直接関係ないので、詳細説明を省略する。
対戦相手が決定(セッション確立)すると、対戦処理が開始される(S4)。本実施形態では、対戦処理は、ゲームサーバ4を介さないゲーム装置3同士での通信(いわゆる、ピアツーピア通信)で行われるが、この通信形態に限定されるものではない。例えばゲームサーバ4を介した通信形態であってもよい。対戦処理では、操作コントローラ32から入力されるプレイヤAのキー操作信号と、ネットワーク回線2を介して入力されるプレイヤBのキー操作信号とに基づいて格闘処理が行われ、その格闘処理結果に応じたゲーム進行画面および効果音が作成されて出力される。また、プレイヤAおよびプレイヤBのキー操作信号と対戦期間におけるそのキー操作信号の入力タイミングは、キー入力データとして記録される。対戦が終了すると、当該対戦がチャンピオンシップモードの決勝戦であったか否かが判別される(S5)。当該対戦が決勝戦であったか否かは、勝者プレイヤのゲーム装置(当該対戦でプレイヤAが勝利したとすると、プレイヤAのゲーム装置3A)に記録されている連続勝利回数が所定回数となったか否かで判別される。例えば、所定回数が5回とされている場合は、今回の対戦(S4の対戦処理)で連続勝利回数が5回になっていれば当該対戦が決勝戦であったと判別され、4回以下であれば決勝戦ではなかったと判別される。決勝戦ではなかった場合(S5:NO)は、ステップS2に戻って、ネットワーク対戦メニュー(図4参照)が表示され、プレイヤに次の対戦を選択させる。なお、ステップS3に戻って、セッションメニューが表示されるようにしてもよいし、ステップS1に戻って、メインメニューが表示されるようにしてもよい。
決勝戦であった場合(S5:YES)は、プレイヤAが勝者であったか否かが判別される(S6)。敗者であった場合(S6:NO)ステップS2に戻って、ネットワーク対戦メニューが表示され、プレイヤAに次の対戦を選択させる。なお、ステップS3に戻って、セッションメニューが表示されるようにしてもよいし、ステップS1に戻って、メインメニューが表示されるようにしてもよい。
勝者であった場合(S6:YES)は、プレイヤAにリプレイデータのアップロードを行うか否かを選択させるための画面が表示される(S7)。図5は、アップロード選択画面を説明するための図である。アップロード選択画面8の画面左側には、プレイヤAが勝利したことを表す文字列とプレイヤAのプレイキャラクタの画像81が表示され、画面右側には、プレイヤAに今回の対戦のリプレイデータをアップロードする権利があることとアップロードするか否かの選択を促す表示82が表示されて、画面右下には、画面8における操作コントローラ32の操作方法を示すガイダンス表示83が表示されている。
プレイヤAがアップロードを選択しなかった場合(S7:NO)、すなわち、アップロード選択画面8(図5参照)において、Bボタン323bの押圧信号が入力された場合、ステップS2に戻って、ネットワーク対戦メニューが表示され、プレイヤAに次の対戦を選択させる。なお、ステップS3に戻って、セッションメニューが表示されるようにしてもよいし、ステップS1に戻って、メインメニューが表示されるようにしてもよい。
プレイヤAがアップロードを選択した場合(S7:YES)、すなわち、アップロード選択画面8(図5参照)において、Aボタン323aの押圧信号が入力された場合は、リプレイデータのアップロードが開始される(S8)。すなわち、CPU311aは、RAM311cに記録されたリプレイデータ(図2参照)を、ネットワーク回線2を介してゲームサーバ4に送信する。なお、図示しないが、アップロード選択処理後(S7)、勝者プレイヤAのゲーム装置3Aは記録されている連続勝利回数を「0」にリセットする。
リプレイデータは、先述したように、対戦時(S4)に記録されたキー入力データ等、対戦前にゲーム装置3Bから送信されたプレイヤBの各データ、およびゲーム装置3Aに記録されていたプレイヤAの各データを含む対戦データと、対戦後に作成される投票データ(初期値)と、リプレイポイント(初期値)を含む人気度データとを、含んでいる。アップロードが選択された場合(S7:YES)、アップロード開始(S8)前に、CPU311aは、ゲームサーバ4にリプレイランキングリストの最下位であるリプレイデータのリプレイポイントの送信要求を行う。上述したように、CPU311aは、ゲームサーバ4から送信されたリプレイランキングリストの最下位であるリプレイデータのリプレイポイントに「1」を加えて、新着ボーナスポイントを算出する。
アップロードが完了したと判別されるまで(S9:YES)待機したうえで、ステップS2に戻り、ネットワーク対戦メニューが表示され、プレイヤAに次の対戦を選択させる。なお、ステップS3に戻って、セッションメニューが表示されるようにしてもよいし、ステップS1に戻って、メインメニューが表示されるようにしてもよい。
図6は、本実施形態に係る対戦型格闘ゲームのための、ゲームサーバ4のCPU41で行われるアップロード処理のフローチャートである。チャンピオンシップモードの勝者プレイヤがアップロードを選択した場合、ゲーム装置3からゲームサーバ4に、リプレイデータが送信される。当該アップロード処理は、ゲーム装置3からリプレイデータを受信したときに開始される。
まず、受信されたリプレイデータのハンドルネームや各プレイヤに付与されているプレイヤIDなどでプレイヤを識別し、当該プレイヤのリプレイデータがすでにハードディスク装置44に記録されているか否かが判別される(S11)。なお、各ゲーム装置に付与されているゲーム装置IDやその他の情報を用いてプレイヤを識別してもよい。
当該プレイヤのリプレイデータがまだ記録されていない場合(S11:NO)は、受信されたリプレイデータがハードディスク装置44に記録され、ランキングが更新される(S12)。このとき記録されるリプレイデータの投票データおよび人気度データは、初期値(投票データは各項目各集計期間とも「0」、人気度データのリプレイポイントは新着ボーナスポイント)とされる。
また、ゲーム装置3は、リプレイデータのアップロード完了後に、ゲームサーバ4にハンドルネーム等の識別情報に対応付けたリプレイポイント値の作成要求を送信している。ゲームサーバ4は、当該要求を受信して、ハードディスク装置44に記録されたリプレイデータのリプレイポイントの値に基づいてリプレイポイント値を作成し、当該リプレイデータと関連付けてハードディスク装置44に記録する。なお、ゲーム装置3が作成要求を送信せずに、ゲームサーバ4がリプレイデータをハードディスク装置44に記録する際にリプレイポイント値の作成を行うようにしてもよい。
一方、すでに記録されている場合(S11:YES)は、ハードディスク装置44に記録されている当該プレイヤのリプレイデータが削除され、当該リプレイデータに関連付けられているリプレイポイント値も削除される(S13)。次にステップS12に進み、リプレイデータがハードディスク装置44に記録され、ランキングが更新される。ここでのランキングの更新は、S13で削除されたリプレイデータのランキングを削除させるとともに、新たにアップロードされたリプレイデータをランキングに追加(ランクイン)させることである。これにより、ハードディスク装置44に記録されているプレイヤのリプレイデータが上書きされ、そのリプレイデータがランキングされる。なお、この場合も、リプレイポイント値の作成要求の受信により、新たに記録されたリプレイデータに基づいてリプレイポイント値が作成され、当該リプレイデータと関連付けてハードディスク装置44に記録される。
このように、本実施形態において、ハードディスク装置44に記録されるリプレイデータを、1人のプレイヤに対して1件のみに限定しているのは、一部のプレイヤのリプレイデータばかりが記録されてしまうことを防ぐためである。なお、リプレイポイントはリプレイデータに含まれるので、ステップS12,13でリプレイデータが上書きされてしまうと、それまでのリプレイポイントも削除される。したがって、例えば、自分がアップロードしたリプレイデータがランキングの上位にあるプレイヤが、新規にリプレイデータのアップロードをすることを望まない場合は、アップロードを選択しなければよい(S7:NO)。また、一人のプレイヤに対して、記録できる件数を所定の件数(例えば、3件)までとしてもよい。また、アップロード可能件数の制限を設けずに、リプレイデータの記録を行うことができるようにしてもよい。
次に、本実施形態に係る対戦型格闘ゲームにおける、リプレイデータのダウンロード処理およびリプレイ処理について、図7〜図14を参照して説明する。
図7は、本実施形態に係る対戦型格闘ゲームのための、ゲーム装置3のCPU311aで行われるゲーム進行処理のフローチャートであり、リプレイデータのダウンロード処理を説明するためのものである。
ゲーム進行処理は、図3に記載のフローチャートと同様、格闘ゲームのプログラムがRAM311cにローディングされた後に開始され、ディスプレイ33に、メインメニュー画面が表示される(S21)。図7に示すフローチャートでは、ユーザがプレイヤデータモードを選択した場合を記載しており、他のモードを選択した場合については省略している。プレイヤデータモードが選択された場合、ディスプレイ33にプレイヤデータメニュー画面が表示される(S22)。
プレイヤデータメニュー画面では、ランキングモードなどのいくつかのモードを選択することができる。図7に示すフローチャートでは、ユーザがランキングモードを選択した場合を記載しており、他のモードを選択した場合については省略している。ランキングモードが選択された場合、ディスプレイ33にランキングメニュー画面が表示される(S23)。
図8は、ランキングメニュー画面を説明するための図である。ランキングメニュー画面9(以下、単に「画面9」と省略する。)には、左側に配置されたランキングを選択するためのランキングリスト表示91と、右下に配置された画面9における操作コントローラ32の操作方法を示すガイダンス表示93とが含まれている。
ランキングリスト表示91には、リプレイランキング、バトルポイントランキング、勝利回数ランキングなどの各種のランキングの表示が縦に配列されている。リプレイランキングとは、ゲームサーバ4にアップロードされたリプレイデータの、ユーザによる投票結果に基づくランキングである。バトルポイントランキングとは各プレイヤのバトルポイントに基づくランキングであり、勝利回数ランキングとは各プレイヤの勝利回数に基づくランキングである。ガイダンス表示93には、Aボタン323aを押せば、選択されている項目の処理をすることが決定され、Bボタン323bを押せば、画面9の前の状態(すなわち、プレイヤデータメニュー画面)に戻ることが示されている。図7に示すフローチャートでは、ユーザがリプレイランキングを選択した場合を記載しており、他のランキングを選択した場合については省略している。
なお、プレイヤデータメニュー画面でユーザがランキングモードを選択した場合に、ランキングメニュー画面9を表示することなく、リプレイランキング画面(後述する図9参照)を表示するようにしてもよい。この場合は、リプレイランキング画面において、各種ランキングを選択できるようにすればよい。例えば、Rボタン324とLボタン325を押圧することで各種ランキングの切り替えを行うようにすれば、ユーザは所望のランキングを選択して閲覧することができる。
リプレイランキングが選択されると、先述した、リプレイポイントに基づくランク付けによりゲームサーバ4で作成されたリプレイランキングリストのダウンロードが開始される(S24)。すなわち、ゲームサーバ4に対して送信要求信号が送信され、ゲームサーバ4からのリプレイランキングリストの受信を待つ。リプレイランキングリストは、リプレイデータのうち、勝者プレイヤのハンドルネームと国籍ID、勝者プレイヤと敗者プレイヤのアイコンID、対戦日時、およびリプレイポイントからなるデータと、リプレイポイントに基づいて決定されたランキング順位データを含んでおり、所定の順位(例えば、1位から1000位まで)のものが、昇順に並べられたものである。なお、リプレイデータの勝敗結果に基づいて、1Pプレイヤと2Pプレイヤのどちらが勝者プレイヤであるかが判断されている。リプレイランキングリストのダウンロードが完了したと判別されるまで(S25:YES)待機したのち、リプレイランキング画面が表示される(S26)。
本実施形態では、1000位までをリプレイの対象とするので、1位から1000位までのリプレイデータについてのリプレイランキングリストを作成している。しかし、ゲームサーバ4のハードディスク装置44には、1000個以上のリプレイデータが記録されており、リプレイの対象に入っていないリプレイデータ(1001位以下のもの)についてもランキングされている。例えば、2000個のリプレイデータが記録されている場合、1位から2000位までのリプレイデータがランキング圏内であり、そのうち1位から1000位までのリプレイデータのみがランキングリスト圏内であって、昇順に並べられてリプレイランキングリストが作成される。1001位から2000位まで(ランキング圏内であるがランキングリスト圏外)のリプレイデータは、後述するリプレイランキング表示において表示されない(リプレイ可能な対象とはならない)。リプレイの対象を1000位までとすることで、ユーザがリプレイデータを選択しやすくなり、ゲーム装置3に送信するリプレイランキングリストのデータ量を少なくして通信に対する負担を軽減することができる。
本実施形態では、ゲームサーバ4のハードディスク装置44に記録するリプレイデータの個数を2000個に制限しており、2001位以下(ランキング圏外)のリプレイデータを削除するようにしている。これにより、ハードディスク装置44の記録容量を節約することができ、処理の負担などを軽減することができる。また、本実施形態では、ランキング圏内であってランキングリスト圏外である1001位から2000位までのリプレイデータをハードディスク装置44から削除せずに残している。これは、新着リプレイデータ限定のランキング等を作成する場合に、ランキングリスト圏外のリプレイデータも必要となる場合があるからであり、ランキングの変動によって、一時的にランキングリスト圏外になる場合があるためである。つまり、後述のリプレイランキング(リプレイポイント)の更新が遅れることにより、一時的にランキングリスト圏外になる場合があるためである。
図9は、リプレイランキング画面を説明するための図である。リプレイランキング画面10には、画面中央に配置されたランキングリスト表示101と、画面右下に配置されたリプレイランキング画面10における操作コントローラ32の操作方法を示すガイダンス表示103とが含まれている。
ランキングリスト表示101は、ゲームサーバ4からダウンロードされたリプレイランキングリストに基づいて表示されており、図9にはランキング全体のうち1位から7位までの7件分のリプレイデータに関する情報がリスト表示(例示)されている。なお、図9においては、3位から7位までの表示は省略されている。なお、1画面(1ページ)単位で表示される件数(表示数)は画面のレイアウトのバランスから7件としているが、例えば、1件分の表示を大きくして1ページに3件をリスト表示してもよいし、1件分の表示を小さくして1ページに20件をリスト表示してもよい。
各リストには、左から順に、ランキング順位、対戦組み合わせ、対戦日、アップロード者名、国籍、リプレイポイントが表示されている。対戦組み合わせは、勝者プレイヤおよび敗者プレイヤのアイコンIDに対応したキャラクタアイコンの画像により表示されている。アップロード者名は、勝者プレイヤのハンドルネームに基づいて表示されている。国籍は、勝者プレイヤの国籍IDに対応した国籍を示す国旗の画像により表示されている。なお、これらの表示は、一例に過ぎず、対戦組み合わせをアイコンではなく称号にしてもよいし、他のデータを表示するようにしてもよい。例えば、ユーザがリプレイデータを選択するために目安となる情報を、リプレイランキングリストとしてゲームサーバ4からダウンロードし、表示すればよい。
例えば、リプレイポイントを評価項目毎に算出し、この評価項目毎のリプレイポイントも表示するようにすれば、ユーザはどの項目の評価が高いかを知ることができる。したがって、ユーザは、例えば、Humor評価の高いリプレイデータを選択することができる。
ユーザは操作コントローラ32の十字キー321の上方向キーと下方向キーを操作してランキングリスト表示101のカーソル表示の位置を上方向又は下方向に移動させることができる。例えば、1件単位でスクロールさせる場合、カーソル表示が一番下の位置に移動されて、さらに下方向キーが操作された場合は、ランキングリスト表示101が上方向にスクロールされて、次の順位の表示が表示される。逆に、カーソル表示が一番上の位置に移動されて、さらに上方向キーが操作された場合は、ランキングリスト表示101が下方向にスクロールされて、前の順位の表示が表示される。また、ページ単位でのスクロールをすることもできる。操作コントローラ32のXボタン323xが押されると次のページが表示され、Yボタン323yが押されると前のページが表示される。例えば、図9の状態でXボタン323xが押されると、8位から14位までのリストが表示される。
なお、リプレイランキング画面で表示されるランキングリストは、上述したすべてのリプレイデータのランキングリスト(いわゆる総合ランキング)に限られない。例えば、リプレイデータがゲームサーバ4にアップロードされてから所定の時間(例えば、72時間)が未経過であるリプレイデータのみのランキング(新着ランキング)や、キャラクタ別のランキングや、バトルポイントなどでクラス分けしたクラス別(例えば、上級者クラス、初級者クラスなど)のランキングなどから選択できるようにしてもよい。また、リプレイポイントを評価項目毎に算出している場合は、各評価項目のリプレイポイントに基づくランキング(例えば、Humor評価によるランキングなど)から選択できるようにしてもよ
い。なお、これらの場合は、各ランキングのリプレイランキングリストを作成しておけばよい。
リプレイランキング画面が表示された後は、閲覧が中止されるか(S27:YES)、リプレイするリプレイデータが決定される(S28:YES)まで、待機状態となる。ユーザがリプレイランキング画面10を閉じて閲覧を中止した場合(S27:YES)、すなわち、リプレイランキング画面10において、Bボタン323bの押圧信号が入力された場合、ステップS23に戻って、ランキングメニュー(図8参照)が表示される。なお、ステップS22に戻って、プレイヤデータメニューが表示されるようにしてもよいし、ステップS21に戻って、メインメニューが表示されるようにしてもよい。
リプレイするリプレイデータが決定された場合(S28:YES)、すなわち、リプレイランキング画面10(図9参照)において、Aボタン323aの押圧信号が入力された場合、選択されたリプレイデータ(カーソル表示が位置するリストが示すリプレイデータ)のダウンロードが開始される(S29)。すなわち、ゲームサーバ4に対して、選択されたリプレイデータの送信要求信号が送信され、ゲームサーバ4からのリプレイデータの受信を待つ。正式には、リプレイデータの一部(1Pプレイヤおよび2Pプレイヤの使用キャラIDおよびキー入力データと、対戦レギュレーションデータのうち画像再現に必要な対戦場所を示すデータと、各投票データなど)と、リプレイポイント値がダウンロードされる。ここでは、リプレイポイントの代わりにリプレイポイント値がダウンロードされる。本実施形態では、リプレイポイントを所定の更新処理でしか更新せず、リプレイにおけるユーザの投票に基づく更新ではリプレイポイント値を更新する構成を採用している。なお、リプレイポイントを直接更新する構成としてもよい。リプレイデータのダウンロードが完了すると(S30:YES)リプレイに必要なキャラクタデータなどのローディングが行われる(S31)。
リプレイするためには、リプレイデータに含まれる各キー入力データの他に、キャラクタデータや各ステージデータなどのゲームデータが必要とされる。したがって、リプレイデータの各使用キャラIDおよび対戦レギュレーションなどに基づいたゲームデータが、記録媒体5からRAM311cにローディングされる。
ローディングが終了すると、リプレイ処理が開始される(S32)。リプレイ処理とは、リプレイを行なって、当該リプレイがされている間にユーザによって投票された投票内容を反映させた投票データをゲームサーバ4にアップロードする処理であり、詳細については後述する。リプレイ処理が終了すると、再度リプレイするか終了するかの選択表示がされ(S33)、再リプレイが選択されると(S33:YES)ステップS32に戻り、再度リプレイ処理が開始される(S32)。この場合、ユーザは、再度リプレイを視聴して、再度投票を行うことができる。
終了が選択されると(S33:NO)、ステップS26に戻って、リプレイランキング画面10(図9参照)が表示される。なお、ステップS23に戻って、ランキングメニューが表示されるようにしてもよいし、ステップS22に戻って、プレイヤデータメニューが表示されるようにしてもよいし、ステップS21に戻って、メインメニューが表示されるようにしてもよい。
本実施形態では、同じリプレイデータを再リプレイするためにその都度ダウンロードを行わなくても済むように、再リプレイの選択により何回でもリプレイ処理(S32)を行うことができるようにしているが、これに限られない。リプレイ処理の回数を所定回数に制限してもよいし、ステップS32の後、ステップS26に戻るようにして、リプレイ処理を1回のダウンロードにつき1回だけ行うようにしてもよい。また、再リプレイの場合は、ユーザによる投票を受け付けないようにするか、投票データをアップロードしないようにして、ユーザによる投票内容のゲームサーバ4への反映を1度だけに限定してもよい。また、本実施形態では、再リプレイの場合でも、ユーザが1回のリプレイ中に投票できる投票数(以下、「投票可能数」とする。)は変更されないが、これに限られない。例えば、再リプレイの場合は、投票可能数を、前回までのリプレイ時に行った投票数が減少されたものとしてもよい。すなわち、リプレイ回数を制限しないが、全てのリプレイでの投票数を合計して所定の投票数となるように、投票可能数を制限するようにしてもよい。
図10は、本実施形態に係る対戦型格闘ゲームのための、ゲーム装置3のCPU311aで行われるリプレイ処理のフローチャートである。
まず、ダウンロードされたリプレイデータの各キー入力データおよびローディングされたゲームデータなどに基づいて、リプレイされる(S41)。本実施形態では、リプレイ中に、当該リプレイデータに対して、過去にされた投票内容を再現するとともに、ユーザによる投票を受け付けている。
図11は、リプレイ中のリプレイ画面を説明するための図である。リプレイ画面11には、図7のS29でゲームサーバ4からダウンロードしたリプレイデータの対戦データに基づいてリプレイされている画像が表示されている。また、画面中央には3つの投票アイコン111a,111b,111cが表示され、各投票アイコンの上側に、各投票アイコンについての投票数(表示投票数)が表示され、下側にユーザの投票可能残数を示す投票残数111dが表示されている。また、画面右下には、リプレイ画面11における操作コントローラ32の操作方法を示すガイダンス表示113が表示されている。
投票アイコン111a,111b,111cは、それぞれ、Humor評価、Excellent評価、Beautiful評価を表すものであり、各投票アイコン111a,111b,111cの上側に、各評価についての表示投票数が表示されている。
投票アイコン111a,111b,111cの上側に表示されている表示投票数は、投票データに含まれる投票タイミングに基づいてリプレイ画像の進行に合わせてカウントアップ表示される。したがって、どの評価がどのタイミングでどれだけ増加したのかが、直感的(視覚的)にわかるようになっている。つまり、リプレイ中において、過去に他のユーザがどの場面で評価したのかが容易にわかる。また、後述するように、表示投票数のカウントアップ表示は、投票データにリプレイを視聴しているユーザが投票した内容を加算させてカウントアップ表示させることができる。つまり、リプレイ中、視聴しているユーザが投票(評価)した内容も表示投票数の表示に反映される。
投票残数111dは、ユーザがリプレイ中に投票できる残りの投票数を示すものであり、初期値は投票可能数である。ユーザには、投票可能数として、リプレイ開始時に所定数(例えば、100票)が与えられる。ユーザはリプレイを視聴して、「おもしろい」、「すばらしい」、「美しい」などと感じたときに、それぞれHumor評価、Excellent評価、Beautiful評価に投票することができる。投票残数111dは投票が行われる毎に減少して(カウントダウン)表示される。なお、本実施形態では、投票可能数を合計で100票としているが、項目ごとに投票可能数を設定してもよい。また、投票可能数を何票にするかは、適宜設定すればよい。
ガイダンス表示113には、Aボタン323a、Bボタン323b、Rボタン324を押せば、それぞれ、Humor評価、Excellent評価、Beautiful評価に投票できることが示されている。
図12は、集計期間毎に記録した投票データに基づく集計投票数について説明するための図である。同図(a)は、Humor評価の評価項目の投票データを示すものであり、図7のS29の処理により、ゲームサーバ4からダウンロードされてゲーム装置3のRAM311cに記録されているものである。当該投票データは、各集計期間(0.5秒単位)の集計投票数をデータ要素とするデータ群である。同図によると、集計期間3(リプレイ開始から1秒〜1.5秒の期間に該当する)の集計投票数は「1」である。同様に、集計期間4,5,6の集計投票数はそれぞれ「2」,「1」,「1」となっている。
リプレイを視聴しているユーザが投票を行わなかった場合は、同図(a)の投票データの集計投票数のみを表示投票数として表示する。そして、その表示投票数はカウントアップ表示される。すなわち、投票アイコン111aの上側の表示投票数は、リプレイ開始から1秒経過前までは「0」であり、1秒経過時に「1」にカウントアップ表示される。同様に、1.5秒経過時に「1」から「3」までカウントアップ表示され、2秒経過時に「3」から「4」までカウントアップ表示され、2.5秒経過時に「4」から「5」までカウントアップ表示される。
本実施形態では、リプレイ時に、ユーザがリプレイを視聴しながら、例えば「おもしろい」などと感じたときに、そのタイミングで、その感じた度合いに応じた頻度(より強く感じた場合は短時間に多く押圧するなど)でAボタン323a(Humor評価)を押すことにより、その感じた度合いが反映された投票数に基づいて、表示投票数がリプレイの進行に合わせてカウントアップ表示される。つまり、投票データの表示投票数のカウントアップ表示に、自分が投票した投票数分を即座に加算表示させることができる。これにより、ユーザは他のユーザが投票をした評価に、自分の評価を追加表示できるので、他のユーザとリプレイされた対戦内容(ゲーム内容)に対する評価を共感することができる。
例えば、リプレイを視聴しているユーザが、図12(a)の集計期間5および集計期間7のタイミングでHumor評価を1票ずつ投票したとする。この場合、ユーザが投票を行った(Aボタン323aを押圧した)タイミングで、カウントアップ表示される。すなわち、投票アイコン111aの上側の表示投票数は、リプレイ開始から2秒経過時に「4」までカウントアップ表示されるが、集計期間5ではユーザによって1票投票がされているのでそのタイミングで「4」から「5」までカウントアップ表示される。そして、2.5秒経過時に「5」から「6」までカウントアップ表示され、集計期間7ではユーザによって1票投票がされているのでそのタイミングで「6」から「7」までカウントアップ表示されることとなる。
なお、各集計期間は0.5秒に限らず、それより短くても長くてもよい。また、各集計期間に受け付ける投票数を制限(例えば、ユーザの投票回数に関わらず各集計期間内に1票のみしか受け付けない)してもよい。また、リプレイを集計期間ごとに区切る構成に限定されず、投票のタイミングを記録してリプレイ時に当該タイミングに基づいて表示できる構成であればよい。例えば、リプレイ開始からの時間を計時し、投票(操作ボタン押圧)されたときの経過時間に関連付けて投票内容を記録する構成であってもよい。また、Humor評価についてのみ例示して説明したが、Excellent評価、Beautiful評価についても同様である。以下の説明についても、Humor評価についてのみ例示して説明するが、他の評価項目についても同様である。
また、ボタンの押圧に基づいてユーザが行った投票内容を示す同図(b)のデータ群が、RAM311cに記録される。このデータ群は、最新の投票データに加算されてサーバにアップロードされる。詳細は後述する。なお、後述するように、本実施形態では投票データをアップロードする直前に再度投票データ(集計投票数)のダウンロードを行うので、この再度ダウンロードされた投票データ(集計投票数)にリプレイを視聴しているユーザの投票数が反映されたものがアップロードされる。
同図(b)は、ユーザが投票を行ったHumor評価の評価項目の投票内容を示すものであり、ユーザによるAボタン323aの押圧に基づいて作成されてRAM311cに記録されているもの(以下、「投票内容データ」とする。)である。この投票内容データは、各集計期間(0.5秒単位)のユーザによる投票数をデータ要素とするデータ群である。当該投票数は、各集計期間の間(0.5秒)にAボタン323aが押された回数を示している。例えば、リプレイ中のある集計期間にユーザがAボタン323aを3回押した場合は、当該集計期間の投票数は「3」となる。Aボタン323aが押圧されなかった集計期間の投票数は「0」となる。同図(b)は、ユーザが集計期間5(リプレイ開始から2秒〜2.5秒の期間に該当する)に1票投票し、集計期間7(リプレイ開始から3秒〜3.5秒の期間に該当する)に1票投票した場合の投票内容データを示している。
図10に戻り、リプレイが終了すると、ユーザによって評価項目が入力(投票)されたか否かが判別される(S42)。当該判別は、RAM311cに記録されている各評価項目の投票内容データ(図12(b)参照)に基づいて行なわれる。すなわち、すべての評価項目の投票内容データの集計期間の投票数が「0」の場合、投票がなかったと判別され、いずれかの集計期間の投票数が「0」以外の場合、投票があったと判別される。評価項目が入力(投票)された場合(S42:YES)、投票データおよびリプレイポイント値のダウンロードが開始される(S43)。すなわち、ゲームサーバ4に対して、該当する投票データおよびリプレイポイント値の送信要求信号が送信され、ゲームサーバ4からの投票データおよびリプレイポイント値の受信を待つ。なお、評価項目が入力(投票)された場合(S42:YES)にすぐにダウンロードを開始せずに、投票入力をゲームサーバ4に反映させるかどうか(アップロードするかどうか)を選択させ、ユーザが反映させることを選択した場合にダウンロードを開始するようにしてもよい。ユーザが反映させないことを選択した場合、当該リプレイ処理を終了するようにしてもよいし、ステップS41に戻って、再度リプレイ再生および投票を受け付けるようにしてもよい。
投票データおよびリプレイポイント値のダウンロードが完了すると(S44:YES)、投票集計が行われる(S45)。投票集計では、投票データの集計とリプレイポイント値の集計とが行なわれる。投票データの集計では、ステップS43の処理によりダウンロードされた投票データに、ステップS41の処理時に作成された投票内容データが集計される。
図13は、投票データの集計を説明するための図である。同図(a)は、Humor評価の評価項目の投票データを示すものであり、図10のステップS43の処理により、ゲームサーバ4からダウンロードされてゲーム装置3のRAM311cに記録されているものである。図7のステップS29の処理によりダウンロードされて記録されていた投票データ(図12(a)参照)は、この再度ダウンロードされた投票データ(図13(a)参照)によって上書きされる。図13(a)に示す投票データは再ダウンロード時の投票データであり、図12(a)に示す投票データと同様のものであるが、集計期間4,5,6の集計投票数が異なっている。これは、図7のステップS29の処理によるダウンロード時と、図10のステップS43の処理によるダウンロード時とで、ゲームサーバ4に記録されている投票データが変更されている場合の例である。図13(b)に示す投票データは、同図(a)に示す投票データに、図12(b)に示す投票内容データを集計して作成された集計後のHumor評価の評価項目の投票データである。
投票データの集計は、ダウンロードされた投票データの各集計期間の集計投票数に、投票内容データの同一の集計期間の投票数をそれぞれ加算することで行なわれる。同図(b)に示すように、集計期間5の集計投票数は、同図(a)に示す投票データの集計期間5の集計投票数である「3」に図12(b)に示す投票内容データの集計期間5の投票数である「1」を加算した「4」になる。同様に、各集計期間の集計投票数は、同図(a)に示す投票データの同一の集計期間の集計投票数に、図12(b)に示す投票内容データの同一の集計期間の投票数をそれぞれ加算した値となっている。投票データの集計により、RAM311cに記録されている投票データ(同図(a)参照)は、作成された集計後の投票データ(同図(b)参照)に更新される。また、Humor評価についてのみ例示して説明したが、Excellent評価、Beautiful評価についても同様である。以下の説明についても、Humor評価についてのみ例示して説明するが、他の評価項目についても同様である。
ここで、投票集計を行う前に再度(2回目の)投票データのダウンロードを行うのは、再度ダウンロードしない場合、リプレイ開始前にダウンロードされた(図7:S29)時点のゲームサーバ4に記録されている投票データをアップロードするまで(S46)の間に他のユーザの投票データのアップロードによって変更された投票データが上書きされてしまう可能性があるからである。つまり、これにより上書きによるデータ損失の機会を軽減するためである。
図14は、リプレイ開始前にダウンロードされた投票データと、アップロード時点でゲームサーバ4に記録されている投票データとが異なることで起こる上書きによるデータ損失を具体的に説明するための図である。同図(a)において、ゲームサーバ4に記録されているあるリプレイデータの投票データをVとしている。ゲーム装置3Aが当該リプレイデータをダウンロードして、リプレイ中の投票により投票データがV+Vaになると、ゲーム装置3Aによりアップロードされることによってゲームサーバ4に記録された投票データはVからV’=V+Vaに変化する。一方、ゲーム装置3Aでのリプレイ中に、ゲームサーバ4に記録された投票データVが変化していない状態でゲーム装置3Bが当該リプレイデータをダウンロードして、リプレイ中の投票により投票データがV+Vbになったとする。この場合、ゲーム装置3Bによりアップロードされることによってゲームサーバ4に記録された投票データはV’からV”=V+Vbに変化する。すなわち、ゲームサーバ4では、ゲーム装置3Aによって投票データVがV’(ユーザAの投票内容のみの反映データ)に更新されたにも関わらず、ゲーム装置3Bによってその投票データV’がV”(ユーザBの投票内容のみの反映データ)に上書きされ、ゲーム装置3Aでの投票内容Va(ユーザAの投票内容)が反映されないこととなる。
この不都合を解消するために、本実施形態では、投票集計を行う前に再度投票データのダウンロードを行っている。同図(b)では、投票集計を行う前に再度投票データのダウンロード(同図における破線矢印)を行っている。これにより、ゲーム装置3Aでの投票内容Vaが反映された投票データV’(=V+Va)がゲーム装置3Bにダウンロードされ、ゲーム装置3Bでの投票内容Vbが反映されて、投票データはV’+Vbとなる。この場合、ゲーム装置3Bによりアップロードされた投票データは、V”=V’+Vb=V+Va+Vbとなり、ゲーム装置3Aでの投票内容Vaが反映されたものとなる。なお、ステップS43、S44を省略して、2回目のダウンロードを行わないようにしてもよい。
また、ゲーム装置3からはユーザが行った投票内容を示す投票データだけをアップロードし、ゲームサーバ4で投票集計を行うシステムであれば、投票データのダウンロードを2回行なう必要はない。
投票集計(S45)では、リプレイポイント値の集計も行なわれる。リプレイポイント値の集計は、ステップS43の処理でダウンロードされRAM311cに記録されたリプレイポイント値に、ステップS41の処理時に作成された投票内容データ(図12(b)参照)の各集計期間の投票数の合計値を加算することで行なわれる。投票集計が完了すると、投票データおよびリプレイポイント値のアップロードが開始される(S46)。すなわち、CPU311aは、RAM311cに記録されている更新された投票データおよびリプレイポイント値を、ネットワーク回線2を介してゲームサーバ4に送信する。アップロードが完了すると(S47:YES)、当該リプレイ処理は終了される。
なお、図7のステップS33で再リプレイが選択された場合、再度リプレイ処理が行われる(S32)。このときのリプレイ(図10:S41)中にリプレイ画面11(図11参照)に表示される投票アイコン111a,111b,111cの上側に表示される表示投票数は、再リプレイ前のリプレイ処理で投票集計(図10:S45)により更新された投票データに基づいてカウントアップ表示される。すなわち、前のリプレイ時にユーザが行なった投票内容も反映された表示となる。
なお、リプレイは、主に対峙演出画面、対戦画面、KO演出画面によって構成されている。対峙演出画面は、両プレイヤのキャラクタが対峙している映像を表示する画面であり、リプレイ開始から対戦画面が開始するまでの数秒の間の演出をする画面である。本実施形態では、対峙演出画面での投票を受け付けていない。対戦画面は、対戦が開始されてから対戦の決着が付いた瞬間までの映像を表示する画面であり、ユーザはこの映像を視聴しながら投票を行う。KO演出画面は、対戦の決着が付いた後の数秒間、KOシーンを演出した映像を表示する画面である。本実施形態では、ユーザがKO後の余韻が残る間にも投票できるように、KO演出画面での投票も受け付けている。また、総評としての投票も受け付けることができる。なお、KO演出画面での投票を受け付けないようにしてもよく、対峙画面での投票を受け付けるようにしてもよい。
また、通常、チャンピオンシップモードでの対戦は3ラウンド(一方が2ラウンド連続で勝利した場合は2ラウンドのみ)なので、チャンピオンシップモードでの対戦のリプレイは、対峙演出画面、対戦画面、KO演出画面で構成されたラウンドが3回繰り返される構成となっている。ゲーム装置3は、リプレイ開始(1ラウンドの開始)からリプレイ終了(3ラウンドの終了)まで経過時間を計時しており、当該計時された経過時間に基づいて集計期間ごとの投票数をカウントしている。リプレイ開始から終了までのユーザによる投票内容(集計期間毎の投票数)が、投票内容データ(図12(b)参照)となり、ゲームサーバ4からダウンロードされた投票データ(図13(a)参照)に加算される。なお、本実施形態では、投票を受け付けない期間(対峙演出画面)に対応する集計期間の投票数を「0」として投票内容データおよび投票データを作成して、投票データをアップロードしているが、これに限られない。例えば、作成された投票データのうち投票を受け付けない期間に対応する集計期間のデータはアップロードしないようにしてもよい。また、投票を受け付けない期間は、計時を行わないようにして、投票内容データおよび投票データを作成するようにしてもよい。
次に、本実施形態に係る対戦型格闘ゲームにおける、リプレイランキングの更新処理について、図15を参照して説明する。
図15は、プレイヤが本実施形態に係る対戦型格闘ゲームをした時に、ゲームサーバ4のCPU41で行われるリプレイランキング更新処理のフローチャートである。リプレイランキングリストは、先述したように、ユーザがリプレイデータを選択するために、ユーザの評価に基づくリプレイデータのランキングをゲーム装置3に表示させるために作成されたリストである。リプレイランキングは、所定のタイミング(ゲーム装置3からのリプレイランキング更新要求によるタイミング)で更新される。
ゲームサーバ4は、ゲーム装置3からのリプレイランキング更新要求またはリプレイランキングリスト送信要求を監視し(S51〜S52のループ)、要求がある毎に、以下に説明する各応答処理を行う。
すなわち、ネットワーク回線2に接続されている多数のゲーム装置3のうちリプレイデータをアップロードしたゲーム装置3(プレイヤ)から、リプレイランキング更新要求を受信して、更新要求があったと判別されると(S51:YES)、当該ゲーム装置3が作成した当該プレイヤのリプレイデータがリプレイデータに含まれるハンドルネームなどの固有情報を用いてハードディスク装置44から検索される(S53)。リプレイデータが検索できた場合(S53:YES)、当該リプレイデータに関連付けられているリプレイポイント値が当該ゲーム装置3に送信される(S54)。リプレイポイント値は、先述したように、リプレイを視聴したユーザによる最新の投票内容(集計投票数)を反映した最新の人気度を表している。その後、当該ゲーム装置3からリプレイポイントの更新要求が受信されるまで待機する(S55)。各ゲーム装置3では、ゲームサーバ4からリプレイポイント値を受信した場合に、当該リプレイポイントの更新要求をゲームサーバ4に送信するプログラムが実行される。
リプレイポイントの更新要求が受信された場合(S55:YES)は、ハードディスク装置44に記録されているリプレイポイントを更新して、リプレイランキングの更新を行う(S56)。リプレイポイントの更新要求では、ゲームサーバ4から送信された(S54)リプレイポイント値が、ゲーム装置3から送信される。ハードディスク装置44に記録されているリプレイポイントは、当該送信されたリプレイポイント値に更新される。
ステップS53において、リプレイデータが検索できなかった場合(S53:NO)、すなわち、当該ゲーム装置3のプレイヤが作成したリプレイデータが、ハードディスク装置44に存在しない場合は、リプレイランキングの更新を行うことなく、ステップS51に戻る。
このように、本実施形態では、リプレイデータがゲームサーバ4に記録されているプレイヤからの更新要求に応じて、リプレイランキングの更新を行っている。これは、各ゲーム装置3で投票が行われるたびにリプレイランキングの更新を行うと、ゲームサーバ4の処理負担が大きなものとなってしまうからであり、リプレイランキングの更新のタイミングを所定のタイミングに限定するためである。本実施形態では、各ゲーム装置3で行われた投票を反映させて最新の内容に更新するためのリプレイポイント値をリプレイポイントとは別に設け、所定のタイミング(リプレイデータがゲームサーバ4に記録されているプレイヤ(ゲーム装置3)からの更新要求)でリプレイポイントの値をリプレイポイント値に更新して、リプレイランキングの更新を行うようにしている。なお、ステップS51,S53〜S56のリプレイランキングの更新処理をせず、各ゲーム装置3からの投票データのアップロードのたびに、リプレイランキングの更新を行うようにしてもよい。
例えば、各ゲーム装置3がユーザにより入力された投票内容データのみをゲームサーバ4に送信し、ゲームサーバ4が記録しているリプレイポイントに受信した投票内容データの各集計期間の投票数を加算することでリプレイポイントを更新するようにしてもよい。この場合は、投票内容データが本発明の「評価点数情報」に対応する。この場合、リプレイポイント値を設けなくてもよい。なお、この場合でもリプレイポイント値を設けて、各ゲーム装置3での投票内容の反映をリプレイポイント値に行うようにして、リプレイポイントの更新はリプレイデータをアップロードしたゲーム装置3からの更新要求に基づくようにしてもよい。また、ゲーム装置3が、ダウンロードしたリプレイポイントをユーザの投票内容に応じて更新し、更新されたリプレイポイントをゲームサーバに送信し、ゲームサーバ4が受信したリプレイポイントで記録されているリプレイポイントを更新するようにしてもよい。この場合は、リプレイポイントが本発明の「評価点数情報」に対応する。この場合、リプレイポイント値を設けなくてもよい。
なお、本実施形態において、各ゲーム装置3がリプレイランキングの更新要求を行う所定のタイミングは、対戦処理中(図3のS4参照)のローディング中、つまりプレイヤの操作入力を受け付けない期間(ネットワーク対戦の対峙画面の表示中など)としている。これは、ゲーム装置3のCPU311aの処理負担が少ない期間に行うことが望ましいからであり、他のタイミングで更新要求を行うようにしてもよい。また、リプレイランキングの更新は、ゲーム装置3からの更新要求によるものに限定されない。ゲームサーバ4が周期的に更新を行うようにしてもよい。
また、ランキングをユーザによる投票内容だけでなく、リプレイデータのダウンロード回数(送信要求の回数)も考慮して行うようにする場合、リプレイポイントにダウンロード回数に基づく値を加算して更新するようにすればよい。例えば、前回の更新時からのダウンロード回数をカウントしておき、ゲーム装置3から受信(S55)したリプレイポイント値に当該カウント数またはこれと所定の値(以下、「リクエストポイント」とする。)との積を加算した値をリプレイポイント値とし、当該リプレイポイント値でリプレイポイントを更新するようにすればよい。例えば、前回の更新からのダウンロード回数が10回であり、リクエストポイントが「10」の場合、リプレイポイント値が1000であれば1100(=1000+10×10)に更新され、リクエストポイントも1100に更新される。リプレイデータがゲーム装置3にダウンロードされた場合、ダウンロード回数がカウントされ、リプレイポイント値は投票内容のみに基づいて更新される。なお、リプレイデータのダウンロードの度に、リプレイポイント値にリクエストポイントを加算するようにしてもよい。
ネットワーク回線2に接続されている多数のゲーム装置3のいずれかから、リプレイランキングリスト送信要求を受信して、送信要求があったと判別されると(S52:YES)、当該ゲーム装置3にリプレイランキングリストが送信され(S57)、ステップS51に戻る。リプレイランキングリストを受信したゲーム装置3(リプレイランキングリスト送信要求をおこなったゲーム装置3)は、当該リプレイランキングリストに基づいて、ディスプレイ33にリプレイランキングを表示する(図9参照)。
次に、オンラインゲームシステム1の作用について説明する。
本実施形態においては、リプレイデータをリプレイして視聴したユーザにより投票がされ、投票結果が集計されて各リプレイデータのランキングが決定される。当該ランキングは、ゲームの得点などのように、ゲーム製作時点であらかじめ設定された要素でランキングされたものではなく、各ユーザが実際に視聴して行った評価によるものである。したがって、ユーザが視聴するリプレイデータを選択するに当たり、当該ランキングを参考とすることができるので、ユーザは、他のユーザがよかったと評価したリプレイを見ることができる。
なお、上記実施形態では、投票データから算出されるリプレイポイントに基づいてリプレイランキングリストを作成する場合について説明したが、各リプレイデータの送信要求回数が多い順でリプレイランキングリストを作成するようにしてもよい。この場合、リプレイデータの送信要求が、本発明の「評価情報」に対応するものとなる。これを実現するためには、例えばゲームサーバ4にリプレイデータ毎に送信要求回数をカウントするためのカウンタを設け、ゲーム装置3からのリプレイデータ送信要求ごとに該当するリプレイデータのカウンタを増加させ、リプレイポイントに代えてカウンタのカウント数値に基づいてリプレイランキングリストの更新を行うようにすればよい。
この場合、より多くのユーザが視聴を希望したリプレイデータが上位となるようなランキングが作成される。したがって、ユーザが視聴するリプレイデータを選択するに当たり、当該ランキングを参考とすることができるので、ユーザは、ユーザの視聴希望が多いリプレイを見ることができる。
また、上記実施形態では、ランキング圏内ではあるがランキングリスト圏外である1001位から2000位までのリプレイデータをハードディスク装置44から削除せずに残しているが、ランキングリスト圏外(1001位以下)になったリプレイデータをハードディスク装置44から削除するようにしてもよい。この場合、ハードディスク装置44の記録容量をさらに節約することができる。
上記実施形態では、リプレイ画面11(図11参照)で、表示投票数のカウントアップ表示によりユーザによるリプレイデータの評価を表示する場合について説明したが、これに限られない。例えば、ゲーム装置3にキーボードなどの文字入力装置がある場合、操作ボタンの押圧で投票数を変更する代わりにコメントを入力できるようにして、投票データの代わりにコメントデータを記録し、リプレイ時に当該記録されたコメントデータを表示するようにしてもよい。この場合、投票のための評価項目に束縛されることなく、自由なコメントを入力することができる。また、コメントの表示タイミングをそのコメントが入力されたタイミングと合わせるようにすれば、コメント入力者がコメント内容を感じたタイミングで当該コメントが表示される。したがって、ユーザは、コメント入力者と一緒にリプレイを見て、コメント入力者の意見をリアルタイムで聞いているかのように感じることができる。なお、リプレイポイントは、コメントの入力回数や入力文字数などに基づいて算出すればよい。また、投票入力と文字入力の両方ができるようにしてもよい。
また、表示投票数のカウントアップ表示の代わりに、投票数に応じた所定の画像を表示するようにしてもよいし、投票数に応じた音(効果音など)で表現してもよい。また、表示投票数のカウントアップに合わせて、音がなるようにしてもよい。
上記実施形態では、ゲームサーバ4でリプレイランキングリストを作成してゲーム装置3に送信する場合について説明したが、これに限られず、ゲーム装置3でリプレイランキングリストを作成するようにしてもよい。この場合、ゲームサーバ4は、ゲーム装置3からの要求に応じて、リプレイランキングリストを作成するためのデータをゲーム装置3に送信するようにすればよい。リプレイランキングリストを作成するためのデータとは、リプレイランキング画面10(図9参照)のランキングリスト表示101に表示するために必要なデータのうち、勝者プレイヤのハンドルネームと国籍ID、勝者プレイヤと敗者プレイヤのアイコンID、および対戦日時(以上が本発明の「特定情報」に対応する。)と、リプレイポイント(本発明の「評価情報に基づく情報」に対応する。)などである。また、ゲームサーバ4は、登録されているすべて(例えば、2000個)のリプレイデータについての各データを、ゲーム装置3に送信する。ゲーム装置3は、受信したリプレイデータについての各データをリプレイポイントに基づいてランキングし、ランキングリスト圏内(例えば、1位から1000位)のリプレイデータについてリプレイランキングリストを作成して表示すればよい。
上記実施形態では、リプレイランキングリストを表示してユーザにリプレイするリプレイデータを選択させるようにしているが、ユーザが投票により評価してランキングを行うことができればよいので、リプレイランキングリストから選択することに限られない。例えば、ランキングされたリプレイデータのうちランダムにピックアップされたものから選択させるようにしてもよいし、アップロードされた日付から選択できるようにしてもよいし、新着リストから選択させるようにしてもよい。
上記実施形態では、ゲームサーバ4がリプレイデータの保存などの限られた処理のみを行い、各ゲーム装置3が各種の処理を行う場合について説明したが、この限りでない。各処理をゲームサーバ4と各ゲーム装置3とでどのように負担するかは、適宜設計すればよい。例えば、ゲーム装置3をキー操作信号を入力するだけの操作端末として、ゲームの進行処理なども含めて全ての処理をゲームサーバ4で行うようにしてもよい。この場合は、ゲーム装置3から入力された投票数を反映させた表示投票数の画像と表示すべき1フレームの画像(ゲーム内容)とをゲームサーバ4で合成し、この画像をゲーム装置3に送信するようにすれば、ユーザの投票内容を反映させて画像を表示させることができる。
また、ゲームサーバ4がゲーム機能やリプレイ機能を有するゲーム装置であってもよい。また、ゲームサーバ4とは別に設けたデータベースサーバに、リプレイデータを保存するようにしてもよい。
上記実施形態では、ゲームサーバ4に接続されたゲーム装置3で、オンライン対戦を行なう場合について説明したが、これに限られない。リプレイデータのアップロードやダウンロードはゲームサーバ4との接続が必要であるが、ゲームサーバ4にアップロードするリプレイデータは、オンライン対戦によるものに限定されず、ゲーム装置3で行なわれたオフライン対戦(ゲーム装置3のCPU311aとの対戦)によるものであっても構わない。この場合、連続して10人のキャラクタに勝利した場合や、所定のボスキャラに勝利した場合などに、リプレイデータをアップロードできるように限定すればよい。
上記実施形態では、1人対1人の対戦型格闘ゲームを例に説明したが、これに限られず、複数人対複数人の対戦格闘ゲームでもよい。この場合、勝利したチームの少なくとも一人のプレイヤ(例えば、セッションを作成したホストプレイヤなど)の選択により、リプレイデータをアップロードするようにすればよい。
また、格闘ゲームに限られず、将棋や囲碁などの対戦ゲームにおいても本発明を適用することができる。これらの対戦ゲームにおいても、リプレイを見たいという需要があり、人気投票でランキングする意味がある。また、例えば、野球やサッカーなどのスポーツゲームにおいても、すばらしいプレーができた場合(例えば、トリプルプレーや芸術的シュートなど)には、公開したいという需要とそれを鑑賞したいという需要があり、本発明を適用することができる。また、対戦ゲーム以外のジャンルのゲームにおいても、リプレイを見たいという需要があり、人気投票でランキングする意味があるものには全て適用できる。例えば、アクションゲームにおいては、ステージを速いタイムでクリアした場合や高得点を取った場合のプレイヤの操作方法(どのタイミングでジャンプするとか、どのルートを進ませるかなど)を見たい、参考にしたいという需要がある。
また、例えば、「モンスターハンター(登録商標)」のような、複数のプレイヤの操作するキャラクタ若しくはCPUの制御するキャラクタがチームを組んで協同して同一のクエスト(ゲームの目的)を達成するようなゲームにも適用することができる。この場合、複数のプレイヤのうち少なくとも一人のプレイヤ(例えば、セッションを作成したホストプレイヤなど)の選択により、リプレイデータをアップロードするようにすればよい。なお、これらの格闘ゲーム以外のゲームにおいてもオフラインでゲームを行うことができるので、オフラインで行ったゲーム内容のリプレイデータをアップロードできるようしても構わない。
上記実施形態では、家庭用のゲーム装置について説明したが、ネットワーク回線を介してゲームサーバに接続されたアーケードゲーム機にも適用することができる。
なお、リプレイランキング画面10(図9参照)で表示されるランキングリスト表示101の表示項目は限定されない。例えば、集計投票数の変化を表すグラフ(リプレイデータの投票データの各集計期間における集計投票数を表示したものや、集計投票数の累計を表示したもの)を表示するようにしてもよい。ランキングリスト表示101でこれらのグラフが表示されると、どのタイミングで投票が増加したかを参照することができ、ユーザがリプレイデータを選択する際の目安とすることができる。なお、この表示をする場合は、リプレイランキングリストに投票データを含める必要がある。また、リプレイランキング画面で表示する代わりに、リプレイ処理の前のローディング時(図7のステップS31参照)に表示するようにしてもよい。この場合、ダウンロード時(図7のステップS29参照)にダウンロードされたリプレイデータに投票データが含まれているので、これを利用して表示すればよい。これにより、ユーザは、これからリプレイされるリプレイデータのどのタイミングで投票が増加したかを視聴前に参照することができる。
なお、ゲーム装置3で作成されるリプレイデータの内容は限定されない。例えば、ゲーム内容を再現するために記録されるデータは、キー入力データに限定されない。キー入力データに代えて画像データを記録するようにしてもよい。また、投票データは、図12(a)に例示した構造(各集計期間とそれに対応する集計投票数からなるデータ構造)に限られず、集計投票数のみを時系列に並べたデータ(例えば、0012110・・・)としてもよい。また、リプレイデータをゲーム装置3ではなく、ゲームサーバ4で作成するようにしてもよい。
本発明に係るゲームシステムは、上述した実施形態に限定されるものではない。本発明に係るゲームシステムの各部の具体的な構成は、種々に設計変更自在である。