goodgames
TeamControler R0.05
最終更新:
goodgames
-
view
(また、いつも通り手抜きで差分説明のみになりました。ごめんなさい)
■忘れないうちに重要な注意事項を記載致します
モジュール構成について
今回は追加なし。前回同様3本構成となります。
CTeamControler.cs (TeamControler本体)
DebugLog.inc (デバッグログ出力用サブモジュール)
ExecuteServerCommand.inc (Proconを介さずに直接ゲームサーバを制御するためのサブモジュール)
CTeamControler.cs (TeamControler本体)
DebugLog.inc (デバッグログ出力用サブモジュール)
ExecuteServerCommand.inc (Proconを介さずに直接ゲームサーバを制御するためのサブモジュール)
全て上書きで導入して下さい。
設定パラメータの変更について
設定パラメータにつきましては一部互換が無いものが存在します。
必要に応じ、事前に設定値の保存をお願い致します。
必要に応じ、事前に設定値の保存をお願い致します。
StatsNow Server 接続Port番号の変更について
下記修正内容一覧の3.に記載しておりますが、R5からは接続Port番号を13334に変更しております。
R5はR4の全機能を包含しているため、R4を継続利用する必要性は無いと判断しており、
近日中にR4用のPortNo.13333は閉塞予定です。
R5はR4の全機能を包含しているため、R4を継続利用する必要性は無いと判断しており、
近日中にR4用のPortNo.13333は閉塞予定です。
■追加修正内容一覧
| 項番 | カテゴリ | 追加修正区分 | UI項目名 | 機能 | 備考 |
| 1 | 初期チーム編成 | 選択肢追加 | シャッフルアルゴリズム | 分隊単位のバランス処理を追加 | |
| 2 | アンイーブン解消処理 | 機能強化 | アンイーブン状態判定人数差(不利側多数/有利側多数) | チーム間のチケット残の多少に応じ判定条件を設定可能に | |
| 3 | チームバランス制御 | ディフォルト値変更 | StatsNow Server PortNo | ディフォルト値を13333から13334に変更 | R5は13334のみ接続可能 |
修正内容詳細
1.シャッフルアルゴリズムの選択肢追加

スクリーンショットの通り、選択肢が4種に増えました。
| 選択肢 | 機能 |
| Full Random | R4まではSlot Numberと表記されていた方式です。 StatsNow!!サーバに接続出来ないケースでは自動的にこの方式が選択されます。 |
| Soldier | R4まではCooprate with StatsNowと表記されていた方式です。 プレイヤー単位でチームバランスを行い、配属先チームで新たなメンバーと分隊編成を行います。 |
| Squad(Number) | 分隊単位でバランス処理を行います。また分隊入れ替えアルゴリズムはチーム間のプレイヤー数が均衡となることを優先します。 |
| Squad(PAE) | 分隊単位でバランス処理を行います。また分隊入れ替えアルゴリズムはチーム間の能力(PAE)が均衡となることを優先します。 |
分隊単位でのバランス処理に関する補足
選択肢がSquad(Number)とSquad(PAE)の2種類存在しますが、現時点ではSquad(Number)の選択を推奨いたします。
選択肢がSquad(Number)とSquad(PAE)の2種類存在しますが、現時点ではSquad(Number)の選択を推奨いたします。
細かいアルゴリズムと統計的計算量については割愛いたしますが、
Squad(PAE)を選択した場合、能力的均衡度が最大となる組み合わせ時に大きな人数差が生ずるケースが多発します。
Squad(PAE)を選択した場合、能力的均衡度が最大となる組み合わせ時に大きな人数差が生ずるケースが多発します。
これは一部の分隊の能力が高過ぎるため、反対のチームに多数の分隊を割り当てる必要があることに起因します。
戦績の統計によれば、
優れた分隊 × 少数 ≒ アレ分隊 × 多数 でバランスが取れることは確認しておりますが、
下記2点の問題が存在します。
優れた分隊 × 少数 ≒ アレ分隊 × 多数 でバランスが取れることは確認しておりますが、
下記2点の問題が存在します。
1.ラウンド開始時の見た目が悪過ぎる(10人差などが頻発する)
2.ラウンド開始早々にアンイーブン解消処理が開始されてしまう
2.ラウンド開始早々にアンイーブン解消処理が開始されてしまう
上記2.については待ち行列の状態などを加味し、
アンイーブン解消処理の実行を遅延させる方法などを今後は検討したいと思います。
アンイーブン解消処理の実行を遅延させる方法などを今後は検討したいと思います。
尚、分隊単位のチームバランス処理本体はその大部分をサーバ側で実施しているため、
UI変更及び内部実装は小規模なものとなっております。
UI変更及び内部実装は小規模なものとなっております。
2.アンイーブン状態判定人数差の機能強化

R4までは不利(チケット残の少ない陣営)側と有利(チケット残の多い陣営)側に分かれていませんでした。
ここで一点問題が生じていました。
例えば4人差を許容する設定を行っていた場合、
有利側が4人少なくてもゲームバランスに大きな影響は無いかもしれません。
しかし、不利側が4人少ない場合も許容されてしまうため、
不利側はチケットの多くを失って敗戦色濃厚な状況であるにもかかわらず、
さらに4人もプレイヤーが少ないと絶望的な状況に陥ることもあります。
有利側が4人少なくてもゲームバランスに大きな影響は無いかもしれません。
しかし、不利側が4人少ない場合も許容されてしまうため、
不利側はチケットの多くを失って敗戦色濃厚な状況であるにもかかわらず、
さらに4人もプレイヤーが少ないと絶望的な状況に陥ることもあります。
そのためチケット残の多少に応じ、
有利/不利なチーム毎に許容する人数差を独立して設定可能と致しました。
有利/不利なチーム毎に許容する人数差を独立して設定可能と致しました。
「不利側多数」に多くのプレイヤー数を設定し、
「有利側多数」は「不利側多数」と同値または
やや少なめのプレイヤーを設定することになると思います。
「有利側多数」は「不利側多数」と同値または
やや少なめのプレイヤーを設定することになると思います。
尚、ディフォルト値は99が設定されてしまうため、
実質的にアンイーブン解消処理は実行されなくなりますので御注意願います。
実質的にアンイーブン解消処理は実行されなくなりますので御注意願います。
3.StatsNow Server接続ポート番号の変更
R4までは13333、R5からは13334を接続ポート番号に接続して下さい。
これはサーバ側モジュールに互換性が無いため、
独立したモジュールが稼働していることによります。
これはサーバ側モジュールに互換性が無いため、
独立したモジュールが稼働していることによります。
リリース予定 2012/11/04の夜
添付ファイル