みなさんこんにちは。トップゲートの古都ことです。普段は自分のブログ( https://sbfl.net/blog/ )に記事を書いているのですが、今回はQiitaに投稿することにしました。
ちょっといつもの技術記事とは毛色が違うので、普段とは違う楽しみを提供できると思います。
長いから3行でまとめてくれ
- グラブルコミュニティではスプレッドシートで課題を解決しがちだがモバイルUXが悪い
- スマホユーザを考慮したウェブアプリを出したところ、大ヒット
- 世の中の課題を解決できれば、技術的にしょぼくてもヒットを狙える
グラブルについて
グラブルの正式名称は「グランブルーファンタジー」というモバイルゲームです。
グラブルはHTML5で組まれていて、ブラウザ上で動作します。基本的にスマートフォンを対象としていますが、PC上でもプレイ可能です。
グラブルコミュニティのスプレッドシート文化
多くのスマホ向けゲームでは、装備やキャラを強化するための素材を集める「周回」をしなければいけません。「周回」というのは何度も同じ敵を倒し、素材アイテムを大量に集める行為です。
周回はグラブルにも当然の権利のように存在します。装備を強化するために、同じステージを何十回、何百回とクリアします。
周回要素の是非についてはここでは触れませんが、周回をするにあたり「いまどれぐらい集まったのか」「あとどれぐらいかかるのか」という情報は欲しくなります。「どれぐらい集まったか」についてはゲーム内で完結し、画面下部に常時表示できるようになりました。しかし「どれぐらいかかるのか」については、グラブルは面倒を見てくれません。
そこでユーザコミュニティ側から何かしらの「計算ツール」が登場します。グラブルコミュニティでは、計算ツールは主にGoogleスプレッドシートで作られ、Twitterなどで共有されます。スプレッドシートを自分のGoogleドライブにコピーして必要事項を記入すれば残り周回回数などを計算できる、という仕組みになっています。
スプレッドシートによる計算はグラブルコミュニティにおいてはよく使われる手法で、何かしらの周回要素が発生すると大抵の場合誰かがスプレッドシートを作っています。
スプレッドシートの抱える問題
スプレッドシートによる計算ツールは素晴らしいもので、周回における課題を解決しています。しかしその一方でいくつかの問題も抱えます。
グラブルはモバイルゲーム(上級者はPCでやってる人が多いけども……)です。ユーザもモバイル機器に慣れ親しんだ人が多く、普段はPCを触らないという人も存在します。そしてモバイル端末におけるスプレッドシートの体験は劣悪です。狭い画面で何をすればいいのかが分かりにくく、入力も困難となります。
また、世の中はITリテラシーの高い人ばかりではありません。スプレッドシートをうまくコピーできない人や、そもそもGoogleドライブってなんなんだという人までいます。スプレッドシートをうまく使えない、使い方がわからない、という人は多く存在するのです。
スプレッドシートは作成も簡単で便利な反面、ユーザに高い負担をかけることにもなります。特に「パソコンとかよくわからないけど、スマホゲームはよくやる」という人がスプレッドシートを活用しようとすると、多くの問題に直面することになります。
1日6万PVのウェブアプリ
2019年の10月8日に以下のウェブアプリを公開したところ、1日で6万PVほど行きました。次の日にはだいぶ下がりましたけども。ピークは完全に過ぎましたが、今でも1日に600PVほどあります。
グラブル十賢者皮算用ツール https://sbfl.net/app/granbluefantasy/arcarumcalc/
ソースコード https://github.com/subterraneanflower/gbf-arcarumcalc
「皮算用」という言葉の使い方が間違っていますが、まあキャッチーな名前にしたかったので……。
ツールの機能としては、現在の所持アイテム数を入力し、周回の大雑把な残り日数を算出するだけの簡単なものです。なぜ残り回数ではなく「日数」かというと、この周回を行うには毎日1枚発行される「パスポート」というアイテムを消費する必要があるからです。
アプリの内容としては難しいことは一切やっておらず、大雑把な期待値から「残り日数っぽいもの」を適当に掛け算割り算して計算しているだけです。技術的にはただのチュートリアルレベルです。
本当に解決すべき課題
この周回要素は「アーカルム」というのですが、アーカルムでは専用の強力なキャラが入手できるようになっています。しかしアーカルムでの素材入手数は運に左右されやすく、あとどれぐらいかかるかというのが不透明です。そのため多くの人が「あとどれぐらいでキャラを入手できるのか全くわからない」と不安になってました。
もちろん、それを大雑把に管理するためのスプレッドシートがいくつか作られました。自分のドライブにスプレッドシートをコピーして、必須項目を入力するだけです。しかしそれでも先述の通りスプレッドシートには大きな障壁が存在し、多くの人が使えずにいたというのが実情です。
そして素材を管理するスプレッドシートは数あれど、残り日数を表示してくれるスプレッドシートは皆無でした。みんなが知りたいのは「どれぐらいかかるのか」であって「どのぐらい進んだか」ではない、と私は思っていました。本当に解決すべきなのは「キャラを入手するのにどれだけの日数がかかるのか」を明らかにすることではないのかと感じていました。
そこで自分でサクっと作ってしまうことにしました。アーカルムは運に大きく左右されるので正確な日数は算出できませんが、大雑把に「だいたいこれぐらい」を算出できるのではないかと思い、所持アイテムに基づき適当に計算するだけのウェブアプリ、「グラブル十賢者皮算用ツール」を公開しました。モバイルデバイスで表示することを前提にPCへの最適化は切り捨て、入力項目もできるだけ省きました。正確さを目標とするのではなく、「とりあえずの残り日数」を表示することを目標としました。結果をシェアするためのツイート機能もつけました。
大ヒットでした。
バレット計算機
また別のウェブアプリとして「グラブルバレット計算機」というのも作っています。こっちは1日に600〜4000PVぐらいです。
グラブルバレット計算機 https://sbfl.net/app/granbluefantasy/bulletcalc/
ソースコード https://github.com/subterraneanflower/gbf-bullet-calculator
これはバレットと呼ばれる装備の要求素材の計算機と、おまけで進捗管理機能がついています。バレットの作成には「バレットを作るためのバレットが必要で、そのバレットのために素材が必要」という難解な事情になっていて、こういった計算機の需要がありました。
これも元々はスプレッドシートで行われていたのですが、スプレッドシートにうまく馴染めないという方への受け皿として機能しました。今も多くの方に利用していただいています。
PWAとなっているので端末へのインストールが可能ですが、PWAとしてインストールする方は少数派です。
まとめ
人のコミュニティというのは常に様々な課題を抱えています。一見、今の方法が最適なように見えても、その背後には無数の「脱落者」が存在します。そういった人々を拾い上げることができるような技術を投入できれば、救われる人も増えるでしょう。
そして必ずしも技術に優れている必要はありません。「十賢者皮算用ツール」はソースコードを見れば分かりますが、本当にチュートリアル程度のコードしか書いていません。適切な場に適切な技術を採択すれば、それだけで世界は前へ進むことができます。もちろん、日頃からの技術の研鑽を欠かさない方が選択肢は広がるので、技術力の向上自体をサボることはできませんが……。
私たちは、何が課題で何を採用すれば解決できるのかということを常に考える必要があるでしょう。加えて、高度な技術が要求されたときのために、常に学び続ける姿勢も要求されます。そして自分の技術で何かしらの問題が解決できるとわかったときは、すぐに行動しましょう。
最後まで読んでいただき、ありがとうございました。いつもより少し雰囲気の違う記事になりましたが、楽しんでいただけたら私も嬉しいです。