僕が開発に参加した『ShootingStar.』というゲームアプリがリリースされました。

iOSはこちら

Androidはこちら

ステージクリア型のシンプルなアクションゲームです。

ふんどしパレードの作品ではなく、知り合いのプロジェクトに僕が個人的にプランナーとして参加した作品になります。

（と言っても僕がやったのは、最初に原案を出したことと、最後にステージを作ったことくらいですが）

このゲームには1000個のステージがあるのですが、ステージを作るときに僕がどんな思考の流れを辿ったか、ということをこの記事でお話ししたいと思います。

ゲーム開発者の方がステージを作ったりレベルデザインをしたりするときの参考になれば幸いです。

1. 参考ゲームを分析する

ステージを作り始める前に、まずは似たようなゲームがどのようなステージ構成になっているかを分析します。

これをすると、一からステージ作りを始めるのに比べて、考えなければならないことがだいぶ減ります。

参考にするゲームは、

「ユーザーに何を楽しませるかが似ているゲーム」

を選ぶと良いです。

頭を使うことを楽しませるゲームと、タイミング操作の気持ちよさを楽しませるゲームと、キャラ成長のインフレ感を楽しませるゲームでは、同じ「ステージ作り」でも考え方がまったく異なるからです。

ちなみに『ShootingStar.』の場合は、『Helix Jump』というゲームアプリを参考タイトルに選びました。

参考ゲームで見るべきポイントは、

・ステージ数はどれくらいあるか？

・ステージごとの違いはどんな要素で作られているか？

・序盤、中盤、終盤のステージはそれぞれどうなっているか？

などなど。

自分でプレイするのはもちろん、プレイしきれない部分（終盤のステージなど）は、プレイ動画を見たり攻略サイトを見たりして情報を得ます。

2. 全体方針を決める

参考ゲームの分析を元に、ステージ作成の全体方針を決めます。

決めるべきことは参考ゲーム分析のポイントと同じで、

・ステージ数をどれくらい作るか？

・ステージごとの違いをどんな要素で作るか？

・序盤、中盤、終盤のステージはそれぞれどんな風にするか？

といったあたり。

参考ゲームを踏襲するところ、あえて変えるところなどを決めていきます。

3. ステージの「変数」を洗い出す

実際にステージを作り始める前に、ステージごとに異なる値を設定する「変数」を一通り洗い出します。

ここで言う「変数」とは、マスタデータと呼ばれる外部データから自由に変更できるパラメータ、を指します。

自分1人でゲームを作っている場合は、それを自分で洗い出して、プログラム内部から「切り出す」必要があります。

「(値を)外に出す」と表現することもあります。

一方、プログラマと組んでゲームを作っている場合、はじめから変数を切り出してくれているケースもあります（今回もそうでした）。

その場合は切り出された変数を確認しつつ、さらに追加したい要素があればプログラマに相談します。

その際は、

・なぜ追加したいのか

・追加したらどんなことができるのか

をしっかり伝えると、プログラマが前向きに検討してくれる可能性が上がるでしょう。

また、追加する場合は費用対効果も意識すると良いです。

ゲーム全体で1回しか使わないけど実装が大変、みたいなものは、追加を諦めた方が良いかもしれません。

そして、「変数」を一通り洗い出したら、それらを次の2つに分けます。

A. ステージ数に連動して値が決まるもの

B. ステージの個性として値を設定するもの

Aについては計算式を決めます。

Bについては基準値を決めます。

4. 基準ステージを作ってみる



前のステップで決めた計算式と基準値を使って「基準ステージ」を作ってみます。

値をマスタデータに入力して、実際に遊んでみましょう。

恐らく、あまり特徴のない、大して面白くないステージができあがったのではないかと思います。

でも、今はそれでOKです。

ここに様々な特徴が加わって、たくさんのステージが生まれるわけですから。

ただし、この時点で

・難しすぎる

・簡単すぎる

・既に特徴が際立ってしまっている

ということであれば、計算式や基準値を調整した方が良いでしょう。

またこの時点で、マスタデータの値を変更したらゲームの挙動がちゃんと変化することを確認しておきましょう。

変化がなかったり意図した変化にならなかったりした場合は、自分でプログラムを組んでいる場合は修正し、チームで作っている場合はプログラマに相談します。

技術的な問題点はこの段階でゼロにし、「あとはステージデータを量産するだけ」状態にしておくと、この後の作業がスムーズに進みます。

5. ネタ出しをする

特徴的なステージのネタ出しをします。

ネタ出しといっても、割と機械的に行うことができます。

ふたつ前のステップで「ステージの個性として値を設定するもの」に分類した変数それぞれに対して、以下の思考をしてみます。

・基準値より極端に小さい値にしたら、どうなる？

・基準値より極端に大きい値にしたら、どうなる？

・それらを複数の変数で組み合わせたら、どうなる？

たくさんのパターンが生まれるはずなので、その中で良さそうなものを残します。

「良さそう」の判断基準は難しいのですが、「ダメそう」の判定は簡単です。

・特徴を打ち消しあって意味がない

・ユーザーに苦痛を与えるだけ

・他のパターンとほぼ同じ

これらの判定をもとに、良さそうなネタを残していきます。

6. 仮データを作る

ネタ出しをしたネタを元に、各ステージの仮データを作っていきます。

ここはあまり時間をかけずに、一通りのネタをざっくりとデータにしてみましょう。

「極端な値」がどれくらい極端であれば良いかは試してみないとわかりませんので。

7. テストプレイと調整をひたすら繰り返す

仮データのステージを実際にプレイして、数字を調整。

ひたすらこれを繰り返します。

ネタの時点で面白そうだと思ったステージも、実際にプレイするとイマイチだったり、ネタが成り立たなかったりすることはよくあります。

その場合は、

・数字をさらに極端にしてみる

・他の特徴を追加する

・別のステージと合体させる

などの調整を繰り返し、ひとつひとつのステージを仕上げていきます。

どうにも仕上がりそうにないネタは、ばっさり切り捨てることも選択肢に入れます。

また、この時点で新しいネタが思いつくこともあるはずなので、それらも仮データ作成と調整を繰り返して仕上げていきます。

この時点では完成ステージの数を増やしていくことだけを考えればOK。

各ステージを何番目に置くか、ということはまだ考えません。

8. 序盤のステージを作る

序盤のステージは、次のような特別な役割を担うことが多いです。

・ゲームの基本ルールを伝える

・ゲームの面白さを味わってもらう

・ギミックを1つずつ学習してもらう

・飽きさせない

非常に重要、かつ難易度の高い役割ばかりです。

なので、序盤の数ステージは他のステージとは切り離して特別に作った方が良いです。

前のステップで決めた計算式や基準値にもあまりこだわらず、実際の触り心地を優先して細かく調整しましょう。

基準値よりも優しめに作るのが序盤ステージのセオリーだと思います。

ここではステージの順番も重要なので、内容と順番を意識してステージを作っていきます。

なお、ステップ7で作ったステージの中で、序盤にふさわしいものがあればここに持ってくるのもありです。

9. ステージを並べる

ステップ7で作ったステージ群を並べて順番を決めます。

最初は適当に並べて、あとでプレイしながら入れ替えていく形で良いです。

その際に注意することとしては、

・原則として、だんだん難易度が上がっていくように並べる

・似た印象のステージが連続する場合は間に他のステージを入れる

・基本と応用の関係性にあるステージは、ちゃんと基本ステージが先に来るような順番にする

といった点が挙げられます。

なお、難易度に関しては、綺麗な直線状に上昇させる必要はありません。

直線状の難易度上昇はメリハリがなく逆に変化を感じづらいからです。

また、難易度が上がり続けるだけだとプレイ感が辛くなってきますので、ときどきあえて簡単なステージを挟むことで、「難しいステージをクリアする達成感」と「サクッとステージをクリアできる爽快感」のメリハリをつけてあげるとなお良いでしょう。

10. 他の人にテストプレイしてもらう

得てして開発者はゲームに慣れてしまい、ステージを難しくしすぎてしまう傾向にあります。

そのため、リリース前に他の人にプレイしてもらって、バランスを見直しましょう。

一番良いのは、このゲームのことを一切知らない人に、何も説明せずプレイしてもらい、黙ってそれを見てみることです。

「こんな簡単なステージもクリアできないの！？」

と驚くかもしれません。

また、ゲームの腕前は人によっても様々です。

可能であれば、複数の人にプレイしてもらうと一番良いでしょう。

まとめ

改めて、すべてのステップをまとめておきます。

1. 参考ゲームを分析する

2. 全体方針を決める

3. ステージの「変数」を洗い出す

4. 基準ステージを作ってみる

5. ネタ出しをする

6. 仮データを作る

7. テストプレイと調整をひたすら繰り返す

8. 序盤のステージを作る

9. ステージを並べる

10. 他の人にテストプレイしてもらう

必ずこの順番通りにやらなければならないわけではありませんし、自分も複数のステップを同時進行させることもあります。

しかし、どんなステップがあるかをひとまず頭に入れておくと、ステージ作成の作業をスムーズに行えるようになるのではないかと思います。

以上となります。

ゲーム開発に携わる方のお役に立てれば幸いです。

読んでいただきありがとうございました！

おわりに

このマガジン『週刊ふんどしパレード』では、スマホゲームの開発・運営から得られた知見などを(ほぼ)毎週発信しています。

よかったらフォロー・シェアしていってください。

それではまた！

Twitterはこちら（@_yhiroki）

マガジン『週刊ふんどしパレード』はこちら

『ふんどしパレード株式会社』で一緒に働く仲間の募集をはじめました。