# プロジェクト概要
「白猫アラーム」アプリの開発
# チーム情報
担当: クライアントエンジニア(エンジニアは自分一人)<br>
他
PM: 1名
プランナー: 1名
デザイナー: 5名
ライター、ボイス発注: 1名
# プロジェクト目的
- コロプラフェスでのサプライズ発表を行う、それまでに完成品を作成する
- 本家白猫ファンが満足させるクオリティのアプリを作成する
- ボイス内容を制限した無料版と、全ボイスを含めた有料版とでアプリを分ける仕様を満たす
# 目的達成のための課題
- 限られた期間で、可能な限り巻き戻りを少なく開発すること
- 本家白猫に準拠した、違和感のないUIを実装すること
- リークを防ぐため、無料版アプリには「鳴らせない音源はアプリ内に含めない」仕様を満たすこと
# 各課題に関して
## ■効率的な開発
### 使用した技術・ツール
Googleスプレッドシート, Unity, Jenkins, シェルスクリプト
### 解決策・工夫した点
- Googleスプレッドシートでガントチャートを作成、リリース日から逆算して各セクションに必要な作業や待ち時間などをプロジェクトの最初に整理した。
- 社内で提供されているJenkins環境のジョブにUnityをコマンドでビルドするシェルスクリプトなどを仕込み、成果物を社内の共有ライブラリにアップロードするようにした。他メンバーへの現在の進捗共有、仕様確認を容易に素早く行う環境構築を早期に整える工夫を行った。
### 達成できた成果
ガントチャートを作成するにあたり、自分のアプリ制作や各セクションに発生する作業以外の作業も正しく整理することができた(横断基盤チームへのアプリネイティブ部分の実装相談や、Jenkins環境構築の案内を受けたりなど)。<br>
またJenkinsのローカルビルド環境を整えることで、こまめに開発途中アプリの確認、共有をすることができ、巻き戻りや仕様変更、要望に耐える開発をすることができた。<br>
様々な障壁となりうる部分を早い段階に察知しながら進めた結果、約3ヶ月という短い期間でリリース、発表することができた。
## ■アプリUI実装
### 使用した技術・ツール
Unity, Live2D
### 解決策・工夫した点
- 本家のUIを準拠(UIアニメーションやエフェクトなどを参考)し、足りない素材などを適宜本家のデザイナーの方に自分から依頼しました。
- (準拠した例)フッターのアニメーションでは、本家とは書き出し素材が違うことがありましたが、同じような見た目になるよう簡易的なエフェクトを自分で作成しました。
-
### 達成できた成果
本家をしっかりと踏襲したUIの実装が行えました。また、多くの素材や音声データを含めつつも ipa, apk の容量をストアから直接DLできる容量に抑えることができました(アセットバンドル化などはしなかった)。
## ■リーク対策
### 使用した技術・ツール
Unity, python, Googleスプレッドシート
### 解決策・工夫した点
- 無料版でアプリから除外する音声データをプランナーに選んでもらうため、スプレッドシートで収録データやセリフデータを管理し、自分のアプリ開発作業と並行して作業できるようにし、時間の効率化を図りました。
- Googleスプレッドシートでデータ管理 -> csv形式でダウンロード -> pythonでデータ成形 -> ビルド時に該当音声データ以外はUnityプロジェクトから除外, Unityプロジェクトにセリフデータをインポート
- 基盤チームへ掛け合い、ビルド時収録される音声には暗号化を施すよう依頼した。
### 達成できた成果
開発中は自分の作業と並行して、プランナーに収録音声を選んでもらう並行作業ができた。また、ビルド時にボイスデータのインポートを自動で行う仕組みを作り、無料版と有料版で正しく収録音声データをアプリに内包することができた。