📈

ウマ娘レート対戦(アルファ版)

更新日
2022/6/10
投稿日
2022/6/10
「うまっちんぐ!」にレート戦が追加されます。そのアルファ版についてのご案内です。
リンクは別途DMなどでお送りいたします。
 
バグ修正やアルファ版についてのやり取りは下記のDiscordで行う予定です。
 

用語の整理


  • ルーム
    • 対戦する3人が決まった部屋のこと
  • マッチング
    • ルームを作成するために待機していること
  • レースID
    • ウマ娘上のルームマッチID(8桁)
 
以上から簡単にレート戦の説明をすると以下のようになる。
「あらかじめレースIDを入力してマッチングを開始し、3人揃ったらルームが作成され対戦がスタート」
 

検証して欲しい内容


  • 同時接続10人規模くらいでの負荷テスト
  • 一通りプレイできるか
  • レート計算の妥当性
  • スマホでプレイできるか
  • 足りてない機能の洗い出し
  • 初見でわかりづらかったこと
  • etc…

未実装部分


また、実装できていない部分は以下になります。(こちらはベータ版を目標としています)
  • レートが近いユーザーとのマッチング機能
  • 対戦中止における理由の入力
  • 不正ユーザーの検知及び不正者に対するレートの調整
  • 終わったルームの詳細ログ
  • 統計情報
  • ユーザー個別ページ
  • 勝利数などの表示
 

概要


ウマ娘のルームマッチ機能を使ったレート対戦を「うまっちんぐ!」上に実装しました。今回はアルファ版ということで下記のみを実装しています。
  • マッチング機能
  • ルーム作成機能
  • 結果入力
  • レート計算
  • ランキング
  • 過去実績
 
レート戦の具体的なフローは以下のようになっています。
  1. Twitterでログイン
    1. notion image
  1. レースIDを入力
    1. notion image
  1. 3人集まるまでマッチング待機(180秒でタイムアウトします)
    1. notion image
  1. マッチング承認(60秒でタイムアウトします)
    1. notion image
 
  1. レースIDを用いてウマ娘アプリ内でマッチング(ランダムでルームID1つが採用されます)
    1. notion image
  1. 結果入力(300秒でタイムアウトします)
    1. notion image
  1. 結果入力待ち
    1. notion image
  1. 全員の結果が集まったらレート計算
    1. notion image
      全員が同じ結果でない限りそのルームは破棄されます。

その他機能


  • ランキング機能
    • notion image
  • 過去成績機能
    • notion image

      レート計算の仕組み


      TypeScript

      要望・バグ


      要望・バグ