JP2006239470A - サーバ装置、ネットワークゲームシステム、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 - Google Patents
サーバ装置、ネットワークゲームシステム、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 Download PDFInfo
- Publication number
- JP2006239470A JP2006239470A JP2006169370A JP2006169370A JP2006239470A JP 2006239470 A JP2006239470 A JP 2006239470A JP 2006169370 A JP2006169370 A JP 2006169370A JP 2006169370 A JP2006169370 A JP 2006169370A JP 2006239470 A JP2006239470 A JP 2006239470A
- Authority
- JP
- Japan
- Prior art keywords
- user
- game
- stage
- player
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】対局者選定部540は、対局要求を受けた場合、その要求を発行した利用者を対局待ちに設定すると共に、その利用者のステージ情報を読み取る。次に、自動選定処理部541が、ステージ情報が同じで、かつ対局待ちである利用者を読み取り、選定処理を行う。ステージ管理部570は、対局が終了した場合にクライアント装置600から送られてくる終了の通知を受け取る。その通知に基づいて、対局者のステージ情報を利用者DB530から読み取り、各対局者のステージ情報を更新する。上記トーナメント戦の例では、勝った対局者のステージ情報に1を加え、負けた方はこのトーナメント戦から削除する。
【選択図】図30
Description
1)対局したい相手が、対局を希望していない場合がある。
2)対局したい相手が、対局中で、すぐに対局できない場合がある。
3)対局したい相手の対局が終了するまで、モニタする必要がある。
4)対局相手が選択できるまで、本来の目的である対局以外の作業をしなくてはならず、また時間もかかる。
これにより、対局が可能な者の中から、指定された強さの者が自動的に選択される。その結果、利用者にとっては対局相手を選ぶ手間が省けることとなり、便利である。
図1は、本発明の関連技術の原理構成図である。ネットワークゲームシステムは、サーバ装置10とクライアント装置20とで構成される。サーバ装置10とクライアント装置20とは、ネットワーク31を介して接続されている。
利用者情報記憶手段11は、複数の利用者の情報を格納する。
1)対局希望要求を受信する毎に、その対局希望要求者についての対局者選定処理を行う。この時、待ち時間の長い対局待ち利用者を優先して選定対象としてもよい。
2)あらかじめ指定された時間がきたら、対局者選定処理を行う。
3)対局待ち利用者数があらかじめ指定された数を超えたら、対局者選定処理を行う。
4)対局希望要求の受信数があらかじめ指定された数を超えたら、対局者選定処理を行う。
5)あらかじめ決められた時間内に、対局者が決まらなかった利用者に対して、別の対局者DBより対局者を選定する。
6)対局者の強さを示す点数の増減の微分値により、対局相手の選定範囲を決定する。
7)対局待ちの利用者の対局待ちの時間に応じて、対局相手の選定範囲を変化させる。
図2は、本発明の第1の関連技術に係るネットワークゲームシステムの全体の概略構成図である。
図3は、サーバ装置内の構成を示す図である。ネットワークOS(Operating System)110は、TCP/IPおよび、表1に示したプロトコルが動作する装置である。これにより、クライアント装置200,200a〜200fとの通信が実現できる。ネットワークOS110の機能は、通常ファームウェアあるいはソフトウェアで実装される。もちろん、物理的な信号の送受信を行うネットワークインタフェース(I/F)カードは、サーバ装置にすでに組み込まれているものとする(クライアント装置200,200a〜200fにおいても同様) 。
第2の条件:あらかじめ指定された時間がきたら、対局者選定処理を行う。
第4の条件:対局希望要求の受信数があらかじめ指定された数を超えたら、対局者選定処理を行う。
対局管理部160は、一方の対局者の指し手を、その対局相手に中継する処理を行う。この場合、どの対局の指し手かを識別するため、対局の指し手Cと共に対局識別子Bも同時にやりとりする。どのクライアント装置に送信するかは、利用者DB130から対局識別子で対局者を検索し、その利用者のIPアドレスを求めれば特定することができる。
ユーザインタフェース210は、利用者からの情報入力と利用者への情報表示を受け持つ。ここで、将棋の対局に適用した場合を例にとり、ユーザインタフェースの詳細を説明する。
以上のような構成のネットワークゲームシステムにおいて、以下のような処理が行われる。本システムの動作を説明するため、サーバ装置100およびクライアント装置200でのフローチャートを図6〜図15に示す。なお、フローチャートを用いた説明においては、図中のステップ番号に沿って説明する。
[S1]ネットワークOS110は、なんらかの信号の受信がある否かを絶えず判断している。信号の受信が発生したらステップS2に進み、信号の受信が発生していない場合は、このステップS1の処理を繰り返す。
[S2]認証部120は、信号の発信者が正当な利用者かどうかを認証する。これは利用者DB130での利用者識別子とパスワードの対を照合すれば実現できる。不正な利用者であればステップS3に進み、正当な利用者であればステップS4に進む。
[S3]認証部120は、受信した信号が不正な利用者からのものであれば、Errorである旨をクライアント装置200に通知する。その後、ステップS1に進み次の受信に備える。
[S4]認証部120は、受信した信号が正当な利用者からのものであれば、受信した要求の種類を判別する。対局者の要求が対局要求であればステップS5に進み、要求が指し手であればステップS6に進む。
[S5]対局者選定部140が、対局者選定処理を行う。その後、ステップS1に進み、次の受信に備える。この処理の詳細は後述する。
[S6]対局管理部160が、対局管理処理を行う。その後、ステップS1に進み次の受信に備える。この処理の詳細は後述する。
まず、対局要求を受け取った対局者選定部140は、選定条件保持部150の内容に応じて以下のような処理を行う。
[S11]選定開始条件に第1の条件が含まれているか否かを判断する。第1の条件が含まれている場合にはステップS12に進み、含まれていない場合にはステップS13に進む。
[S12]第1の条件が設定されている場合(第1の条件のみが設定されている場合と、条件の組み合わせで第1の条件が含まれている場合とがある)、処理内容を「第1の選定処理」として自動選定処理部141を起動する。第1の選定処理の詳細は、図8に示す。
[S13]第1の条件が設定されていない場合、要求してきた利用者Niに待機の応答を行う。
[S14]利用者DB130の利用者Niの状態を対局待ちにセットし(S←1)、対局要求時刻Wに現在の時刻をセットする。
図8は、第1の選定処理のフローチャートである。これは、第1の選定条件で対局要求が発生したときに行われる。
[S21]利用者DB130から対局待ちの利用者情報を読み出す。
[S22]「選定ルーチンa」を呼び出し、対局要求した利用者の対局相手を探す。選定ルーチンaからは、相手が見つかったか否かの情報が変数pによって返される。相手が見つかった場合には変数pの値がtrueであり、相手が見つからなかった場合には変数pの値はfalse である。
[S23]変数pの値に基づいて、対局相手が見つかったか否かを判断する。対局相手が見つかった場合にはステップS24に進み、見つからなかった場合にはステップS26に進む。
[S24]対局相手が見つかった場合は( 選定ルーチンaでの変数pがtrueの場合) 、対局する双方のクライアント装置に対局識別子Bと対局相手の情報を応答および通知する( ここで応答とは要求に対しての返事であり、通知は待機している利用者へイベントとして連絡することである) 。
[S25]対局する両者の利用者DB130を更新する。つまり状態Sを0にセットする。
[S26]一方、相手が見つからなかった場合、対局要求を出力したクライアント装置200に待機の応答をする。
[S27]同時に、この利用者の利用者DB130内の状態Sを1にセットする。
一方、選定条件保持部150に、前述の第2の選定開始条件から第4の選定開始条件のいずれかが設定された時点から、対局者選定部140は以下の第2の選定処理を継続的に行う。
[S31]第2〜第4の選定開始条件中の設定されている条件のいずれか1つが満たされているか否かを判断する。選定開始条件の1つが満たされていればステップS32に進み、満たされていなければこのステップを繰り返す。
[S32]選定開始条件の中のすくなくとも1つの条件が満たされたら、利用者DB130から対局待ちの利用者情報を読み出す。
[S33]「選定ルーチンb」を呼び出し対局の組み合わせを行う。この処理の詳細は、図12に示す。
[S34]対局相手の選定が完了した利用者のクライアント装置200に、対局識別子B、対局相手情報Zmを通知する。
[S35]利用者DB130内のこれらの利用者の状態Sを1にセットする。
このように、選定開始条件のいずれか1つが満たされた時点で対局者選定処理が開始され、対局相手が決定した利用者に対して、対局識別子Bと対局相手情報Zmとが通知される。
図10は、対局管理処理のフローチャートである。これは指し手Cがクライアント装置200から送られてきたときに、対局管理部160が行う処理である。
[S41]指し手Cと同時に送られてきた対局識別子Bをキーとして、対応する対局相手のアドレスを利用者DB130から検索する。
[S42]アドレスに該当するクライアント装置に、クライアント装置200から送られてきた指し手Cを対局識別子Bと共に送信する。
選定ルーチンはいくつか方法が考えられる。ここでは、もっとも簡単な比較による選定方法による例を示す。なお、選定ルーチンは、全て自動選定処理部141が行う処理である。
[S51]基準値Rxと変数pを初期化(設定)する。ここで、基準値Rxは、対局者として選択可能な強さの差の基準を示す値であり、両利用者の強さの差がこの範囲内に入れば、対局者として選定することにする。変数pは、対局相手が見つかったか否かを示す論理変数であり、対局相手が見つかった場合には「true」、見つからなければ「false 」となる。
[S52]項目番号「k」に0をセットする。
[S53]項目番号「k」の値に1を加算する。
[S54]識別子「Nk」が、対局要求を出力した利用者の対局者履歴「Li」に含まれていないことを確認する。含まれていればステップS53に進み、含まれていなければステップS55に進む。
[S55]対局要求を出力した利用者の強さ「Ri」と、識別子「Nk」の利用者の強さ「Rk」との差が、基準値「Rx」より小さいか否かを判断する。基準値「Rx」より小さければステップS56に進み、そうでなければステップS57に進む。
[S56]識別子「Nk」の利用者を、対局要求を出力した利用者の対局相手として決定し、利用者DB130の内容を更新する。具体的には、対局要求を出力した利用者(識別子「Ni」)の対局者「Mi」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者「Mk」に項目番号「i」の識別子「Ni」を登録する。さらに、項目番号「i」の対局者履歴「Li」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者履歴「Lk」に項目番号「i」の識別子「Ni」を登録する。また、対局者が見つかったため、論理変数「p」を「true」に設定する。これらの設定が完了したら、処理を終了する。
[S57]項目番号「k」が、対局待ちの利用者数U以上になったか否かを判断する。U以上であればステップS58に進み、そうでなければステップS53に進む。
[S58]対局相手が見つからなかったため、論理変数「p」を「false 」に設定し、処理を終了する。
図12は、第2の選定処理で呼び出される選定ルーチンbのフローチャートである。なお、この処理においても、前述の表3に示したような変数を用いる。
[S61]集合Sと集合Pを初期化(空集合)し、基準値Rxを初期化(設定)する。集合Sは処理が終了した項目番号の集合であり、集合Pは処理したが相手が見つからなかった項目番号の集合である。
[S62]選択される項目番号の値「i」を0に初期化する。
[S63]「i」の値に1を加算する。
[S64]「i」が、集合Sに含まれているか否かを判断する。集合Sに含まれていれば、その項目番号に対応する利用者の対局相手は既に決定しているため、ステップS63に戻る。集合Sに含まれていなければステップS65に進む。
[S65]比較対照となる項目番号の値「k」を0に初期化する。
[S66]「k」の値に1を加算する。
[S67]項目番号「k」の利用者が、対局相手としての基本的条件を満たしているかどうかを判断する。基本的条件としては、まず、自分自身を除く(i≠k)。そして、すでに処理した項目番号(集合Sにあるもの)、及び予め定められた期間あるいは対局数内ですでに対局したことのある利用者(集合Liにあるもの)は選定の対象外とする。これらの条件を満たしていればステップS68に進む。条件を満たしていない場合にはステップS66に進む。
[S68]項目番号「i」の利用者と項目番号「k」の利用者との強さの差がRxより大きいか否かを判断する(|Ri−Rk|>Rx)。強さの差がRx以下であればステップS69に進み、強さの差がRxより大きければステップS70に進む。
[S69]項目番号「i」と項目番号「k」とを、処理済を示す集合Sに含める。また、項目番号「i」の対局者「Mi」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者「Mk」に項目番号「i」の識別子「Ni」を登録する。さらに、項目番号「i」の対局者履歴「Li」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者履歴「Lk」に項目番号「i」の識別子「Ni」を登録する。これらの設定が終了したらステップS72に進む。
[S70]比較されている項目番号「k」が、対局待ちの利用者を示す項目番号の最大値「U」以上であるか否かを判断する。「k」が「U」以上であればステップS71に進み、そうでなければステップS66に戻る。
[S71]集合Pに項目番号「i」を含める。すなわち、項目番号「i」の利用者の適当な対局者が見つからなかったことになる。
[S72]選択されている項目番号「i」が、項目番号の最大値「U」以上であるか否かを判断する。「i」が「U」以上であれば処理を終了し、そうでなければステップS63に戻る。
まず、ユーザインタフェースの処理機能を説明する。
[S101]ユーザインタフェース210が、マウスなどの入力装置からの入力の有無を監視する。図5に示したように、利用者が入力できる項目として、対局希望ボタン211がひとつと、指し手の操作盤(将棋盤表示部213と持ち駒表示部216、217との領域を指す)とがあり、これらを監視すると共に、対局要求部220と対局部230からの要求を監視することになる。
[S102]入力装置からの入力か否かを判断する。入力装置からの入力であればステップS103に進み、そうでなければステップS106に進む。
[S103]入力が対局要求か否かを判断する。対局希望ボタン211がマウスによってクリックされ、対局要求が入力されたのであればステップS104に進み、指し手操作盤が操作され、差し手が入力されたのであればステップS105に進む。
[S104]対局要求部220に対し、対局要求を発行するように指示をする。これにより、対局要求部220では、対局要求処理が起動される。この処理の後、ステップS101に進む。
[S105]指し手を対局部230に伝達し、ステップS101に進む。
[S106]対局要求部220からの入力か否かを判断する。対局要求部220からの入力であればステップS107に進み、そうでなければ対局部230からの入力であると判断し、ステップS108に進む。
[S107]対局要求部220から入力された対局相手などの情報を表示する。対局相手の場合には、対局相手の情報Znと対局相手の強さRnとを、対局者表示部214(図5に示す)に表示する。また、待機すべき旨の表示要求、もしくはエラーが発生した旨の表示要求の場合には、その内容をメッセージ表示部212(図5に示す)に表示する。その後、ステップS101に進む。
[S108]対局部230から入力された指し手に従って、指し手の操作盤上の駒の配置を更新し、ステップS101に進む。
図14は、対局要求処理のフローチャートである。この処理は、ユーザインタフェース210から対局要求部220へ対局要求が出力された際に、対局要求部220が実行する処理である。
[S111]対局要求プロトコルを使って、利用者識別子Niに、パスワードPi、アドレスAiを含めてサーバ装置100に送信する。ここでアドレスは、クライアント装置200にあらかじめ設定されているので、ユーザが入力しなくても自動的に検出し、プロトコル上にのせることが可能である。
[S112]対局要求の応答の有無を判断する。対局要求に対するサーバ装置100からの応答があればステップS113に進み、応答がなければこのステップS112の処理を繰り返す。
[S113]応答がエラーなしで正常に返されたか否かを判断する。エラーがあったらステップS117に進み、エラーがなければステップS114に進む。
[S114]選定結果を受信したか否かを判断する。選定結果を受信したのであればステップS115に進み、そうでなければステップS116に進む。
[S115]選定結果(対局相手の情報Znと対局相手の強さRn)をユーザインタフェース210に伝達し表示させると共に、対局部230に対局識別子Bを伝達し、処理を終了する。
[S116]待機すべき旨の情報をユーザインタフェース210に伝達して表示させ、ステップS114に進む。
[S117]エラーが発生した旨の情報をユーザインタフェース210に伝達して表示させ、処理を終了する。
図15は、対局処理のフローチャートを示す図である。これは、対局が開始されたら、対局部230にて常時実行されている処理である。
[S121]ユーザインタフェース210あるいはサーバ装置100からの入力の有無を判断する。入力があればステップS122に進み、入力がなければこの処理を繰り返すことで、入力があるまで待機する。
[S122]入力がユーザインタフェース210からのものであるか、サーバ装置100からのものであるかを判断する。ユーザインタフェース210からの入力であればステップS123に進み、サーバ装置100からの入力であればステップS124に進む。
[S123]ユーザインタフェース210からの入力であれば、対局識別子B、指し手C、及び利用者識別子Niをサーバ装置100へ送信する。
[S124]サーバ装置100からの入力であれば、受信した指し手Cを対局識別子Bと共にユーザインタフェース210へ伝達する。
このようにして、対局を希望する利用者の対局相手をサーバ装置100が自動的に決定し、利用者の使用しているクライアント装置へ対局相手に関する情報を通知することができる。その結果、利用者自身が、対局相手を見つけるという作業が不要になる。
次に第2の関連技術について説明する。第2の関連技術は、第1の関連技術で示した基本構成に種々の応用技術を付加したものである。
1)第5の選定開始条件であり、あらかじめ決められた時間内に対局者が決まらなかった利用者に対して、別の対局者DBより対局者を選定する(以後、第1の拡張機能という)。
2)待ち時間の長い対局待ち利用者を優先して選定対象とする(以後、第2の拡張機能という)。
3)対局者の強さを示す点数の増減の微分値により、対局相手の選定範囲を決定する(以後、第3の拡張機能という)。
4)対局待ちの利用者の対局待ちの時間に応じて、対局相手の選定範囲を変化させる(以後、第4の拡張機能という)。
「表示」は、利用者DBの情報を表示要求できるプロトコルである。
図16は、本発明の第2の関連技術のサーバ装置の構成を示す図である。このサーバ装置300は、クライアント装置400とネットワークを介して接続されている。
対局者選定部350は、基本構成の機能のほかに、利用者DB361の中からでは対局相手が見つからなかった利用者に対して、予備対局者DB362を使用し対局者を見つける機能が含まれる。
予備対局者DB362は、あらかじめ登録され、対局者再要求にそなえて待機している利用者のDBである。予備対局者DB362に格納されているデータの内容は、利用者DB361と同様である。
(1)点数が高い方が勝った場合、
得失点=16−(持点差×4%)
(2)点数が低い方が勝った場合、
得失点=16+(持点差×4%)
なお、点数が高い方が勝った場合において、持点差が400点を超えていると得失点が負の数になってしまうが、その場合、強さは変動させない。ただし、対局者の自動選定処理において、強さの差が一定の閾値以上の場合には対局相手として選ばれないため、その閾値を400以下に設定しておけば、持点差が400点を超えることはない。
次に上記サーバ装置300に対応するクライアント装置の構成を示す。
図17は、第2の関連技術のクライアント装置の構成を示す図である。
ユーザインタフェース420は、利用者からの情報入力と利用者への情報表示を行う。このユーザインタフェース420は、第1の関連技術におけるユーザインタフェースに対して、機能を拡張したものである。
終了要求部450は、ユーザインタフェース420から投了情報(負けの意思表示)が伝達されたら、終了プロトコルでもってサーバ装置300に、それを伝達する。そして、サーバ装置300からの応答を待ち、正常に処理されたら、ユーザインタフェース420に対局終了のメッセージを表示する。
退場要求部460は、本システムから利用者が抜けるための処理を行う。退場のプロトコルをサーバ装置300に送信し、応答がきたら処理完了のメッセージをユーザインタフェース420に表示する。
対局部480は、第1の関連技術に示した対局部230(図4に示す)と同様の機能を有する。
[S201]ネットワークOS310は、受信の有無を判断し、各種要求を受信すればステップS202に進み、受信しなければこの処理を繰り返す。
[S202]認証部320は、なんらかの受信が発生したら、それが正当な利用者かどうかを認証する。正当な利用者であればステップS204に進み、不正な利用者であればステップS203に進む。
[S203]受信した要求の認証に失敗した場合には、認証部320は、エラーである旨のメッセージをクライアント装置400に通知する。
[S204]認証部320は、正当な利用者であれば、受信した要求の種類を判別し、それぞれの処理を実行させる。
[S205]入場要求の場合には、入場者受付部330が入場受付処理を実行する(詳細は図20に示す)。
[S206]終了要求の場合には、強さ評価部370が終了処理を実行する(詳細は図21に示す)。
[S207]退場要求の場合には、退場者受付部340が退場処理を実行する(詳細は図22に示す)。
[S208]対局要求の場合には、対局者選定部350が選定処理を実行する。この処理の詳細は、図7〜図9に示した第1の関連技術の処理と同様である。ただし、図8の第1の選定処理のステップS22で行われる処理の内容が異なる(選定ルーチンaに変えて、選定ルーチンa' が実行される)。
[S209]指し手要求の場合には、対局管理部300aが対局処理を行う。詳細は図10に示した第1の関連技術の処理と同様である。
[S210]表示要求の場合には、表示情報提供部380が要求されたデータを利用者DB361から取得する。
[S221]要求してきた利用者Niの状態を初期化する(S←0)。
[S222]本システムのサービスメニューを利用者Niに応答する。サービスメニューは、具体的には、対局要求と退場とがある。
[S231]終了要求した利用者Niとその対局者Miの強さを、勝敗の結果と元の強さをもとに計算する。この計算方法は、前述の通りである。
[S232]計算した結果を利用者DB361へ記録する。そして、利用者Niへ処理完了を応答し、この処理を終了させる。
[S241]退場要求した利用者の状態を変更する(S←0)。
[S242]利用者Niへ退場了解を応答し、処理を完了させる。
ここで、第1の拡張機能を実現した選定処理を「第3の選定処理」とする。
[S251]対局待ち利用者の対局待ち時間が、あらかじめ決められた待ち時間以上になったか否かを判断する。待ち時間を超えていなければこのステップを繰り返し、待ち時間を超えていればステップS252に進む。
[S252]利用者DB361から対局待ち利用者情報を読み出し、予備対局者DB362から予備対局者の情報を読み出す。
[S253]選定ルーチンcを読み出す。
[S254]待ち時間が超過した利用者に対し対局相手が決まれば、それをそのクライアント装置に通知する。
[S255]最後に利用者DB361の更新を行う。
図24は、第3の選定処理で呼び出される選定ルーチンcのフローチャートである。
[S261]基準値Rxを初期化(設定)する。Rxは強さの差の基準値である。
[S262]項目番号「k」に0をセットする。この処理でしようしている変数kは、1から振られた番号であり、予備対局者DB362の登録者数Vまで存在する。N、R、M、Lは利用者DB361で使用している記号と同一の意味を持つ。Ni、Ri、Mi、Liは、対局待ち時間が超過した利用者であり、ここでは固定である。
[S263]項目番号「k」の値に1を加算する。
[S264]識別子「Nk」が、対局要求を出力した利用者の対局者履歴「Li」に含まれていないことを確認する。含まれていればステップS263に進み、含まれていなければステップS265に進む。
[S265]対局要求を出力した利用者の強さ「Ri」と、識別子「Nk」の利用者の強さ「Rk」との差が、強さの基準値「Rx」より大きいか否かを判断する。基準値「Rx」より大きければステップS267に進み、そうでなければステップS266に進む。
[S266]識別子「Nk」の利用者を、対局要求を出力した利用者の対局相手として決定し、利用者DB361と予備対局者DB362との内容を更新する。具体的には、項目番号「i」の対局者「Mi」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者「Mk」に項目番号「i」の識別子「Ni」を登録する。さらに、項目番号「i」の対局者履歴「Li」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者履歴「Lk」に項目番号「i」の識別子「Ni」を登録する。これらの設定が完了したら、処理を終了する。
[S267]項目番号「k」が、予備対局者DB362の登録者数V以上になったか否かを判断する。V以上であればステップS268に進み、そうでなければステップS263に進む。
[S268]Rxの値にα(予め設定された、Rxに比べて小さな値)を加え、新たなRxの値として、ステップS262に進む。
[S271]基準値Rxと変数pを初期化(設定)する。ここで、Rxは強さの差の基準値であり、変数pは、対局相手が見つかったか否かを示す論理変数である。また、以下のNi、Ri、Mi、Liは、対局要求を出力した利用者であり、ここでは固定である。
[S272]選定対象テーブル(項目番号1からU)を待ち時間の長い順にソートする。
[S273]最近の対戦成績によって、選定しようとしている利用者の強さRiを補正する。例えばRiが増加の傾向であれば、現在のRiをΔRi分だけ増加させる。ここでΔRiは、Riの増減率を示す値である。
[S274]項目番号「k」に0をセットする。
[S275]項目番号「k」の値に1を加算する。
[S276]識別子「Nk」が、対局要求を出力した利用者の対局者履歴「Li」に含まれていないことを確認する。含まれていればステップS275に進み、含まれていなければステップS277に進む。
[S277]最近の対戦成績によって、選定されようとしている利用者の強さRkを補正する。その補正方法は、ステップS273でRiに対して行ったのと同じである。
[S278]待ち時間の長さに応じてそれぞれの強さの差の基準値Rxを変化させる。Niの待ち時間に応じて変化させたものをRxi、Nkの待ち時間に応じて変化させたものをRxkとすると、選定時にはその小さい方を選択し、それを選定の強さの差の基準値Rxとする。
[S279]対局要求を出力した利用者の強さ「Ri」と、識別子「Nk」の利用者の強さ「Rk」との差が、強さの基準値「Rx」より小さいか否かを判断する。基準値「Rx」より小さければステップS280に進み、そうでなければステップS281に進む。
[S280]識別子「Nk」の利用者を、対局要求を出力した利用者の対局相手として決定し、利用者DB130の内容を更新する。具体的には、項目番号「i」の対局者「Mi」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者「Mk」に項目番号「i」の識別子「Ni」を登録する。さらに、項目番号「i」の対局者履歴「Li」に項目番号「k」の識別子「Nk」を登録すると共に、項目番号「k」の対局者履歴「Lk」に項目番号「i」の識別子「Ni」を登録する。また、対局者が見つかったため、論理変数「p」を「true」に設定する。これらの設定が完了したら、処理を終了する。
[S281]項目番号「k」が、対局待ちの利用者数U以上になったか否かを判断する。U以上であればステップS282に進み、そうでなければステップS275に進む。
[S282]対局相手が見つからなかったため、論理変数「p」を「false 」に設定し、処理を終了する。
図26は、クライアントでのユーザ入力処理のフローチャートである。これは、ユーザインタフェース420が行う処理である。
[S301]ユーザからの入力の有無を監視する。入力があった場合には、ステップS302に進み、入力が無い場合には監視処理を続行する。
[S302]ユーザ入力があった場合、その要求の種類を判別し、それに応じて処理を実行する装置に伝達する。
[S303]入場要求の場合には、入場要求部430が入場処理を行う(詳細は図27に示す)。
[S304]投了要求の場合には、終了要求部450が終了処理を行う(詳細は図28に示す)。
[S305]退場要求の場合には、退場要求部460が退場処理を行う(詳細は図29に示す)。
[S306]対局要求の場合には、対局要求部440が対局要求処理を行う(詳細は図14に示した第1の関連技術の処理と同様である)。
[S307]指し手の場合、対局部480へ指し手を伝達する。
[S308]表示要求の場合には、表示要求部470がサーバ装置300から必要なデータを取得し、ユーザインタフェース420の画面に表示する。
図27は、入場サブルーチンのフローチャートである。この処理は、入場要求部430が行う処理である。
[S311]入場要求プロトコルを使用しパラメタとしてNiとPiをサーバ装置300に送信する。
[S312]サーバ装置300からのその応答を待つ。
[S313]サーバ装置300からの応答結果を表示する。
[S321]投了を対局部480に通知する。
[S322]終了要求プロトコルを使用し、パラメタとしてNiとPiをサーバ装置300に送信する。
[S323]サーバ装置300の応答を待つ。
[S324]サーバ装置300からの応答結果を表示する。
[S331]退場処理プロトコルを使用しパラメタとしてNiとPiをサーバ装置300に送信する。
[S332]サーバ装置300の応答を待つ。
[S333]サーバ装置300からの応答結果を表示する。
また、選定する場合、次のような効果がある。
1)いつまでも対局相手が選定されないといったことがなくなる。
2)最適の相手を見つけられる可能性が高くなる。
3)その時点時点でのゲームでの強さが自動的に反映され、対局相手もそれに応じて選択される。
4)システムへの入場と退場のしくみによって、システムのセキュリティが向上すると同時に、対局者選定の待ち時間も、システムへのアクセス状況に応じて変化させられるため、常に最短の待ち時間で対局開始できるようになる。
5)対局する時、対局相手の静止画像を見ることができるため、対局の臨場感が増す。
1)トーナメント戦開始の時点では、第1のステージに8人が登録している。ただ、この8人は、同時にサーバに接続しているわけではない。
2)ある時点、8人のうち、5人だけサーバに接続している場合を考える。この5人は第1ステージにおり、そこで選定が行われる。この選定は、本発明で記述しているように自動選定されてもよいし、利用者が第1ステージに入っている利用者リストの中から自ら選択してもよい。
3)こうして、対局が行われ、勝ち負けが決定する。そこで勝った利用者は、第2のステージに進む。負けた利用者は、そのままこのトーナメント戦から登録削除してもよいし、敗者復活戦として、第1のステージの下位ステージである第0のステージに移るようにしてもよい。
4)こうして、4人までの対局が行われ、第1ステージには1人が残り、第2ステージには2人が入る。
5)第1ステージに残った1人は、他のトーナメント参加者がサーバに接続し第1ステージに参加してくるまで待つか、一旦サーバへの接続を切り次の機会を待つ。
6)第2ステージの2人は、そのまま2人がサーバに接続している場合、さらに対局し、勝ったものは第3のステージに進む。
図30は、本発明の実施の形態のサーバ装置の構成を示す図である。このサーバ装置500は、クライアント装置600とネットワークを介して接続されている。サーバ装置500は、ネットワークOS510、認証部520、利用者DB530、対局者選定部540、選定条件保持部550、対局管理部560、及びステージ管理部570で構成されている。ステージ管理部570以外の各構成要素は、図3に示した第1の関連技術の同様の構成要素と同じ機能に対する追加機能を有している。以下、追加された機能について説明する。
図32は、サーバ装置受信処理のフローチャートである。
[S401]ネットワークOS510は、なんらかの信号の受信があるか否かを絶えず判断している。信号の受信が発生したらステップS402に進み、信号の受信が発生していない場合は、このステップS401の処理を繰り返す。
[S402]認証部520は、信号の発信者が正当な利用者かどうかを認証する。不正な利用者であればステップS403に進み、正当な利用者であればステップS404に進む。
[S403]認証部520は、受信した信号が不正な利用者からのものであれば、Errorである旨をクライアント装置600に通知する。その後、ステップS401に進み、次の受信に備える。
[S404]認証部520は、受信した信号が正当な利用者からのものであれば、受信した要求の種類を判別する。終了要求であればステップS405へ、対局要求であればステップS406へ、指し手であればステップS407に進む。
[S405]ステージ管理部570が、終了処理を行う。その後ステップS401に進み、次の受信に備える。この処理の詳細は、図33に示す。
[S406]対局者選定部540が、第4の選定処理を行う。その後ステップS401に進み、次の受信に備える。この処理の詳細は、図34に示す。
[S407]対局管理部560が、対局管理処理を行う。その後ステップS401に進み次の受信に備える。この処理は、図15に示した第1の関連技術の処理と同様である。
[S411]利用者Ni,Mi(対局両者)のステージ情報を更新する。具体的には、勝った利用者ステージ情報は、1を加え、負けた方は、空(null)を入れる。
[S412]ステップS411で更新された利用者ステージ情報を、利用者DB530に記録する。
[S421]対局要求を発行した利用者のステージと同じステージにいる対局待ちの利用者情報を利用者DB530から読み出す。
[S422]相手が見つかったか否かを判断する。見つかった場合はステップS423に進み、見つからなかった場合はステップS425に進む。
[S423]対局相手が見つかった場合は、それぞれの利用者のクライアント装置に、対局者を紹介する(対局情報の応答と通知)。
[S424]両者の利用者DB530の利用者状態を対局待ちから対局中に更新(S=0)し、この処理を終了する。
[S425]対局相手が見つからなかった場合は、対局要求を発行した利用者のクライアント装置に待機の応答を行う。
[S426]対局要求を出力した利用者DB530の利用者状態を対局待ちに設定(S=1)し、処理を終了する。
図35は、トーナメント戦のステージの説明図である。8人のトーナメント参加者が第1ステージ51にエントリしており、現在5人がサーバ装置500接続している。そのうち2組4人が対局を行い、2人が勝ち進み第2ステージ52にあがる。第2ステージでもすぐに対局を行い、1人が第3ステージ53に進んでいる。あとは、もうひとりが勝ち上がってくるのを待つことになる。
もちろん、ここで利用するネットワークは無線でも有線でもどちらでも可能である。
11 利用者情報記憶手段
12 対局者選定手段
13 対局相手通知手段
14 対局管理手段
20 クライアント装置
21 対局要求手段
22 対局手段
31 ネットワーク
Claims (5)
- 通信ネットワーク上の複数の参加者にゲームの対局を行わせるサーバ装置において、
上下関係を有する複数のステージのいずれかに属する複数の利用者の情報を、各利用者が属するステージを示すステージ情報に対応づけて格納する利用者情報記憶手段と、
対局要求を受け取ると、前記対局要求を発信した利用者を登録する対局要求応答手段と、
登録された利用者のうち同一のステージに属する複数の利用者を前記利用者情報記憶手段から選択し、選択された利用者による対局をステージ毎に決定する対局者選定手段と、
対局結果を受け取ると、前記利用者情報記憶手段内の勝利した利用者のステージ情報を、上位のステージに変更するステージ管理手段と、
を有することを特徴とするサーバ装置。 - 前記ステージ管理手段は、前記利用者情報記憶手段内の負けた利用者のステージ情報を削除することを特徴とする請求項1記載のサーバ装置。
- 通信ネットワーク上の複数の参加者にゲームの対局を行わせるネットワークゲームシステムにおいて、
上下関係を有する複数のステージのいずれかに属する複数の利用者の情報を、各利用者が属するステージを示すステージ情報に対応づけて格納する利用者情報記憶手段と、
対局要求を受け取ると、前記対局要求を発信した利用者を登録する対局要求応答手段と、
登録された利用者のうち同一のステージに属する複数の利用者を前記利用者情報記憶手段から選択し、選択された利用者による対局をステージ毎に決定する対局者選定手段と、
対局結果を受け取ると、前記利用者情報記憶手段内の勝利した利用者のステージ情報を、上位のステージに変更するステージ管理手段と、
を具備するサーバ装置と、
前記対局要求を前記サーバ装置へ出力する対局要求手段を具備するクライアント装置と、
を有することを特徴とするネットワークゲームシステム。 - 通信ネットワーク上の複数の参加者にゲームの対局を行わせるための対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
上下関係を有する複数のステージのいずれかに属する複数の利用者の情報を、各利用者が属するステージを示すステージ情報に対応づけて格納する利用者情報記憶手段、
対局要求を受け取ると、前記対局要求を発信した利用者を登録する対局要求応答手段、
登録された利用者のうち同一のステージに属する複数の利用者を前記利用者情報記憶手段から選択し、選択された利用者による対局をステージ毎に決定する対局者選定手段、
対局結果を受け取ると、前記利用者情報記憶手段内の勝利した利用者のステージ情報を、上位のステージに変更するステージ管理手段、
として機能させるための対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 通信ネットワーク上の複数の参加者にゲームの対局を行わせるための対局者選定方法において、
対局要求応答手段が、対局要求を受け取ると、前記対局要求を発信した利用者を登録し、
対局者選定手段が、上下関係を有する複数のステージのいずれかに属する複数の利用者の情報を、各利用者が属するステージを示すステージ情報に対応づけて格納する利用者情報記憶手段から、登録された利用者のうち同一のステージに属する複数の利用者を選択し、選択された利用者による対局をステージ毎に決定し、
ステージ管理手段が、対局結果を受け取ると、前記利用者情報記憶手段内の勝利した利用者のステージ情報を、上位のステージに変更する、
ことを特徴とする対局者選定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006169370A JP4007397B2 (ja) | 2006-06-19 | 2006-06-19 | サーバ装置、ネットワークゲームシステム、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006169370A JP4007397B2 (ja) | 2006-06-19 | 2006-06-19 | サーバ装置、ネットワークゲームシステム、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005166185A Division JP3838268B2 (ja) | 2005-06-06 | 2005-06-06 | ネットワークゲームシステム、ネットワークゲームサーバ装置、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006239470A true JP2006239470A (ja) | 2006-09-14 |
JP4007397B2 JP4007397B2 (ja) | 2007-11-14 |
Family
ID=37046397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006169370A Expired - Lifetime JP4007397B2 (ja) | 2006-06-19 | 2006-06-19 | サーバ装置、ネットワークゲームシステム、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4007397B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6426315B1 (ja) * | 2018-03-20 | 2018-11-21 | 株式会社 ディー・エヌ・エー | 対戦ゲームを提供するためのシステム、方法、及びプログラム |
-
2006
- 2006-06-19 JP JP2006169370A patent/JP4007397B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6426315B1 (ja) * | 2018-03-20 | 2018-11-21 | 株式会社 ディー・エヌ・エー | 対戦ゲームを提供するためのシステム、方法、及びプログラム |
JP2019162384A (ja) * | 2018-03-20 | 2019-09-26 | 株式会社 ディー・エヌ・エー | 対戦ゲームを提供するためのシステム、方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4007397B2 (ja) | 2007-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1157215A (ja) | ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲームクライアント装置、対局者選定プログラムを記録した媒体及び対局者情報取得プログラムを記録した媒体 | |
TWI253580B (en) | Game apparatus, game method, and game program | |
JP5005210B2 (ja) | ネットワークゲームシステム、ネットワークゲームプログラムおよびネットワーク構築方法 | |
JPH11253657A (ja) | ネットワークゲームシステム、ネットワークゲームサーバ装置及び対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
EP1206954B1 (en) | Game machine, server system, information service method and recording medium | |
JP7133606B2 (ja) | マッチングシステム、プログラム、情報処理端末及びサーバ | |
JP4598018B2 (ja) | 紹介システム、紹介方法、ならびに、プログラム | |
JP2007505673A (ja) | ネットワークを利用したゲーム・システム | |
JP2002346232A (ja) | ネットゲーム用サーバ装置、ネットゲーム管理方法及びネットゲーム管理プログラム | |
JP2017104558A (ja) | 通信ゲームシステム、サーバ、ゲーム装置、プログラムおよび通信制御方法 | |
JP2002263369A (ja) | ビデオゲーム装置およびその制御方法、ビデオゲームシステム、ならびにビデオゲームのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体。 | |
WO2002058809A1 (fr) | Systeme de jeu pour gagner des prix mettant en oeuvre un reseau de communication, et ordinateur hote de jeu pour gagner des prix ainsi que terminal de joueur utilises dans ce systeme | |
JP2006280757A (ja) | 動画像表示システム、動画像処理装置およびこれらの方法 | |
JP4007397B2 (ja) | サーバ装置、ネットワークゲームシステム、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 | |
JP3838268B2 (ja) | ネットワークゲームシステム、ネットワークゲームサーバ装置、対局者選定プログラムを記録したコンピュータ読み取り可能な記録媒体及び対局者選定方法 | |
JP3995019B2 (ja) | サーバ装置、ネットワークゲームシステム、強さ評価プログラムを記録したコンピュータ読み取り可能な記録媒体及び強さ評価方法 | |
JP2003325985A (ja) | ネットワークゲームシステム、ビデオゲーム装置、ゲームサーバ装置、ネットワークゲームにおける回答の収集方法及び集計方法、プログラム、並びに記録媒体 | |
JP2013111106A (ja) | 通信システム、通信プログラム、情報処理装置、サーバ、および通信方法 | |
JP2002253857A (ja) | ビデオゲームプログラム、ビデオゲームプログラムを記録した記録媒体、他のプレイヤキャラクタの状況表示方法及びビデオゲームシステム | |
JP2011083508A (ja) | ビデオゲーム制御サーバ、ビデオゲーム制御方法、およびビデオゲーム制御プログラム | |
WO2015093109A1 (ja) | 情報処理装置、情報処理方法、プログラム、情報記憶媒体、情報処理システム及び管理装置 | |
JP6084746B2 (ja) | ゲームシステムおよびゲームプログラム | |
JP2002239245A (ja) | カードゲームシステム、このシステムに用いるサーバ装置、同じくクライアント装置、対戦人選定プログラムを記録した媒体および対戦人情報取得プログラムを記録した媒体 | |
JP2006285806A (ja) | データ処理システム、データ伝送装置およびこれらの方法 | |
JP7397432B1 (ja) | ゲームプログラム、方法、情報処理装置、システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070618 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070820 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100907 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110907 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120907 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120907 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130907 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |