本発明の一実施の形態に係るネットワークゲームシステムについて、図面を参照し、以下に説明する。
〔ネットワークゲームシステムの全体構成〕
図1は、本ネットワークゲームシステム100の全体構成を示す図である。
図1に示すように、本実施の形態に係る通信対戦型のネットワークゲームを実行可能なネットワークゲームシステム100は、サーバ装置103と、当該サーバ装置103と通信可能に接続される端末装置Aおよび端末装置Bを含む複数の端末装置とを備えている。これらの装置(サーバ装置103および複数の端末装置)は、通信ネットワークとしてのインターネット104を介して接続されている。
なお、ネットワークゲームシステム100内には複数の端末装置が存在するが、各端末装置の基本構成は同一であり、以下、端末装置Aおよび端末装置B(必要に応じてこれらをまとめて「端末装置A・B」と記載することがある)をネットワークゲームシステム100内の複数の端末装置を代表するものとして説明する。
また、本実施の形態の通信ネットワークは、インターネットに限定されるものではなく、端末装置A・Bとサーバ装置103との間を通信可能に相互に接続できるものであれば、例えば、専用回線、公衆回線、LAN等であってもよく、或いはこれらを組み合わせたものであってもよい。
本ネットワークゲームシステム100で実行可能な対戦型のネットワークゲームに参加する各々のプレイヤが操作する端末装置A・Bは、公知の家庭用ゲーム機、携帯ゲーム機、携帯情報端末、携帯電話機またはパーソナルコンピュータ等により構成される。各々のプレイヤが操作する端末装置A・B間で対戦を行う方法には、端末装置A・B間で直接通信して対戦する方法と、サーバ装置103を経由して対戦する方法とがある。何れの方法でも対戦は可能であるが、本実施の形態では、前者の方法、すなわち、端末装置A・B間で直接データのやりとりを行う、いわゆるP2P(Peer to Peer)接続によりネットワークゲームを行うこととする。
各端末装置A・Bとサーバ装置103との間の通信は、例えば、ベースのプロトコルとしてTCP/IP(Transmission Control Protocol/Internet Protocol)上で動作するHTTP(Hyper Text Transfer Protocol)を使用し、本システムで規定するアプリケーションプロトコルを上位に実装することによって実現できる。
一方、P2P接続される端末装置Aと端末装置Bとの間の通信は、OSI参照モデルのトランスポート層上の通信規約(プロトコル)であって主にIPプロトコル上に実装されるUDP(User Datagram Protocol)によって実現できる。上記のUDPは、データの送達確認やエラー訂正を行わず、データを相手側の端末装置に送りっぱなしにする通信方式であるため、データの信頼度は低いがデータの転送速度が高いという利点がある。このため、高いリアルタイム性が要求されるゲーム環境の中で大量のデータを相互に高速通信する通信対戦型のネットワークゲームでは、UDPが好適に用いられる。なお、端末装置Aと端末装置Bとの間の通信にUDP以外の他の既存プロトコルを用いたり、今後、新たに規定される新規プロトコルを用いたりすることも勿論可能である。
ネットワークゲームシステム100において、各端末装置A・Bには、当該各端末装置A・Bを一意に識別するための端末IDが付与されている。さらに、各端末装置A・Bを操作する各プレイヤには、当該各プレイヤを特定するためのプレイヤIDが付与されている。そして、サーバ装置103は、これらの識別情報(端末IDおよびプレイヤID)に対応付けて、各端末装置A・Bとの間でデータの送受信を行うことによって、各端末装置A・Bおよび各プレイヤに関する情報を管理し、後述する対戦相手決定処理(マッチング処理)などを実行する。
ネットワークゲームシステム100にて実現される通信対戦型のネットワークゲームには様々なものがあるが、その一例としては、野球ゲームがある。端末装置Aを操作する第1プレイヤが選択した第1チームと、端末装置Bの第2プレイヤが選択した第2チームとが対戦する野球ゲームにおいては、例えば、第1プレイヤが操作する投手キャラクタがボールオブジェクトを投球し、第2プレイヤが操作する打者キャラクタが投球されたボールオブジェクトを打撃する。また、打撃後のボールオブジェクトを第1プレイヤが操作する野手キャラクタが捕球や送球をし、第2プレイヤが操作する走者キャラクタが走塁をする。このように、一般的な野球のルールを適用して第1プレイヤと第2プレイヤとが攻守を変えながら得点を競う野球ゲームを例に挙げて、以下に説明する。
〔ネットワークゲームシステム内の各装置の構成〕
図2に示すように、端末装置Aは、制御部10a、表示画像処理部20a、音声再生部30a、外部入出力制御部40a及び通信部50aを備え、これらはバス5により相互に接続されている。端末装置Bも端末装置Aと同様の構成であるため、以下では端末装置Aの構成のみ説明し、端末装置Bの説明は省略する。
図2に示すように、制御部10aは、端末装置Aの全体の動作を制御するもので、ゲームの進行全般に関する処理、画像表示処理の他、種々の情報処理を行う情報処理部(CPU)11aと、処理途中の情報等を一時的に格納するRAM(Random Access Memory)12aと、各種プログラム等が予め記憶されたROM13aと、を備え、これらはバス5を介して相互に接続されている。
ROM13aには、オペレーションシステム(OS)のプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータ等が記録されている。ROM13aに記録されている画像データとしては、投手キャラクタ、打者キャラクタ、野手キャラクタ、走者キャラクタ、背景画像、各種の操作画面や設定画面の画像等のデータである。また、投手キャラクタや打者キャラクタ等の画像データは、3次元描画が可能なように、それらを構成する所要数のポリゴンで構成されている。
そして、CPU11aは、内蔵のあるいは装着脱可能なROM13aに記録されているオペレーティングシステムに基づいて、ROM13aから画像データ、音声データ、制御プログラムデータ、ゲームプログラムデータ等を読み出す。読み出されたデータの一部若しくは全部は、RAM12a上に保持される。以後、CPU11aは、RAM12a上に記憶されている制御プログラムや各種データ(表示物体のポリゴン、テクスチャ、その他の文字画像を含む画像データ、音声データなど)に基づいて、各種データ処理を行う。
上記のデータ処理としては、3次元空間上における計算処理と、3次元空間上から擬似3次元空間上への位置変換計算処理と、光源計算処理と、画像および音声データの生成加工処理などが含まれる。
ROM13aに記憶されている各種データのうち装着脱可能な記録媒体に記憶され得るデータは、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、カセット媒体読み取り機等の各種ドライブユニットで読み取り可能としてもよい。この場合、記録媒体としては、例えばハードディスク、光ディスク(CD−ROM、DVD−ROM、UMDなど)、フレキシブルディスク、半導体メモリ、ROMカセット、あるいは家庭用ビデオゲーム装置用のカートリッジ等を用いることができる。
表示画像処理部20aは、インターフェース回路やD/Aコンバータ(Digital-To-Analogコンバータ)等を備え、CPU11aからの画像表示指示に従って、RAM12aに書き込まれた画像データや、ROM13aから読み出される画像データ等を液晶ディスプレイ等のモニタ21aに表示させるものである。
音声出力部30aは、CPU11aからの指示に従ってゲーム進行過程の中で発生させるべき音声メッセージ、効果音、楽曲データ等を生成し、スピーカ31aに出力するものである。
外部入出力制御部40aは、インターフェース回路等を含み、制御部10aと入力操作部41aとの間、または制御部10aとカードリーダライタ42aとの間でデータの入出力制御を行う。例えば、外部入出力制御部40aは、入力操作部41aから入力される操作検出信号を制御部10aで処理可能なデジタル信号に変換する。入力操作部41aは、第1プレイヤが種々の操作命令を入力するためのキーボード、マウス、家庭用ビデオゲーム装置用コントローラ等から構成される。
通信部50aは、通信情報インターフェース回路や通信モデム等を備え、サーバ装置103との間、および対戦相手の端末装置Bとの間で、インターネット104を介して各種データの送受信をするためのものである。
次に、サーバ装置103の構成を説明する。図1に示すように、サーバ装置103は、
サーバ制御部10c及びサーバ通信部50cを備えるコンピュータである。
サーバ制御部10cは、サーバ装置103の全体の動作を制御するもので、情報処理部(CPU)160と、処理途中の情報等を一時的に格納するRAM170と、所定のプログラム等が予め記憶されたROM180と、ハードディスク装置や光ディスク装置などの補助記憶部190とを備える。ROM180や補助記憶部190に記録されているオペレーションシステム(OS)、各種プログラム、各種設定データはRAM170上にロードされ、CPU160によりRAM170上のプログラムが順次実行されることによって、サーバ装置103の各種機能が実現される。
サーバ通信部50cは、通信情報インターフェース回路や通信モデム等を備え、各端末装置A・B…との間で、インターネット104を介して各種データの送受信を行う。
次に、端末装置A・Bおよびサーバ装置103の機能的構成について、以下に説明する。図3は、サーバ装置103におけるサーバ制御部10cの機能ブロック図である。図4は、端末装置Aおよび端末装置Bにおける制御部10aの機能ブロック図である。
先ず、サーバ装置103の主な機能について説明する。サーバ装置103は、ログイン認証機能、マッチング機能、切断履歴管理機能、能力評価レベル(仮想的な段位、報賞、名誉、等級等)管理機能などを有する。
上記ログイン認証機能とは、通信対戦型のネットワークゲームへの参加を希望する各プレイヤが各端末装置A・Bを操作してサーバ装置103にログインしようとした際、各プレイヤのゲーム参加資格の有無を判断してログイン認証を行う機能である。例えば、会員制オンラインサービスのゲームの場合は、会員認証がなされる。
上記マッチング機能とは、対戦を要求している複数の端末装置からなる対戦要求端末群の中から対戦相手の組み合わせを決定する機能である。
切断履歴管理機能とは、各端末装置A・Bが対戦の途中で通信を切断した切断回数または切断率を、各端末装置A・Bの切断履歴情報として記憶し、当該切断が行われる毎に切断履歴情報を更新する機能である。
上記能力評価レベル管理機能とは、各プレイヤの現在までのゲーム成績を累積的に評価して各プレイヤに付与する能力評価レベル(仮想的な段位、報賞、名誉、等級等)を決定し、当該能力評価レベルを各端末装置A・Bの識別情報(端末IDやプレイヤID)と関連付けて管理する機能である。本実施の形態では、サーバ装置103が管理する能力評価レベルとして段位を例示する。また、サーバ装置103は、各プレイヤの能力評価レベルに基づいて、全世界ランキング、全国ランキングまたは特定地域内ランキングを算出する機能を有していてもよい。
なお、上記のログイン認証機能、マッチング機能、切断履歴管理機能および能力評価レベル管理機能は、ネットワークゲームシステム100内のどこかで実現されればよいため、必ずしも1台のサーバ装置103にて実現する必要はない。例えば、これらの機能の一部を分離して機能分散型の複数台のサーバとして実現することもできる。本実施の形態では、便宜上、これらの機能をサーバ装置103が全て有し、当該サーバ装置103が一元管理する構成例について説明する。
図3に示すように、サーバ装置103のサーバ制御部10cは、対戦要求受付手段61、待機端末管理手段62、切断履歴管理手段63、マッチング手段64、対戦相手通知手段65、対戦管理手段66、段位管理手段67、段位通知手段68、マッチングレート管理手段69、ペナルティ通知手段70およびプレイヤ情報記憶手段71を備えている。
対戦要求受付手段61は、ネットワークゲームへの参加を希望する各プレイヤが各端末装置A・Bを操作してサーバ装置103にログインしようとした際、各端末装置A・Bの識別情報(端末IDおよびプレイヤID等の個人情報)を受け付ける。そして、対戦要求受付手段61は、プレイヤ情報記憶手段71に格納されているプレイヤ情報に基づき、端末IDやプレイヤIDを照合して各プレイヤのゲームへの参加を受け付けるものであり、上述のログイン認証機能を実現する。
待機端末管理手段62は、対戦相手の組み合わせが決定するまでの間、参加を受け付けた端末装置A・Bを対戦要求端末群として管理するものであり、対戦要求端末群を参加リスト62aに登録して管理する。参加リスト62aに登録された対戦要求端末群は、マッチング手段64によるマッチング処理の対象となる。
切断履歴管理手段63は、上述の切断履歴管理機能を実現するものであり、切断履歴記憶部63a(切断履歴記憶手段)および切断履歴更新部63bを含む。切断履歴記憶部63aは、端末装置が対戦の途中で通信を切断した切断回数、ゲーム数、切断回数とゲーム数とで算出される切断率(切断回数/ゲーム数)、時間情報(ゲーム実行日や切断を行った日付)などの切断履歴情報を、各端末装置の識別情報(端末IDやプレイヤID)と対応付けて、ハードディスク等の不揮発性記憶装置の記憶領域に記憶する。切断履歴更新部63bは、対戦ゲームの異常終了時(対戦の途中で何れか一方の端末装置が通信を切断した場合)、通信を切断した側の端末装置(プレイヤ)の切断回数およびゲーム数をそれぞれ1つ増加させる。また、切断履歴更新部63bは、対戦ゲームの正常終了時(対戦の途中で通信が切断されることなく正常にゲームが終了した場合)、双方の端末装置(プレイヤ)のゲーム数を1つ増加させる。
マッチング手段64は、上述のマッチング機能を実現するものであり、参加リスト62aに登録されている対戦要求端末群の中から対戦相手の組み合わせを決定するマッチング処理を行う。マッチング手段64によるマッチング処理には様々な方式があるが、本実施の形態では、マッチング手段64が各プレイヤのマッチングレートに基づいてマッチングを行うマッチングレート方式を適用した例について説明する。ここで、マッチングレートとは、プレイヤの強さ(ゲーム熟練度の高さ)の指標となる数値であって、対戦の結果に応じて変動するものである。当該方式では、マッチング手段64は、参加リスト62aに登録されている対戦要求端末群の中からマッチングレートが近い端末装置(プレイヤ)同士をマッチングするようになっている。あるいは、マッチングレートを用いたマッチングレート対応モードとマッチングレートを使用しないマッチングレート非対応モードとをプレイヤが任意に選択できるものとし、各プレイヤが自己と近い強さ(ゲーム熟練度)のプレイヤに限定したマッチングを希望する場合のみ、マッチングレート対応モードを選択するようにしてもよい。この場合、マッチング手段64は、通常(マッチングレート非対応モードの場合)、対戦要求端末群の中からランダム抽選によりマッチングを行うが、プレイヤによりマッチングレート対応モードが選択された場合には、マッチングレートが近いプレイヤ同士をマッチングすることになる。あまりにもゲームの熟練度に開きがあるプレイヤ同士が対戦した場合、白熱したゲーム展開が期待できずに興趣性を損なうことがある。そこで、上記のマッチングレート方式のマッチングを適用すれば、熟練度の近いプレイヤ同士がマッチングされ易くなり、興趣性を向上させることができる。
なお、マッチングレートは、各プレイヤが端末装置の画面上で確認することも可能ではあるが、主にマッチング手段64によるマッチング処理に使用されるものであり、段位や段位ポイントとは別にマッチングレート管理手段69によって管理されるものである。マッチングレートの変動等については後述する。
対戦相手通知手段65は、マッチング手段64によりマッチングされた第1の端末装置(以下、端末装置Aとして説明する)および第2の端末装置(以下、端末装置Bとして説明する)とに対して、それぞれ対戦相手の情報を通知する。すなわち、対戦相手通知手段65は、端末装置Aに対しては、対戦相手となる端末装置Bの第2プレイヤに関する情報をプレイヤ情報記憶部71の中から抽出して送信する。また、対戦相手通知手段65は、端末装置Bに対しては、対戦相手となる端末装置Aの第1プレイヤに関する情報をプレイヤ情報記憶部71の中から抽出して送信する。
対戦管理手段66は、端末装置Aと端末装置Bとの対戦ゲームが実施されているとき、当該対戦ゲームが終了するまで、両端末装置の通信状態を管理する。具体的には、端末装置Aおよび端末装置Bは、P2P接続で対戦ゲームを実施しながらも、サーバ装置103に定期データ(ハートビート)を断続的に送信しており、サーバ装置103の対戦管理手段66は、両端末装置A・Bからハートビートを受信している間は、両端末装置A・Bが問題なく対戦ゲームを実行していると判断する。一方、対戦管理手段66は、所定時間(たとえば、10秒間)ハートビートの受信ができなかった場合に、当該ハートビートを送信していた端末装置との通信が切断されたと判断する。例えば、端末装置Aからのハートビートの受信は途絶えたが、端末装置Bからのハートビートの受信については継続中である場合、対戦管理手段66は、対戦中に端末装置Aが通信を切断したと判断できる。また、このような場合、端末装置Bからサーバ装置103へ、「対戦中に端末装置Aが通信を切断した」旨の異常終了通知がなされるので、サーバ装置103は、当該異常終了通知をもって端末装置Aが対戦中に通信を切断したことを確実に判断できる。
対戦管理手段66が対戦ゲームの異常終了(対戦の途中で何れか一方の端末装置が通信を切断することによる終了)を検知したとき、上述のように切断履歴更新部63bが通信を切断した側の端末装置(プレイヤ)の切断回数を増加させ、切断履歴記憶部63aに記憶されている切断履歴情報が更新される。
また、対戦ゲームが正常に終了した場合、端末装置Aおよび端末装置Bの何れか一方または両方から、対戦結果情報(勝敗等の情報)を含む正常終了通知がサーバ装置103に対して行われる。対戦管理手段66は、この正常終了通知または上記の異常終了通知を受領した場合、端末装置Aおよび端末装置Bを、対戦管理対象から外す。なお、トラフィックの増加によりネットワークが異常輻輳となる等のネットワーク障害が発生した場合、端末装置Aおよび端末装置Bの両者から同時にハートビートが途絶えることもあり得るが、このような場合も、対戦管理手段66は両端末装置A・Bを対戦管理対象から外すことができる。
段位管理手段67は、上述の能力評価レベル管理機能を実現するものであり、各プレイヤの「段位」および「段位ポイント」を端末装置の識別情報(端末IDやプレイヤID)と関連付けて記憶する記憶領域を有し、対戦ゲームが終了する毎に、対戦結果情報に基づいて段位および段位ポイントを更新する。
ここで、段位とは、プレイヤの能力の高さ(強さ)を多段階で示す能力評価レベルの一つであり、本実施の形態では、図7に示すように、最も弱い段位である「0」から最も強い段位である「19」までの20段階の段位がプレイヤに付与されるものである。また、段位「0」には「入門生」、段位「1」には「九級」、段位「2」には「八級」、・・・、段位「19」には「十段」というように、各段位には図7に示す段位名称が付されている。なお、図7に示した段位および段位名称は一例であって、これに限定されるものではなく、例えば19段階以下または21段階以上の段位を設定することもできるし、各段位には図7とは異なる段位名称を付してもよい。また、段位ポイントとは、段位の変動基準となるものである。例えば、各プレイヤは段位ポイント0(持ち点ゼロ)からスタートし、段位ポイントが所定のプラスポイントに達したときに段位が一つ昇格し、段位ポイントが所定のマイナスポイントに達したときに段位が一つ降格する。
また、段位管理手段67は、端末装置Aの第1プレイヤと端末装置Bの第2プレイヤとの対戦が正常に終了した場合、勝った方のプレイヤに対しては両者の段位差に応じた勝利ポイントを当該プレイヤの段位ポイントに付加する一方、負けた方のプレイヤに対しては両者の段位差に応じた敗戦ポイントを当該プレイヤの段位ポイントから削減するようになっている。さらに、段位管理手段67は、端末装置Aの第1プレイヤと端末装置Bの第2プレイヤと対戦が正常に終了しなかった場合(対戦の途中で何れか一方の端末装置が通信を切断した場合)、両者の段位差に応じた切断ペナルティポイントを、通信を切断した側のプレイヤの段位ポイントから削減するようになっている。すなわち、対戦の途中で通信を切断した側のプレイヤを敗戦と同等の扱いとしてペナルティを課し、または通常の敗戦よりも重いペナルティを課し、通信を切断した側のプレイヤの段位ポイントを削減する。
段位管理手段67は、図7に示す段位に関する情報および図8に示す勝利ポイント、敗戦ポイントおよび切断ペナルティポイントの情報を不揮発性メモリに記憶しており、図7および図8に示す情報を参照しながら上記の動作を行う。この段位管理手段67の動作の詳細については、後述する。
段位通知手段68は、対戦終了後の段位を、端末装置Aおよび端末装置Bに送信する機能を有する。これにより、端末装置Aの第1プレイヤおよび端末装置Bの第2プレイヤは、対戦終了後の自己の段位を画面上で確認することができる。さらに、段位通知手段68は、各プレイヤの段位および段位ポイントに基づいて、全世界ランキング、全国ランキングまたは特定地域内ランキングを算出し、対戦終了後のランキングを端末装置Aおよび端末装置Bに送信したり、ランキングの上位に入ったプレイヤに対しては当該プレイヤの氏名等の情報を登録できるようにしたりする機能を有していてもよい。これにより、端末装置Aの第1プレイヤおよび端末装置Bの第2プレイヤは、対戦終了後の自己のランキングを画面上で確認等することができる。
マッチングレート管理手段69は、各プレイヤのマッチングレートを端末装置の識別情報(端末IDやプレイヤID)と関連付けて記憶する記憶領域を有し、対戦ゲームが終了する毎に、対戦結果情報に基づいてマッチングレートを更新する。ここで、マッチングレート管理手段69によるマッチングレートの更新例について以下に説明する。
本ネットワークゲームシステム100に始めて参加するプレイヤのマッチングレートの初期値を、例えば50.00とする。このマッチングレートにおける勝敗の増減ポイントは、対戦した二人のプレイヤのマッチングレート差に応じて決定される。例えば、マッチングレートの増減ポイントの計算式は、勝者のマッチングレートをMRWINとし、敗者のマッチングレートをMRLOSTとすると、
(MRLOST−MRWIN+20)/20
として表される。すなわち、上式で算出されたポイント分だけ、勝者のマッチングレートは増加し、敗者のマッチングレートは減少する。勝者と敗者のマッチングレートが同一であった場合は、上式よりマッチングレートの増減ポイントは1.00となる。なお、勝者と敗者のマッチングレートの差が大きい場合、1ゲームだけでマッチングレートが極端に変動する可能性もあるので、極端な変動を抑制するために、1ゲームにおけるマッチングレートの増減範囲を0.01〜2.00に限定する。すなわち、上式で算出されたポイントが2.00を超えたとき、増減ポイントを上限の2.00にする。また、上式で算出されたポイントが0になったりマイナスになったりするなど0.01よりも小さいとき、増減ポイントを下限の0.01にする。なお、マッチングレートは後述する初期段位の認定にも用いることができ、この場合、初期段位認定までのゲーム(例えば最初の10ゲーム)については、マッチングレートの増減範囲を拡大(例えば2倍に)してもよい。また、野球ゲームでは引き分け試合もある。引き分け試合の場合、対戦した二人のプレイヤのマッチングレートが同一のときは、両者ともマッチングレートの変動はない。引き分けた二人のプレイヤのマッチングレートに差がある場合は、マッチングレートの低い方のプレイヤを勝者、高い方のプレイヤを敗者とみなしてマッチングレートを更新する。但し、引き分けの場合の増減ポイントは、通常時の半分とする。例えば、勝者のマッチングレートが50.00であり、敗者のマッチングレートが60.00であったとすると、勝者のマッチングレートは、
50.00+1.50=51.50
となる一方、敗者のマッチングレートは、
60.00−1.50=58.50
となる。また、マッチングレートが50.00のプレイヤと60.00のプレイヤとが引き分けた場合、前者のマッチングレートは、
50.00+1.50/2=50.75
となり、後者のマッチングレートは、
60.00−1.50/2=59.25
となる。
上記のマッチングレートの増減計算はあくまで一例であり、試合結果に応じてプレイヤの強さ(ゲーム熟練度の高さ)が反映されるようにマッチングレートを更新できれば、その他の方法でマッチングレートを更新してもよい。
マッチングレートは純粋にプレイヤの強さ(ゲーム熟練度の高さ)を表し、切断ペナルティによっても変動する段位や段位ポイントとは独立のものとして扱われる。例えば、対戦中に意図的切断を繰り返したプレイヤは切断ペナルティによって段位を大きく落とすことになるが、ゲームには熟練しており、プレイヤとしては比較的強い場合もある。この場合でも、マッチングレートを参照して、マッチングレートの近いプレイヤ同士をマッチングすれば、熟練度の近いプレイヤ同士のマッチングを担保できる。
上述のように、マッチングレートはマッチングという内部処理に主に用いられるものである一方、段位は対戦終了の度に積極的に画面表示され、各プレイヤがより高い段位を目指そうとする目標となるものであり、両者はその目的を異にする。
ペナルティ通知手段70は、悪質プレイヤの意図的切断の抑止効果をより高めるために、対戦の途中で通信を切断した端末装置に対して、ペナルティとして段位変動の基準となる段位ポイントが低下した旨のペナルティ情報を通知する。なお、端末装置が対戦の途中で通信を切断したということは、当該端末装置とサーバ装置103との間の接続も切断されていることになるので、ペナルティ通知手段70は、一旦、ペナルティ情報を保存しておき、当該端末装置が改めてサーバ装置103に接続(ログイン)した場合に、当該端末装置にペナルティ情報を送信するようになっている。ペナルティ情報を受信した端末装置の画面には、対戦の途中で通信を切断したことによりペナルティが発生した旨が表示されるので、対戦の途中で通信を切断したプレイヤに、ペナルティの発生を明確に認識させることができる。
次に、段位管理手段67のさらに詳細な構成を、図4に基づいて説明する。段位管理手段67は、段位情報記憶部81と、段位差演算部84と、段位ポイント演算部85と、段位判定部87とを含んでいる。
段位情報記憶部81は、各プレイヤの段位を、端末装置の識別情報(端末IDやプレイヤID)と関連付けて記憶する段位記憶部82を有する。さらに、段位情報記憶部81は、各プレイヤの段位ポイントを、端末装置の識別情報(端末IDやプレイヤID)と関連付けて記憶する段位ポイント記憶部83を有する。
段位差演算部84は、対戦した両プレイヤの段位差を演算する。本実施の形態では、「0」〜「19」の段位が存在するので、図8に示すように、段位差としては、−19〜19まで存在する。なお、端末装置Aの第1プレイヤと端末装置Bの第2プレイヤとの対戦において、第1プレイヤにとっての段位差とは、
第2プレイヤの段位(対戦相手の段位)−第1プレイヤの段位(自己の段位)
であり、第2プレイヤにとっての段位差とは、
第1プレイヤの段位(対戦相手の段位)−第2プレイヤの段位(自己の段位)
である。すなわち、自己の段位よりも対戦相手の段位の方が高い場合には段位差がプラスとなり、自己の段位の方が対戦相手の段位よりも高い場合には段位差がマイナスとなる。
段位ポイント演算部85は、図8に示すように、段位差に応じた勝利ポイントPWIN、敗戦ポイントPLOSTおよび切断ペナルティポイントPPENを記憶している。そして、段位ポイント演算部85は、二人のプレイヤの対戦が正常に終了した場合、勝った方のプレイヤに対しては両者の段位差に応じた勝利ポイントPWINを当該プレイヤの段位ポイントに付加する演算を行う。また、段位ポイント演算部85は、二人のプレイヤの対戦が正常に終了した場合、負けた方のプレイヤに対しては両者の段位差に応じた敗戦ポイントPLOSTを当該プレイヤの段位ポイントから削減する。
図8に示すように、自己の段位よりも対戦相手の段位の方が高いとき(段位差がプラスのとき)の勝利ポイントPWINは、自己の段位が対戦相手の段位と同一又は高いときの勝利ポイントPWINよりも大きくなっている。さらに、自己の段位よりも対戦相手の段位の方が高いときの勝利ポイントPWINは、段位差が大きいほど小さくなっている。これにより、自己より高い段位の対戦相手に勝利したときには、段位差に応じた高い勝利ポイントを獲得できる。一方、自己の段位が対戦相手の段位より高いとき(段位差がマイナスのとき)の勝利ポイントは、段位差が大きいほど小さくなっている。
また、自己の段位が対戦相手の段位よりも高いとき(段位差がマイナスのとき)の敗戦ポイントは、自己の段位が対戦相手の段位と同一又は低いときの敗戦ポイントよりも大きくなっている。さらに、自己の段位が対戦相手の段位よりも高いときの敗戦ポイントは、段位差が大きいほど大きくなっている。これにより、自己より低い段位の対戦相手に負けたときには、段位差に応じた大きさの敗戦ポイントを失うことになる。一方、自己の段位よりも対戦相手の段位の方が高いとき(段位差がプラスのとき)の敗戦ポイントは、段位差が大きいほど小さくなっている。
また、図7に示すように、段位に対応した勝利段位ポイントレートPRWINが定められており、段位差演算部84は、段位に応じて勝利ポイントPWINを補正する。すなわち、段位差演算部84は、
PWIN×PRWIN
という計算式により、段位に応じて補正した勝利ポイントを演算する。例えば、段位が10(初級)のプレイヤの勝利段位ポイントレートPRWINは「1」であるため、当該プレイヤが対戦に勝利した場合には図8に示す通りの勝利ポイントPWINが得られる。また、段位が18(九段)のプレイヤの勝利ポイントレートPRWINは「0.5」であるため、当該プレイヤが対戦に勝利した場合には図8に示す勝利ポイントPWINの0.5倍の勝利ポイントが得られる。本実施の形態では、段位が15(六段)以上になると勝利段位ポイントレートPRWINが1よりも小さくなり、さらに段位が高くなるほど勝利段位ポイントレートPRWINが小さくなっている。これにより、段位が高くなるほど高い勝利ポイントPWINを得難くし、段位昇格の困難性を高めている。なお、勝利段位ポイントレートPRWINは敗戦ポイントには影響を与えないので、対戦に負けたプレイヤには段位の高さにかかわらず図8に示す敗戦ポイントが適用される。
さらに、段位ポイント演算部85は、図4に示すように、切断ペナルティ処理部86を含んでいる。切断ペナルティ処理部86は、二人のプレイヤの対戦が正常に終了しなかった場合(対戦の途中で何れか一方のプレイヤが通信を切断した場合)、両者の段位差に応じた切断ペナルティポイントPPENを、通信を切断した側のプレイヤの段位ポイントから削減する。ここで、図8の例では、切断ペナルティポイントPPENは、対戦が正常終了したときの敗者に設定される敗戦ポイントPLOSTよりも高くなっている(この例では、切断ペナルティポイントが敗戦ポイントPLOSTよりも100ポイント高くなっている)。すなわち、対戦中に通信を切断するという不正行為は、適正な一般プレイヤのゲーム環境を著しく阻害し、対戦相手に多大な迷惑をかける行為であるため、対戦中に通信を切断したプレイヤに対しては、対戦を正常に行って負けた場合よりも大きなポイントを失うようにしている。
さらに、自己の段位が対戦相手の段位よりも高いとき(段位差がマイナスのとき)の切断ペナルティポイントPPENは、自己の段位が対戦相手の段位と同一又は低いときの切断ペナルティポイントPPENよりも大きくなっている。すなわち、自己より低い段位の対戦相手に負けそうになったプレイヤが対戦中に通信を切断するという不正行為を行った場合には、本来、段位が上であるので正々堂々と対戦すべきであるにもかかわらず不正を行ったということでその悪質度が高く、対戦相手の段位と同一又は低いときよりも重いペナルティを課す。自己の段位が対戦相手の段位と同一又は低いときにも、対戦中に通信を切断するという不正行為を行った場合にはゲーム環境を阻害したことに対する当然のペナルティを与えるが、対戦相手の段位より高いときよりは相対的にペナルティを軽くする。
また、自己の段位が対戦相手の段位よりも高いときの切断ペナルティポイントPPENは、段位差が大きいほどより大きくなっている。一方、自己の段位よりも対戦相手の段位の方が高いとき(段位差がプラスのとき)の切断ペナルティポイントPPENは、段位差が大きいほど小さくなっている。これにより、対戦中に通信を切断したプレイヤと対戦相手との段位差に応じた妥当な切断ペナルティポイントPPENを設定することができる。
段位判定部87は、段位ポイントに基づいて段位の昇格または降格を判定し、各プレイヤの段位を決定する。本実施の形態では、初期段位の認定時、段位の昇格時または段位の降格時に段位ポイントを0に初期化し、その後、段位ポイントがプラス500点に達したときに段位が一つ昇格し、段位ポイントがマイナス500点に達したときに段位が一つ降格するものとする。なお、初期段位の認定においては、マッチングレートを使用することができる。例えば、総ゲーム数が10ゲーム未満の場合は段位を一律に0(入門生)とし、10ゲーム消化時におけるマッチングレートにより、初期段位を認定する。一例として、図7に所期段位対応マッチングレートを示している。例えば、10ゲーム消化時のマッチングレートが60のプレイヤに対しては、段位9(一級)が初期段位として付与される。
次に、端末装置A・Bの主な機能について説明する。図5に示すように、端末装置A・Bの制御部10aは、対戦要求手段51と、段位情報受信手段52と、段位表示手段53と、ペナルティ情報受信手段54と、ペナルティ表示手段55と、通信状態確認手段56と、通信切断情報送信手段57とを備えている。
対戦要求手段51は、端末装置の識別情報(端末IDおよびプレイヤID)をサーバ装置103に送信して、ネットワークゲームへの参加を要求するログイン機能を有する。
段位情報受信手段52は、サーバ装置103へのログイン時や対戦終了時に、サーバ装置103から送信される段位情報を受信する。段位表示手段53は、段位情報受信手段52が受信した段位情報に基づいて、プレイヤの現在の段位をモニタ21aに表示する。
ペナルティ情報受信手段54は、対戦中に通信を切断した後、再度、サーバ装置103にログインしたときにサーバ装置103から送信されるペナルティ情報を受信する。ペナルティ表示手段55は、ペナルティ情報受信手段54が受信したペナルティ情報に基づいて、対戦の途中で通信を切断したことにより段位ポイントが低下するペナルティが発生した旨を端末装置のモニタ21aに表示する。
通信状態確認手段56は、サーバ装置103との間の通信状態および対戦相手端末装置との通信状態を確認するものであり、定期通信状態確認部56aと、対戦通信状態確認部56bとを含む。定期通信状態確認部56aは、サーバ装置103への接続後、所定時間毎に(たとえば、10秒毎に)サーバ装置103に定期データ(ハートビート)を送信しながらサーバ装置103との間の定期通信が確立されているか否かを確認する。対戦通信状態確認部56bは、対戦ゲーム中に、対戦相手端末装置との間のデータの送受信状態を検知しながら対戦相手端末装置との間の対戦通信が確立されているか否かを確認する。
例えば、端末装置Aの第1プレイヤと端末装置Bの第1プレイヤとの対戦中に、悪質な第1プレイヤが故意に通信を切断した場合を考えると、端末装置Bでは、定期通信状態確認部56aによってサーバ装置103と端末装置Bとの間の定期通信が確立していることが確認される一方、対戦通信状態確認部56bによって端末装置Aと端末装置Bとの間の対戦通信が切断されたことが確認される。これにより、端末装置Bの通信状態確認手段56は、対戦中に対戦相手端末装置(端末装置A)が通信を切断したことを検知する。
通信切断情報送信手段57は、通信状態確認手段56によって対戦相手端末装置が対戦中に通信を切断したことが検知された場合、対戦中に対戦相手端末装置が通信を切断した旨の通信切断情報をサーバ装置103に送信することによって、サーバ装置103へ異常終了通知を行う。
次に、本実施の形態に係るネットワークゲームシステム100の動作の概略について、図9に示すフローチャートを用いて説明する。図9のフローチャートは、端末装置Aおよび端末装置Bがネットワークゲームシステム100に参加し、両端末装置A・Bがマッチングされ、対戦中に端末装置Aを操作する第1プレイヤが故意に通信を切断した場合を想定した動作例を示すものである。
各プレイヤはネットワークゲームに参加するためには、ネットワークゲームシステム100に端末装置を組み込むことが必要となる。そこで、第1プレイヤは、端末装置Aを操作して条件設定を行った後に、サーバ装置103へネットワークゲームへの参加要求(ログイン)を行う(S11)。同様に、第2プレイヤは、端末装置Bを操作して各種条件設定をした後に、サーバ装置103へネットワークゲームへの参加要求(ログイン)を行う(S21)。
各端末装置A・Bから参加要求を受けたサーバ装置103は、ログイン認証を行った上で、各端末装置A・Bのネットワークゲームへの参加を受け付ける(S31)。その後、サーバ装置103は、対戦を要求している複数の端末装置からなる対戦要求端末群の中から対戦相手の組み合わせを決定するマッチングを行う(S32)。ここでは、端末装置Aと端末装置Bとがマッチングされたものとして説明を続ける。サーバ装置103は、マッチングされた端末装置Aと端末装置Bとに対して、それぞれ対戦相手情報を通知する(S33)。
端末装置Aがサーバ装置103から対戦相手情報を受領すると共に(S12)、端末装置Bがサーバ装置103から対戦相手情報を受領することによって(S22)、両端末装置A・BがP2Pで相互に接続できるようになり、両端末装置A・Bが対戦ゲームを開始する(S13およびS23)。
また、各端末装置A・Bは、対戦ゲーム中、サーバ装置103に定期データ(ハートビート)を送信する定期通信も行っている(S14およびS24)。そして、サーバ装置103は、各端末装置A・Bからハートビートを受信することによって、各端末装置A・Bの定期通信状態を確認している(S34)。
ここで、対戦ゲーム中に端末装置Aを操作する第1プレイヤが故意に通信を切断した場合(S15)、端末装置Aとサーバ装置103との間の定期通信が途絶えると共に、端末装置Aと端末装置Bとの間の対戦通信も途絶える。一方、端末装置Bとサーバ装置103との間の定期通信は継続される(S25)。この場合、サーバ装置103は、端末装置Aからの定期通信が途絶え、且つ、端末装置Bからの定期通信が継続されている状態をもって、対戦ゲーム中に端末装置Aが通信を切断したと判断することができる。また、端末装置Bは、サーバ装置103との間の定期通信が継続できているにもかかわらず、端末装置Aとの間の対戦通信が切断されたことをもって、対戦ゲーム中に端末装置Aが通信を切断したと判断することができる。そこで、端末装置Bは、対戦中に端末装置Aが通信を切断した旨を示す通信切断情報をサーバ装置103へ送信する(S26)。サーバ装置103は、端末装置Bから上記の通信切断情報を受領することによって、端末装置Aが対戦中に通信を切断したことを確信し、端末装置Aの切断回数を増加させる等の切断履歴情報の更新を行う(S35)。さらに、サーバ装置103は、第1プレイヤと第2プレイヤとの段位差に応じた切断ペナルティポイントPPENを、対戦中に通信を切断した端末装置Aの第1プレイヤの段位ポイントから削減する(S36)。この段位ポイントの削減処理の詳細については後述する。
次に、各端末装置の主な動作を、図10に示すフローチャートを用いて説明する。ここでは、端末装置を代表して端末装置Aの動作として説明する。
端末装置Aを操作する第1プレイヤは、サーバ装置103にログインする前に様々な条件設定を行うことができる。条件設定の一つにマッチングモードの選択がある。第1プレイヤは、自己と近い強さ(ゲーム熟練度)のプレイヤに限定したマッチングを希望する場合はマッチングレート対応モードを選択できる。上記マッチングモード等の設定後、第1プレイヤは、端末装置Aを操作してサーバ装置103に参加要求(ログイン)を行う(S41)。このS41では、端末装置Aの対戦要求手段51(図5参照)が、端末装置Aの識別情報(端末IDおよびプレイヤID)やマッチングモード情報などをサーバ装置103に送信する。
その後、端末装置Aは、サーバ装置103から送信される段位情報を受信し(S42)、プレイヤの現在の段位をモニタ21aに表示する(S43)。通常、端末装置Aを操作する第1プレイヤは、モニタ21aの画面上に表示される自己の段位を認識し、より高い段位を目指してゲームに興じることになる。
ここで、前回の対戦の途中で、第1プレイヤが端末装置Aの電源を切ったり通信ケーブルを外したりして通信を切断していた場合、端末装置Aは、サーバ装置103からペナルティ情報を受信し(S44)、対戦の途中で通信を切断したことによりペナルティが発生した旨をモニタ21aに表示する(S45)。これにより、対戦の途中で通信を切断したら段位に影響が及ぶことを、第1プレイヤに明確に認識させることができる。なお、S42及びS43のルーチンよりもS44及びS45のルーチンの方を先に実行してもよい。
その後、端末装置Aは、サーバ装置103から対戦相手情報を受信するまで待機する(S46)。そして、端末装置Aは、サーバ装置103から対戦相手情報を受信した後(S46でYES)、対戦相手端末装置とP2Pの接続を行い(S47)、対戦相手端末装置との間で対戦ゲームを開始する(S48)。
その後、対戦中に通信が切断されることなく定められたイニングの野球ゲームが正常に終了した場合(S49でYES)、端末装置Aは、対戦結果情報(勝敗等の情報)をサーバ装置103へ送信し、ゲームが正常終了した旨をサーバ装置103へ通知する(S50)。その後、端末装置Aは、今回の対戦の結果が反映された段位情報をサーバ装置103から受信し(S51)、当該段位情報をモニタ21aに表示する(S52)。このとき、段位情報と併せて全国ランキング等をモニタ21aに表示してもよい。
一方、対戦中にP2Pの通信が途切れてゲームが正常に終了しなかった場合(S49でNO)、端末装置Aは、正常終了しなかった原因が対戦相手端末装置側の通信切断によるものか否かを判断する(S53)。このS53の判断は、図5に示した通信状態確認手段56により行われるものであり、上述のように、定期通信状態確認部56aによってサーバ装置103と端末装置Aとの間の定期通信が確立していることが確認され、且つ、対戦通信状態確認部56bによって端末装置Aと対戦相手端末装置との間の対戦通信が切断されたことが確認された場合、通信状態確認手段56は「対戦中に対戦相手端末装置が通信を切断した」と判断することができる。
端末装置Aは、正常終了しなかった原因が対戦相手端末装置側の通信切断によるものと判断した場合(S53でYES)、「対戦中に対戦相手端末装置が通信を切断した旨の通信切断情報」をサーバ装置103に送信することによって、サーバ装置103へ異常終了通知を行う(S54)。このS54の処理は、図5に示した通信切断情報送信手段57によって実行される。
なお、正常終了しなかった原因が対戦相手端末装置側の通信切断によるものではなく、端末装置A自身の通信切断によるものであった場合(S53でNO)、例えば、通信ケーブルが第1プレイヤによって端末装置Aから外された場合、端末装置Aは、サーバ装置103との通信も対戦相手端末装置との通信もできないため、ゲームの強制終了処理を行う(S55)。
次に、サーバ装置103の主な動作を、図11ないし図17に示すフローチャートを用いて説明する。先ず、端末装置から参加要求を受けたときのサーバ装置103の動作を、図11に示すフローチャートを参照して以下に説明する。
サーバ装置103は、ネットワークゲームへの参加を希望するプレイヤの端末装置から参加要求を受けた場合(S61でYES)、ログイン認証を行った上で当該端末装置の参加を受け付ける。この場合、サーバ装置103は、参加を受け付けた端末装置の段位情報を段位情報記憶部81から読み出して、当該端末装置へ段位情報を送信する(S62)。これらS61およびS62の処理は、図3に示した対戦要求受付手段61および段位通知手段68によって実行される。
また、サーバ装置103は、参加を受け付けた端末装置のペナルティ情報を保存している場合(S63でYES)、当該端末装置へペナルティ情報を送信する(S64)。これらS63およびS64の処理は、図3に示したペナルティ通知手段70によって実行される。
そして、サーバ装置103は、参加を受け付けた端末装置の情報を参加リスト62aに追加する(S65)。参加リスト62aに登録される端末装置の情報には、端末装置の識別情報(端末IDおよびプレイヤID)、マッチングモード情報等が含まれる。このS65の処理は、図3に示した待機端末管理手段62によって実行される。
例えば、参加リスト62aに登録されている端末装置が1台のみである等、未だマッチングができない場合には(S66でNO)、S61〜S66のルーチンを繰り返して参加リスト62aに端末装置の情報を追加して行く。そして、マッチングが可能となれば(S66でYES)、サーバ装置103は、参加リスト62aに登録されている対戦要求端末群の中から特定の一の端末装置を選出する(通常、最も早く参加リスト62aに登録された端末装置を選出する)。ここでは、端末装置Aが選出されたものとして説明する。
サーバ装置103は、参加リスト62aに登録されている対戦要求端末群の中から端末装置Aの対戦相手となる一の端末装置を決定する(S67)。例えば、端末装置Aを操作する第1プレイヤによりマッチングレート対応モードが選択されている場合、サーバ装置103は、第1プレイヤのマッチングレートに近いプレイヤの端末装置を参加リスト62aの中から選択することになる。このS67の処理は、図3に示したマッチング手段64により実行されるものである。
S67の後、サーバ装置103は、マッチングされた端末装置Aとその対戦相手端末装置とに対して、それぞれ対戦相手の情報を送信する(S68)。このS68の処理は、図3に示した対戦相手通知手段65によって実行される。
その後、サーバ装置103は、マッチングが完了した端末装置Aとその対戦相手端末装置とを参加リスト62aから削除すると共に、新たにネットワークゲームへの参加要求があった端末装置を参加リスト62aに追加することにより、参加リスト62aの更新を行う(S70)。
また、サーバ装置103のメンテナンス等によってネットワークゲームサービスが一時的に停止となる場合は(S70でYES)、サーバ装置103の動作は終了となるが、そのようなことがない限りは、S69からS70を経てS66に移行し、以後もサーバ装置103がサービスを停止するまで上記S61〜S70のルーチンが継続的にループ処理されることになる。
次に、対戦ゲーム終了時のサーバ装置103の動作を、図12に示すフローチャートを参照して説明する。ここでは、端末装置Aを操作する第1プレイヤと端末装置Bを操作する第2プレイヤとが対戦しているものとして以下に説明する。
サーバ装置103は、端末装置Aを操作する第1プレイヤと端末装置Bを操作する第2プレイヤとの対戦ゲームが終了した場合(S81でYES)、第1プレイヤと第2プレイヤとの段位差を演算する(S82)。このS82の処理は、図4に示した段位差演算部84によって実行される。
そして、第1プレイヤと第2プレイヤとの対戦中に通信が切断されることなく正常に対戦が終了した場合(S83でYES)、サーバ装置103は、各々のプレイヤに対して、対戦結果を反映させたマッチングレートを演算する(S84)。このS84の処理は、図3に示したマッチングレート管理手段69によって実行される。さらに、サーバ装置103は、第1プレイヤおよび第2プレイヤの各々に対して、対戦結果および両プレイヤの段位差に基づいて段位ポイントを演算すると共に(S85)、段位ポイントに基づいて段位判定を行う(S86)。これらS85およびS86の処理は、図4に示した段位ポイント演算部85および段位判定部87によって実行される。この段位判定のより詳細な説明については後述する。そして、サーバ装置103は、第1プレイヤおよび第2プレイヤの各々に対して、段位情報を送信する(S87)。このS87の処理は、図3に示した段位通知手段68によって実行される。
一方、第1プレイヤと第2プレイヤとの対戦中に何れか一方が通信を切断したことによって対戦ゲームが正常に終了しなかった場合(S83でNO)、サーバ装置103は、通信を切断したプレイヤの段位ポイントを、両プレイヤの段位差に基づいて削減する(S88)。このS88の処理は、図4に示した切断ペナルティ処理部86によって実行される。このペナルティ処理のより詳細な説明については後述する。その後、通信を切断したプレイヤの段位ポイントに基づいて段位判定を行う(S89)。なお、通信を切断したプレイヤの端末装置に対しては段位情報を送信することもできないので、ここではサーバ装置103が段位情報を送信することなく、ペナルティ情報を保存しておく(S90)。
ところで、対戦ゲームが正常に終了しなかった場合において、通信を切断された側の正当プレイヤを勝ちとみなして当該正当プレイヤに勝利ポイントを付与してもよいし、当該正当プレイヤの段位ポイントについては変動しないものとしてもよい。
次に、正常に対戦ゲームが終了した場合におけるサーバ装置103のより詳細な動作を、図13に示すフローチャートを参照して説明する。ここでは、端末装置Aを操作する第1プレイヤが勝者となり、端末装置Bを操作する第2プレイヤが敗者となったものとする。
正常に対戦ゲームが終了した後、サーバ装置103は第1プレイヤのマッチングレートを演算し(S101)、第1プレイヤの総ゲーム数Gが10ゲームを超えているか否かを判断する(S102)。ここで、第1プレイヤの総ゲーム数Gが10ゲーム未満の場合(S102でNO、且つ、S114でNO)は、サーバ装置103は、正式な段位未定の扱いとして第1プレイヤの段位を0(入門生)とする(S116)。
また、第1プレイヤの総ゲーム数Gが10ゲームの場合(S102でNO、且つ、S114でYES)、サーバ装置103は、10ゲーム消化時点の第1プレイヤのマッチングレートに応じて初期段位を決定する(S115)。すなわち、サーバ装置103は、図7の初期段位対応マッチングレートに基づいて第1プレイヤの初期段位を認定する。
また、第1プレイヤの総ゲーム数Gが10ゲームを超えている場合(S102でYES)、サーバ装置103は当該プレイヤが勝者か否かを判断する(S103)。ここでは、第1プレイヤが勝者であるので、S104に移行する。S104において、サーバ装置103は、第1プレイヤの対戦前の段位ポイントPに勝利ポイントPWINを加算して、対戦後の段位ポイントPを演算する。ここで、第1プレイヤの勝利ポイントPWINは、上述のように第1プレイヤと第2プレイヤとの段位差に応じたものである。その後、サーバ装置103は、対戦後の段位ポイントPが500点以上になったか否かを判断し(S105)、段位上昇の有無を判定する。ここで、対戦後の段位ポイントPが500点以上の場合(S105でYES)は、サーバ装置103は、第1プレイヤの段位を1つ昇格させると共に(S106)、段位ポイントを0に初期化し(S107)、段位情報を端末装置Aに送信する(S109)。一方、対戦後の段位ポイントPが500点未満の場合(S105でNO)、サーバ装置103は、第1プレイヤの段位を現状維持とし(S108)、段位情報を端末装置Aに送信する(S109)。
その後、サーバ装置103は、全てのプレイヤの段位判定処理が終了したかを判断する(S110)。ここでは、第2プレイヤに対する段位判定処理が終了していないので(S110でNO)、S101に移行し、第2プレイヤに対しても上記と同様の処理がなされることになる。ここでは、第2プレイヤが敗者であるので(S103でNO)、サーバ装置103は、第2プレイヤの対戦前の段位ポイントPから敗戦ポイントPLOSTを減算して、対戦後の段位ポイントPを演算する(S111)。ここで、第2プレイヤの敗戦ポイントPLOSTは、上述のように第1プレイヤと第2プレイヤとの段位差に応じたものである。その後、サーバ装置103は、対戦後の段位ポイントPが−500点以下になったか否かを判断し(S112)、段位降格の有無を判定する。ここで、対戦後の段位ポイントPが−500点以下の場合(S112でYES)は、サーバ装置103は、第2プレイヤの段位を1つ降格させると共に(S113)、段位ポイントを0に初期化し(S107)、段位情報を端末装置Aに送信する(S109)。一方、対戦後の段位ポイントPが−500点より大きい場合(S112でNO)、サーバ装置103は、第2プレイヤの段位を現状維持とし(S108)、段位情報を端末装置Aに送信する(S109)。
次に、第1プレイヤと第2プレイヤとの対戦中に何れか一方が通信を切断したことによって対戦ゲームが正常に終了しなかった場合におけるサーバ装置103のより詳細な動作を、図14に示すフローチャートを参照して説明する。ここでは、端末装置Aを操作する第1プレイヤが対戦中に通信を切断したものとする。
先ず、サーバ装置103は、通信を切断した第1プレイヤに与えられる切断ペナルティポイントPPENを、第1プレイヤと第2プレイヤとの段位差に基づいて決定する(S121)。一例として、第1プレイヤの段位が16(七段)で、第2プレイヤの段位が8(二級)であった場合、第1プレイヤにとっての第2プレイヤとの段位差は、第2プレイヤの段位8から第1プレイヤの段位16を減算した値−8である。この段位差に対応する第1プレイヤの切断ペナルティポイントPPENは、図8より「215」となる。他の例として、第1プレイヤおよび第2プレイヤの段位がともに16(七段)であった場合、段位差は0であり、第1プレイヤの切断ペナルティポイントPPENは、図8より「160」となる。さらに他の例として、第1プレイヤの段位が8(二級)で、第2プレイヤの段位が16(七段)であった場合、第1プレイヤにとっての第2プレイヤとの段位差は8であり、この段位差に対応する第1プレイヤの切断ペナルティポイントPPENは、図8より「120」となる。このように、第1プレイヤの段位が第2プレイヤの段位よりも高いときの切断ペナルティポイントは、第1プレイヤの段位が第2プレイヤの段位と同一又は低いときの切断ペナルティポイントよりも大きくなる。
次に、サーバ装置103は、第1プレイヤの通信切断前の段位ポイントPから切断ペナルティポイントPPENを減算して、通信切断後の段位ポイントPを演算する(S122)。その後、サーバ装置103は、通信切断後の段位ポイントPが−500点以下になったか否かを判断し(S123)、段位降格の有無を判定する。ここで、通信切断後の段位ポイントPが−500点以下の場合(S123でYES)は、サーバ装置103は、第1プレイヤの段位を1つ降格させると共に(S124)、第1プレイヤの段位ポイントを0に初期化する(S125)。通信を切断した第1プレイヤの端末装置Aに対しては段位情報を送信することができないので、サーバ装置103は段位情報を送信することなく、第1プレイヤのペナルティ情報を保存する(S126)。一方、通信切断後の段位ポイントPが−500点より大きい場合(S123でNO)、サーバ装置103は、第1プレイヤの段位を現状維持とし(S127)、第1プレイヤのペナルティ情報を保存する(S126)。
以上のように、本実施の形態に係るネットワークゲームシステム100は、各プレイヤの段位および段位ポイントの情報を記憶する段位情報記憶部81(能力評価レベル情報記憶手段)と、端末装置A(第1の端末装置)を操作する第1プレイヤの段位と端末装置B(第2の端末装置)を操作する第2プレイヤの段位との差を表す段位差(能力評価レベル差)を演算する段位差演算部84(能力評価レベル差演算手段)と、対戦の途中で端末装置Aを操作する第1プレイヤ側の通信切断要因により、端末装置Aと端末装置Bとの通信が切断されたとき、前記段位差に応じた切断ペナルティポイントを、前記段位情報記憶部81に記憶されている第1プレイヤの段位ポイントから削減する切断ペナルティ処理部86(切断ペナルティ処理手段)と、を備える。そして、切断ペナルティ処理部86は、端末装置Aを操作する第1プレイヤの段位が端末装置Bを操作する第2プレイヤの段位よりも高いときの切断ペナルティポイントを、第1プレイヤの段位が第2プレイヤの段位と同一又は低いときの切断ペナルティポイントよりも大きくする。
これにより、悪質プレイヤの意図的切断の抑止効果を高めることができる。すなわち、通常、各プレイヤは、対戦に勝利して段位ポイントを獲得し、より高い能力評価レベルを得ようとする。そして、悪質プレイヤは、段位を下げたくないため、対戦に負けそうになると対戦の途中で通信を切断してしまうことがある。しかし、本実施の形態のネットワークゲームシステム100においては、対戦の途中で通信を切断した場合には段位ポイントが低減するという重い切断ペナルティが課される。さらに、自己より低い段位の対戦相手に負けそうになった端末装置Aを操作するプレイヤが対戦中に通信を切断するという不正行為を行った場合には、本来、段位が上であるので正々堂々と対戦すべきであるにもかかわらず不正を行ったということでその悪質度が高いため、対戦相手の段位と同一又は低いときよりも重いペナルティを課す。このように、対戦していたプレイヤ同士の能力評価レベル差に応じた妥当な切断ペナルティポイントを設定し、対戦の途中で通信を切断したプレイヤの段位ポイントを削減するという直接的且つ重いペナルティにより、悪質プレイヤの意図的切断の抑止効果を高めているのである。本実施の形態のネットワークゲームシステム100では、上記の意図的切断の抑止効果により、良好なゲーム環境が構築でき、より興趣性の高い通信対戦型のネットワークゲームを実現している。
ところで、サーバ装置103は、端末装置を操作するプレイヤの切断履歴情報を記憶して管理する切断履歴管理手段63を備えており、当該切断履歴情報を用いて切断ペナルティポイントを補正する機能を備えていてもよい。以下に、図14のフローチャートを参照して説明した処理の変形例として、切断履歴情報を用いて切断ペナルティポイントを補正する処理例を、図15のフローチャートを用いて説明する。ここでも、第1プレイヤと第2プレイヤとの対戦中に、端末装置Aを操作する第1プレイヤが通信を切断したものとする。
上述のとおり、先ず、S121において、サーバ装置103は、通信を切断した第1プレイヤに与えられる切断ペナルティポイントPPENを、第1プレイヤと第2プレイヤとの段位差に基づいて決定する。その後、サーバ装置103は、第1プレイヤによる通信切断が今回初めてではなく過去にも切断履歴が存在するか否かを確認し(S131)、過去にも第1プレイヤが対戦中に通信を切断した履歴がある場合には(S131でYES)、切断回数または切断率が大きいほど切断ペナルティポイントPPENが大きくなるように当該切断ペナルティポイントPPENを補正する(S132)。サーバ装置103における切断ペナルティポイントの補正処理は、図4に示した切断ペナルティ処理部86によって実行される。
切断ペナルティ処理部86による切断ペナルティポイントPPENの補正の一例としては、第1プレイヤの切断回数をN(今回の切断を含む回数)とすると、
PPEN×{1+0.05×(N−1)}
で表される計算式により、切断回数が1つ増加する毎に切断ペナルティポイントが5%ずつ増加するような補正が挙げられる。例えば、第1プレイヤの切断ペナルティポイントPが図8より「160」の場合において、第1プレイヤの切断回数が11回のときは、補正後の切断ペナルティポイントが「240」となる。
なお、切断履歴情報における時間的要素を考慮して切断ペナルティポイントの補正を行うことも有効である。切断履歴情報には、ゲーム実施日(試合の日付)や切断が発生した日付などの時間情報を含ませることができる。そこで、このような時間情報も併用して切断ペナルティポイントの補正を行う。例えば、切断回数が同じ3回であっても、1年間の切断回数が3回と、1ヶ月間の切断回数が3回とでは、後者の方が意図的な切断をした可能性が高い。そこで、例えば、所定期間単位で(例えば1ヶ月単位で)の切断回数を集計し、各月の切断回数の中から最も高い切断回数を第1プレイヤの切断回数として、上記S132のルーチンを適用することもできる。また、直近1年間の切断履歴情報と、数年前の切断履歴情報とでは、前者の方が現在の第1プレイヤの通信切断傾向を如実に現している。そこで、直近の所定期間(例えば直近1年間)の切断履歴情報のみを対象として第1プレイヤの切断回数を求め、上記S132のルーチンを適用することもできる。
または、現在から過去に遡って所定のゲーム数(例えば、過去20ゲーム)の切断履歴情報のみを対象として端末装置の切断回数を求め、上記S132のルーチンを適用することもできる。
また、上記の説明では主に切断回数に基づいて切断ペナルティポイントを補正する方法について説明したが、切断回数に代えて切断率(切断回数/ゲーム数)を用いることもできる。切断率を用いる場合においても、上述のように切断履歴情報における時間的要素を考慮して、直近の所定期間(例えば直近1年間)の切断履歴情報のみを対象としたり、現在から過去に遡って所定のゲーム数(例えば、過去20ゲーム)の切断履歴情報のみを対象としたりして、切断ペナルティポイントを補正することができる。一例としては、第1プレイヤにおける過去20ゲームの切断率をMとすると、
PPEN×(1+M)
で表される計算式により、切断率が高くなるほど切断ペナルティポイントも高くなる補正が挙げられる。例えば、第1プレイヤの切断ペナルティポイントPが図8より「160」の場合において、第1プレイヤの過去20ゲームの切断率が0.50(50%)のときは、補正後の切断ペナルティポイントが「240」となる。
上記S132の後に実行される処理(S122〜S127)については、既に図14に示すフローチャートでも説明しているので、その説明は省略する。
次に、切断履歴情報を用いて切断ペナルティポイントを補正する処理のその他の例を、図16のフローチャートを参照して以下に説明する。ここでも、第1プレイヤと第2プレイヤとの対戦中に、端末装置Aを操作する第1プレイヤが通信を切断したものとする。
上述のとおり、先ず、S121において、サーバ装置103は、通信を切断した第1プレイヤに与えられる切断ペナルティポイントPPENを、第1プレイヤと第2プレイヤとの段位差に基づいて決定する。その後、サーバ装置103は、第1プレイヤによる端末装置Aの切断回数(切断回数の絶対数)が所定回数を超えているか否かを判断する(S141)。ここでは、所定回数を5回として説明する。第1プレイヤによる端末装置Aの切断回数が所定回数(5回)を超えている場合(S141でYES)、サーバ装置103は、S132に移行し、第1プレイヤの切断履歴情報に基づいて切断回数または切断率が大きいほど切断ペナルティポイントが大きくなるように当該切断ペナルティポイントを補正する。このS132の処理は、上述の通りである。一方、第1プレイヤによる端末装置Aの切断回数が所定回数(5回)以下の場合(S141でNO)、サーバ装置103は、S132による切断ペナルティポイントの補正を行うことなく、S122に移行する。S122〜S127の処理については、既に図14に示すフローチャートでも説明しているので、その説明は省略する。
上記図16に示すフローチャートに基づく処理では、第1プレイヤによる端末装置Aの切断回数の絶対数が5回以下(所定回数以下)と少ない場合には、切断履歴情報に応じた切断ペナルティポイントの増加を免除している。第1プレイヤによる端末装置Aの切断回数の絶対数がある程度少ない場合には、通信障害や操作ミス等のプレイヤの意図しない切断なども含まれる可能性があるため、この場合に必要以上に切断ペナルティポイントが増加されてしまう可能性を抑制している。一方、端末装置Aの切断回数の絶対数が5回(所定値)を超える場合、端末装置Aを操作する第1プレイヤが対戦中に意図的に切断を何度も繰り返した可能性が高くなり、上記のようなプレイヤの意図しない切断を考慮すべき必要性は薄くなる。そこで、切断回数が所定値を超える端末装置Aの第1プレイヤに対しては、切断履歴情報に応じて切断ペナルティポイントを増加する補正を実行する。なお、上記の所定回数は5に限定されるものではなく、1以上の任意の整数とすることができる。
また、上記では、第1プレイヤによる端末装置Aの切断回数が所定回数以下と少ない場合には、切断履歴情報に応じた切断ペナルティポイントの増加を免除しているが、切断ペナルティポイントによる段位ポイントの削減そのものを免除するものであってもよい。この場合、通信障害等のプレイヤの意図しない切断によって正常な一般プレイヤがペナルティを受ける可能性を抑制し、対戦中に意図的切断を何度も繰り返す悪質プレイヤに略限定してペナルティを課すことができる。但し、対戦中に意図的に通信を切断した悪質プレイヤに対するペナルティについても所定回数分だけ免除することにもなるので、この場合に設定する所定回数としては、正常な一般プレイヤがペナルティを受ける可能性の抑制効果が期待でき、且つ、悪質プレイヤに対するペナルティを免除し過ぎないような値、例えば2回程度に設定することが望ましい。
ところで、切断履歴情報を用いて切断ペナルティポイントを補正する図15または図16に示す処理を適用した場合、通信障害や操作ミス等のプレイヤの意図しない通信の切断によって記録された切断履歴情報により、切断ペナルティポイントの値が大きな値に補正されてしまい、当該プレイヤの段位ポイントが大幅に減少する不利な状況も考えられる。そこで、本実施の形態のネットワークゲームシステム100では、プレイヤが対戦中に故意に通信を切断することなく普通にゲームを続けてさえいれば不利な状況から解消されるようになっている。この点について、サーバ装置103の動作を示す図17のフローチャートを参照しながら、以下に説明する。
サーバ装置103は、各端末装置A・Bの各プレイヤが対戦の途中で通信を切断することなく正常に対戦を終えた連続回数(以下、正常対戦連続回数と記す)の情報を、端末装置の識別情報(端末IDおよびプレイヤID)と関連付けて記憶している。
サーバ装置103は、端末装置A・B間の対戦ゲームが正常に終了した旨の通知を端末装置A・Bから受けた場合(S151でYES)、各端末装置A・Bのプレイヤの正常対戦連続回数を1ずつ増加させる(S152)。
次に、サーバ装置103は、端末装置A・Bの何れかのプレイヤの正常対戦連続回数が所定回数(例えば20回)に到達したか否かを判断する(S153)。ここで、正常対戦連続回数が所定回数に到達した端末装置があれば(S153でYES)、サーバ装置103は、当該端末装置の切断履歴情報としての切断回数を所定値(例えば1)だけ削減し(S154)、正常対戦連続回数を初期化する(S155)。なお、この切断回数の削減により、必然的に切断率も低下する。また、初期化とは、正常対戦連続回数を初期値の0にすることである。また、S154において、切断回数が既に0の端末装置にあっては切断回数を0のままとし、切断回数をマイナスの値とすることはない。
一方、サーバ装置103は、正常対戦連続回数が未だ所定回数に到達していない端末装置のプレイヤに対しては(S153でNO)、S154に移行することなく処理を終了する。
また、端末装置A・B間の対戦ゲームが正常に終了しなかった場合、すなわち、何れかの端末装置のプレイヤが対戦中に通信を切断した場合(S151でNO)、サーバ装置103は、通信を切断した端末装置のプレイヤの正常対戦連続回数を初期化する(S156)。
図17のフローチャートに示すサーバ装置103の処理により、所定回数(例えば20回)のゲームを正常に終了する毎に、切断履歴情報の切断回数が1ずつ減少するので、意図しない通信の切断によって記録された切断回数も、普通にゲームを続けてさえいれば何れはゼロになる。これにより、一般プレイヤが通信障害等の意図しない通信切断によってペナルティを受ける場合でも、過去の通信障害等による切断回数の累積により必要以上に大きなペナルティを受けることはなくなる。よって、対戦中に故意に通信切断を行わない一般プレイヤであれば、安心してゲームを行うことができる。
さらに、これまで故意に通信切断を繰り返していた悪質プレイヤにとっても、過去の行為を悔い改めて正常にゲームを行うようになれば、所定回数のゲーム毎に切断回数を削減させることができるので、更正の機会が与えられることにもなる。これにより、ゲーム環境をさらに良好に導くことができる。
なお、上述のように、サーバ装置103の機能はネットワークゲームシステム100内のどこかで実現されればよいため、機能分散型の複数台のサーバとして実現することもできる。また、ネットワークゲームシステム100内にある1台または複数台の小型コンピュータに、サーバ装置103の機能の一部または全部を持たせるシステム構成も可能である。
さらに、サーバ装置103の機能の一部を、ネットワークゲームシステム100内の端末装置に持たせることもできる。たとえば、本実施の形態では、サーバ装置103が全ての端末装置の段位情報および切断履歴情報を、段位情報記憶部81(図4)および切断履歴記憶部63a(図3)に一括して記憶・保存している構成を説明したが、各端末装置が自己の段位情報および切断履歴情報を個々に記憶・保存する構成とすることもできる。この場合、図6に示すように、各端末装置の制御部10aは、自己の段位情報を記憶・保存する段位情報記憶手段58と、自己の段位情報をサーバ装置103に送信する段位情報送信手段59とを備える。さらに、各端末装置の制御部10aは、自己の切断履歴情報を記憶・保存する端末切断履歴記憶手段60aと、自己の切断履歴情報をサーバ装置103に送信する端末切断履歴送信手段60bとを備える。そして、端末装置がサーバ装置103にゲームへの参加要求(ログイン)をするとき、或いはログイン直後に、自己の段位情報および切断履歴情報をサーバ装置103に送信する。切断履歴情報を受信したサーバ装置103では、原則、参加要求を受け付けている端末装置の段位情報および切断履歴情報のみを記憶し、これらの情報を段位判定処理等に利用する。段位情報や切断履歴情報に変更が生じた場合、サーバ装置103から端末装置へ変更後の段位情報や切断履歴情報を送信し、その後、サーバ装置103側では当該段位情報や切断履歴情報を保存・管理処理しない。端末装置とサーバ装置103との間の通信が切断されてしまい、サーバ装置103が変更後の段位情報や切断履歴情報を端末装置へ送信できない場合には、当該端末装置が、再度、サーバ装置103へ接続するまで、サーバ装置103側で変更後の段位情報や切断履歴情報を保存する。そして、端末装置が、再度、サーバ装置103へ接続したときにサーバ装置103に保存していた当該端末装置の変更後の段位情報や切断履歴情報を送信する。
上記のように各端末装置の段位情報や切断履歴情報を、各端末装置が自ら保存する構成により、サーバ装置103における段位情報や切断履歴情報の保存領域を削減できる。また、サーバ装置103は、原則、参加要求を受け付けている端末装置の段位情報や切断履歴情報のみを記憶して処理するので、より高速な処理が実現できる。
本実施の形態に係るネットワークゲームシステム100において、サーバ装置103および端末装置が実行するコンピュータ読み取り可能な各種プログラムは、ハードディスク、光ディスク(CD−ROM、DVD−ROM、UMDなど)、フレキシブルディスク、半導体メモリ、ROMカセット、あるいは家庭用ビデオゲーム装置用のカートリッジ等のコンピュータ読み取り可能な各種記録媒体に記録され、サーバ装置103および端末装置に読み出されて実行される。なお、各種プログラムをサーバ装置103や端末装置に提供する手段は、前述した記録媒体に限定されるものではなく、インターネット104介して行うこともできる。例えば、ネットワークゲームを管理している会社が提供するホームページ等からインターネット104を介してダウンロード可能な場合は、ゲーム進行プログラム等を当該ホームページから直接ダウンロードして実行できるようにしてもよい。
また、本実施の形態では、ネットワークゲームの一例として野球ゲームを挙げて説明したが、適用可能なネットワークゲームはこれに限定されるものではなく、プレイヤ間で対戦を行う通信対戦型のネットワークゲームであれば、種々のゲームに適用することができる。たとえば、サッカー、テニス、格闘技等の種々のスポーツゲーム、シミュレーションゲーム、シューティングゲーム、ロールプレイングゲーム等に同様に適用することができる。
また、本実施の形態では、図8に示すように、敗戦ポイントと切断ペナルティポイントとを別に定め、切断ペナルティポイントを敗戦ポイントよりも大きくした望ましい例を示したが、敗戦ポイントをそのまま切断ペナルティポイントとして使用することも可能である。すなわち、図8に示す敗戦ポイントも、切断ペナルティポイントと同様に、対戦したプレイヤ同士の段位差に応じてポイントの値が変化する重み付けがなされており、敗戦ポイントをそのまま切断ペナルティポイントとして使用した場合にも、悪質プレイヤの意図的切断の抑止効果を得ることができる。
また、本実施の形態では、2人のプレイヤが一対一で対戦する例を示したが、3人以上のプレイヤが対戦するネットワークゲームにも適用可能である。例えば、対戦型カーレースゲームでは、ゲームに参加するプレイヤを3人以上とすることができる。3人以上のプレイヤ(3台以上の端末装置)での対戦中に通信を切断したプレイヤに対しても、本実施の形態の切断ペナルティ処理が適用できる。すなわち、第1の端末装置と第2の端末装置とをそれぞれ操作するプレイヤを含む3人以上のプレイヤでの対戦中に、第1の端末装置を操作するプレイヤ側の通信切断要因により、第1の端末装置と第2の端末装置との通信および第1の端末装置とその他の端末装置との通信が切断されたとき、第1の端末装置を操作するプレイヤの段位と第2の端末装置を操作するプレイヤの段位との差に応じた切断ペナルティポイントを、第1の端末装置を操作するプレイヤの段位ポイントから削減すればよい。ここで、第1の端末装置とは、対戦中に通信を切断したプレイヤが操作する端末装置であり、第2の端末装置とは、第1の端末装置を除く複数の端末装置の中から選択される一の端末装置である。例えば、第1の端末装置を操作するプレイヤの段位から最も離れた段位を有するプレイヤの端末装置を上記第2の端末装置として選択することができる。具体例を挙げると、段位10(初級)、段位11(二段)、段位12(三段)の3人のプレイヤが対戦している途中で、段位12(三段)のプレイヤが通信を切断した場合、段位12(三段)のプレイヤが操作する端末装置が第1の端末装置であり、段位10(初級)のプレイヤが操作する端末装置が第2の端末装置となる。
また、本実施の形態では、能力評価レベルとして段位を用いた例を示したがこれに限定されるものではなく、例えば、報賞、名誉、等級などとして表される他の能力評価レベルを用いることもできる。