コンピュータエンターテインメント協会(CESA)は、8月22日~24日の期間、パシフィコ横浜(神奈川県横浜市)にて、国内最大のゲーム開発者向けカンファレンス「コンピュータ・エンターテインメント・デベロッパーズ・カンファレンス 2018」(CEDEC 2018)を開催した。
本稿では、8月24日、グリー・Wright Flyer Studios事業本部のプログラマーの奥村典史氏、西田綾佑氏が登壇したセッション「『アナザーエデン 時空を超える猫』における“ツール運営”事例~開発ツールの運用で学んだこと~」のレポートをお届けしていく。本セッションでは、リリースから約1年半が経過した『アナザーエデン 時空を超える猫』(以下、『アナザーエデン』)の開発ツールの変化と、比較的大規模なRPGエンジンにおける開発ツールの運用で得られた知見を、“ツール運営”という切り口で紹介した。
▲グリー・Wright Flyer Studios事業本部のプログラマーの奥村典史氏。
2017年4月にリリースされ、約1年半が経過した『アナザーエデン』。本ゲームは、マップの編集、フラグの管理や敵の出現位置の調整、イベントスプリクトの実行といった各種デバックメニューなど、すべての開発をインゲームエディターに集約している。なお、インゲームエディターの基本的な説明は、昨年のCEDEC 2017で発表済である。
【関連記事】
・【CEDEC2017】開発初期から振り返る『アナザーエデン』のマル秘話…「イベントやマップの作り方」や「バトルを5回作り直した理由」を明かす
▲リリースされてから追加された機能。コンテンツ、グラフィック、サウンド、処理負荷軽減など様々。
「運営中のゲームの機能を開発・追加するとき、同時にツールも改善しなければならない」と奥村氏。リリースするまでは、とりあえずアセットを充分に作れるだけのツールを優先して開発している。この段階は開発者が入れ替わることはあまりないので、現状のメンバーでデータを作れるように慣れる必要がある。しかし、実際に運営が始まるとメンバーの入れ替わりが発生し、とりあえずで慣れてしまっていた不便な部分が見えてきてしまう。そこで、誰でも触れるツールに変えていく必要が出てくるわけだ。
ここで、実際の運営起因で起きた新たな問題への改善アプローチがいくつか紹介された。まずは、開発環境が構築できないという問題について。
▲例として、新人の企画者がバトル担当としてチームに参加した際、先輩からの長々とした助言を受けて混乱する様子が挙げられた。
この問題に対しては、「開発環境構築の手順書」を作ることで解決したという。
時間がないリリース前は、実験しながら環境を作るため正しい手順書がない場合がある。しかし、開発環境は機能と同時に出来上がるため、追加要素が増えるたびに複雑化していくため、手順書がないまま新メンバーが加入すると、その環境構築に戸惑ってしまう。
環境構築をまとめるときのポイントは以下の通り。
・利用者(ロール)に合わせて手順を分けましょう
無駄な手順を省き、きちんと人を分けることで読み手を安心させるため
・エンジニアが使っている方法と同じ方法で
もし独自の手法で環境構築をしていた場合、なにかトラブルが発生して別のエンジニアが助けに行っても、分からない・時間がかかり過ぎるなどの問題をなくすため
・古い資料は消しましょう(まとめましょう)
段々と構築された手順は、中途半端な環境構築についての資料が残っている場合がある。それぞれやり方が違うことも多く、混乱を招くため
▲『アナザーエデン』の開発はgit-lfsによる管理を行っている。並行開発する環境数が多いため、ブランチ管理がしやすく、差分が見やすいという利点で採用している。
次の問題は、開発環境が作れない(最新にできない)という点。奥村氏は「編集中の内容を一旦破棄しないとgit pullできない」「gitのGUIのツールが分からない」「コマンドラインツールが分からない」「サブモジュールが分からない」など様々なケースを挙げ、その打開策として作成した環境最新化ツール「最新化かます」を紹介した。
▲「最新化かます」は、『アナザーエデン』のインゲームエディターに実装。切り替えたい環境のボタンを押すと、確実に切り替えてくれる。1ボタンで「git add.」「git stash」「git checkout develop◯」「git pull」を行う。もし間違えて実行した場合でも、復元は可能。
第3の問題は、再現環境が作れない(時間がかかる)というもの。運営中はバランス調整、バグの再現などで様々な再現環境を作る必要が出てくる。『アナザーエデン』では、1000を越えるインゲームエディターのデバッグメニューを用意しているが、再現環境をいちいち設定するのには時間がかかる。そこで、場所、パーティ、レベルなど限界のユーザーデータをファイルとして保存しておけるツール「ぼうけんのしょ」を作成したという。
▲「ぼうけんのしょ」は、現在のユーザーデータをローカルファイルに保存、また保存されたファイルからユーザーデータを読み込むというシンプルなもの。開発中にバグの発生状態を保存しておくことで、簡単に再現できる。保存されるのはテキストファイルであるため、共有も安易。
続いて、フィールドが作れない(時間がかかる)という問題について。運営が始まると、作らなければならないアセット量が増加し、『アナザーエデン』では、主人公たちが歩くフィールドもアップデートのたびに広大化。1つのフィールドに2000近くのオブジェクトが配置されており、手置きしていると膨大な時間が必要となる。そこで、作成したのが「ワールドジェネレーター」というフィールド設計・生成ツール。こちらはエクセル上で設計した道・壁・床などの情報をもとに、実際のゲーム情報を生成する。
▲「ワールドジェネレーター」のポイントは、使用者が今まで使っていたツール・やり方を踏襲していた点。また、同期はとらず、最初の1回吐き出すツールとして機能を限定する。
最後の問題は、デバッグメニューが多すぎること。デバッグメニューは開発者が自由に追加していくべきなので、増えることは仕方がない。しかし、トップビューにずらりと並ぶと特定のものを探すのに時間がかかり、作業効率は悪くなってしまう。かといって、単純にデバッグメニューを消すのはNG。自分が認識していないだけで、別のチームメンバーは頻繁に使用している可能性もあるからだ。
その改善策として、『アナザーエデン』ではチームメンバーにアンケートを実施。既存の各デバッグメニューに対して、使用頻度や重要性をもとに評価してもらい、重要でないものを整理した。なお、前述通りメニューは消さず、新たに作った一段下の「その他」メニューに格納させたという。
▲アンケートの結果ひとりでも使っている人がいたら残すようにはしていたとのこと。
▲ツールの機能改善は細かく。いきなり変えてしまうと現場で混乱が起きる可能性があるため、周りとコミュニケーションをとって改善することが重要。
『アナザーエデン』では、運営を続けながらツールに対して大小100種類以上の機能改善を実施している。しかし、使ってもらえないことも多く、その原因は「怖い」「分からない」にある。解決策として、エラーメッセージやドキュメントに連絡先を書いておくことが挙げられた。また、何時何分に発生し、何をしているときに起こったのかなど、エラーメッセージをなるべく分かりやすくすることも良いという。
さらに、ツールそのものを知ってもらうのに、最も効果があるのはドキュメント化だと主張。説明書はもちろんだが、そもそもどんなツールがあるのか知ってもらう、思い出してもらうためのドキュメントも重要だと語った。なお、『アナザーエデン』では、実際に全体ミーティングの際、実装されている便利な機能を話す時間を確保。これにより、知られていない機能を減らすことに成功した。
▲運営が始まってから書かれたエディター更新履歴の一部。画像つきで、なるべく分かりやすく整理されている。ツール自体の機能ドキュメントを更新することも大事だが、何が変わったか、何が出来るようになったのか、他者が知らないことを書くほうが喜ばれるという。
最後に奥村氏は以下のまとめを発表し、本セッションを終えた。
・誰でも使えるようなツール作り、ドキュメント作り
・運営中のツール改善は慎重に
・怖い/分からないを減らす
・ツールから使用者にアプローチ
(取材・文 ライター:長戸勲)
■『アナザーエデン 時空を超える猫』
(c) Wright Flyer Studios
会社情報
- 会社名
- グリー株式会社
- 設立
- 2004年12月
- 代表者
- 代表取締役会長兼社長 田中 良和
- 決算期
- 6月
- 直近業績
- 売上高613億900万円、営業利益59億8100万円、経常利益71億2300万円、最終利益46億3000万円(2024年6月期)
- 上場区分
- 東証プライム
- 証券コード
- 3632
会社情報
- 会社名
- 株式会社WFS
- 設立
- 2014年2月
- 代表者
- 代表取締役社長 柳原 陽太