スマブラ戦績検索サイト、スマッシュレコードの仕組み
僕は現在、SMASH RECORDというWebサイトを作っています。このサイトでは、スマブラのオフ大会の結果を、プレイヤーごとに見ることができます。公開した当初はスマブラ4の結果のみでしたが、つい最近スマブラDXの大会結果も見られるようになりました。
【スマレコ】スマブラDXの結果も見られるようになりました!国内で開催された大会のうち、challongeを使って行われた大会のみ見ることができます!https://t.co/DjSuQDbJwh pic.twitter.com/vDGICUztaT
— Haruki (@harukisb) May 28, 2016
このサイト内には、現在なんと10000試合以上の記録が保存されています(自分でもびっくりした)。これらの膨大な記録をどのように管理しているかが気になる方も居るかと思います。そこで今日は、データ収集も含め、このサイトがどのように運営されているかを簡単に説明したいと思います。
サイト運営は、大きく分けて下記の3つの段階に分けられます。
- (手動)トーナメントを探す
- (自動)トーナメントの試合を、challongeのAPIによって自動で収集する
- (手動)収集したデータにあるプレイヤー名の"揺らぎ"等を手直しする
(手動)トーナメントを探す
まず当たり前ですが、どんなスマブラ大会が開かれているかを知る必要があります。僕はスマ4勢なのでスマ4の大会についてはTwitterなどから大体把握できるのですが、スマDX界隈は詳しくなかったので、スマDXの大会を集めるときにはTwitterで質問しました。
質問した時点でSMASH RECORDの名がそれなりに知られていたおかげで、情報を集めることができました。(教えてくれた方、RTしてくれた方、本当にありがとうございました)
一度トーナメントのシリーズを知ってしまえば、そのシリーズの次回大会を知るのは簡単なので、この段階はそれほど難しいものではありません。
(自動)トーナメントの試合を、challongeのAPIによって自動で収集する
次に、いよいよ試合結果を収集します。
試合結果は、challonge.com が提供しているAPIというものを通じて取得します。
challonge とはトーナメントを管理できるサイトです。主にゲーム大会で使われることが多く、国内のスマブラ大会の多くはこのサイトを使って管理しています。
API(application programming interface)とは、超カンタンに言うと、challonge内で使える機能を、プログラムから扱えるようにしたものです。通常われわれが見るトーナメントページというのは、人にとって読みやすいように出来ていますが、プログラムが処理しやすい形にはなっていません。APIを通じて取得すると、プログラムが処理しやすい形になっています。プログラムならば、10000試合以上の処理も一瞬でできます。逆に言うと、プログラムの力を借りないとこれだけの量のデータを処理するのはあまりにも大変だということです。
データの手入力はあまりにも大変な作業なので、challongeで管理されていないトーナメントは、基本的には扱っていません(例外として、闘会議2016の決勝トーナメントは、試合数が少ないことと注目度が高いという理由から、手動で入力しました)。
challongeのAPIからは、以下の様な情報が取得できます。
- プレイヤー名
- スコア
- 何回戦の試合か
- 日時
- 予選かどうか
1つのトーナメントに対するデータ収集は、処理するプログラムを一度書いてしまえば、一瞬で終わる作業です。このような仕組みがなければ、10000試合以上の情報を集めるのは中々厳しいでしょう。
(手動)収集したデータにあるプレイヤー名の"揺らぎ"等を手直しする
上で説明したchallongeのAPIから取得できる情報からプレイヤーを特定する方法は、プレイヤー名しかありません。当たり前のことを言っているように聞こえますが、これがSMASH RECORDを運営する上で一番厄介な問題です。
それは、「名前が微妙に違うけど、実は同じプレイヤー」というケースが想像以上に多くあるからです。
具体例として、にえとのさんを参考にしてみます。(勝手に使ってごめんなさい!)
これはにえとのさんのウメブラ23とクロブラでの戦績です。「DNG|Nietono」と「DNG|にえとの」は違う文字列ですが、スマ勢からすれば同じにえとのさんだと言うことが簡単に分かります。しかし、プログラムにこれらを同一プレイヤーだと認識させるのは中々難しい問題です。
「大体一緒だったら同じプレイヤーだと判定するプログラムを書けばいいんじゃないか」と思われるかもしれません。しかしこれは想像以上に難しく、下手をすると、逆に「違うプレイヤーなのに同じプレイヤーと扱ってしまう」ということが起きてしまいます。例えば「つー」さんと「つ〜」さん、「ハヤト」さんと「ハヤト。」さんはそれぞれ別のプレイヤーですが、「大体一緒だから」という基準で判定すると同じプレイヤーとして扱われてしまいます。
そんな事情もあり、こういった名前の"揺らぎ"の処理については、基本的に手作業で行っています。ただ、一度手作業で直したものは、次回以降は自動で判定されるようになります。例えば、にえとのさんが次回以降Nietonoという名前で出ても大丈夫だということです。また、スポンサーの有無の違いも吸収します(「DNG|にえとの」と「にえとの」は同じと判定する)。
ただ、手作業でやっていると言っても、厳密にチェックしているわけではなく、気がついたら(もしくは気が向いたらw)逐次修正するというスタンスを取っています。そのため、実はこのサイトには間違った情報がそこそこ書いてあったりします。
この戦績情報がとても大事なものだったら、間違った情報が入っているのは結構大きな問題なのですが、あくまで趣味で運営しているということで、多めに見てもらえると助かります。また、間違いがあったら指摘してもらえればガンガン直します。
この作業が、サイト運営でもっとも重要かつ大変な箇所になります。ただ、データ収集自体は比較的誰でもできるので、手作業での修正がこのサイトの価値だとも言えますね。
っというわけで、ざっくりですが、このサイトの仕組みについて説明しました。データ収集はおそらくみなさんの想像以上に簡単ですが、名前の修正は想像以上に大変です/(^o^)\
これ以外にも、実は結構泥臭い手作業があったりしますが、それはまた機会があればということで。
これからも、SMASH RECORDをよろしくお願いします(^o^)/
ロボでチコを吹っ飛ばさせる技一覧とか
対策というほどのものではなく、トレモでちょっと触って気付いたことのメモという感じ。
チコが吹っ飛ぶ技
地上
- DA
- 横スマ根本
- 上スマ2段目
- 下スマ最終段
- 上強2段目根本
空中
- 空NA
- 空上A最終段
B技
- 細いNB(太いNBは少し%を溜めないと吹っ飛ばない!)
- 横B最終弾
その他
- 崖上がり攻撃
- 起き上がり攻撃
以下、各技に対してざっくりとしたコメント
地上
DA
発生が早く当てやすい。対チコの主要技。ロゼッタが吹っ飛んで地上に残ったチコにはこの技を当てたい。ただ、ロゼッタを投げた後とかにチコと密着状態だと当たらないので、その時は下スマが当たる。ただし下スマにはいくつか短所がある(後述)。
横スマ根本
当てるタイミングあるかどうか… あったとしてもチコを吹っ飛ばす目的ならDAや下スマのほうが発生も早く使いやすい。
上スマ2段目
地上にチコに当たらないため、あんまり使いどころはなさそう。
下スマ最終段
発生が早く、DAとは違いチコと密着状態でも当たる。吹っ飛ばしもDAよりも大きい。 ただしベクトルがほぼ真横なため、吹っ飛んだチコを追撃することができない。そのため、やるなら崖端でチコがバーストするのが確定の場面だけのほうがよさそう。また全体モーションが長いので、ロゼッタから反撃を食らいやすい。当てられるならばDAのほうがいい。
上強2段目根本
上スマとは違い、チコと超密着していれば一応あたる。使いどころはなくはないという感じだけど難しい。先端でも吹っ飛ばせるなら、台上に居るチコ相手に有効だと思ったけど、どうやら先端では%が溜まっていても吹っ飛ばない模様…
空中
空NA
DAと並ぶ、対チコの主要技。立ち回りで振る技なので、状況的にはロゼッタの前に居るチコにだけ当たるという展開が多い印象。空中に居るチコへの追撃はこれよさそう。手癖で空NA→空前Aとするとチコが吹っ飛ばなくなってしまうので注意
空上A最終段
これやるくらいなら空NAのほうがいいかな。ワンパターン相殺もかかってバースト%が下がるのも痛い。
B技
細いNB
NBはどーせロゼッタの下Bに吸われてしまうけど、吸われてもデメリットはないので相手のミスを祈りながら振って行きたいところ。相手が地上技を置いたところに刺さるかも。吹っ飛ばしは弱い上に垂直に近いので、バーストも追撃もほとんど期待できないけど…
横B最終弾
実践で試したこと無いけど、ちょっと可能性を感じてる。メタナイトの横Bみたいな反撃覚悟の択としていいかもしれない。吹っ飛ばしがそこそこ強いのも良い。 ただ、メタとは違いロゼッタを追いかける能力が低く、チコをバーストした後に大幅有利が取れるわけではないので、そこまでしてやる価値が有るかはまだ未知数。今度ロゼチコとフリーでやる機会があったら振ってく予定。
その他
崖上がり攻撃
起き上がり攻撃
この2つは狙って当てられるものではないけど、吹っ飛ばしは大きい。ただロゼチコ側も当然それを知ってガードを張ってくるはず…
投げからの展開
とても大事なポイントなんだけど、一人じゃ検証切れなかったのでまた機会があれば…
とりあえず言えることは相手が低パー時には下投げが良さそうということだけで、その後何が良いかはよくわからず。DAか下スマかなぁ。
対ロゼチコでやってはいけないこと
吹っ飛び中のチコに、弱い技を当てる
吹っ飛びが中断して、元気にロゼッタのところへ戻っていきます。
自分が高%時に、チコを倒すのに夢中になり大技を振る
本体がやってきて殴られます。ただ、自分が高%じゃないときにはチコバーストを優先でもいいのかも…?
安易なコマ出し
吸われて取られます。溜めるフリして殴りに行きたいけどロゼの下Bの後隙少なすぎてなかなか厳しい。つらい。
っというわけで考えれば考えるほどやばい感じしかしませんが、僕自身、対ロゼチコの経験がほぼ無いので、これから勉強していきたいところ。抜けやアドバイス等あればぜひぜひ教えて下さい。
ポッ拳の初心者用ページまとめ
ポッ拳を家庭用から始めて、なおかつ他の格ゲーをほとんどやったことない僕が自分用にまとめた、ポッ拳の初心者用ページのまとめです。
キャラを絞っていない、ポッ拳全般についてのページのまとめになってます。
中には古いページもありますが、どのページも基本的なことについて書かれているのでアプデの影響などはないはず…
「ポッ拳 POKKÉN TOURNAMENT」 アーケードゲーム公式サイト
http://kapidara.com/2015/11/12/1/
また、twitterでうまいポッ拳プレイヤーの探し方についてつぶやいたところ、さくさんからこのようなリプライを頂きました。ありがとうございます!
@harukisb ニコニコでポッ拳 トラタワで検索かけると出てくる動画とポッ拳 梅田大会はうまい人たちが出てるのでお勧めです
— さく (@pokken10000) March 31, 2016
それと家庭版発売前のアケ版の動画は少なくともある程度のセオリーとかは学べると思います
これらのワードをyoutube、ニコニコで検索するといい感じの動画がヒットします。
この他にも、おすすめのページがあればコメント欄等から教えていただけると助かります(^^)/
超今更な簡易EVO2015レポと、EVO2016参加のすすめ
今年のEVO2016に、スマブラ4が採用されました。去年2000人弱集めているから今年も採用されるだろうと思いつつ、正式に発表されると安心しますね。
そして、今年はルールが"まとも"です。っというのも、去年はまさかの「カスタム有り」だったので、スマ4が採用されてからも安心しきれなかったのですが、これで本当に一安心です。
そして、僕も先日登録を済ませました。スマ4部門とポッ拳部門の2部門に出場します。ポッ拳はWiiU版しかプレイしたことないにわかです(^^)/
今日は、超今更ながら、去年のEVO2015のことと、EVO2016参加のススメについて書いていこうと思います。
EVO2015 スマ4参加記
2015年7月17から19日にラスベガスで開催されたEVO 2015に参加しました。
しかし、先程も言ったように、スマ4のルールはまさかの「カスタム有り」。通常の大会ではカスタム無しで行われる上、一部のカスタム技はバランスが悪いためガチ勢にとってはかなり不満のあるルールでした。このルールのせいで、行くことをやめた日本のスマブラーはかなりいたのではないでしょうか。(ちなみに僕は”壊れキャラ”として悪名高い格闘Mii(1122)を使用しました...)
そんなルールにも関わらず参加者数は2000人弱という、ウル4に次ぐ2番めの多さだったらしいです。もしルールがまともだったらスト4超えしてたんじゃないかと思ったりもする…
結果としては、やはりZeRoが優勝。日本勢最高位はあばだんごさんの4位でした。結果はこちら。EVO 2015 - SmashWiki, the Super Smash Bros. wiki
実際に生で見た感じでは、あばだんごさんの試合が最も盛り上がっていたと思います。世界大会という構造上、アメリカ対アメリカ以外というカードは盛り上がりやすい上、パックマンとワリオというトリッキーなキャラを使っていたのが大きな要因でしょう。世界トッププレイヤーであるESAMピカチュウとDabuzロゼチコピクオリを倒した瞬間が一番の盛り上がりで、会場はあばだんごコールに包まれました。ところでこの2キャラはいまどこへ…?
対Dabuz戦直後のあばだんごコール
ちなみに僕の結果は、表側3回戦か4回戦くらいでヨッシー使いとして有名なあのsky williamsのカスタム無しヨッシーに負け、その後敗者側で3回か4回勝った後にMochaソニックに負けてBest 64でした。百数十人規模のウメブラでBest48,64だったことを考えると出来過ぎと言っていい結果だと思います。すべては格闘Miiの上Bのおかげ!
実はEVOに行く数週間前まではシークでいくつもりでした。しかし、にえとの宅で見た格闘Miiの壊れっぷりを見て、大会直前になって格闘Miiを使うことを決意。そして、その壊れっぷりを全面に押し出してBest 64という結果になりました。
大会のレベル
さて、EVOは世界最大級の大会なので、参加者のレベルのめちゃくちゃ高いものだと思われるかもしれません。確かに上位のレベルは世界トップクラスですが、それ以外の参加者のレベルは実はそこまで高くありません。
なぜかというと、EVOはある意味で「お祭り的」であるため、勝つことよりも観戦などの他の目的で参加するプレイヤーが多い(僕もその一人かな?)ことと、EVOは複数の競技が行われているため、他のゲームのガチ勢が記念参加しているケースが多いからです。実際、スマDX勢の何人かが4部門に出場していますし、その逆もあります。ストリートファイター等のスマブラ外からも参加している人も多分いるでしょう。
そういうわけで、"平均のレベル"で言うと、日本で行われている大会の方が高いかなぁという印象です。
EVO参加の準備
EVOに参加したいけどどうしたらいいの?という人向けに、費用や行き方などについて書いてみます。
がしかし、僕はいろいろあって別の場所からラスベガスへ行ったので、費用についてはよくわかりません\(^o^)/
ぐぐったらいくつか有用っぽい情報が出てきたので貼っておきます。「EVO 2016 費用」とか「EVO 2016 行き方」とかで検索すればもっと出てくるかと思います。
ただ、もっとも良い方法は、他の日本からの参加者、特に海外大会経験者のスマブラ勢と情報共有し、一緒に行くことでしょう。
たとえば、スマ4勢はケイさんが作ったLINEグループであれこれ情報共有をしています。行くことが確定していなくても興味がある方なら誰でも入れるはずです。
EVOのLINEグループ作ったんで興味ある人は是非声かけてください!
— ケイ/Kei (@kei1122xdx) 2016年1月27日
ただ、他のスマ4勢と一緒に行く場合、初対面でいきなり一緒にアメリカに行くよりも、事前にオフに参加するなどして顔見知りになっておくことをオススメします。
いきなりLINEグループに入るのはちょっと…という人も、何か質問等あればTwitterやこのブログのコメント欄で質問してくれれば答えられる範囲でお答えします。
最後に
「EVOに参加したいけど勝てるわけないし…」と思っている人も多いかと思います。しかし、EVOを楽しむのに実力は関係ありません。僕自身もBest64というパッとしない結果でしたが、日本勢の応援で声が枯れるほど楽しめました。
他にも、EVOには物販コーナーも設けられてたり、クオリティの高いコスプレなどが見れたり、会場をウロウロしてるだけで楽しいです。
EVO以外にも、ラスベガスの町並み、会場のホテルに併設されているカジノやショー、少し足を伸ばせばグランドキャニオンなど、楽しめるものはたくさんあります。
EVOは費用的にも時間的にもそう簡単に行けるものではありません。また、海外なので英語という不安要素もありますが、こういった大きい大会にはたくさんのスマ勢が行くことが予想されるので、一緒に行動すれば英語ができなくても割りとなんとかなります(入国検査だけちょっとだけ注意)。
この機会にぜひ行ってみることをオススメします!
スマブラ4戦績検索サイト、SMASH RECORDを作ったきっかけ
1ヶ月ほど前、スマブラ4のオフ大会の戦績を検索できるサイト、SMASH RECORDをオープンしました。
【お知らせ】スマブラ4の大会の戦績を検索できるサイトを作りました。現在ウメブラとスマバトのシングルスの結果が検索できます。よろしくお願いします。https://t.co/DjSuQDbJwh pic.twitter.com/dk3lvCD2p9
— Haruki (@harukisb) 2016年2月5日
このサイトでは、プレイヤーの名前で検索すると、そのプレイヤーのオフ大会での過去の戦績を見ることができます。これらの情報は、すべてchallonoge.comというトーナメント管理アプリケーションから取ってきています。
今日は、このサイトを作ったきっかけと、どのように使って欲しいかについて書こうと思います。
きっかけ
きっかけは、スマブラの配信を見ていた時に思ったある1つの疑問からでした。
「今戦ってるこの2人って何勝何敗なんだろう?」
とても単純な疑問ですが、この疑問の答えを知るには
- 過去の大会を全部調べ
- その中で、2人の試合だけを調べ、勝敗を1つ1つ数える
という手段しか無いことに気が付きました。そこまで手間が掛かるとなると、疑問に思ったとしてもさすがに調べる気にはなりませんでした。
しかし、このような情報は試合を見る上で非常に重要な情報ですし、これを知っていれば配信をより楽しく見ることができます。
例えば、AさんがBさんに対して0勝3敗であることを知っていれば、Aさんが優勢になったときに「これは番狂わせが起こるのでは?」とハラハラした気持ちになれますね。
ほかにも、もしスマブラ4界隈を知らない人が配信を見ていた時に、どちらが強いか、どちらが勝つのが妥当なのかを知っていれば、より楽しめるはずです。
考えてみれば、TVで見かけるような野球やサッカーなどのスポーツ中継では、必ずと言っていいほど、今やっているカードの今までの過去の戦績が表示されます。それなのに、スマブラの戦績が見れないのはおかしい…
それならば、作ってしまおう!と思ったのがきっかけです。
どのように使って欲しいか
っというわけで、SMASH RECORDは「現在やっているカードの戦績を知って、配信をより楽しむ」という目的で作られました。
そこで、以下のように使ってもらいたいと思っています。
- 大会視聴者が、配信を見ながらこのサイトをチェックして、配信をより楽しむ
- 大会配信者が、このサイトの情報を視聴者に提供して、配信をよりおもしろいものにする
スマブラ業界を盛り上げるという意味では、1番目よりも2番目の方がより重要ではないかと考えています。しかし、配信者にこのサービスを使ってもらうには、少し考慮しなければいけない点があります。
実を言うとこのサイトはデータは100%完璧なものではありません。たとえば、「Dtn | にえとの」と「DNG | にえとの」は、人間が見れば同じプレイヤーであることはわかりますが、コンピュータに同じプレイヤーであることを認識するには多少の工夫が必要です。
このようなケースについては自分が分かる範囲のみ手作業で対応しているため、中には、同じプレイヤーなのに違うプレイヤーとして扱ってしまっていたり、またその逆もあり得るでしょう。
配信者としては嘘を伝えることはあってはならないので、表立って利用に踏み切るのは難しいという現状がありそうです。これに関しては、僕が手作業で対応していくには限界があるため、何か別に仕組みが必要であると考えています。
僕の願望というか野望みたいなものを言うと、今あるスポーツ配信で戦績を表示させるのが常識であるように、ゲーム配信でもこれが常識になるといいなぁなんて思ってます。
何はともあれ、これからもこのサイトをちょこちょこ改善していきたいと思っているので、これからもよろしくお願いします!