こんにちは。
開発Gのクライアントエンジニアの金です。
この度は10ANTZが提供しているアプリのストーリークォリティーをどうやって担保しているのかについて説明したいと思います。
目次
ひなこいのストーリー
- 0話-1 君を見つけたのスクリーンショット
ひなこいは「全体ムービー」「動画立ち絵」「エフェクト」など様々な組み合わせでクォリティーのあるストーリーを提供しています。
今回はシナリオからアプリ反映までどういった工程が行われるているのかについてお届けしたいと思います。
シナリオ
シナリオはライターによって書き方が異なると思いますが、
ライターの創造力を最大に活かして最大のクォリティーを生み出したいところです。
しかしアプリ反映のためにいろんな制約をかけたりして、ライターの書き方を制限したり想像力を妨げることは避けたいと思いますね。
打ち合わせ
- ライターの想像通りにストーリーが出来上がることが望ましい
- ライターはシナリオだけに集中できる環境
- 書き方にはお互いに合意した最低限のルールがある
- シナリオの反映フローさえまとまればエンジニアの方は手放しできる
- スクリプトの確認は誰でも簡単にできる
シナリオライターもストーリー反映スクリプターもエンジニアも皆が納得いく形で要件が上がってきました。
書き方のルール
(何も気にせず自由にかけてそれが良い感じに反映できる…AIがあれば楽ですが…)
エンジニア側の要望はたった一つです。
シナリオは1行ずつ読み込まれ、ストーリーのスクリプトになること
あとはアプリ内でどう表現したいのかであります。
- 1行目は必ずタイトルになる
- 【主人公】と書けばアプリでは [:fullName] に変換され、ユーザー名となる
- ■背景と書けばはアプリでは指定した背景画像となる
- その他、細かいルール
こちらをベースにどうやって実現したのか詳しく上げていきます。
シナリオデータのスクリプト変換
➡︎➡︎➡︎➡︎
- シナリオデータは
- Google Formに入れて送信すると
- GASから変換していただき
- CSVに吐き出され
- ドライブに格納される
上記の流れでシナリオデータはアプリに取り込める形に変換されます。
プロローグから実際に変換したデータ
➡︎
シナリオデータが1行ずつCSVデータに変換されていることがわかります。
- 【主人公】は [:fullName]に変換されている
- ■日向坂高等学校・昇降口は背景扱いになって行数としては含まれてない
CSVデータはドライブに格納されるため、変換データもすぐに確認ができます。
ストーリービューアー
変換したデータが想定通りであるかどうかアプリで確認できれば効率が上がりますね。
ここで「スクリプトの確認が誰でも簡単にできる」ことを実現しているのが「ストーリービューアー」となります。
Unityの出番
CSVデータを毎回端末に反映して確認するのはあまりにも手間がかかります。
さらにパソコンで作業している以上はパソコン用のアプリがあれば嬉しいですよね。
こちらでUnityエンジニアならよくご存知のマルチプラットフォームが大活躍するところです。
WindowsでもMacでもビルドできるため、両方とも提供しております。
ストーリービューアーの利点は他にも沢山あります。
- 実機と同じUI/UXであるため、本番想定のテストができる
- ストーリーのみ再生しているため、通信環境は不要
- デバッグ機能が入っている
- 新しい素材(背景・立ち絵・サウンド)が格納できて、すぐに確認できる
Unityは「StreamingAssets」フォルダーに格納されているリソースは簡単にロードができるため、
新規素材もCSVデータも毎回ビルドしなくても確認できるようになります。
皆の効率アップ
ライターはシナリオ執筆だけに集中できて、思う存分シナリオが書くことができます。
ストーリースクリプターはライターと連携してアプリでのストーリーの品質を仕上げていきます。
エンジニアは新規機能の開発がない限り工数が生じないので、新たな開発に取り掛かることができます。
まとめ
ストーリービューアーで確認ができたCSVデータはそのままアセットビルドして本番リソースとなります。
リリース前には実機検証を行い、最終チェックします。
ストーリービューアーと実機との挙動は同じであるため、CSVデータの品質が担保できます。
こうやってシナリオライターから書いていただいたストーリーがユーザーまで届くことになります。