「Uneven解消機能(2)」の編集履歴(バックアップ)一覧に戻る
Uneven解消機能(2) - (2011/04/16 (土) 12:59:16) の編集履歴(バックアップ)
【こちらはラウンド開始直前のUneven発生によるプレイヤー移動の解説です】
これはラウンド終了後、AutoBalancerがチーム編成を変更した後で
プレイヤーさんがサーバへの接続を切断したことが原因でUnevenが発生した際の対処機能です
システム的な実装自体は簡単なのですが、
プレイヤーさんの切断がいつ発生するかを予想することは不可能ですので
完璧な対応は不可能であると判断しています。
プレイヤーさんの切断がいつ発生するかを予想することは不可能ですので
完璧な対応は不可能であると判断しています。
この機能が稼動する条件
- ラウンド終了後であること
- 次のラウンド開始直前でプレイヤーが1人もSpawnしていないこと
なぜこの機能を完璧に実装することが困難なのか
- 最初のプレイヤーのSpawnがいつ発生するか予想できないため、
ある程度「見切り発車」的なタイミングでUnevenを解消する必要がある
- しかし、Unevenを一度解消しても、その後で別のプレイヤーの切断が発生することもあり、
何度もUneven解消処理を行う必要があるが、あまり頻繁にプレイヤーを移動することは望ましくないため
他のサーバはどのように対応しているか
- 何もしていないようです
日本国内で稼動している有名なサーバで実際にプレイしてみて確認しましたが、
ラウンド開始直後のプレイヤー数が15対7になりそのままプレイは続行されていました。
ラウンド開始直後のプレイヤー数が15対7になりそのままプレイは続行されていました。
片側のチームだけ異常に人数が少ないのは、前のラウンドが一方的な展開であり
負けた側のチームから切断者が続出したためです。
負けた側のチームから切断者が続出したためです。
(*1)
具体的な値は状況により変化させていますが最大では4名多くてもUnevenと評価しないことがあります。
例えば、チケット残が30 : 150などかなり絶望的な状況であれば、
プレイヤー数が16人対12人でもUnevenとは評価しないことがあります。
具体的な値は状況により変化させていますが最大では4名多くてもUnevenと評価しないことがあります。
例えば、チケット残が30 : 150などかなり絶望的な状況であれば、
プレイヤー数が16人対12人でもUnevenとは評価しないことがあります。
プレイヤー移動のタイミング
現状(2011/03/28現在)では10秒間隔で2回の予告メッセージを表示し、
その後Killされた下記条件に合致するプレイヤーが移動されます。
その後Killされた下記条件に合致するプレイヤーが移動されます。
移動されるプレイヤー選択の基準
Scoreが上位30%以下であり下位20%以上のプレイヤー。
満員状態であれば、5位から14位までが該当します。
(と書いてから気付きましたが下側が広すぎるな...)
満員状態であれば、5位から14位までが該当します。
(と書いてから気付きましたが下側が広すぎるな...)
なぜ上位30%は移動候補にならないかと言うと、言うまでもなくチームへの影響が大きすぎるから。
また下位20%を移動候補から除外している理由はいくつかあるのですが、
最大の理由はHighPingKickの対象になりやすいからです。
(Pingが300とか400の方はランクの下の方にいらっしゃることが多い)
また下位20%を移動候補から除外している理由はいくつかあるのですが、
最大の理由はHighPingKickの対象になりやすいからです。
(Pingが300とか400の方はランクの下の方にいらっしゃることが多い)
チーム移動によりUnevenを解消しても、すぐにHighPingKickされては意味がないので。
その他
Uneven解消の方法はサーバーによって何種類か存在するようですが、
一番多いのは最終接続プレイヤーに一定時間の猶予を与えた後、
パタッと死んで頂いて移動してしまう方式だと思います。
一番多いのは最終接続プレイヤーに一定時間の猶予を与えた後、
パタッと死んで頂いて移動してしまう方式だと思います。
いくつかこの方法には問題があると思うのですが...
例えば、大量に人を乗せたヘリのパイロットだったらどうしましょう。(笑)
例えば、大量に人を乗せたヘリのパイロットだったらどうしましょう。(笑)