- 私は普段趣味でテトリスをよく遊んでいます。
- その中でもバトルロワイアル形式のテトリスをブラウザで遊べるサイト、Jstrisは頻繁に遊んでいます。
- 今回はそのJstrisの過去データを使ってデータ分析をしてみたいと思います。
- 基本の遊び方はテトリスと同じです。
- バトルロワイアル形式なので最後まで生き残ると勝ちです。
- 最後まで生き残ることをテトワンと言います。
- 残り人数が10人になるまで生き残ることをランクインと言います。
- テトリミノと呼ばれるテトリスに登場する4マスで構成されたピースを消すと敵にガーベッジと呼ばれるブロックを送ることができます。
- ガーベッジは一度に消すライン数が多い方がより多く送ることができます。
- T-spin, Back to Back, REN, Perfect Clearなど特殊な消し方をするとガーベッジに送る量にボーナスが付きます。
- テトリスのうまさを示す指標としてAPMという数値があります。
- これはAttack par minuteの略で、1分間に送れるガーベッジの量を示しています。
- 100APMを超えるとプロといえるレベルでしょう。
- 455APMを叩き出した強者も
- Cold ClearというAIを使うと700APM以上出すことも可能らしいです。
- Jstrisには大人数で戦うdefault roomと少人数で戦うcustom roomがあります。 -今回はdefault roomのみのデータ分析を行います。
- ここからデータを取得してCSV形式でデータを集めてきます
- robots.txtより、ウェブスクレイピングは禁止さえているので、サイトからデータを持ってくる作業は手作業で行います。
- pandasを使い、データ分析に適したフォーマットになるようにデータを編集します。
- 授業で習ったことを参考に、編集したデータから分析、回帰、クラスタリングをします。
replay.csv:分析したデータです。
DataCollector.ipynb:JstrisのリプレイテーブルからCSVデータを作成するプログラムです。
Analyze.ipynb:データ分析を行ったプログラムです。
Analyze.html:Analyze.ipynbのHTML版です。