[レポート]膨大なシナリオから該当シーンを一瞬で検索!IDOLY PRIDEのシナリオ補助ツール開発 #CEDEC2023 #classmethod_game
こんにちは、ゲームソリューション部のsoraです。
今回は、CEDEC2023のセッションレポートを書いていきます。
セッション概要
膨大なシナリオから該当シーンを一瞬で検索!IDOLY PRIDEのシナリオ補助ツール開発
受講スキル:
・シナリオディレクターの方
・Web開発の基礎的な知識がある方
・業務効率化にご興味のある方
得られる知見:
・シナリオ業務効率化のヒント
・Google SpreadsheetやExcelファイルによるシナリオセリフデータ管理手法
・Google Sheets API, Drive APIを利用したデータの読み込みとAPI利用時の注意点
セッションの内容:
本セッションでは、弊社開発のスマートフォンゲーム「IDOLY PRIDE」で利用しているシナリオチーム向け補助ツールとその開発手法についてご紹介します。 シナリオチームでは 「膨大なシナリオの中から特定のシーンやセリフを探す為に多くの時間を要する」「過去のセリフから口調やイントネーションを学習しづらい」等の課題がありました。 これらの課題に対し、Google Sheets API、Drive APIを利用してシナリオやセリフ音声をデータベース化し、検索ツールとしてチームへ導入することで解決しました。その手法を具体的に解説します。
レポート
はじめに
アジェンダとゲームの説明です。
シナリオと音声の運用・管理方法
シナリオも音声もGoogle Driveで管理しています。
シナリオはスプレッドシート、音声データは音声ファイルで作られています。
細かくディレクトリ構成が固まっており、きれいに整理されている印象を受けました。
シナリオにスプレッドシートを使用しているとのことでしたが、シナリオライターの方はエクセルやスプレッドシートで書くパターンが多いのかな?ということが気になりました。
個人的に知っているUnity用のADV開発ツールである宴もエクセルでシナリオを書く形のため、ゲームシナリオライティングではエクセルやスプレッドシートが主流なのかもしれません。
エクセルやスプレッドシートだと見やすさはあるけれど、書きづらくないのかなとシナリオライティング素人目線で感じました。
シナリオと音声運用時の課題と解決方針
課題として、ファイルが分かれていることもあり全ファイルの中から検索といった網羅的な検索ができていませんでした。
例えば、キャラクターは何を好きと言っていたか、ひらがな表記か漢字表記か、イントネーションはどうかなど、特定キャラクターや特定の言葉の検索難易度が高かったとのことです。
長く携わっているメンバは記憶を辿って検索することもできるが、新規参画や途中参画したメンバにとっては検索がしづらい状態になっていた。
約800話以上、約8万セリフをきれいな形で管理できていることも普通にすごいと思いました。
検索の問題はファイル数が多くなければ感じなさそうだけれど、さすがにこの規模になると辛いものがあるのだろうと感じました。
そのような課題に対して、網羅的な検索ができるような補助ツールを開発したとのことです。
システム概要
ツールとしては、アプリケーションとDBの簡易な構成で、DBからシナリオデータやキャラ情報の参照を可能にするWebアプリのようなものです。
既存の入稿フローには変化を加えないことで、シナリオライターの書き味や関数の利用がそのままできることを心がけたとのことです。
別プロジェクトでも利用できるような横展開も考えて構築したそうで、2つのプロジェクトでこのツールが採用されているとのことでした。
既存のフローに手を加えない部分は、気を付ける部分だと感じました。
エンジニア目線で便利なものと感じても、急な変化で使いづらさを感じる方もいることを認識することは大切だと思います。
またこのツールで使っているDBについて、ファイル数やセリフ数が多いこともあり、どの程度の費用がかかっているのか気になりました。
ツール画面説明
検索ワードを指定して部分一致検索ができたり、シナリオや音声ファイルへのリンクもあって、直接ファイルに遷移することができるようになっています。
説明がなくても誰でも使えるツールを意識したとのことです。
シナリオ補助ツール導入による効果
網羅的な検索ができるようになったことにより、導入前後で月8時間の作業時間削減ができたとのことです。
丸1日分の稼働が削減できたのは大きいですね。
ツール稼働にかかる費用と比較しても、稼働削減できたことの効果は大きかったのかなと思いました。
新規メンバも過去データを検索しやすくなり、参照制度・学習効率が向上したとのことで、月8時間以上の価値はあったように思えました。
インポート時の工夫
毎回上位のディレクトリから再帰的に読み取っていると更新差分が少なかったり、全くない場合でも処理に時間がかかることがありました。
APIの上限エラーになる場合もあったとのことです。
初回インポートと定期自動インポートで2パターンの方法を使い分けています。
まとめ・今後の展望
機械学習を使ったあいまい検索やキャラクターらしさ検証機能を検討しているとのことです。
キャラクターらしさ検証機能について、キャラクターらしさに矛盾がある状態で音声収録まで進んでしまった際に、大きな手戻りが発生する場合もあるとのことです。
・あいまい検索:部分一致の検索ではなく、意味的に近いセリフの検索
・キャラクターらしさ検証機能:キャラクターの特徴と一致しない部分の検知
特にキャラクターらしさ検証機能は、一人称の揺らぎや好きな食べ物などが矛盾してしまうといったレビューで見つけなければない部分の稼働を削減できて、実現すれば大きな効率化が図れそうだと感じました。
感想
シナリオライターにとって、とても仕事が効率化できそうであり、感動的なツールだと感じました。
既存フローに手を加えないような形での導入は、本ツールに限ったことではなく、使い手を意識する上で大切にすべきポイントだと思いました。
開発にかかった工数やツールの運用費用がどの程度なのかは気になりました。