8月30日から9月1日の期間、パシフィコ横浜で開催されている「CEDEC 2017」。本稿では、8月31日に実施されたセッション「本格スマホRPG「アナザーエデン」開発の裏側を包み隠さずお話します」をレポートする。

このセッションでは、人気スマホRPG「アナザーエデン」の開発スタートからリリースまでを振り返り、コード資産もなくチームとしての経験も豊富とはいえない状態で、どのようにその困難を乗り越えていったかをテーマに講演が行われた。

「アナザーエデン」は、今年の4月にリリースされ現時点で約300万ダウンロードを記録したスマートフォン向けゲームだ。プロジェクトが始まったのは2015年4月で、およそ2年かけて開発された。リリース後は、2~3週間毎にアップデートが行われている。

10名ほどでプロトタイプ開発を進め課題が明らかに

まず始めに登壇したのは、本作のリードエンジニアを務める阿部智司氏だ。同氏からは、「開発中の課題解決と現在」というテーマで、開発中にエンジニアが向き合った課題と、今現在どのような状況になっているのか語られた。

グリー Wright Flyer Studios事業本部リードエンジニアの阿部智司氏。

「アナザーエデン」は、10名ほどでプロトタイプの開発が開始された。このプロトタイプ開発で課題にしたのは「目指すゴールを共有」することだった。およそ1ヵ月で2DライクなRPGを制作。その時点では道と壁と地面しかないシンプルなものだったが、「飛び出す絵本」のようなあたたかみのあるデザインを目指すということははっきりと決まっていた。

とにかく動かすことに注力し、プロトタイプ開発ではゴールは明確に共有。課題も明確にすることができたという。このときに見つかった課題は、「トライアル・アンド・エラーを効率よく行いたい」「イベントをどう作るか」「マップをどう作るか」の3つだ。

チーム内で使用する開発環境「Furuty」で作業を効率化

実機で開発を進める場合、最初に動作確認をしデータ入稿、アセットビルドで実機で最終的に使用されるデータの準備をしアプリをビルド。それを実機にインストールし、データをダウンロード。再度動作確認といった流れを、完成まで延々と回していくことになる。

それらのなかで削りたいのは、待機時間の長い「アセットビルド」「アプリビルド」「インストールとダウンロード」である。最終的に持って行きたいのは、動作確認をしてデータ入稿。必要があれば最小限のアセットビルドを行って、再度動作確認をするという流れだ。では「アナザーエデン」ではそのあたりをどうしたのだろうか?

「アナザーエデン」の開発では、チーム内で使用する「Furuty」と呼ばれている開発環境がある。これはmacOS上でネイティブ動作するゲームクライアントだ。各種ビューワーやスイッチ、開発用ユーザーのデータ管理など、便利な機能も付いている。

なかでも大きな特徴は、「通常ゲームモード」と「マップ編集モード」があるというところだ。このふたつのモードを使い、大半の作業をFuruty上で行うことができ、最終的に実機で確認するといった流れを実現している。

まず「通常ゲームモード」だが、こちらは基本的には製品と同等の挙動をするほか、100カテゴリ以上の各種デバッグ機能が用意されている。RPGはパラメータが多く、デバッグ機能の充実が開発において重要となるのだ。

PC上で動くツールのため、マウスだけではなく対応するコマンドをキーボードショートカット化している。

「マップ編集モード」は、先ほどの「通常ゲームモード」にマップ編集用のUIを追加したものだ。また、「通常ゲームモード」から各種イベントが発生してほしくないトリガーを取り除いている。

その状態で、編集用UIを使い移動経路を設定したりオブジェクトの配置をしていくといった感じだ。

こちらがFurutyのメニュー画面。
ショートカットキーで会話の早送りなどもできる。
画面の右に勝利ボタンがあり、バトルが発生した場合も強制勝利することができる。
「マップ編集モード」モードで地面や背景、オブジェクトなどを設置していく。
マップごとのオブジェクト配置数のトップ5の図。
一番多いのは「セレナ海岸」で、1900ほどのオブジェクトが置かれている。

「アナザーエデン」のイベントは450以上の命令と80万行以上のスクリプトで作られている。またマップは自前のエディタで1000個ほど手動で配置しているという。このイベントとマップ双方にいえることは、「欲しいものは全部作った」ということだ。一定の質に到達するまでに量を積み重ね、その質が量産されたのが「アナザーエデン」のイベントとマップなのである。

ゲーム開発経験のノウハウが無いままバトルを担当した結果……!?

続いて、同じく「アナザーエデン」のリードエンジニアを務める井田勝氏が登壇。ゲーム開発経験のノウハウが全くない状態で参加した同氏だったが、バトルを担当した結果どうなったかというと……1年半でバトルを5回も作り直すことになったという。

では、なぜそんなことになってしまったのだろうか?

グリー Wright Flyer Studios事業本部リードエンジニアの井田勝氏。

そのときの開発の流れはこんな感じだ。まずは“コード資産”がないため、スクラッチからスタート。また、“ノウハウ”もないため、とにかく作り、すぐにいいものができることはないため、ブラッシュアップを続けていく。あとはレベルデザインをすれば面白くなっていくだろうと調整をしていくなかで、開発の外に人に見てもらうと微妙な反応が返ってくる。そこで限界が見えてきて、最終的にはこのバトルシステムではやばそうだという結論になったという。

そういうことを複数回繰り返したが、未熟さ以外の要因もあった。

開発がスタートして半年ほどたったときに、「東京ゲームショウ2015」で初めてタイトルの発表やニコ生の放送を実施した。その結果、冷ややかな反応があったという。そこでプロデューサーから「じゃあ、決めてください」と、ユーザーに対してまさかの丸投げが行われたという。

開発から約1年が経過した「闘会議2016」のステージであらためてニコ生を実施し、そこでアンケートを行い、ゲームの内容を決めてもらうとプロデューサーが決定。その中のひとつに、バトルシステムは「ターン制」がいいか「リアルタイム制」がいいかというものが含まれていた。

開発から1年がたち、実はこの時点で出来上がっていたバトルシステムは「リアルタイム制」だった。その結果……61パーセントが「ターン制」を支持し、また作り直しが決定してしまったという。

そうして完成した最終的なバトルシステムは、良くも悪くも王道のものになったそうだ。このオーソドックスなバトルシステムが完成するまでの課程でも、ノウハウがなさ過ぎて5回も作り直すことになったというわけだ。

最終的な「アナザーエデン」のバトルシステム。
シームレスに注力した結果、複数の問題が発生

「アナザーエデン」では、シームレスに注力して開発が進められている。これは、町とフィールドの移動や、バトルへの突入などもローディングがなくシームレスに繋がっている。

あらゆるところをシームレス化した結果、いくつかつまづいたポイントが出てきた。ひとつはあらゆるところでカクつくという問題だ。課題は明白で、サイズの大きなファイルをたくさん読み込もうとしているところにあった。

それに対して、独自スレッドの非同期読み込みの仕組みを用意。サーバとの通信待ちを最小化することで、対策を取っている。

そもそも大きなファイルを読み込むので、ローディングが長くなる。中でも読み込み時間が長かったのが、キャラクターだ。ファイルの読み込みには「fread」ではなく「mmap」を使った方がいいという上を耳にし、実際にベンチマークを取ってみたところ100倍以上早く読み込ませることができるようになった。

それでもまだローディングが長いという問題が残っていた。ボトルネックとなっていたのは、Spineのデータ形式であるJSONの読み込みが非常に長いというところだ。現在のバージョンでは不要だが、当時はバイナリ形式を読み込むことができなかったので、自前でファイルを読み込めるように実装したそうだ。

先ほどカクツキを押さえるために非同期化を行ったという話があったが、その影響で今度はクラッシュが増加してしまった。これはプログラムが複雑化してしまったためだが、そのときに一番効果があったのは、XcodeのAddress Sanitizerを有効にしたところ安定性が向上したという。

Address Sanitizerを活用することで、変なメモリにアクセスしようとするとすぐに怒られるようになり、バグの発見や原因の特定が容易になったそうだ。これがなかったら、今年の4月にリリースするのは難しかったという。

「おねがいリィカ」と「Excelくん」の導入で入稿ミスが激減

ゲーム内に登場するアンドロイドのキャラクター「リィカ」を元にした、Hubotを使ったChatWorkのクライアントbot「おねがいリィカ」というものを用意している。これは「@liica check lua」といったコマンドをチャットで命令することで、実行してくれるというものだ。

この「リィカ」は、アプリのビルドやサーバーのデプロイ、アセットのブルド、アセットの各種検索など様々なことを実行することができる。

しかし、開発中~後半にかけて、マスターデータが巻き戻るといった問題がまれに起こった。これは、Excelバージョン管理をGitにしたのが原因だ。Gitにはファイルのロック機能がなく、Excelがバイナリ形式のためGithubに修正差分が表示されないのである。

そこで、Excelファイルのロックを管理する「Excelくん」というウェブツールを用意。Excelの修正差分出力と、それを付けたGithubへのプルリクエスト作成を「おねがいリィカ」でサポートするようにしたという。これにより入稿ミスが激減したそうだ。

ノウハウもなくコード資産もなかったことから、このような苦労をうんだ「アナザーエデン」の開発だったが、苦労した反面ようやくコード資産を築くことができた。

そしてそのノウハウが存分に活かされたのが、次のプロダクトである「ダンジョンに出会いを求めるのはまちがっているだろうか~メモリア・フレーゼ~」である。それなりのボリュームを持つアプリであったが、開発期間わずか10ヵ月でリリースまでこぎ着けることができたのである。

(C) Wright Flyer Studios

※画面は開発中のものです。

この記事のゲーム情報

機種
Mobile
プラットフォーム
アプリ
OS
iOSAndroid
会社
WFS
ジャンル
RPG
システム
横向きソロ
クリエイター
加藤正人
  • セガゲームス特集ページ
  • セール情報
  • 夢現Re:Master特設サイト
  • BUSTAFELLOWS特設サイト

RANKING人気記事ランキング

REGULAR定期配信

  • ゲーム発売日・配信日カレンダー
2月14日(金)
ASTRO BOT:RESCUE MISSION Value Selection
Darksiders Genesis
Déraciné Value Selection
Dreams Universe
2月17日(月)
ロンメル1942-Refrain at the battle for North Africa-
2月18日(火)
ジラフとアンニカ
三極姫RE:BIRTH~DEFENCE~
2月19日(水)
DCL - The Game
スカール アーリーアクセス版
モンスターハンター ライダーズ
2月20日(木)
Hell’s High Harmonizers
UNDER NIGHT IN-BIRTH Exe:Late[cl-r]
アサルトチェーンガンズKM
デイメア:1998
デビル メイ クライ 3 スペシャル エディション
デビル メイ クライ トリプル パック
プロジェクト・シルバーウイング
ペルソナ5 スクランブル ザ ファントム ストライカーズ
ペルソナ5 スクランブル ザ ファントム ストライカーズ オタカラBOX
ローリングスフィア
三國戦志・いくさば
侍道外伝 KATANAKAMI
蝶の毒 華の鎖 ~大正艶恋異聞~
2月21日(金)
Townsmen - A Kingdom Rebuilt
にゃんグリラ
2月26日(水)
スペースチャンネル5 VR あらかた★ダンシングショー
勇者死す。again
2月27日(木)
EVE rebirth terror
Frostpunk
loveclear-ラブクリア
loveclear-ラブクリア 完全生産限定版
LoveR Kiss
LoveR Kiss コスチュームデラックスパック
ONE PUNCH MAN A HERO NOBODY KNOWS
ONE PUNCH MAN A HERO NOBODY KNOWS デラックスエディション
Vortex Attack EX
この素晴らしい世界に祝福を!ファンタスティックデイズ
ゴッズ アンド モンスターズ
バブルボブル 4 フレンズ
メイドさんのいる暮らし
メイドさんのいる暮らし プレミアムエディション
リディーマー 僧侶の怒り
ロックマン ゼロ&ゼクス ダブルヒーローコレクション
千里の棋譜~現代将棋ミステリー~
戦女物語
東方スカイアリーナ・幻想郷空戦姫-MATSURI-CLIMAX
東方スカイアリーナ・幻想郷空戦姫-MATSURI-CLIMAX 限定特装版
滅やばたにえん
現代大戦略2020~揺れる世界秩序!大国の野望と世界大戦~
2月28日(金)
マルコと銀河竜 ~MARCO & GALAXY DRAGON~
マルコと銀河竜 ~MARCO & GALAXY DRAGON~ GALAXY EDITION
マルコと銀河竜 ~MARCO & GALAXY DRAGON~ STANDARD EDITION
推しのラブより恋のラブ
推しのラブより恋のラブ 限定版
3月5日(木)
ARTDINK BEST CHOICE ネオアトラス 1469 ガイドブックパック
BALTHAZAR’S DREAM
ゲーム ドラえもん のび太の新恐竜
タイニーバン・ストーリー
ダライアス コズミックコレクション ARCADE EDITION
ダライアス コズミックコレクション CONSUMER EDITION
パズル探偵スカウト 失われたデータの陰謀
棋士・藤井聡太の将棋トレーニング
3月6日(金)
ポケモン不思議のダンジョン 救助隊DX