はじめに
エンジニアになって約10年。これまで何度も「エンジニアなんだからアプリくらい作れるんでしょ!」と言われながらも、上手に話をそらして生きてきました。
最近は開発業務から離れがちでしたが、愛用しているスマホゲーム「シャドウバース」をプレイしていて「対戦履歴や統計データを管理したい」と思ったのをきっかけに、ついに個人アプリ開発に挑戦しました。
開発期間:約1週間(実際のコーディングは2日程度、App Store申請で苦労したのが残り5日...)
この記事では、以下の内容について詳しく紹介します:
- 開発環境と技術選定
- UI/UXで工夫したポイント
- 開発プロセス
- 苦労した点と学んだこと
- 今後の展望
※コードの詳細については触れず、プロダクト開発の観点から書いています。
作成したアプリ:「バトログ」
「バトログ」は、シャドウバースの対戦記録を手軽に入力・管理できるアプリです。対戦が終わったら素早く結果を記録し、統計データで自分の戦績を分析できます。
名前やアイコンなどのデザインはシンプルに抑えましたが、まずはリリースすることを最優先にしました。
開発環境
- ハードウェア: MacBook Air 2022(メモリ8GB)
- IDE: Xcode
- 言語: Swift
- AI支援: Claude Code
- バックエンド: Firebase
意外にもMacBook Airの低スペック環境でも問題なく開発できました。(MacBook Proも持ってはいるのですが...)
UI/UXで特に工夫したポイント
手動入力が前提のアプリなので、とにかく簡単で快適な操作感を最重要視しました。
設計指針
- 説明書不要の直感的UI
- 3秒以内で入力完了
- 縦横画面の完全対応
ターゲットユーザーを明確化
機能をシンプルに保てた理由の一つが、ユーザーが全員シャドバプレイヤーだと割り切ったことです。これにより:
- スマホアプリの操作に慣れている前提で設計
- シャドバ特有の専門用語をそのまま使用可能
- 複雑な説明やチュートリアルが不要
画面向き対応の重要性
シャドウバースは横画面でプレイするゲームなので、画面の持ち替えを減らす配慮が必要でした:
- スマホでプレイ中: 横画面のまま記録
- PC等でプレイ中: 縦画面で記録
Claude Codeの支援により、この複雑な画面対応も実現できました。
開発プロセス:Claude Codeとの協働
開発の大部分はClaude Codeへの指示出しでした。興味深いのは、機能実装よりもUI/UXに関する指示が多かったことです。
「そのボタンの位置だと親指が届かない」
「タップエリアが小さすぎる」
このような細かい指摘を繰り返した結果、Claude CodeがREADMEに以下の特徴を記載してくれました:
📱 親指フレンドリー: 横画面最適化された操作しやすいUI
Firebaseの導入
データ保持と認証にFirebaseを初めて使用しました。初期設定に数時間かかりましたが、非常に使いやすく感じました。
最も苦労した点
1. デザイン指示の難しさ
FigmaやMiroが使えないため、すべてテキストで指示する必要がありました。うまく伝わらない場合は、SwiftのViewファイルを直接編集することも。React的な書き方だったので、意外と理解できました。
2. App Store申請の複雑さ
実は開発より申請の方が大変でした:
- Apple Developer登録
- 開発者情報の詳細入力
- アプリ情報の入力
- アプリの提出
- 審査待ち
各段階で予期しない問題が発生し、Appleサポートに4回も電話する羽目に。担当者から「申請は来ていたのですが、処理が止まっていました。今承認しました」と言われた時は脱力しました...
最も価値のあった学び:実機テストの重要性
リリース前の実際の使用テストで重要な問題を発見できました。
問題のあった初期設計
「楽に素早く入力」を重視し、すべての項目にデフォルト値を設定していました:
実際に使って分かった問題点
実際にゲームをプレイしながらテストすると、深刻な問題が判明:
- 「さっきの試合、入力したっけ?」
- 「先攻・後攻どっちだった? デフォルトで先攻が選択されているけど...」
デフォルト選択があることで、かえって混乱と不安を生むという予想外の結果でした。
改善後の設計
「記録」ボタンを押した後、以下の項目を未選択状態にリセット:
- 対戦相手のクラス
- 先攻・後攻
- 勝敗
この経験で「実際の使用場面でのテスト」の重要性を再認識しました。単なるバグチェックではなく、実際の使用感に焦点を当てたテストが不可欠です。
現在の状況と今後の展望
リリース後1週間の結果
ダウンロード数:33件
知人が10名程度なので、20名以上が自然にApp Storeから発見してダウンロードしてくれました。とても嬉しい結果です。
今後の計画
短期目標:
- Android版の開発(ユーザーが増えたら)
- 細かいUI/UXの継続改善
中長期目標:
- ユーザー全体の統計データ機能
- 収益化(広告導入、ただし使用感は維持)
現在はより多くの方に使っていただくことを最優先にしています。
最後に
自分のアプリがApp Storeに掲載された瞬間は、本当に感動的でした。10年間避けてきた「アプリ開発」にようやく挑戦し、完成まで辿り着けた達成感は格別です。
「バトログ」をより使いやすいアプリに育てていきますので、シャドバプレイヤーの皆さん、ぜひ一度お試しください!
App Store: バトログ