フリーノベルゲームとアジャイル開発

Miz Gracia
·

『NARCIST COMPLEX』は、アジャイル開発に近い手法をひとりで行なって開発しました。

この『アジャイル開発』という言葉は、エンジニア(特にベンチャー系)には馴染みの深い言葉なのですが、もっと広く知れ渡る価値がある言葉だと思うので、紹介します。

通常、ゲームを作る上では、以下のような流れになると思います。

  • どんなゲームを作るか決める(企画)

  • → デザインやゲームの操作感などを決める(設計)

  • → シナリオやグラフィックなど必要なものを作る(設計・開発)

  • → プログラミングを行い、遊べるものにする(開発)

  • → 動作確認などをする(テスト)

  • → 一般公開

会社とかの場合、誰かが「企画」を行い、それを設計担当の人に渡して「設計」を行い、さらにクリエイターに要件を知らせて「設計・開発」を行い、さらにそれらを組み合わせてエンジニアが「開発」を行います。最後にテスターが「テスト」を作成したり動作確認などして、問題がなければ一般公開します。

このやり方の場合、「企画」の段階でゲームの企画は9割型決まっており、「設計」や「開発」の段階で「企画」に戻ることはないということです。

こうした、企画 → 設計 → 開発 といった流れがしっかり決まった開発手法のことを、「ウォーターフォール開発」と呼びます。滝のように上流から下流に流れてくるものであり、逆流することはな、ということですね。

一般公開された時点で『完成品』であり、ユーザーはそれを購入してゲームを楽しむわけですね。たとえゲームに致命的な不具合があっても、修正されることはありません。その代わり、後でゲームの仕様が突然変わったりすることもないです。(スーパーファミコンなど、昔のコンシューマーゲームはほとんどがウォーターフォール開発かと思います。)

一方で、この「企画 → 設計 → 開発 」の流れにおいて、いきなり「企画」の段階ですべて決め切らない方法もあるのです。まずは最低限の機能を「企画 → 設計 → 開発 」で作ってから、追加で欲しいと思った機能をさらに「企画 → 設計 → 開発 」で付け足し、付け足し……、これを繰り返して品質の高いモノを目指す方法もあります。

これが、『アジャイル開発』です。

『アジャイル開発』は、現代のソーシャルゲームをイメージしてもらえるとわかりやすいかと思います。最初はただのパズルゲームだったのが、フレンド機能が追加されたり、ステージが追加されたりと、日に日にゲームの機能がパワーアップするのを目の当たりにすることがあるでしょう。どうしてこうなるかというと、「開発(テスト)」が終わったら、もう一度「企画」に戻っているからです。機能単位の最小サイクルで、少しずつ作っていくんですね。

ゲーム以外の身近なサービスで言うと、X(Twitter)もそうですね。ある日突然、今までにない機能が増えたりするのは、この「企画 → 設計 → 開発 」が機能単位でこまめに行われているからです。

(誰にでもわかるように説明する都合上、説明を省略している箇所もあります。気になった方は一度、自分でも調べてみてください。今回はこれくらいのざっくり理解でも大丈夫です。)

私の場合、この『アジャイル開発』に近い手法をひとりで行なって開発しています。

『攻略対象キャラクター四人の長編恋愛ADV! 分岐があって好感度があって、セーブはどこからでも行えてフローチャートやギャラリーモードもあって、設定からはスキップモードの変更のほかに音量調整やら文字送りやら文字色やら……、あとタイトル画面では演出が……』

みたいな、高クオリティゲーム構想を最初からやるのもいいのですが、「やりきれるかわからない」「本当に必要な機能なのかわからない」「リリースが遅れる」など、様々な欠点があります。

そのため、まずは要件を優先度別に分けます。『これがないとさすがにゲーム名乗れねぇぞ!』ってレベルから、『この機能・クオリティはどうしても譲れない』、『これがあると嬉しいが必要不可欠ではない』、『この機能があると理想だけどなくてもいい』、くらいの粒度で分けていきます。

『NARCIST COMPLEX』の場合は……

  • 『これがないとさすがにゲーム名乗れねぇぞ!』

    • スタートからエンディングまでがあるノベルゲーム

    • 攻略対象の立ち絵

    • セーブ機能、ロード機能

  • 『この機能・クオリティはどうしても譲れない』

    • 攻略対象は四人

    • 主人公の立ち絵

    • そこそこの量の立ち絵差分

    • 選択肢あり、マルチエンディング(3x4)

    • スキップ機能

    • 定番のConfig

    • スチル合計1枚

  • 『これがあると嬉しいが必要不可欠ではない』

    • 未読テキストをスキップしない機能

    • ギャラリーモード

    • スチル合計9枚

  • 『この機能があると理想だけどなくてもいい』

    • タイトルでキャラクターと会話できる

    • キャラクターの設定資料などが見れる

    • スチル合計17枚

    • キャラクターの立ち絵を着せ替えできる(今回は不採用)

    • 好感度的なものを確認できる(今回は不採用)

すべて書いていませんが、おおまかにこんな感じ。

あっさり書いていますが、『この機能・クオリティはどうしても譲れない』の部分は歯を食いしばりながら剪定しています。そりゃあ誰だって、豪華なスチル、ハイクオリティなシステム、快適なUIを追求したいですが……そこをなんとか、”本当に”必要なもの以外を削ぎ落とすんです。

私のゲームの場合、2023年7月24日までに完成させるという強い意志があったので、次に『これがないとさすがにゲーム名乗れねぇぞ!』『この機能・クオリティはどうしても譲れない』を設計・開発するまでの計画を立てます。「この日までにこれを〜」って感じで。

そうすると、期日の2023年7月24日までにどれくらい余裕があるかわかってきます。この「余裕」の期間を使って、残りの『これがあると嬉しいが必要不可欠ではない』を実現していくわけです。私の場合はぶっちゃけ余裕なんてなかったので、スチルだけどうにか詰め込みました。

そして、7月24日に申請。この時点で、『この機能・クオリティはどうしても譲れないってモノを最低限詰め込んだNARCIST COMPLEX』が出来上がり。一旦、プレイヤーに楽しんでいただける段階に来ているわけです。

で、それから。

プレイヤーの感想を見たり、他の人のゲームを遊んでみることで、さらに残りの『これがあると嬉しいが必要不可欠ではない』『この機能があると理想だけどなくてもいい』の優先度が整理されてきます。

当初は予定していませんでしたが、スマホ版だとゲームが重いという報告をいただいたので、『軽量化』『スマホで扱いやすいUI』の優先度をアップ。『未読をスキップしないスキップ機能』も強い需要を感じてので優先度をアップ。ギャラリーモードも追加したいけど、これは他と比べて優先度が高くない(実装しなくてもゲームを100%楽しめるものである)ので優先度をダウン。

それからは、優先度の高いものを一つずつ、確実にこなし、少しずつ『アップデート』版としてリリースしていきました。

(ノベコレの場合、審査があるので、あまりアップデート申請をしすぎるのもプラットフォーム側のお手を煩わせるかな〜と思ったので、なるべくまとめてアップデートしました。本来であれば、もっともっと細かくアップデートを行います。)(とはいえ、それでも頻度も分量も多かったかと思います。すみません……ご対応いただきありがとうございます。)

もし、コレを読んでいる方の中で、「ゲーム作りたいけど時間かかるし頓挫しがちだし……」となっている方がいらっしゃれば、この『これがないとさすがにゲーム名乗れねぇぞ!』『この機能・クオリティはどうしても譲れない』などの優先度を徹底的に自分の中で検討し、期日を決め、開発を進めていくことで、今までより完成させるための道筋が見えやすくなるんじゃないかと思います。

みんなゲームを作ろう!

@miz_gracia
文章の壁打ち場。 質問などはこちらに: marshmallow-qa.com/miz_vhb