アンドリューの徒然日記

SDIN-デュエルオブレジェンドの記事をメインに書いています

遊戯王MDでマスターに到達したのでダイヤ帯のデータを集計するよ/SEASON28

皆さんこんにちは、アンドリューです。

 

最近、遊戯王のデッキ構築にハマっておりまして、

そのついでにランクもボチボチやっていたら

始めてマスター帯に到達しました。

うれしい😃

 

 

まだ最高ランク帯のマスター1ではないですが、

今シーズンもあと1週間しかないようなので、

とりあえずここらで一区切りさせてもらおうと思います。

 

さて、今回マスター帯に上がるまで

つまりダイヤ帯でランクを回しているときに

実は試合の記録を付けていました。

マメですね~

 

ということで、一区切りも兼ねて

ダイヤ帯の対戦データを集計しつつ、

使用したデッキも紹介していこうと思います。

 

 

使用したデッキ

ランク戦で主に使用したデッキは3つです。

・鉄獣十二獣

・ドライトロン

純鉄獣

 

使用順は 

鉄獣十二獣 → 純鉄獣 → ドライトロン → 純鉄獣

というような感じで、気分でデッキを替えていました。

 

さて、1つ目の鉄獣十二獣の説明をしたいのですが、このデッキは崩してしまったので、デッキ画像がありません・・・。

 

使っていてあまり勝てなかった+デッキ枠が足りなかったので、シーズン途中で削除しました。

 

データはこのとおり

30戦しか使用していませんが、勝率が50%を切っています。

 

使っていて、鉄獣と十二獣をそれぞれ純構築にした方が強そう。

と思い使用を止めました。

 

【対戦動画】

www.youtube.com

 

 

次はドライトロンです。

これはちゃんとが画像あります。

 

某攻略サイトのものを参考にしながら、

自分の使いやすいように枚数調整したものになっています。

 

大きなところで言えば、バンαアルζが3枚から2枚

 


シンクロ星7枠がブラックローズからライトニングマスターになっていることでしょうか。

 

 


まずバンα・アルζを減らした理由については、

デッキを40枚に固定したかったからです。

 

今思うと40枚にする理由があるのかと言われれば微妙なところですが、

バンα・アルζは両方とも初動で欲しいカードではありますが、

2ターン目以降は別のカードの方に軍配が上がっていくため、ノヴァエマージェンシー・サイバーも含めると十分ではないかな。

 

という考えです。

 

 

ブラックローズではなくライトニングマスターを採用している理由についてですが、

これは恥ずかしながら完全にCP不足です。

なので、ブラックローズのパターンについては詳しくは分かりませんが、

主に星7シンクロを使用した場面が、増Gを討たれた際の妥協盤面やフィニッシャーだったので、そういう状況であればライトニングマスターに軍配が上がるのかな。

という感じです。

 

ちなみに、このデッキで星7シンクロは、主に

ディバイナー(レベル6)+ドライトロンモンスター で出します。

 

 

データは次のとおりです。

勝率50%なのは、微妙だなと思ったタイミングで使用するのを止めたからだと思います。

 

個人的に気になるのは、

先行と後攻の勝率にかなりの差があることでしょうか。

 

先行制圧が得意なのは当然ですが、

先行の展開途中でも相手がかなりの頻度で降参してきたので、それが影響しているのかもしれません。

 

【対戦動画】

www.youtube.com

 

最後に純鉄獣です。

1番使用しただけに、色々詰め込んであります。

 

まずメルクーリエ・アルビオン・烙印の剣ですが、

こちらの動画で使用しており、それを参考にそのまま組み込みました。

  

メルクーリエを墓地に落として鉄獣で除外。

アルビオンで烙印の剣を落としながら1ドローしつつ、烙印の剣でメルクーリエを回収する。

 

という使い方になるのですが、これがめちゃくちゃ良いです。

 

展開で微妙だったキットがナーベル以外に

落としたいものが存在しない問題と、

 

ベアブルムで抗戦をサーチするときに手札が無い問題

2つを解消してくれるギミックになっていました。

 

痒い所に手が届くとはまさにこのことか。ってね。

 

 

次に王神鳥シムルグのギミックです。

 

鉄獣効果で3体素材で出せるモンスターで、

効果で主に巨神鳥を出し、なんでも1無効を構えます。

 

今シーズンはどうやら対象耐性が強力のようで、

相手がなかなかシムルグや巨神鳥を除去できないという盤面がいくつかありました。

(というより、対象耐性を忘れてて泡影打つとかが多かった感じですが)

 

ただこの王神鳥、ベアブルムとの相性が悪く

 

ベアブルム②効果で抗戦をサーチした際に、

「トライブリゲード」モンスターしか特殊召喚できなくなるので、

使い分けをしなければならないのが欠点となります。

 

 

最後にエルフ・ギガンティック・アーゼウスです。

  

実は今回紹介したデッキ全てにアーゼウスが入っています。

アーゼウスは全てを解決してくれます。

 

展開が伸ばしきれなかったときにモンスター2体でエルフを出し、エルフ効果で適当なレベル2(キットやケラス)を蘇生。

その2体でギガンティックを出して殴って、

ダウナードでかさ増しし、アーゼウスを構える。というもの。

 

これの偉いところは、鉄獣の②効果を使った後でもできることです。

鉄獣デッキなのにスプライトにURを2つ割かないといけないのは少しキレそうになりますが、入れ得なギミックになっています。

 

データはこの通り。

一番多く使用した割には勝率がちゃんと

50%より上をキープしているのは偉かったですね。

 

ドライトロンと違い、先行後攻の勝率も大きく開いていないので、

コイントスで萎えることもあまりありませんでした。

 

ただ、使っていて厳しいなと感じた時が何度もあり、実際に1度ドライトロンに鞍替えしていますので、ランク上げとして使うのは苦労が伴うかもしれません。

 

ちなみに何で鉄獣でランクをやっているかは僕も分かりません。

 

 

総合データと環境データ

ダイヤ帯での総合成績は次の通りです。

結構ギリギリで、3回降格くらっています。

環境デッキを使えばこんなことにはならなかったのでしょうが、

クシャトリラも罪宝もすでにパックが無く、

作るのが激オモなので仕方がないことにしましょう。

 

 

使用されたデッキのトップ10は次の通りです。

「スネークアイ」は混ぜ物が多かったですが、メインで動かせそうなら「スネークアイ」でカウントしています。

 

「不明」は何もせずに降参してきた場合にカウントしていますが、途中から対戦相手のデッキが試合後に見れることが分かったので、それ以降は各デッキテーマでカウントしています。

 

こう見ると、環境デッキは固まっていますが、

1強というような感じではないことが分かります。

 

今シーズンの途中から「R-ACE」の新規が登場し、数を伸ばしてきたのが印象的ですね。

 

 

使用率TOP5の対成績が次の通りです。

ほとんど負け越していますね。

なんでこれで総合勝率50%維持できたのかが不思議ですが、この対成績で環境デッキたちの環境デッキたる所以を見れた気がします。

 

これらの中でも特に厳しいと感じたのは「クシャトリラ」で、データでも勝率が35%と辛さが見えます。

 

ユニコーンのEX裏除外は、デッキをギッチギチで作っている自分にかなり刺さりますし、

 

フェンリルは言わずもがな辛く、

 

シャングリラは返しのターンで決めきれない大きな要因となり、

 

アライズハートの強制除外まであると、もう終わりです。

 

ムカついて自分もシャングリラ使ってやろうと思ったら、専用パックが無い上にUR率が高くて発狂して 結局ドライトロンを使うはめになりました。

なんなんだこいつら。

 

 

と、ランクを挫折しそうになりましたが、

今回は無事にマスター到達しているので良しとしましょう。

 

 

まとめ

ということで、今回は遊戯王MDでマスター到達したのでデータ集計をしていきました。

 

一番の成果は、対戦記録がちゃんとできていたことでしょうか。

 

ただ、勝率やコイントス率が目に見えるようになったことで更に意識しやすくなったことは注意点かもしれませんね。

 

 

という感じで今回はこの辺で!

 

 

遊戯王MDのイベントを手札誘発ヌメロンで走ったよ/DUELIST CUP 2024 MAR

皆さんこんにちは、アンドリューです。

 

先日、遊戯王マスターデュエル(MD)のイベント

DUELIST CUP 2024 MAR」の1stステージをクリアしました。

 

2ndステージから本格的なランキング形式で、

世界大会への参加権がかかっているイベントですが、

 

今回はとりあえず、久しぶりの遊戯王MDイベントの

雑感を書きつつ、主に使用したデッキについて

紹介していこうと思います。

 

デッキ紹介

手札誘発ヌメロン

イベントでの体感勝率は5割いっているかどうか・・・。

各攻略サイトの現環境ティア表でも

ヌメロンは低く見積もられているため、

 

勝率を目指すならば、

あまりふさわしいデッキではない

というのが正直な感想になります。

 

実際、このデッキを使いながら

1度イベントを諦めていますし・・・。

 

長所としては、

①後攻を引いて戦うこと。

②勝ち筋が単純なため、頭をあまり使わなくていいこと

③試合の決着が早いので周回向き

があげられます。

 

個人的には、コイントスで勝敗が決まってしまう

(というか負けた言い訳にしてしまう)ことが、

かなりのストレスだったので、

 

先行で戦うデッキが多い中で

安定して後攻を引いて戦うことができることは、

とても重要な部分だったのかなと感じています。

 

 

対戦紹介

勝った試合

vsルーン

youtu.be

 

vsスネークアイ

youtu.be

 

vsラビュリンス(一滴はミス)

youtu.be

 

負けた試合

vsティアラメンツ

youtu.be

 

vsマナドゥム

youtu.be

 

vs斬鬼

youtu.be

カードの役割

カードの役割について

大きく3つに分けることができます。

 

①手札誘発

②除去

③ヌメロン

 

①手札誘発では、相手の展開をある程度抑えるために

ヴェーラ増GPSYフレームうららわらし を採用。

 

増Gうららは脳死で3積。

 

 

ヴェーラ3積が個人的に珍しく感じていますが、

うららと違い、相剣大師-赤霄やティアラメンツ・キトカロスの

無効タイミングを逃さないのは良い部分として感じました。

 

PSYフレームγは場を開けるヌメロンとの相性が良いですし、

一滴もあれば、無駄なく相手を妨害できるので重宝します。

 

 

わらしは、体感として2枚目のうらら、

または墓穴対策として使用しました。

 

 

②除去では、展開されている妨害カードを取り除くために

壊獣、パンクラ羽箒ライスト一滴リブート を採用。

 

壊獣は、バロネスをはじめとした妨害モンスターの

除去をチェーン発生させずにできる点が優秀。

 

パンクラは、バロネスだけでなく、

バック除去と様子見ができる点、

デッキ内でのヌメロン以外の火力としても使用しました。

 

羽箒ライストは言わずもがなバック除去。

 

 

一滴は壊獣やパンクラで除去できなかったモンスターの処理、

モンスターゾーンを空けてヌメロンの発動条件を整えること、

一定数いた結界象ビートへの対策として使用しました。

 

リブートは、元々ヌメロンとの相性は良いですが、

特にラビュリンス対策として最高のカードとなっていました。

 

 

③ヌメロンでは、メインの動きのダイレクトを決めるために

ウォール惑星探査車ネットワークダイレクト を採用。

 

ウォールは、ネットワークを持ってくるだけでなく、

相手の直接攻撃を止める効果も使っていました。

 

惑星探査車は、通常召喚権を使いますが

このデッキでは特に問題なく、

うららを使われても場に残らないのでヌメロンの邪魔をせず、

クシャトリアなどでも一部採用されていたので、

自然に使うことができました。

 

ネットワークは、このデッキのメインで、

1枚で完結するカードのため3積。

 

ダイレクトは、手札に来ると鬱陶しいので2積。

数回ダイレクトの玉切れが起こったので、

手札に来て鬱陶しくない人であれば3積も視野に。

 

採用候補だったカード

ディメンション・アトラクター

ティアラメンツや烙印の対策として有効。

発動後はヴェーラー、増G、一滴

そしてヌメロンが使用できなくなるのが致命的。

 

無限泡影

4枚目のヴェーラーとして採用できる。

体感として手札誘発は十分だったので、採用せず。

 

DDクロウ

うらら、増Gに比べてカードパワーが低い。

刺さりそうなテーマも特に思いつかない。

 

二ビル

二ビル自体がヌメロン出すために邪魔。

 

ロンギヌス

ふわんだりぃずも数を減らし、

(と思ったら2ndステージでめっちゃあたりました)

相手ターンにしか発動できないので使いどころがあまりない。

墓穴対策ではわらしの方が優秀。

 

ピリ・レイス/スモールワールド

 

純ヌメロンでよく採用されている。

使ったことがなかった+構築をシンプルにしたかった

ので採用しなかった。検討の余地あり。

 

閉ザサレシ世界ノ冥神

ジェムが足りないので入れれなかった。

EXのトロイメア枠は正直いらないので、

持っていたらぜひ採用したい。

 

サンダーボルト

相手にモンスター1体残さないと

ヌメロンでOTKできないため採用せず。

守備モンスター邪魔だなと思うときが

何回もあったので、採用もありかも。

 

墓穴

うららも増Gも特に怖くなかったので採用せず。

手札誘発たくさん入っているから抹殺は使うかなと

採用しているけど正直いらなかったので、

わらしあたりに替えるのが良いかと。

 

参考にならない対環境

vsスネークアイ

純正なら初動が止めやすいので、

環境デッキの中では勝てる方。

賜炎の咎姫が出てきたら大体終わり。

 

vsラビュリンス

リブート+ヌメロンが手元にあればほぼ勝ち確定。

(ロールバックで巻き返された試合1回)

羽箒ライストだけだと決めきれないこと多々。

 

vsクシャトリア

結構きつい。

モンスターも放置できないし、

クシャトリラバースもやばすぎる。

 

vsティアラメンツ

対面した時点でほぼ負け。

入っている手札誘発では止まらない。

対策も諦めた。

 

vs烙印ビーステッド

超融合でぐちゃぐちゃにされる。

妨害展開共に多いので、止めきれない。

 

vsレッドデーモン

相手の妨害も限られるので、手札次第でいける。

 

vs結界象ビート

4回くらい当たった気がする。

ほぼ勝ってるはず。

 

vsルーン

あまり居なかった。

 

 

総評

メンタル的に優しく、1試合が2ターン程度で終わるので、

イベント周回に向いているデッキ。

勝率は良いわけではなく、展開に幅がないので

勝ちたい対戦には向かないデッキかも。

 

(一回負けて萎えた時にルーンを使ってましたが、

 さすがにルーンよりはイベント周回向いてると思いました。)

 

個人的には久しぶりにやった遊戯王で

イベントを一応走り抜けたので満足です。

 

 

という感じで今回はこの辺で!

 

DOLにレート戦を実装したいpart⑤~運用と問題編~

はじめに

こちらの記事は「DOLにレート戦を実装したい

のpart5の記事で最終回となります。

 

part1では、なぜ「DOLレート戦」を作りたいのか

part2では、どのような仕組みになっているのか

part3では、ボタンで解決するためのマクロの実装

part4では、「DOLレート戦」の使い方

についてお話しました。

 

各パートごとにある程度に話を完結させているので、

見なくても問題はありません。

 

こちらのパートでは、

「DOLレート戦」の運用と問題について

お話したいと思います。

 

 

DOLレート戦の運用

システム構築にマクロの実装も終えたので、

次は運用の段階に入ります。

当初の目的通り、皆に使ってもらい

レートが強さの指標となるのかを確かめていきます。

 

しかし、この段階で問題点が3つ浮き出てきました。

・GASの承認の壁

・性善説に頼った運用方法

・DOL界隈の受け入れ

 

それぞれ見ていきます。

 

GASの承認の壁

ボタンを押すと、登録しているマクロが実行されます。

 

その際、初めてボタンを押すと

次のような表示が出ます。

これについてはpart④でも話していますが、

プラグロムがあなたのGoogle関連の

あなたの情報の一部にアクセスする

というセキュリティの警告になります。

 

大抵の場合は問題にならないのですが、

素人が開発したシステムになりますので、

警戒するのは当然のことでしょう。

 

DOLレート戦を使用するハードルを上げている

ことは間違いないでしょう

 

 

性善説に頼った運用方法

「DOLレート戦」はGoogleスプレッドシート

利用して作成および運用しています。

www.google.com

Googleスプレッドシートは、オンライン上でも

共同で編集できる計算、記録ソフトという認識ですが、

これが運用するにあたって仇となります。

 

共同編集できるということは、

僕が構築したシステムも第三者によって編集ができる

ということになります。

つまり、荒らし行為に対して耐性がない

ということです。

 

現状のDOL界隈はそういった問題行動を起こす人は

いないと認識していますので、

この現状で運用することは問題ないと思っていますが、

 

できるだけ手放しで運用したい以上、

荒らし行為に耐性のないまま公開することは

性善説に頼った運用となり、

別の言葉で言えば無責任になってしまいます。

 

これらの対策として

Googleスプレッドシートには、

閲覧のみ許可する方法

セルまたはページをロックする方法

2種類の第三者に編集させない方法があります。

 

が、共にマクロが使用できなくなるため

解決策にはなりえませんでした。

 

 

DOL界隈の受け入れ

「DOLレート戦」はレートを強さの指標として

表すシステムになります。

これはつまり、

強さが可視化されるということですが、

 

現状のDOL界隈ではこれが

あまり望ましいものではないという考えが

少なくないと感じています。

 

これについて話せば長くなりますが、

一言で表すなら、

過疎化しているゲームで強さを意識して

排他性を帯びたら人口増がさらに困難になるから

ということでしょうか。

 

具体的にそういったことを

言われたわけではないですが、

 

試作段階で直接的に使用を拒否されたり、

コミュニティに設置しても利用されていないことが

現状のDOL界隈で求められていないことを

表していると受け取りました。

 

元々の作成理由が個人的なものであることと、

人口増のために界隈全体で強さ<楽しさを優先すること

言い出したのは自分なので、

 

必要になるまでは公開は控えよう

という考えに至ったわけです。

 

 

まとめ

界隈の受け入れについては

僕はどうすることもできませんし、

仕方のないこととして

受け取っているので良いですが、

 

GAS承認荒らし対策については

考える余地があるのかなと思っています。

 

例えばログインIDを作成し、

Webサービスのような形で公開し管理を

することができればこれらの問題点については

解決しそうな気がしますが、

やるにはまた勉強をしないといけないので

かなり遠い話かなと思っています。

 

 

ということで、長きにわたり

お付き合いありがとうございました。

 

DOLレート戦については

一旦ここで話を区切りたいと思います。

 

 

という感じで今回はこの辺で!

DOLにレート戦を実装したいpart④~使い方編~

はじめに

こちらの記事は「DOLにレート戦を実装したい

のpart4の記事となります。

 

part1では、なぜ「DOLレート戦」を作りたいのか

part2では、どのような仕組みになっているのか

part3では、ボタンで解決するためのマクロの実装

についてお話しました。

 

各パートごとにある程度に話を完結させているので、

見なくても問題はありません。

 

こちらのパートでは、

「DOLレート戦」の使い方について

お話したいと思います。

 

 

「DOLレート戦」の使い方

「DOLレート戦」の使い方は次のようになります。

 

・プレイヤー名の登録

・対戦表の使い方

・説明書

・その他(最新情報、フリーシート)

 

 

プレイヤー名の登録

「DOLレート戦」を使用するためにはまず

プレイヤー名を登録する必要があります。

 

まずシートの「プレイヤー表」を開きます。

次にプレイヤー登録のボタンの下にある

注意事項を読んだうえでボタンを押します。

ボタンを押すとマクロが起動するのですが、

初めて起動すると次のような表示がでます。

これはマクロで使用しているGASから

Googleのアプリケーションを操作しようとするときに

承認が必要になるからです。

 

操作については、

登録ボタンの右側で説明しています。

これらの表示は

プラグロムがあなたのGoogle関連の

あなたの情報の一部にアクセスする

というセキュリティの警告になります。

 

普通のやりとりではそこまで重要な問題に

ならないとされています。

best-cloud.jp

心配ある方は調べてから承認してください。

 

対戦表の使い方

まず席登録で対戦するプレイヤー名を

座っている席に対応した数字にそれぞれ登録します。

対戦を開始し、

縦、横、斜めの順番で対戦をおこない、

各試合結果を勝敗記録のボタンで入力します。

試合結果入力後、

試合結果と入力されている内容が

あっているかを確認したのち、

レート適応のボタンを押し、

対戦後のレートをプレイヤー表に適応します。

2周目の試合を行う場合は

対戦開始からレート適応までの操作を

繰り返し行います。

 

試合を終了する場合は、

席登録をクリアして終了します。

 

説明書

左側ではDOLレート戦の使い方が説明しています。

今まで説明した一連の操作や、

DOLレート戦の仕様について説明しています。

右側では対戦レギュレーションについて

まとめています。

 

と言っても、現状「DOLレート戦」では、

対戦者の同意があれば、

どのようなレギュレーションで

行っても良しとしています。

 

なので、大会などで

どのようなレギュレーションで

行えばいいか困ったときに参考にできるよう

設置しています。

 

将来的にはDOLのスタンダードレギュレーションを

決定できればと考えています。

 

その他(最新情報、フリーシート)

「DOLレート戦」にあまり関係ありませんが、

DOL関連コンテンツの最新情報

自由に記述してもよいフリーシートを設置しています。

 

最新情報では

各コンテンツの最新情報を自動で表示しています。

 

フリーシートでは

特に使用用途がきまっていないので、

とりあえずしりとりしています。

 

 

次回予告

ということで「DOLレート戦」の使い方

について話していきました。

 

次回は最終回、

DOLレート戦の運用と問題点について

話していきます。

 

特になぜDOLレート戦が公開されていないのか

について言及する予定です。

 

ここまでお付き合いくださりありがとうございました。

 

 

という感じで今回はこの辺で!

DOLにレート戦を実装したいpart③~マクロの実装編~

はじめに

こちらの記事は「DOLにレート戦を実装したい

のpart3の記事となります。

 

part1では、なぜ「DOLレート戦」を作りたいのか

part2では、どのような仕組みになっているのか

についてお話しました。

 

各パートごとにある程度に話を完結させているので、

見なくても問題はありません。

 

こちらのパートでは、ボタン1つで解決するための

マクロの実装についてお話したいと思います。

 

こちらのお話も前回パートのシステム構築と同様に

知らなくても使う分には特に問題はないため、

それでも良いという方はこのパートを飛ばしてください。

 

 

マクロとは

マクロというのは一連の動作を

自動化するためのツールとなります。

 

Excel内でのデータ処理や書類作成、メール送信などを

自動化できるという優れものです。

 

優れものですが、使うためには

コードをかかなければなりません。

 

こちらに僕が書いた単純なコードがあります。

Sub」は始まり、「End Sub」は終わりを表し、

Range」はセル位置の取得を、

ClearContents」はセルのクリアを表します。

 

つまり、上のコードは

C68のセルに”〇”を書き込み、

 C70のセルをクリア。

 

 L70のセルに”〇”を書き込み、

 L69のセルをクリア。

 L71のセルに”1”を書き込む。

 

 F63とF64のセルに”〇”を書き込み、

 F65とF66のセルをクリアする

 

という意味になります。

 

プログラム初挑戦の僕にとって

コードを書くのは難しいですが、

 

他のセルに干渉できない関数と違い、

セルに文字を入れたり消したりできますし、

それをボタン1つでできるようになるのは

かなり魅力的です。

 

 

作成したマクロ

作成したマクロ(ボタン)は次の通りです。

 

・勝敗記録(1試合~3試合)

・席登録(Ⅰ~Ⅳ)

・プレイヤー登録

・レート適応

・各種クリア

 

各種クリア」はボタン操作をミスしたとき用に

用意したものなので、それ以外の話をしていきます。

 

 

勝敗記録

それぞれの試合の勝利判定を記録するボタンです。

 

試合の結果に応じて勝ったチームのボタンを

押してもらうことで、

各試合の結果をシートに反映させることができます。

具体的には、

記録表シートの各試合ごとの「勝敗記号」に

Aが勝ったら」を、Bが勝ったら」を

記述します。

 

これにより、IF関数Aが勝った場合

またはBが勝った場合にシートに勝利判定の反映が

できるようになっています。

 

 

席登録

席に座っているプレイヤーをシートに登録し、

各プレイヤーのレートを呼び出すボタンです。

ボタンを押すと

まず入力ボックスが表示されます。

 

プレイヤー名を入力すると

プレイヤー表に記載されている

「プレイヤー名」をマクロで自動検索します。

プレイヤー名が見つかれば、

プレイヤー名が対戦表に記入され、

共にレートが呼び出されます

プレイヤー名が見つからない場合は

見つからない旨のダイアログが表示されます。

 

つまり、プレイヤー表に登録しなければ

席登録はできないようになっている

ということです。

 

 

プレイヤー登録

プレイヤー表にプレイヤー名を登録するための

ボタンになります。

ボタンを押すと

まず入力ボックスが表示されます。

プレイヤー名を入力すると、

プレイヤー名が「プレイヤー表」に記入され、

レート1000、階級の振り分けが行われます

DOLで使用している名前を登録してほしいので、

プレイヤー名が3文字以上、7文字以下の場合

ダイアログを表示して、登録を無効にしています。

また、登録するプレイヤー名と一致する

登録済みのプレイヤー名をマクロで自動検索し、

一致する名前があったらダイアログを表示して、

登録を無効にしています。

 

 

レート適応

対戦後に変化したレートを

プレイヤー表のレートに反映させるボタンです。

 

今回のマクロの実装で

最もやることが多い部分になります。

レート適応では、試合数と対戦プレイヤーの

プレイヤー名対戦後レート連勝数勝利数

取得します。

 

取得したプレイヤー名を基に「プレイヤー表」で

検索し、そのプレイヤー名のを取得。

その列に取得した対戦後レートや連勝数を

項目ごとに反映させています。

 

これを4名のプレイヤー全てに行っています。

補足

試合数と勝利数も記録され、

それを基に勝率の計算を裏でしています。

ただ、勝率はプライバシーにかかわる情報だと考えているので、

公開情報として扱っていません。

 

裏話

そちらの方面にお詳しいふぇんりるさんに相談したところ

なんとコードを書いてくれました。

本当にありがとうございます。

 

しかし、ここにきて驚くべき事実ですが、

実は「DOLレート戦」の実装はExcelではなく

皆に使ってもらうためにGoogleスプレッドシート

行いました。

 

相談段階ではExcelで行っていたため、

ExcelのマクロコードのVBA言語で

書いていただきましたが、

 

(Excelで使用されるVBAとGoogleスプレッドシート使用されるGAS)

Googleスプレッドシートのマクロは

VBAではなくGoogle Apps ScriptGAS)で

記述されているため、

頂いたコードをそのまま使うことは

できませんでした。

 

なので、頂いたコードを翻訳し、

それをGASで記述するということで

なんとか実装をすることができたいう裏話でした。

 

ちなみに、実装の後にこの話をふぇんりるさんにしたところ

「言ってくれればやったのに~」と言ってくれました。

やさしい;;

自分的にはふぇんりるさんにお手を煩わせたくなかったので、

脳筋で翻訳しましたが、結果的に勉強になったのでOKです。

 

 

次回予告

ということで「DOLレート戦」のマクロの実装

について話していきました。

 

次回はついに、DOLレート戦の使い方について

話していきます。

 

ここまでお付き合いくださりありがとうございました。

 

 

という感じで今回はこの辺で!

DOLにレート戦を実装したいpart②~システム構築編~

はじめに

こちらの記事は「DOLにレート戦を実装したい

のpart2の記事となります。

 

part1では、なぜ「DOLレート戦」を作りたいのか

の”構想”について話していますが、

各パートごとにある程度に話を完結させているので、

見なくても問題はありません。

 

こちらのパートでは、DOLレート戦の心臓である

システム構築について話していきます。

分かりやすく書いてみたつもりではありますが、

情報量が非常に多く、専門性も伴う内容となってしまったため

・DOLレートのシステムに興味がある方

・DOLレートのシステムに疑問がある方

・DOLレートのシステムを参考にしたい方

 

のみ、このパートの閲覧を推奨させていただきたいと思います。

 

仕組みは分からなくても、使う分には特に問題はないため、

それでも良いという方はこのパートを飛ばしてください。

 

問題点の解決

前回、DOLにレート戦のシステムを導入する際には

プログラムをある程度組まなければいけないこと」と

DOLが2vs2であること」の2つの問題点がある

ということについてお話しました。

 

1つ目は頑張るしかないので、考える必要は特にないですが、

2つ目はシステム面で解決する必要があります。

 

どのように解決したのか。

結論から言えば、「同じチームの人のレートを1つ」にしました。

 

例えば、席にと座っているとして、

で対戦を始めたとき、ⅠとⅡⅢとⅣがペアになります。

そうした時にペアになった者同士のレートを足して

1つにすることによって、疑似的に2vs2を1vs1にした

ということです。

 

これによって、イロレーティングのシステムを

DOL対戦でも使用できるようになりました。

 

 

システムの構築

実際のシステムは以下のように構築しました。

・合計レートの算出

・変動レートの算出

・補正ボーナスの算出

・連勝記録の管理

・レート反映

 

それぞれ見ていきます。

 

 

合計レートの算出

こちらは変動レートの基となる

チームの「合計レート」を算出する項目です。

 

対戦者レートの列で、対戦者の対戦前のレートを表示。

 

1試合目の列での対戦(Ⅰ+Ⅱ、Ⅲ+Ⅳ)

2試合目の列での対戦(Ⅰ+Ⅳ、Ⅱ+Ⅲ)

3試合目の列で斜めの対戦(Ⅰ+Ⅲ、Ⅱ+Ⅳ)

で各試合ごとのチームのレートの合計を算出します。

 

 

変動レートの算出

こちらでは、「合計レート」と勝敗を基に

変動レート」を決定します。

 

変動レートの計算式は次のようになっています。

=(64/(10^((RA-RB)/800)+1))/2

 

RA = Aチームの「合計レート」RB Bチームの「合計レート」

となります。

 

AチームBチームレート差を出し、

なんやかんやして数値を割り出すものです。

 

Aチームが勝った場合は

=(64/(10^((RA-RB)/800)+1))/2」を参照

Bチームが勝った場合は

=(64/(10^((RB-RA)/800)+1))/2」を参照します。

 

なので、

勝敗記号でAが勝ったら「」、Bが勝ったら「」と記録。

それを基に「採用レート」のIF関数で参照する計算式を決定し、

変動レート」を算出します。

補足

補足ですが、元のイロレーティングの計算式は

「K/(10^((RA-RB)/400)+1」(K= 定数)となっており、

実装で採用している「=(64/(10^((RA-RB)/800)+1))/2」と

少し違いますが、

これは合計レートを基に算出しているために

RAとRBの差もプレイヤーレートに比べて倍近い数値が出るため、

他の数字を倍にすることで調整をしているからです。

 

 

補正ボーナスの算出

補正ボーナス」では、勝ったプレイヤーに対して

「変動レート」に加えて与えるボーナスレートを算出します。

 

DOLレート戦では全体のレートが上がりやすくするため

かつ、実力をレートに反映しやすくするため

2つの補正ボーナスを採用しています。

 

1つは「卓内平均ボーナス

もう1つは「連勝ボーナス」です。

 

まず、「卓内平均ボーナス」についてですが、

まず対戦者全員の「平均(Average)レート」を算出します。

その「平均レート」と対戦者レートをそれぞれ比較し、

「補正ボーナス」を算出します。

 

計算式は以下を採用しています。

=(32/(10^(((対戦者レート*3)-(平均レート*3))/800)+1))/((対戦者レート+2000)/1000)

 

=(32/(10^(((対戦者レート*3)-(平均レート*3))/800)+1))の部分で

仮として「平均レート」と対戦者を対戦させ、

対戦者が勝った場合の仮の「変動レート」を算出。

 

/((対戦者レート+2000)/1000)」の部分で

対戦者レートの数値を使用しつつ、

仮の「変動レート」を割っています。

 

つまり、ここではレートが高ければ高いほど、

卓内平均ボーナス」が低くなるように設定しています。

 

次に「連勝ボーナス」についてですが、

次で説明する「連勝記録」を基に算出される「現連勝数」を基に

卓内平均ボーナス」を追加で付与するというものです。

 

詳しく説明しますと、

計算式は以下を採用しています。

=IF( 現連勝数 > 0,( 現連勝数 -1 ) * 卓内平均ボーナス ,0)

 

連勝数が0なら「連勝ボーナス」は0。

連勝数が1以上なら「連勝ボーナス」は

連勝数から1引いた数*「卓内平均ボーナス」となる。

 

ということです。

 

つまり、2連勝目から「卓内平均ボーナス」を基とした

連勝ボーナス」が試合ごとに発生するということです。

 

この2つの「補正ボーナス」としてレートを調整しています。

補足

ちなみに「勝敗記録表」と「試合数」もこの項目に記載していますが、

これはプレイヤー表への記録用なので、

補正ボーナスとは現状関係ありません。

(これに関わるボーナスを実装予定だったのでこの位置にあります)

 

 

連勝数の管理

各プレイヤーの現連勝数をリアルタイムで算出する項目です。

 

勝ったら連勝数に+1

負けたら連勝数を0にリセット

とできれば非常に楽ですが、

 

スプレッドシートでは他のセルに干渉することができないので

かなり複雑な構築になってしまいました。

 

計算式は

=IF(最後の試合=負け,0を表示,IF(最後の試合=まだ,もとの連勝数+勝っている数(まるのかず),IF(1試合目が負け,勝っている数(まるのかず),IF(2試合目が負け,1,それ以外は0))))

となっています。

 

下の段で再構築を試みようとしましたが、

1試合前の連勝数は記録できても、

リアルタイムでの現連勝数を記録できなかったので、

結局残しています。

補足

ちなみに下の段も、プレイヤー表への記録用として残しています。

 

レート反映

これまで算出した数値を基に

対戦者レートへ反映させます。

 

計算式は次のようになっています。

=IF(勝った場合,元レート+変動レート+卓内平均値ボーナス+連勝ボーナス,IF(AND(負けた場合,対戦者レートが変動レートより低い場合),0,IF(AND(負けた場合,対戦者レートが変動レートより高い場合),対戦者レート-変動レート,"")))

 

勝った場合はレートが加算されるので

元々のレートに、「変動レート」の数値と

「補正ボーナス」の2つの数値を足す処理をします。

 

負けた場合は2パターン

1つ目が元々のレートが「変動レート」より低かった場合

これは”0”になるようにしています。

 

2つ目は元々のレートが変動レートより高かった場合

こちらは通常通り元々のレートから

「変動レート」の数値分引く処理をしています。

補足

なぜ、元々のレートが「変動レート」より低かった場合に

”0”になるようにしているかというと

レートにマイナスの数値を出させないようにしているからです。

 

次回予告

ということで「DOLレート戦」のシステム構築

について話していきました。

 

次回は実装に向けて、ボタン1つで操作できるよう

マクロの実装について話していきます。

 

ここまでお付き合いくださりありがとうございました。

 

 

という感じで今回はこの辺で!

DOLにレート戦を実装したいpart①~構想編~

はじめに

皆さんこんにちは、アンドリューです。

 

こちらの記事は「DOLにレート戦を実装したい

のpart1の記事となります。

全部書こうとしたら、1万字くらいいきそうだったので、

ある程度の区切りでパート分けしたいと思います。

ご了承ください。

 

こちらのパートでは

「DOLレート戦」をなぜ作りたいのか

構想についてお話をさせていただきます。

 

「DOLレート戦」を作成するにあたって

(DOL配信風景)
DOLで配信をしたり、動画を作るときに

いつも思っていることがありました。

 

DOL界隈での自分の立ち位置が微妙すぎる」と。

 

なぜ立場を気にするかというと、

 

ここ数年はDOLを知らない人向けにも

ターゲットを向けていましたので、

自分がDOL界隈でどういう立ち位置にいるか

わかりやすく伝えた方が話が早くなるからです。

 

しかし、実績を作る場があまりなかったので、

結局「DOL歴10年~」という

当たり障りのない形になっていました。

 

近頃では、jokerさんやノートさんにより

大会がある程度の頻度で開催されるようになりましたので、

実績を作ることができる場」というのは

用意されるようにはなってきましたが、

(大会の主目的はそうではないかもしれませんが)

 

他の対戦ゲームでは勝率ランクレートによって

強さの指標を計ることができますが、

DOLにはそういうものはありません。

補足

補足ですが、DOLでも勝率は記録されています。

しかし、他者のデータを移行する際に勝率も共に移行されることや

訓練デッキを使用することで勝率に影響されない試合を意図的に行うことができるので、

明確な強さの指標をしめすものとしては使用することができませんでした。

 

なので、そういった明確な強さを示すシステムが欲しいなと

常々思っていました。

 

そこで、チェスやサッカー、ポケモンやぷよぷよで

使用されてきたイロレーティングのシステムを

DOL用に構築してみよう。

 

というのが今回の話の発端となります。

 

イロレーティングの仕組み

イロレーティングとは、簡単に言えば

強さを数値で表したものになります。

レートの数値が高ければ高い程強いプレイヤーですし、

低ければその反対という風になります。

 

どのようにして数値として表すかといえば、

 

はじめに各プレイヤーに数字 = n を振り分けます。

ここでは 「n = 1000」としましょう。

 

例えばこの時にプレイヤーAとプレイヤーBが対戦を始めたら

A(レート1000) vs B(レート1000)となり、

この時のそれぞれの勝率は50%になるはずです。

 

なので、プレイヤーAかBのどちらが勝っても

「変動する数値」は同じになります。

ここではプレイヤーAが勝ったとします。

A(レート1000 + 16 ) vs B(レート1000 - 16

 

すると、レートで勝ったプレイヤーは数値がプラスされ、

負けたプレイヤーは数値がマイナスされます。

 

これを繰り返していけば、

強さを表せるようになると一瞬思いますが、

「変動する数値」が固定(ずっと±16)ですと

レートが高くなるほど有利なだけのシステムになります。

 

 

なので、レートの差によって「勝率」を割り出し、

それをもとに「変動する数値」を算出する必要があります。

 

例えば、プレイヤーAのレートが1200

プレイヤーBのレートが1000だった時、

 

Aの方がレートが高いですので、

AはBに対しての勝率は高く、逆にBの勝率は低くなるはずです。

 

なので、Aが勝った時の「変動レート」を低くし、

Bが勝った時の「変動レート」を高くすることによって、

勝率をレートに反映させることができます

 

Aが勝った場合

A(レート1200 + 8 ) vs B(レート1000 - 8

Bが勝った場合

A(レート1200 - 24 ) vs B(レート1000 + 24

 

こうすれば、レートが高くなるほど上げるのが難しくなり、

レートが低くなるほど上げるのが易くなります。

 

これがイロレーティングの主な仕組みとなります。

 

これにより、ある程度の対戦数を繰り返し、

特定のレート帯に落ち着くことで、

レートを「強さの指標」として扱うことができる

ようになります。

補足

ちなみに、勝率を反映した変動レートを算出するための計算式は

K/(10^((RA-RB)/400)+1」(K= 定数、RA=Aのレート、RB=Bのレート)となり、

K= 32、RA=1200、RB=1000 を代入すると、Aが勝った場合の変動数「8」が、

RAとRBを入れ替えた「K/(10^((RB-RA)/400)+1」の式で計算すると

Bが勝った場合の変動数「24」が求められます。これに関しては次回の記事で主に扱います。

 

 

実装にむけての問題点

チェスやサッカーなどでも

使用されているレーティングシステムですが、

DOLレート戦を実装するに向けて

いくつか問題点があります。

 

 

1つは「プログラムをある程度組まなければいけないこと

もう1つは「DOLが2vs2であること」です。

 

 

プログラムをある程度組まなければいけないこと

(Excelで色々試している風景)

システムの構築自体は、実はExcelの関数だけでできます。

(というかできました)

 

ただ、自分が使うだけでなく

実装のためには皆に使ってもらう必要があるため

わかりやすく、ボタン1つで出来るように

マクロのコードを書かなければなりません。

 

他にもシステムの管理や維持をするために

それらの経験や知識も必要になります。

 

僕はそのような経験がないので、

1から学ぶ必要がありました。

 

 

DOLが2vs2であること

(2vs2で遊ぶDOLプレイヤーたち)

実はイロレーティングは1vs1のためのシステムなので、

3人以上の対戦ゲームには使えないという問題点がありました。

 

2vs2の対戦がメインで行われているDOLでは

当然そのままイロレーティングを採用することはできません。

 

システム面で工夫する必要があります。

 

 

次回予告

ということでここまで「DOLレート戦」をなぜ作りたいのか

について話していきました。

 

次回は今回あげた問題点も解決しつつ、

DOLレート戦の心臓である

システム構築について話していきます。

 

ここまでお付き合いくださりありがとうございました。

 

 

という感じで今回はこの辺で!

アニメーションに初めて挑戦した話

皆さんこんにちは、アンドリューです。

 

配信で使用するOPムービー(待機モーション)を作成しました。

(開始~2分まで)

www.youtube.com

アニメーションに初めて挑戦しましたが、

そこそこの出来になったと思います。

 

ということで今回は、

自分用に記録するためということも含めて、

OPムービーの制作過程をまとめていこうと思います。

 

 

コンセプトの決定

さて、0から何かを創る作業は

非常に骨が折れますので、

まずはコンセプトを決めます。

 

結論から言いますが、

コンセプトは「ポケモンのトレーナー戦」です。

決めた理由は

ポケモンに思い入れがあること。

モーションが短いので描く枚数が少ない。

そして良いフリーBGMを見つけたことがあげられます。

 

見つけた良いフリーBGMは

表裏 hyouriさんの「戦闘曲」です。

www.youtube.com

曲の構成がポケモンの戦闘BGMと似ており、

非常に僕好みです。

 

作品制作している間も、制作物の確認も兼ねて

このBGMを何十回も聞きましたが

聞くたびにモチベーションがあがったので、

アニメーションが完成できたのも

この曲のおかげかもしれません。

 

さて、コンセプトと使用曲が決まったところで

早速制作していきましょう。

 

 

制作過程

制作過程は主に5つに分けれます。

・トレーナーモーションの作成

・登場アニメーション

・背景の作成

・VSモーションの作成

・その他調整

 

トレーナーモーションの作成

まずはトレーナーモーションです。

なにも無いところからこの動きを作るのは

さすがに無理だったため、

 

ポケモンBW2のPWTのダイゴ戦モーションを参考に

トレスし、キャラクターを置き換えて作成しました。

 

髪揺れのみも含めて20枚用意しましたが、

この絵の制作は思ったよりは大変ではありませんでした。

 

(クリスタでの作成風景の再現)

 

参考となる元モーションをよく見てみると

右手左手足先で分かれており

大きなアクションをするとき以外は

1枚ずつ描くのではなく、

基本的にそれらのレイヤーをズラして動きを付けていました

 

なので実質描いたのは、最初の立ちポーズと

大きく動いた腕と表情のみで済みました。

 

ただ、気付いたのが少し遅かったので、

パーツごとにレイヤー分けが出来ず、

動いた箇所を投げ縄ツールで選択し

動かすことになってしまいましたが・・・。

 

これはやってみないと気付かなかったことだと思います。

 

 

登場アニメーション

背景アップから定位置にカメラがズレるアニメーションです。

これはかなり強引な方法で作成しました。

 

参考画像を動くフレーム毎にトレースし、

そのトレースに合わせて

トレーナーと背景を動かしました。

 

トレーナーモーションはどう動かしていたかは

分かりましたが、これに関しては

元の参考画像であるゲームの方で

どのように作成していたかがわかりませんでした。

 

今回は無理やりな方法で作成したため、

もっとも荒くなってしまった部分になります。

 

 

背景の作成

 

ただの白い背景でやろうかなとも思いましたが、

明らかに手抜きですし、

せっかく作成したトレーナーモーションが

もったいないので背景画像も作成しました。

 

コンセプトはポケモンですが、

作りたいのはポケモンの画面ではなく、

ポケモン風の僕の画面なので、

メインで活動をしているDOLの対戦画面を元に

背景を作成しました。

 

床は対戦画面を参考画像を基にパースをかけ、

それをトレスし、描写。

  

背景はDOLが使用している素材サイトから素材をDL、

床と壁に見えるように配置し作成しました。

 

 

VSモーションの作成

登場アニメーションの前に表示されるモーションで、

参考にしたのはポケモンBWの四天王戦開始画面です。

 

構図を参考に素材を描こうとしましたが、

この時点で体力が底をつきそうだったので、

元々持っていた画像とフリー素材のアニメーションを組み合わせ、

動画編集ソフトで加工したり、動かしたりして作成しました。

 

個人的に手を抜いたつもりではありましたが、

ここはとてもよくできたと思います。

 

 

その他調整

モーションを音に合わせて動かしたり、

見てて飽きないようにムービーの構成を考えたり、

画面がコンセプト通りに見えるよう

図形や文字を配置したり、

トランジションをエフェクトに利用したり

 

というような感じです。

 

今回はトレーナーモーションから制作に入ったので、

ムービー構成が後まわしになってしまいましたが、

本来、先に決めるべきことだと思います。

(構成によって使用する素材がかなり変わるため)

 

 

僕は「考えること」と「作業」は別にしたい人間なので、

「作業の合間に構成を考えること」はかなり面倒でしたが、

ある程度のストーリになるように心掛けました。

 

文字のフォントも世界観に合うようなものを探したり、

音ハメも鬱陶しくなりすぎないよう心掛けました。

 

これらの調整が最も難しく、

かつ最も地味な作業だったと思います。

 

 

完成

ということで無事完成し、

配信でお披露目することができたわけですが、

 

僕の感想としては、なんとか見せれるものにはなったかなと。

 

ただ、

反省点も多く、とても100点とは言えないのが正直なところです。

 

特に、先ほども言った通り、

登場アニメーションを強引に作成したことによって出た雑さが

作成した本人である自分は見逃せませんでした。

 

あらじめ難しそうなところは分けて

計画的に取り組めば、ある程度は改善するのかなと思います。

(ただ、参考元がどのようにやっているかがわからないですが)

 

 

まとめ

ということで、OPムービーの制作過程をまとめました。

やることを分け、賢く作業したつもりでしたが、

そこそこな出来のものしか作成できませんでした。

 

やはり、世に出回っている作品たちは

えげつないものばかりだということに改めて気づきました。

 

とは言え、作ってみて新しい発見もままありましたし、

楽しかったので良いこととしましょう。

 

 

という感じで今回はこの辺で!

最後までお付き合いいただきありがとうございました。



 

 

 

 

使用素材

[背景画像]

MGS技研 様:Mutation Genes Simulation 技術開発研究所

[使用BGM]

表裏 Hyouri 様:[オリジナルBGM] 戦闘曲 [フリー] - YouTube

[その他素材]

たけふじ 様:ニコニ・コモンズ-カラフルな星のワイプ

VideoBase 様:   VideoBase|VTuberや配信者のための配信素材置場

動画AC 様: 電気ショック(5色)の動画|無料の動画素材サイト「動画AC」