コラムで連載していたNintendo Switch版『モンスターハンターライズ』のスキルシミュレータ開発がやっと一段落して一通り完了した。いやぁ、記事書きながら同時並行で開発すると思っていた以上に時間がかかるもんだなぁ……。
まぁ、世の中にはモンハンライズ用のスキルシミュはもう既にたくさんあるので、すでに需要はないのかもしれないが、せっかく作ったので一応リリースだけはしておこうかとw
手前味噌ながら、他のスキルシミュよりは直感的で使いやすいUXになっているんではないかと思っている。
モンハンライズ・スキルシミュレータ Ver. 1.0.0
このスキルシミュ開発プロジェクトは、私自身のVue.jsでのWEBアプリのノウハウ強化の側面が大きくて、実際、Vue.jsやVuetify、Vuex、Cache API等々今回知り得た知見はかなり有益だった。並行して開発内容を記事に起こしていたことも取得した知識の整理に大きく役立ったし、自己研鑽として大満足な結果を得られたのだ。
一方で、一番つらかったのがデータの登録作業だ。ゲーム画面見ながら、武器や防具のステータスをExcelのスプレッドシートにちまちま書き込んで行く単調な作業はまさに地獄だった……w スキル向上にもつながらないからモチベーション上がらないし、すぐ眠くなるし、時間だけがどんどん消費されて行くという、とても苦しい作業だった……。もうこの作業だけは当分したくないw
そんなこんなで、晴れてモンハンライズ・スキルシミュレータのバージョン 1.0.0を公開したので、興味がある人は触ってみて欲しい。
バグとかデータミス等あったら、フッターの「Issue」リンクからGitHubのIssuesに報告してくれると非常に助かるッス。
※ レンタルサーバ側の環境更新で、今までMYSQL 5.7だったデータベースがMariaDBに変更されてしまい、JSONデータが読み込めなくなってしまった(MYSQLではJSONカラムはバイナリデータだが、MariaDBではLongTEXTなのだ)ので、アプリ自体を移管しました。個人的に、MySQLからMariaDBへのマイグレーションは改悪でしかないんだよなぁ……w
機能紹介
簡単にスキルシミュレータ Ver.1.0.0 の機能を紹介しておこうかと。
メイン機能
武器と防具、護石を選んで装備し、さらに空きスロットに装飾品を装備することで発動スキルや各種ステータスをリアルタイムで確認できる。基本的に画面を切り替えずとも装備変更を行えるようなUIにしているので、この画面だけでスキルシミュレートは完結できる。また、装備内容は変更都度キャッシュされるので、画面を切り替えても内容が維持されるようになっている(注意:ブラウザのリロードをすると装備内容のキャッシュは消える)。あと、プレイヤーの性別や、ステータス上昇系アイテムの有効・無効なども設定できる。

装備の変更時や、装飾品の着脱時には装備・装飾品を選択するためのダイアログがポップアップする。

基本的にドロップダウンリストはオートコンプリート仕様になっているので、リストからアイテムを選択せずに部分一致文字列を入力することで絞り込むこともできる。
護石登録・管理
自分が持っている護石を登録し、それを装備品として利用することができる。護石の登録時に、その護石の価値を★評価してくれるレーティング機能もある。登録した護石は各ユーザー毎のブラウザにキャッシュされるので、ブラウザをまたいでスキルシミュレータを使いたい場合は、護石データをエクスポートしてからインポートすることが可能だ。
今のところ、登録できる護石データの数に上限を設けていないので、ブラウザのキャッシュ領域が許す限りいくつでも登録できる。

マイセット登録・管理
メイン画面で装備した内容をマイセットとして保存することができる。護石データ同様、保存したマイセットデータは各ユーザー毎のブラウザにキャッシュされるので、ブラウザをまたいでスキルシミュレータを使いたい場合は、マイセットデータをエクスポートしてからインポートすることが可能だ。また、マイセットには自由に名称を付けることができる。
ユーザー毎のマイセット登録数には今のところ上限がないので、ブラウザのキャッシュ領域が許す限りいくらでも登録できる。

装飾品一覧
すべての装飾品を一覧で確認できる。検索欄から絞り込むことも可能だ。

スキル一覧
すべてのスキルと、スキルレベルによる効果を一覧で確認できる。検索欄からスキルを絞り込むことも可能だ。

その他
管理メニューでは、Vuexストアのキャッシュクリアや、マスターデータをDBから再読み込みできる。また、アプリ全体のテーマ色はいつでも変更可能だ(Lightテーマは目が疲れるので、Darkテーマを基本色にしている)。
なお、このスキルシミュレータはスマートフォンやタブレットからも利用できる。解像度の小さいデバイスでは一部表示が異なる部分があるが、機能的な制限は設けていない。

総じて、どの画面も直感的に操作できるようなUIにしているので、特に操作に迷うことはないと思う。
開発はまだ続く
この開発プロジェクトはまだ終わりではない。まだ取り込みたいシミュレート機能があるからだ。次回以降のアップデートで実装したいと考えている機能が下記のように結構あるのだ。
- 多国語化対応(とりあえずは英語化)。
- ボウガン系武器の弾丸シミュレート。
- 武器の派生表。
- 防具の一覧表。
- 装飾品の装着状況をアイコン化。
- 武器や防具等のアイコンフォント化。
- 護石の排出統計。
- 斬れ味のシミュレート(これは難しそう。斬れ味の数値化をどうしたもんか……)。
特に、 1. のVue.jsアプリにおける多国語化のノウハウが個人的に欲しいので、これは一番やりたい開発である。
そして 2. だが、これはボウガン系武器の弾丸数を「装填拡張」スキルのレベルに応じて一覧できるようなシミュレート機能を実装したいと考えている。私の得意武器はハンマーとライト/ヘビィボウガンなので、ボウガン系のスキルシミュレートについては自分のためにも充実させたいところなのだ。
あと 3. は、ゲーム中だと画面スクロールなしに派生表を俯瞰できないのがちょっとストレスを感じるので、PCブラウザで一画面で派生表を網羅できるようにしたいと思っている。さらに派生表から直接装備できるようにもしようかと。
とりあえず、1. ~ 6. は自分的にモチベーションが高いのでぼちぼちやっていこうと思っている。ただ、ボウガン系弾丸シミュレートはまた苦しいデータ登録作業が待ち構えているんだよなぁ……。
このスキルシミュを触ってみて、気に入ってくれた人で、もし「こんな機能が欲しい」とかの要望があれば、それもGitHubのIssuesまでリクエストくださいませ。
さぁて、次の第13回コラムのネタとしては、5. か 6. あたりをやろうかなぁ。最近ずっとコード書きすぎて頭が疲れているんで、久々にIllustratorでアイコンでも作れば気分もリフレッシュできるかもしれん……w