『StarONE:Origins』はプログラマー1人・デザイナー1人の2名で約半年の期間で制作したゲームです。
今回は少人数・短期間でのゲーム開発をするにあたり、意識した事をかいつまんでではありますが紹介します。
皆様にとって少しでも何かのお役に立てれば幸いです。
開発方針と期間
Marumittu(まるみっつ)というインディーゲーム開発チームとして初めて作るゲームなので、「StarONE開発一本に集中して作りきる」という方針をまず決めました。
同時にふたりとも仕事を辞め、副業等もやらず、貯金を切り崩しての生活でゲーム開発を行うことに。
そういった経済的な理由もあり半年という期間も決まりました。
ゲーム性や物量も最初に割り出し、期間に対してそこそこの工数がある事もわかりました。

ざっくりとした役割分担。とはいえ臨機応変にお互い色々な作業を行いました。
費用対効果を意識した自動化
期間内にこの物量をふたりでこなす為に必要になったのが、工数削減のための自動化・効率化。
自動化を行う際に特に意識したのは「実装にかかるコスト」と「実装によって浮くコスト」です。
「実装によって浮くコスト」 < 「実装にかかるコスト」だと本末転倒なので、ここは強く意識しました。
シンプルなものでも結果としてコストが浮くのであればとにかく自動化しました。
UnityではAssetPostProcessorを利用することで、アセットのインポート前後にスクリプトを実行することが可能です。またカスタムエディターの機能でInspectorの内容を独自にカスタマイズできるため、これらの機能は自動化処理を実装するために大変重宝しました。
(ちなみに既存アセットを使用しなかった理由は、自身で作る方がカスタマイズ・機能追加が容易だったので。探したり検討したりするコストも考えると、結果的にこの判断は正解だったと思います)
実装して助かった例を下記にあげます。
アトラスの自動生成
矩形座標はテクスチャサイズから自動算出、Border,Pivotの設定については設定する個数が少ないため、手動で設定を行っています。
このため、アトラスが既にある場合は変更差分のみを更新するようにし、BorderやPivotの設定が保たれるようしていました。
最終的にUIテクスチャ数が600を超えていたので、開発終盤は細かい調整をしてはボタンひとつですぐ自動生成・最低限の設定変更で更新完了するのは重宝しました。

必要最低限の設定のみ残し、作業中すぐはき出したり設定できるようなシンプルな作りにしていました。
UIの自動構築
Photoshop上でUI構成を作っていたので、Photoshopの配置情報をそのままUnityに持っていける仕組みを用意しました。
配置情報の他、レイヤーの命名規則から各UI Widgetを生成しGameObjectの生成やコンポーネントの追加等も行い、手動での設定を極力行わなくてすむようにしました。

Photoshopでのレイヤー名から、インスペクター上の各項目が自動追加されるようになっています。
自動プレイ
C#のデリゲート機能を利用して、任意のタイミングで処理を実行できる汎用クラスを作成しました。
この機能によって「敵が死亡した」「キャプテンのレベルが上がった」等、ゲーム中の独自イベントを各クラス単位で受け取る事ができるので、自動プレイの実装も比較的容易に実装する事ができました。
この自動プレイ機能によって、下記の様なチェックをほぼ自動で行いました。
・長時間プレイのチェック
・各機能の動作チェック
・タイミング系バグの検出
・ゲーム進行のデータ収集

寝ている間に自動プレイ→翌朝ログをチェックして調整→寝る前に自動プレイを走らせ…を繰り返していました。
共同作業の効率化
自動化…とは少し違いますが、作業が各々で完結できるような工夫もしました。
演出アニメーションのタイミングや調整・アイコンカラー等の設定など、単純な事ですが双方に無駄なコミュニケーションや作業が発生しないよう仕組みを準備し、お互いが専念できる環境にしました。

プログラムで管理するカラー設定部分をデザイナーが直接調整できるよう一覧化。色番号をリスト化する手間、修正が発生した際のやりとりの手間がなく重宝しました。
今回の開発で、自動化の為の難しい技術・特別な技術といったものは正直ありません。
細部にわたる効率化を意識した結果、塵も積もってコストを浮かせたのではないかと思います。
序盤に丁寧に準備したものほど終盤になって非常に有用になっていました。
最後に:私たちの作業環境
StarONE開発の作業環境について、カフェやコワーキングスペースを利用することはなく、ほぼ100%自宅で行っていました。※プログラマー(夫)デザイナー(妻)なので同じ家に住んでいます。
もともと互いに「いつかは自宅で働く」という夢があり、現在の家に引っ越した当初に最も居心地の良い場所にデスクを作り、デュアルモニタを完備し…と会社勤めの頃から作業環境だけはばっちり準備していました。笑
人によりけりかと思うのですが、私達の場合この自宅環境が非常に集中できたため、パフォーマンスが出せたようにも思います。
出掛ける準備不要・移動時間0分なのが最大の工数削減だったのかもしれません。笑

自宅の作業スペース。左がプログラマー、右がデザイナーのデスク。
以上となります。記事をお読み頂きありがとうございました。
是非『StarONE:Origins』に興味を持っていただけると嬉しいです。
そして今後のMarumittuにご期待ください!