📈
ウマ娘レート対戦(オープンベータ版)
更新日
2022/9/8
投稿日
2022/9/8
8月にリリースした『うまっちんぐ!』レート戦のクローズドベータ版ですが、さまざまな要望を取り入れて遂にオープンベータ版をリリースします。
バグ修正やベータ版についてのやり取りは下記のDiscordで行う予定です。
レートが近い人マッチングを導入していないので注意
クローズドベータ版からの差分
- マッチング詳細画面のレート推移がバグってるのを修正
- キャラアイコンの変更
- 自分のランキングが簡単に分かる仕組み
- ホームに今期の情報を掲載
- ランキング一覧に自分の順位を掲載
- 外部向けユーザー個別ページを作成
- 出走リスト登録したらTOPへ遷移する仕組み
- ルムマIDの次回引き継ぎまわりの調整
- 沼ルームができてしまう可能性を潰す修正
- 過去の成績を見れるようにする
- マイ出走リストの調整
- 次回開催の仕組みを追加
- 利用規約、プラポリの追加
- 共通OGPの追加
- シェアできる機構の追加
- 集計の自動化
- ドメインの反映
- ダークモードの追加
用語の整理
- マッチング
ルームを作成するために待機していること
- レースID
ウマ娘上のルームマッチID(8桁)
- マイ出走リスト
レート戦で出走するウマ娘をあらかじめ登録しておく機能
以上から簡単にレート戦の説明をすると以下のようになる。
「あらかじめマイ出走リストを登録し、レースIDを入力してマッチングを開始し、3人揃ったら対戦がスタート」
オープンベータで検証して欲しい内容
- 同時接続10人規模くらいでの負荷テスト
- 一通りプレイできるか
- レート計算の妥当性
- スマホでプレイできるか
- ダークモードは見やすいか
- 足りてない機能の洗い出し
- 初見でわかりづらかったこと
- etc…
未実装部分
また、実装できていない部分は以下になります。(こちらは正式版以降を目標としています)
- サークル紐付け機能
- マッチング成立、コメント追加、レースID変更、レース結果の不一致等に通知を送る
- 出走マイリストのプリセット化
- 出走ウマ娘修正リクエスト
- ユーザーページの強化
- 次回開催カウントダウン
- ネイティブアプリ
概要
ウマ娘のルームマッチ機能を使ったレート対戦を「うまっちんぐ!」上に実装しました。
レート戦の進行は以下のようになっています。
- Twitterでログイン

- マイ出走リストの登録

- レースIDを入力

- 3人集まるまでマッチング待機(180秒でタイムアウトします)

- マッチング承認(60秒でタイムアウトします)

- レースIDを用いてウマ娘アプリ内でマッチング(ランダムでレースID1つが採用されます)

- レースIDが無効の場合は「レースID変更リクエスト」を送信


- 対戦相手の出走ウマ娘を確認

- もしウマ娘が異なる場合は「対戦を中止」する

- コメントでコミュニケーション

- 結果入力(600秒でタイムアウトします)

- 結果入力待ち

- 異なる結果が入力されたら再度入力

- 再度ミスした場合は異議申し立てが可能


- 全員の結果が集まったらレート計算

- 結果画面で詳細にレースの内容を確認可能

その他機能
- ランキング機能

- 過去成績機能

レート計算の仕組み
TypeScript
- mu: 各プレイヤーの実力を推定する確率密度関数が取りうる値の期待値の初期値。
- sigma: 各プレイヤーの実力を推定する確率密度関数が取りうる値の標準偏差の初期値。
- beta: 76%の勝率を保証するスキル差。
- tau: 値としては各プレイヤーの実力を推定する確率密度関数が取りうる値の標準偏差の最低値。意味としては実力推定の不確かさの設定値。レート平均変動値とほぼ同等になる。
- rate = env.expose(trueskill.Rating(mu=XXXX, sigma=YYYY))で算出する表示レートはmu-3*sigmaで推定実力からやや控えめな値
協力: てんてんさん
インフラ構成
