0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【第1回:導入編】スマブラ勝率を徹底分析!データで読み解くキャラ性能と戦略

Last updated at Posted at 2025-05-05

🎮 はじめに

大乱闘スマッシュブラザーズ(スマブラ)は、世界中で人気の高い対戦型アクションゲームです。
プレイヤー同士の駆け引きやテクニックが勝敗を分けますが、実はそこに「データ的な傾向」が存在するのでは?という興味から、今回のプロジェクトを立ち上げました。

本シリーズでは、スマブラの対戦結果データと気象情報を組み合わせて、以下の疑問をデータで解明していきます!

  • キャラクターごとに勝率に違いはあるのか?
  • 特定のキャラ同士に有利・不利な相性はあるのか?
  • 気温・時間帯が勝敗に影響することはあるのか?

🧰 使用技術スタック

分類 使用技術
ローカル環境 Docker / Django / Python / BeautifulSoup / GitHub / bash
データ処理 AWS S3 / Glue / PySpark / Step Functions / Lambda
可視化 Tableau Desktop

📊 プロジェクト概要とアーキテクチャ

今回の分析基盤は、以下のような3つの環境に分かれています。

  1. ローカル環境:対戦データ入力アプリ(Django)と気象データ収集(スクレイピング)
  2. AWS環境:S3によるデータレイクと、Glue × PySparkによるETL基盤
  3. 分析環境:Tableau Desktopによるデータ可視化・インサイト抽出

以下が全体のシステム構成図になります

設計図.png


🗃 分析対象となるデータ構造

データは以下の3層に整理しています。

  • データレイク:試合ごとの対戦結果、気象データ(生データ)
  • データウェアハウス:試合データと気象データを整形した中間データ
  • データマート:キャラクター別勝率、キャラ間の相性、天候別勝率などを集計済みデータ

以下がテーブル設計図になります

テーブル定義.png

🛠 処理の簡単な流れ

今回のスマブラ対戦分析プロジェクトは、以下の流れでデータを収集・加工・分析しています。


① ローカル環境でデータ収集

  • Djangoアプリで対戦結果(使用キャラ、勝敗、試合時間など)を入力
  • Python(BeautifulSoup)で気象データをスクレイピングして収集

② AWSにデータをアップロード

  • ローカルからS3(データレイク)へCSVファイルをアップロード
  • bashコマンドやAWS CLIを活用して自動化

③ AWS Glue × PySparkでデータ加工

  • S3に格納された試合データと天候データを整形
  • キャラクターごとの勝率、キャラ間の相性、天候別勝率を算出
  • データウェアハウス、データマートを作成して整理

④ Step Functions + Lambdaで処理を自動化

  • S3アップロードをトリガーにGlue ETL処理を自動実行
  • サーバレスでデータ加工のワークフローを構築

⑤ Tableauで可視化・分析

  • キャラクター別勝率傾向をグラフ化
  • キャラクター組み合わせ別勝率傾向をグラフ化
  • 時間帯・天候別に勝率の違いを可視化してインサイトを抽出

各ステージのテーブル設計はこちら
テーブル定義.png

🔁 今後の連載予定

タイトル
第2回 Djangoでスマブラ対戦結果アプリを作成(データ収集①)
第3回 BeautifulSoupで気象データをスクレイピング(データ収集②)
第4回 bashを使って、S3にデータアップロード(自動化)
第5回 Glue × PySparkでETLパイプラインを構築(データ加工)
第6回 Step Functions + Lambdaで自動処理化(ワークフロー設計)
第7回 スマブラ勝率・キャラ相性・気温影響を可視化(分析編)

🚀 次回

次回は、ローカル環境で作成した「スマブラ対戦結果入力アプリ」について紹介していきます!
https://qiita.com/shota1212/items/38c381a42faad5413a4d


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?