9月1日まで3日間にわたってパシフィコ横浜で開催されている、ゲーム開発者向けカンファレンス「CEDEC 2017」。2日目となる8月31日、スマートフォン向けRPG『アナザーエデン 時空を超える猫』の開発者によるセッションが行われ、資産や開発経験の乏しいスタッフが如何にして本ゲームを開発したかが語られました。
『アナザーエデン 時空を超える猫』は、グリーの社内ゲームスタジオWright Flyer Studiosが開発・運営するiOS/Android向けRPGゲーム。2017年4月にリリースされ、8月現在で300万ダウンロードを記録しています。
まず、Wright Flyer Studiosのリードエンジニアである阿部智司氏から、ゲーム開発時の課題をどのように解決して現状に至ったかが語られました。
『アナザーエデン』の開発環境は、エンジニアとプランナーはMacOS、アーティストはWindowsを使用。ゲームエンジンは自社でカスタムしたcocos2d-xが用いられています。開発スタッフ数は、プロトタイプ時の10人から現在は60人を超える規模に。役職の割合としてはアート職が最も多いのだそうです。コンソール(コンシューマーゲーム)を意識して作られているという『アナザーエデン』ですが、実は開発者の中のコンソールタイトル経験者は非常に少なく、1割程度となっています。
プロトタイプの開発では、チーム全員と目指すゴールを共有。1ヶ月しか期間がありませんでしたが、とにかく動かすことに主軸を置いた、飛び出す絵本のような表現の2DライクRPGを製作しました。ゴールを明確化することで、課題も明確になっていたのだそうです。
完成までトライアル&エラーを繰り返しますが、待機時間の短縮のためには「インストール/ダウンロード」「アプリビルド」「アセットビルド」を削ることで効率化を図ったと阿部氏。
「通常ゲームモード」、「マップ編集モード」は実際のゲーム画面と同じ画面をみながら開発が行えるシステムで、ルートの追加・オブジェクトの追加・エフェクトの追加などをグラフィカルに作業できます。プロトタイプでは「壁」と「平地面」だけであったマップも、製品版では4種類の「壁」、4種類の「丸地面」、前景/後景と複雑化しています。これらのマップも、「マップ編集機能」を用いることで完成画面を意識しながらレイアウトを行うことができるようになっています。
阿部氏は、欲しい機能はすべて作ったと語ります。最終的に現在の『アナザーエデン』は、イベントは450を超える命令と80万行を超えるスクリプトで構成されていると説明されました。
続いて、Wright Flyer Studiosのリードエンジニアの井田勝氏が登壇。『アナザーエデン』ではバトルを担当している井田氏ですが、実はゲーム開発に携わったのは本作が初めてなのだそうです。そんなゲーム開発未経験者であった井田氏がバトルを担当させてもらった結果、1年間で5回も作り直すことになってしまった、と語ります。
『アナザーエデン』の初お披露目となった2015年の東京ゲームショウですが、中継したニコ生のコメントは冷ややかな反応が多かったのだそうです。そこでプロデューサーが、視聴者にゲームシステムを決めてもらおうと提案。闘会議2016のステージで「開発定例会議」と銘打って生放送し、視聴者にアンケートを実施します。略称はどちらが良いかやボイスは必要かといったものから、バトルシステムは「ターン制」か「リアルタイム制」かなどです。アンケートを取っていた時点で開発開始から1年半経過し、バトルシステムは「リアルタイム制」でほとんど出来上がっていました。しかし、アンケートの結果では「ターン制」に61%の票が集り、3度目の作り直しを迫られることになってしまいます。
最終的にはサイドビューのコマンド選択式ターン制バトルというJRPGの王道ともいえるシステムに落ち着きましたが、ノウハウがなかったこともあってここに至るまでに5度の作り直しが必要となりました。
井田氏は、『アナザーエデン』はシームレス化にも注力しているのだと説明します。実際、街からフィールド、フィールドから戦闘の流れはすべてシームレスとなっています。そしてシームレスのシステムを作り上げる際にもつまづきが発生したのだと述べます。
まず、開発段階ではエリアの切り替わりやバトルの開始時にカクツキが頻発してしまったのだそう。原因は膨大なアセットの読み込みが同時に発生していたことによりますが、対策として独自スレッドの非同期読み込みの仕組みを用意したり、セーブデータなどサーバーとの通信待ちを最小化するなどの手段が取られました。
キャラクターの読み込み時間が長くローディングがもっさりと感じてしまうことも課題になりましたが、キャラクターのアセットの読み込みに「mmap」を用いることでファイルの読み込み時間短縮が達成できたとしています。その他のローディングの問題としては、JSON形式ファイルの読み込み時間の長さがありましたが、これはSpineのバイナリ形式のファイル読み込みを自前で実装したことで解決しています。
また、比較的再現が困難なバグによるクラッシュが頻発した問題へは、XcodeのAddress Sanitizerっを活用することで、バグの発見と原因特定がしやすくなり、安定性を向上できたのだそうです。
開発チームは、ゲームの登場キャラである「リィカ」もモデルにしたChatWorksクライアントBotを作成。チャット内でBotに命令するだけで、jenkinsで構成したアセットビルドやデプロイなどの各種ジョブを実行可能です。
Excelファイルのバージョン管理をGitとしたことによって、マスターデータが一部巻き戻るという問題がまれに発生していた際の対策には、Excelファイルのロックを管理できる内製Webツール「Excelくん」を用意したことによって解決しています。Excelの修正差分付きプルリクエスト作成を「リィカ」がサポートすることも可能です。
井田氏は、王道に挑むにはノウハウの積み重ねが大事であるとし、そのために多くの工数を要すことになったと説明。しかし、その苦労のかいあって、コードの資産を築くことができたのだとしています。さらには、続くスマホゲーム『ダンジョンに出会いを求めるのはまちがっているのだろうか メモリア・フレーゼ』は10カ月で開発できたそうで、失敗を繰り返し蓄積したノウハウや資産が将来的なゲーム開発に活かされていくのだと述べセッションを終了しました。
関連リンク
編集部おすすめの記事
モバイル・スマートフォン アクセスランキング
-
『ウマ娘』最強ウマドル・スマートファルコン…新しいあだ名は“赤鬼”!?
-
レイド続きで回復アイテムが少なくなってない?知っておくと得する補充術【ポケモンGO 秋田局】
-
『ロマサガRS』今さら聞けない「七英雄」まとめ―生い立ちや背景、能力値、人気の秘密は?
-
『FGO』現在登場している疑似サーヴァントを改めて確認―「司馬懿」&「アストライア」の登場でその数は11騎に!【特集・UPDATE】
-
『ウマ娘』サトノダイヤモンドは「セガ」の関係者!?こっそり仕込まれた「セガネタ」の数々
-
シャドウミュウツーMAX強化検証!全てをなぎ倒す高火力が癖になるぞ【ポケモンGO 秋田局】
-
突然の「バクシン!お悩み相談」にダスカ涙!うまぴょい響かせた『ウマ娘』3rdイベント「WINNING DREAM STAGE」DAY1レポート
-
「じごくのきし」性能を徹底解説!「しばり打ち」は将来、大活躍間違いなし!【ドラクエウォーク 秋田局】
-
迷わず覚えたい「永続スキル」の優先順位!上級職を全部育てきるのは大変…キャラ毎にメインを決めると良い感じに【ドラクエウォーク 秋田局】
-
ハクスラ特化の『スカイリム』シリーズをスマホで!基本無料『エルダースクロールズ:ブレイズ』で終わりのない探求の旅が始まる【プレイレポ】