Slide 1

Slide 1 text

艦これアーケードを もっと楽しくするツール Admiral Stats @muziyoshiz ShangriLa Meetup 5 (2017-01-28)

Slide 2

Slide 2 text

• 吉澤(@muziyoshiz) • 無印吉澤 http://muziyoshiz.hatenablog.com/ • 普段はサーバサイドエンジニア • 提督歴:ブラウザ版は2013年8月から – 2013秋E-4に8時間張り付いた思い出が…… 誰? 1

Slide 3

Slide 3 text

• 艦これアーケードが出た去年の4月に初プレイ • 楽しい!!! • ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ • SEGA 公式サイトでプレイデータ見れる • 物足りない…… • ツール(Admiral Stats)作った • もっと楽しい!!! • ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ 今回のネタ 2

Slide 4

Slide 4 text

艦これアーケードって どういうゲーム?

Slide 5

Slide 5 text

• 一人用アクションゲーム • カードを集めて楽しい • レベルを上げて楽しい 三行で 4

Slide 6

Slide 6 text

筐体 5

Slide 7

Slide 7 text

操作方法 6

Slide 8

Slide 8 text

ブラウザ版の艦これ 7 艦隊編成 建造 出撃 戦闘 ドロップ

Slide 9

Slide 9 text

ブラウザ版の艦これ 8 艦隊編成 建造 出撃 戦闘 ドロップ 運ゲー 運ゲー 運ゲー ※ 個人の感想です

Slide 10

Slide 10 text

艦これアーケード 9 艦隊編成 建造 (100円) 出撃 戦闘 ドロップ (100円)

Slide 11

Slide 11 text

艦これアーケード 10 艦隊編成 建造 (100円) 出撃 戦闘 ドロップ (100円) プレイヤースキル次第 運ゲー 運ゲー ※ 個人の感想です

Slide 12

Slide 12 text

カードは6段階のレアリティ 11 • 現時点で すでに全618枚 • 1人でコンプは (たぶん)無理 ノーマル 3種(通常、ホロ、中破) 改 3種(通常、ホロ、中破)

Slide 13

Slide 13 text

• 2016年10〜11月に初の期間限定海域 • 難易度は「丙」と「乙」の2段階 – 「乙」はマゾい本家並みの難易度 – レベルとプレイヤースキル両方必要 レベルを上げてイベント海域へ 12

Slide 14

Slide 14 text

• ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ 楽しい!!! 13

Slide 15

Slide 15 text

Admiral Stats

Slide 16

Slide 16 text

• 公式サイトの情報を蓄積して、 時系列での可視化+αを提供するWebアプリ Admiral Stats 15 PC Admiral Stats 艦これアーケード 公式サイト エクスポータで プレイデータ(JSON)の ダウンロード Web ブラウザで JSON ファイルの アップロード エクスポータ

Slide 17

Slide 17 text

• 艦娘図鑑 – 読み込んだことがある艦娘カードの一覧 • 艦娘一覧 – 各艦娘のレベルや、装備品の表示 • など SEGA 公式サイトで見られるデータ 16

Slide 18

Slide 18 text

艦娘図鑑 17

Slide 19

Slide 19 text

艦娘一覧 18

Slide 20

Slide 20 text

• 何か物足りない…… 便利なんですけど 19

Slide 21

Slide 21 text

• ユーザーストーリーマッピング 欲しい機能を整理 20 優先順位 時間の流れ

Slide 22

Slide 22 text

• 前回のプレイからの変化を知りたい – 新しいカードが増えたか? – 何%くらいのカードが集まったか? – どれくらいのペースでレベルが上がってるか? • 他の提督(プレイヤー)の状態を知りたい – このカードはどれくらいレアなの? – イベント海域の攻略率は? 欲しかった機能 21

Slide 23

Slide 23 text

https://www.admiral-stats.com/ 完成 22

Slide 24

Slide 24 text

• twitter アカウントでログイン • メールアドレスやパスワードは預からない ログイン 23 • twitter が潰れたら死ぬ

Slide 25

Slide 25 text

JSON ファイルのインポート 24

Slide 26

Slide 26 text

グラフ表示 25

Slide 27

Slide 27 text

Lv.99到達予想日 26

Slide 28

Slide 28 text

艦娘カードの一覧 27

Slide 29

Slide 29 text

他の提督との比較(カード入手率) 28

Slide 30

Slide 30 text

• 表示は Android, iOS 両対応 • エクスポータ(JavaScript版)は Android のみ スマホ対応 29

Slide 31

Slide 31 text

• 2016-09-03:Admiral Stats リリース • 2016-09-15:出撃回数(★の数)の表示 • 2016-10-27:イベント攻略状況の表示 • 2016-12-21:装備スロット情報の表示 増えてゆく公式サイトの機能 30

Slide 32

Slide 32 text

• 2016-09-03:Admiral Stats リリース • 2016-09-15:出撃回数(★の数)の表示 → 艦娘一覧に ★ の表示を追加 • 2016-10-27:イベント攻略状況の表示 → 攻略状況の表示、他提督との比較を追加 • 2016-12-21:装備スロット情報の表示 → 装備スロットの表示・フィルタを追加 Admiral Stats も追従 31

Slide 33

Slide 33 text

• アンケートを取ったりしなくても、 プレイデータから自動集計できる 他提督との比較(第1回イベント) 32

Slide 34

Slide 34 text

• ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ 楽しい!!!(ツール作るのが) 33

Slide 35

Slide 35 text

Admiral Stats の中身

Slide 36

Slide 36 text

システム構成 35 PC Admiral Stats 艦これアーケード 公式サイト エクスポータで プレイデータ(JSON)の ダウンロード Web ブラウザで JSON ファイルの アップロード エクスポータ

Slide 37

Slide 37 text

• エクスポータ – 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

Slide 38

Slide 38 text

• SEGA 公式サイトは AJAX でデータを取ってき て表示している • その JSON をファイルに出力するツール エクスポータ 37

Slide 39

Slide 39 text

• 最初は Ruby 版しかなかった • PowerShell 版、Bookmarklet 版は @sophiarcp さん 提供のものを取り込み エクスポータ 38 種類 対応OS 特徴 Bookmarklet Win, Mac, Linux, Android • インストールは最も簡単 • スマホでも使える PowerShell Win • インストールはやや簡単 Ruby Win, Mac, Linux • インストールは面倒 (Ruby, Bundler 必須) • 実験的な機能は Ruby 版から追加

Slide 40

Slide 40 text

ConoHa サーバ側 39 Webサーバ APIサーバ (予定) PC データベース サーバ

Slide 41

Slide 41 text

• Web-DB構成 • ConoHa • Let's Encrypt • Ruby on Rails 5 • Apache + Passenger • MySQL 5.7 サーバ側

Slide 42

Slide 42 text

• 画面は ERB で普通に実装 – 表は DataTables – グラフは Highcharts • 認証は Twitter アカウントのみ – omniauth, omniauth-twitter を使用 • JSON のパースは gem に切り出し – muziyoshiz/admiral_stats_parser として公開中 – ここだけは細かくテストを書いている Ruby on Rails 41

Slide 43

Slide 43 text

• 設定自動化:Ansible, Ansible Vault • デプロイ:Capistrano • 監視:Mackerel • バックアップ:Amazon S3 • PV計測:Google Analytics • タスク管理:Trello • マスターデータの更新:rails db:seeds 運用 42

Slide 44

Slide 44 text

• 新艦娘のNo.や名前などを追加登録 • 登録手順 – 新艦娘の実装2〜3日前に、公式から告知 – 艦娘図鑑のどのNo.に新艦娘が入るか調べる (No.がブラウザ版と同じ。Wikiを見ればわかる) – seeds.rb を書き換えて実行 • マスターデータに「実装予定日時」のカラムあり • その日時を超えると、Webアプリ上で表示される マスターデータの更新 43

Slide 45

Slide 45 text

• 艦娘図鑑のデータ構造に一貫性がなく、 表示・検索機能の実装が面倒 – ノーマルと改で図鑑No.が同じ艦娘と、違う艦娘が混在 – ノーマルと改でNo.が同じなのに、艦種が変わる艦娘がいる (扶桑、山城) – ノーマルと改の図鑑No.に関連性がない – ノーマルと改で図鑑No.が同じなのに、ノーマルと改が同時に 実装されないことがある(イベントの新艦娘) – ノーマルと改でレベルは共通、装備スロットは別扱い – 今後もし改二が開放されたら更にカオスに • コード内に分岐が増えていく…… – (本家の内部も同じような感じなのでは……) 悩ましい点 44

Slide 46

Slide 46 text

• API サーバの追加 – 練習のために Elixir & Phoenix で実装予定 • エクスポータに自動アップロード機能の追加 – API サーバが実装できたらすぐ作れるはず • iOS 版エクスポータ – 作っても Apple の審査を通るかどうか…… • 機能要望は随時募集中 機能追加の予定 45

Slide 47

Slide 47 text

Admiral Stats を公開してみて

Slide 48

Slide 48 text

• 100名くらいはすぐと思ってたけど大変…… • 1回以上ログイン:208名 • 1回以上プレイデータをインポート:99名 (2017-01-27 現在) ユーザ数 47

Slide 49

Slide 49 text

• 少数のヘビーユーザが定着 • 定着したユーザの利用頻度は高い 利用状況 48

Slide 50

Slide 50 text

• ゲーセンで見てる限りは実在するはず • ネット上ではどこに? – SNS(Twitter) • @admiral_stats で更新のお知らせ – 掲示板(2ch、おーぷん、ふたば) – Wiki – まとめサイト – ?? プレイヤーはどこにいるの? 49

Slide 51

Slide 51 text

• 艦これアーケードは楽しいのでやろう • 開発協力者募集中 • ユーザを増やす良い方法募集中 最後に 50 www.admiral-stats.com