トピックス

今後の状況によりわかりにくいところなどを追加予定です。

ホストの情報をプレイヤーが共有参照する手順を説明します。プレイヤーはWebブラウザから参照して1台のスマートホンでお試し頂くことも可能です。

ホスト機でログイン

  1. 設定画面を選択
  2. ログインボタンをクリック
  3. ログイン画面に従ってログイン
[diagram]

イベントIDの設定

  1. ホスト/プレイヤー連携の右をクリックしてパネルを開く
  2. オリジナルの名前を考えてイベント名として入力する。
    (登録後は登録リストボタンを押して選択することが可能です)
  3. 登録ボタンを押す
  4. プレイヤーの登録受け付けをONにする
[diagram]

プレイヤー機で登録

  1. ホストと同様にログイン
  2. プレイヤーモードに切り替え
  3. ホストにイベントIDを教えてもらい入力
  4. 登録ボタンを押す
    (登録後は登録リストボタンを押して選択することが可能です)
  5. 通知受信をONにすることで当該イベントIDのデータを参照することが可能となり、通知可能な状態であれば更新通知を受信してそのタイミングでデータが自動的に更新されます。
[diagram]

データの共有

  1. ホスト機(ツールバーが青色)で更新ボタンを押してデータをクラウドデータベースにアップロードし
  2. プレイヤー機(ツールバーが緑色)で更新ボタンを押してデータをクラウドデータベースからダウンロードすることでデータがホストからプレイヤーにコピーされます
  3. ホスト機でデータベースに登録したタイミングで登録プレイヤー機にプッシュ通知が行われ、その契機でプレイヤー機の更新ボタン押下時同等動作をアプリ行うことで自動的に更新されます。
[diagram]

準備は、ドロワーメニューからミックスダブルスの設定をONにすることと、参加者の性別を設定することが必要です。通常のゲーム同様に抽選することで男性と女性のペアの組み合わせを作成します。

ビデオチュートリアル

レーティングを使用する場合には試合結果を入力する必要があります。入力操作について説明します。

  1. 対戦表画面でコート番号をタッチします。
  2. 勝利チームを選択するダイアログがポップアップします。
  3. 勝利した方のチームをクリックします。
  4. 引分けは両方のクラウンが色つきになった状態です。再度タッチすることで未入力状態に戻せます。
  5. OKをタッチして結果を確定します。
  • どのような状態を勝ち/負け/引き分けと見なすのかは認識を合わせておくと良いでしょう。
  • 入力順所は任意ですが、試合は1回戦から順に行われたものとしてレートを計算します。
[diagram]
[diagram]

参加者画面や対戦表に表示されるレートの説明です。

  • レート初期値は25.0(8.33)になっています。25.0が平均レート(μ)を示し8.33が標準偏差(σ)です。25.0が強さを示し、8.33がばらつきの大きさを示す数字です。
  • レートとは単純に言うと試合に勝つ可能性の高さを示す個々の団体内での相対値です。
  • レートが大きい=一般的な意味での強いです。
  • ばらつき度合いが正規分布に従うと仮定するとグラフに示す程度の精度で推定されることになります。(これは初期値の説明図なのでばらつきがとても大きい状態です)
  • 当初は大きく変動し試合を重ねる毎にμは真の値に急速に近づきます。変動量は一定ではありません。例えば、相対的に強いレート値の対戦相手に勝つことで、より大きく上昇します。
[diagram]
  • 差の付き方を実践例で説明します。
  • パンダととらはどちらも一勝一敗ですがパンダは24.9でとらは25.1でレーティングに差があります。パンダは1回戦でレーティング25.0+25.0=50のペアに勝ち2回戦で28.1+21.9=50.0のペアに負けました。とらは1回戦で25.0+25.0=50のペアに負け25.0+28.1=53.1のペアに勝ちました。
  • 負けの価値は同じですが勝ちの場合の相手のレートがとらの方が高いです。とらの方がレートが高く評価される理由のひとつです。ただし、ダブルスの場合はパートナーのレートも影響し勝敗への寄与率が分配されますので単純では無いです。この例では2回戦は25.0+28.1=53.1対28.1+21.9=50.0の勝負でしたがレートの低いかえる&とらチームが勝利していますのでその意味でも価値が大きいです。
  • 計算方法の詳細に興味があれば「Trueskill」というキーワードで検索してみて下さい。
[diagram]

プレーヤーの抽選への参加状態を設定して抽選することで、プレーヤーの当選機会を均等にすることが出来ます。対戦画面で手動でドラッグ&ドロップで入れ替えする場合と異なり、抽選外れ回数を均等にしたり連続して休憩にならないように配慮された抽選が行われます。

[diagram]参加表明(デフォルト)
  • 抽選に参加します。当選してゲームに参加するか休憩となるかは抽選結果次第です。
  • 通常は本設定にしておきます。
[diagram]優先参加表明
  • 抽選に参加し、最優先で当選してゲームに参加します。
  • 指導者を必ずゲームに入れたい場合などに設定します。
  • 上記参加表明ステータス時に長押しすることで本ステータスに設定出来ます。
[diagram]休憩表明
  • 必ず休憩となります。
  • 疲労、体調不良などで1ゲームだけ休みたい場合に設定します。
  • 抽選に参加して外れた場合と同じ扱いとなるので復帰時には抽選で優先されます。
[diagram]継続休憩表明
  • 抽選毎に解除されず継続されること以外は休憩表明と同じです。
  • 上記休憩表明ステータス時に長押しすることで本ステータスに設定出来ます。
[diagram]欠席表明
  • 必ず欠席となります。
  • 遅刻、早退などで不在の場合に設定します。
  • イベント途中に人数を増やした場合は、増やした時点より前は遅刻と見なして本ステータスとします。
  • 個人的な都合と見なすので抽選外れ回数にカウントしません。ただし、前回プレイしていない人を優先するので復帰直後は優先して当選になります。
ステータス表明の違い一覧
ステータス ラウンド間継続 抽選時の外れ回数へのカウント
[diagram] する 抽選外れの場合にする
[diagram] する する(通常は抽選外れにならない)
[diagram] しない する(必ず抽選外れ)
[diagram] する する(必ず抽選外れ)
[diagram] する しない

進行例

  • 抽選開始前ではD氏は間に合わず遅刻なので。欠席表示にします。
  • 抽選をして1回戦を実施。D氏を除くと4人なので全員ゲームに参加します。
[diagram]
  • D氏は2回戦にも合わず遅刻。変更しなければ欠席表示のまま継続されます。
  • 3回戦には間に合ったのでD氏を参加に設定して3回戦を抽選。
  • 3回戦は5人なのでたまたまB氏が抽選に外れて休憩になりました。
[diagram]
  • C氏から4回戦は休憩したいとの申し出があったのでC氏を休憩に設定にします。
  • 4回戦の抽選結果はC氏は必ず休憩となります。
  • C氏の休憩設定は4回戦の抽選が終わると自動的に解除されます。
[diagram]

どのようなアルゴリズムで組み合わせを決めているのかを説明します。機械的ではあるので対戦表画面で適宜組み合わせを変えて下さい。

  1. まずプレイする当選者を決めていきます。登録者の中で休憩や欠席のステータスではない人を候補者とします。
  2. 過去の当選確率が低い人を有利にし、過去の当選確率が高い人を不利にします。全員の当選確率を均等にすることを第一優先とします。
  3. 連続休憩回数が多い人をやや有利にし、連続出場回数が多い人をやや不利にすることで長時間の休憩を抑止します。
  4. 出場回数が少ない人をわずかに有利にします。
  5. 優先度が高い順でプレイに参加する人を選出します。同じ優先度の場合はランダムに選出します。ペア固定している場合は平均値を用いて抽選しています。
  6. 次にペア組を行います。ペア固定の人はペアは決定とし、ペア固定以外の人はランダムに組み合わせて複数候補パターンを内部で生成します。過去のペアを組んだ回数を数えて全体で最も組んだ回数の少ない人が多くなる組み合わせを選び、なるべく毎回異なるか組んだ回数が少ない人同士がペアになるようにします。
  7. 「レーティングを均衡」がONの場合はレーティング値を元になるべく勝率が極端に偏らないように対戦相手を組み合わせます。「レーティングを均衡」がOFFの場合は対戦相手がなるべく偏らないに対戦相手を組み合わせます。

補足

  • 欠席ステータスの場合、100%落選ですが、欠席者以外の参加メンバの平均確率で当選・落選したものと仮想的に見なします。これにより欠席が有利にも不利にもなりません。連続出場回数がゼロという点と、出場回数が少ないという点で少しだけ有利になることで欠席からの復帰では多くの場合に出場になります。
    抽選に参加している時の当選確率が同じ=平等が本ソフトの考えです。参加回数が同じ=平等と考えたい場合は休憩ステータスを毎回設定することで落選となるようにして下さい。
  • 例外として、プレイ可能者をN人とするとN±1/3(切り捨て)人の範囲の場合にN/3(切り上げ)人はプレイ予定者と休憩予定者を入れ替えてメンバがシャッフルされるようにしています。連続休憩を許容する代わりに同じ人が交互に入れ替わりになることを避けるためです。
  • 「ミックス」や「バランス」のような性別での組み合わせ上の制約、参加者ステータスが必ず出場と設定されている場合、「1コートずつ抽選」の場合の前ラウンドでの休憩および試合終了者、排他ペアというような設定上の制約は優先度の選出よりも優先されて決定されます。

機種変更時の手順を説明します

  1. 旧端末で バックアップ画面でクラウドへセーブします。
  2. 新端末で同じアカウントでログインバックアップ画面でクラウドからロードします。
  3. 参加者画面・対戦表画面・登録簿画面のデータが新規端末に引き継がれます。
  • 引き継ぎ前後の機種がいずれもAndroid 6.0以降の場合は自動バックアップ機能が搭載されています。 自動バックアップを設定で禁止していなければ新規端末でもデータが復活します。 しかし、バックアップのタイミングは条件があり任意のタイミングでバックアップすることは難しいです。 Android OSのしくみで前回バックアップから24H以上経過しておりWi-Fi接続状態でアイドル状態であればバックアップされるはずです。

「ローカルセーブ」で保存した履歴も引き継ぐ場合

  1. 旧端末で バックアップ画面でセーブ履歴の出力でファイル出力します。
  2. 新端末でファイルマネージャなどで本アプリに出力ファイルをShareします。
  3. 新端末でバックアップ画面に読込まれたことをご確認ください。

プレイヤーを2グループに分けてダブルスの対抗戦を行う方法の解説

  1. グループ対抗戦にするための条件設定を行います。
    [diagram]
  2. 参加プレイヤー全員について2グループのいずれかを設定してください。各グループの人数はコートを埋めることができる人数である必要があります。2面の場合は2ペア必要なので4名以上は最低必要です。
    [diagram]
  3. 抽選ボタンを押すことで組合わせが生成されます。
    [diagram]

Android OS以外のFire OS(Amazon)やiOS(Apple)を利用時に生じる制約事項について

  • Fire OSでもGoogle Playストアから本アプリをインストールして動作可能です。(インストール方法はご自身で調べて下さい) しかし、以下の機能差分が生じます。
    • プレイヤーモード機がFire OSの場合に、ホストからのデータ更新の通知による自動更新が行えません。(右上アイコンによる手動更新は可能)
    • ブラウザで抽選結果を参照する機能(Web Share)でホストからの通知による自動更新が行えません。(表示ボタンによる手動更新は可能)
    • ホストモード機がFire OSの場合に、プレイヤーモード機で試合結果を入力しホストに送信してもホストモード機のデータは更新されません。
  • iOSではアプリはインストール出来ませんが、ブラウザで抽選結果を参照する機能(Web Share)は利用可能です。 しかし、iOSではネィティブアプリでないとメッセージ通知を受け取れないというOSの制約があり、以下の機能差が生じます。
  • その他、一見してAndroidに見えても内部実装が互換性がなかったり、前提となる通信に制約がある可能性があります。
    • メッセージングの仕組みとしてFirebase Cloud Messgingに対応し、かつFirebaseクラウドサービスとの通信が可能である必要があります。Amazon Device Messaging(Fire OS),Apple Push Notificationサービス(iOS)など種類が異なるため通知できません。
    • Google Playがプリインストールされていない機種全般やGoogleサービスとの通信が制限されている地域での利用は一部機能の利用に制限が生じる可能性があります。

サークルスクエア(https://www.c-sqr.net/)は参加プレイヤー名の出欠管理ができるサービスです。CSVで出力した参加者リストを取り込む手順の概要です。

※サークルスクエアの運営会社は本機能は関係ありませんので、問い合わせはしないで下さい。

[diagram]