Upgrade to Pro — share decks privately, control downloads, hide ads and more …

艦これアーケードをもっと楽しくするツール Admiral Stats / ShangriLa Meetup 5

艦これアーケードをもっと楽しくするツール Admiral Stats / ShangriLa Meetup 5

Anitech (アニメ x IT) を考える「ShangriLa Meetup 第5回」の LT で発表しました。
https://akibalab.connpass.com/event/48781/

Masahiro Yoshizawa

January 28, 2017
Tweet

More Decks by Masahiro Yoshizawa

Other Decks in Technology

Transcript

  1. • 艦これアーケードが出た去年の4月に初プレイ • 楽しい!!! • ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ • SEGA

    公式サイトでプレイデータ見れる • 物足りない…… • ツール(Admiral Stats)作った • もっと楽しい!!! • ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ 今回のネタ 2
  2. • 公式サイトの情報を蓄積して、 時系列での可視化+αを提供するWebアプリ Admiral Stats 15 PC Admiral Stats 艦これアーケード

    公式サイト エクスポータで プレイデータ(JSON)の ダウンロード Web ブラウザで JSON ファイルの アップロード エクスポータ
  3. • 2016-09-03:Admiral Stats リリース • 2016-09-15:出撃回数(★の数)の表示 → 艦娘一覧に ★ の表示を追加

    • 2016-10-27:イベント攻略状況の表示 → 攻略状況の表示、他提督との比較を追加 • 2016-12-21:装備スロット情報の表示 → 装備スロットの表示・フィルタを追加 Admiral Stats も追従 31
  4. • エクスポータ – muziyoshiz/admiral_stats_exporter – muziyoshiz/admiral_stats_exporter_js • Webアプリ – muziyoshiz/admiral_stats

    – muziyoshiz/admiral_stats_parser – muziyoshiz/admiral_stats_api(予定) – muziyoshiz/admiral_stats_parser_ex(予定) GitHub でソースコード公開中 36
  5. • 最初は Ruby 版しかなかった • PowerShell 版、Bookmarklet 版は @sophiarcp さん

    提供のものを取り込み エクスポータ 38 種類 対応OS 特徴 Bookmarklet Win, Mac, Linux, Android • インストールは最も簡単 • スマホでも使える PowerShell Win • インストールはやや簡単 Ruby Win, Mac, Linux • インストールは面倒 (Ruby, Bundler 必須) • 実験的な機能は Ruby 版から追加
  6. • Web-DB構成 • ConoHa • Let's Encrypt • Ruby on

    Rails 5 • Apache + Passenger • MySQL 5.7 サーバ側
  7. • 画面は ERB で普通に実装 – 表は DataTables – グラフは Highcharts

    • 認証は Twitter アカウントのみ – omniauth, omniauth-twitter を使用 • JSON のパースは gem に切り出し – muziyoshiz/admiral_stats_parser として公開中 – ここだけは細かくテストを書いている Ruby on Rails 41
  8. • 設定自動化:Ansible, Ansible Vault • デプロイ:Capistrano • 監視:Mackerel • バックアップ:Amazon

    S3 • PV計測:Google Analytics • タスク管理:Trello • マスターデータの更新:rails db:seeds 運用 42
  9. • 新艦娘のNo.や名前などを追加登録 • 登録手順 – 新艦娘の実装2〜3日前に、公式から告知 – 艦娘図鑑のどのNo.に新艦娘が入るか調べる (No.がブラウザ版と同じ。Wikiを見ればわかる) –

    seeds.rb を書き換えて実行 • マスターデータに「実装予定日時」のカラムあり • その日時を超えると、Webアプリ上で表示される マスターデータの更新 43
  10. • 艦娘図鑑のデータ構造に一貫性がなく、 表示・検索機能の実装が面倒 – ノーマルと改で図鑑No.が同じ艦娘と、違う艦娘が混在 – ノーマルと改でNo.が同じなのに、艦種が変わる艦娘がいる (扶桑、山城) – ノーマルと改の図鑑No.に関連性がない

    – ノーマルと改で図鑑No.が同じなのに、ノーマルと改が同時に 実装されないことがある(イベントの新艦娘) – ノーマルと改でレベルは共通、装備スロットは別扱い – 今後もし改二が開放されたら更にカオスに • コード内に分岐が増えていく…… – (本家の内部も同じような感じなのでは……) 悩ましい点 44
  11. • API サーバの追加 – 練習のために Elixir & Phoenix で実装予定 •

    エクスポータに自動アップロード機能の追加 – API サーバが実装できたらすぐ作れるはず • iOS 版エクスポータ – 作っても Apple の審査を通るかどうか…… • 機能要望は随時募集中 機能追加の予定 45
  12. • ゲーセンで見てる限りは実在するはず • ネット上ではどこに? – SNS(Twitter) • @admiral_stats で更新のお知らせ –

    掲示板(2ch、おーぷん、ふたば) – Wiki – まとめサイト – ?? プレイヤーはどこにいるの? 49