マッチングの仕組みについて
久しぶりの更新になります。
今回はマッチングの仕組みについて触れてみたいと思います。
当たり前の話ではあるのですが、たとえば100人の参加者の大会で1回戦のスイスドロー方式のマッチングを行う場合に全員0勝0点(同順位)ですので全員ランダムにマッチングさせることになるかと思います。
この時、システムは何をやっているかというと、参加者1名1名にランダムな値を付与して、その値によってマッチングを行っていきます。具体的にはある1名の参加者に対してシード(種)(※マッチングにおけるシード扱いとは違います)と呼ばれる値を付与します。一般的にはPCの内部タイマー値(1/1000秒単位の値)を使ったりします。この値を元に特定の計算(2乗して真ん中の何桁分をとったり等複雑な計算を行います。)を行うことにより、次の参加者の値を決めたりします。お気づきの方もいるかもしれませんが、「特定のルール」によって作られています。ですので実は完全に「ランダムである」とはいえません。(言葉遊びに近いノリになっていますが・・・公平に誰と対戦するかわからないというレベルはクリアできてます。アナログなイメージとしては、参加受付の時に1人1人が1000D(ダイス)を振ってその1000の目を足し合わせた値を記録しておき、その値の大きい順に2人ずつマッチングさせているようなものと思ってください。)用語的には擬似乱数という言葉になるかと思います。
こういった対応で公平性は確保できていると思っていたのですが、つい先日、ある方からの指摘を受けてハッと気づかされることがありました。確かにマッチングはランダムなのだが、同一順位において卓番号の振り方の配慮が足りていないケースがわかりました。上位の順位の対戦から順番に卓番号が振られていくのは当たり前かもしれませんが、同一の順位においての卓番号の順番の振り方が特定の条件で固定化されていました。マッチングが公平であれば問題は無いんじゃないかという方もおられると思いますが、最終戦や最終回戦前の対戦であれば、トップ卓は隣になることは当たり前ですが、序盤の回戦から隣の卓の人が、お互いに勝ち続けた場合ずっととなりになるといった事態が起これば、当然隣の卓のデッキはお互いに見るわけで、いざ直接対戦の時にお互いのデッキ内容がばれている状態で対戦することをシステムが強いることに繋がってしまうわけです。
参加者に対して如何に公平にストレスなく大会参加してもらうのか?ここまで気を使って大会運用されているんだな・・・と改めて感じた次第です。(各卓の間に仕切り版を設けて隣りの卓を見えなくする・・・というのも解決方法かもしれませんが運用の手間が増えるだけだと思いますんで・・・(^^;)解決方法としてじゃあ勝ってる負けてる関係なく卓番号を完全ランダムにすれば隣の卓のデッキ見る見ないなんて気にしないでよいんじゃね?という開発担当からの意見ももらいましたが、イベントである以上ギャラリーがいることも想定しないといけませんし現実的ではないかなと・・・)参加者の不審・ストレスは主催側・TCG自体へのマイナスイメージ繋がりかねません。
ですので早速対応しちゃいました!
別視点で言えば、競技性主体ではなくエンターテイメント性を重視するような大会であれば、芸能人やカードの開発者・絵師さんなんかが参加している卓をクローズアップしたい(1番卓に座らせたい)といったような場面もあるかと思います。そういったときの為に公平性とは関係の無い卓番号の入れ替え機能なんかは追加していきたいと思っています。
最後に私もいろんなTCGの大会に出たりしてますが、やはり強いプレイヤーの人って(プレイングがよくないと勝てないというのは最前提ですが)、当たり運的なものがよかったり、対戦中の引きが強かったりする人いませんか?(いわゆる「運も実力のうち」を体現する人)そういった人は必ずと言っていいほど出てくるわけで、そうなった時にこのTCGはTCGマイスター使ってるから公平にマッチングしてるよ!ほんとに運がいい人だなぁと周りの参加者から言われるようなシステムでありたいなと思っています。
以前に、とあるカードゲームの全国大会において身内と連発で当たって、「このマッチングおかしくね?」と嘆いていたのは内緒です・・・・。(^^;
ではでは・・・。
今回はマッチングの仕組みについて触れてみたいと思います。
当たり前の話ではあるのですが、たとえば100人の参加者の大会で1回戦のスイスドロー方式のマッチングを行う場合に全員0勝0点(同順位)ですので全員ランダムにマッチングさせることになるかと思います。
この時、システムは何をやっているかというと、参加者1名1名にランダムな値を付与して、その値によってマッチングを行っていきます。具体的にはある1名の参加者に対してシード(種)(※マッチングにおけるシード扱いとは違います)と呼ばれる値を付与します。一般的にはPCの内部タイマー値(1/1000秒単位の値)を使ったりします。この値を元に特定の計算(2乗して真ん中の何桁分をとったり等複雑な計算を行います。)を行うことにより、次の参加者の値を決めたりします。お気づきの方もいるかもしれませんが、「特定のルール」によって作られています。ですので実は完全に「ランダムである」とはいえません。(言葉遊びに近いノリになっていますが・・・公平に誰と対戦するかわからないというレベルはクリアできてます。アナログなイメージとしては、参加受付の時に1人1人が1000D(ダイス)を振ってその1000の目を足し合わせた値を記録しておき、その値の大きい順に2人ずつマッチングさせているようなものと思ってください。)用語的には擬似乱数という言葉になるかと思います。
こういった対応で公平性は確保できていると思っていたのですが、つい先日、ある方からの指摘を受けてハッと気づかされることがありました。確かにマッチングはランダムなのだが、同一順位において卓番号の振り方の配慮が足りていないケースがわかりました。上位の順位の対戦から順番に卓番号が振られていくのは当たり前かもしれませんが、同一の順位においての卓番号の順番の振り方が特定の条件で固定化されていました。マッチングが公平であれば問題は無いんじゃないかという方もおられると思いますが、最終戦や最終回戦前の対戦であれば、トップ卓は隣になることは当たり前ですが、序盤の回戦から隣の卓の人が、お互いに勝ち続けた場合ずっととなりになるといった事態が起これば、当然隣の卓のデッキはお互いに見るわけで、いざ直接対戦の時にお互いのデッキ内容がばれている状態で対戦することをシステムが強いることに繋がってしまうわけです。
参加者に対して如何に公平にストレスなく大会参加してもらうのか?ここまで気を使って大会運用されているんだな・・・と改めて感じた次第です。(各卓の間に仕切り版を設けて隣りの卓を見えなくする・・・というのも解決方法かもしれませんが運用の手間が増えるだけだと思いますんで・・・(^^;)解決方法としてじゃあ勝ってる負けてる関係なく卓番号を完全ランダムにすれば隣の卓のデッキ見る見ないなんて気にしないでよいんじゃね?という開発担当からの意見ももらいましたが、イベントである以上ギャラリーがいることも想定しないといけませんし現実的ではないかなと・・・)参加者の不審・ストレスは主催側・TCG自体へのマイナスイメージ繋がりかねません。
ですので早速対応しちゃいました!
別視点で言えば、競技性主体ではなくエンターテイメント性を重視するような大会であれば、芸能人やカードの開発者・絵師さんなんかが参加している卓をクローズアップしたい(1番卓に座らせたい)といったような場面もあるかと思います。そういったときの為に公平性とは関係の無い卓番号の入れ替え機能なんかは追加していきたいと思っています。
最後に私もいろんなTCGの大会に出たりしてますが、やはり強いプレイヤーの人って(プレイングがよくないと勝てないというのは最前提ですが)、当たり運的なものがよかったり、対戦中の引きが強かったりする人いませんか?(いわゆる「運も実力のうち」を体現する人)そういった人は必ずと言っていいほど出てくるわけで、そうなった時にこのTCGはTCGマイスター使ってるから公平にマッチングしてるよ!ほんとに運がいい人だなぁと周りの参加者から言われるようなシステムでありたいなと思っています。
以前に、とあるカードゲームの全国大会において身内と連発で当たって、「このマッチングおかしくね?」と嘆いていたのは内緒です・・・・。(^^;
ではでは・・・。
スポンサーサイト