ゲーム作り

カジュアルシューティング制作記 その1(コンセプト)

2021年12月ごろから隙間時間を見つけてはコツコツとゲーム作りを進めています。
ジャンルは「片手でできるカジュアルシューティング」という感じで、今は完成度70%くらいといったところです。

私はゴール直前でやる気がなくなる病に罹っているのでモチベ維持のためにも制作記をつけて行くことにしました。

リリースしたらぜひ遊んで欲しいのでご興味をお持ちいただけた方にお読みいただけると嬉しいです!

※本記事記載の内容は全て開発中のものです。リリース時には内容が変わっている可能性がありますので参考程度にお読みください。

作ろうと思った経緯

昔からの趣味でゲーム作りを細々とやっています。
RPGツクールで作ったゲームやN66 BASIC(知ってる人、どれくらいいるんだろう…)で作ったゲームなどは入賞経験や雑誌掲載経験があるのですが、基本的には自己満足のために勉強しながら作って改造して飽きたらソースコード放棄という人生が中心です。

iOSアプリ作りも何度かチャレンジして簡単なものは作れたのですが年会費を払わないと配信できないという例の制度の年会費が惜しくて自分の端末で試して遊ぶだけという状況でした。

ただ、やっぱこれからの時代はゲーム作りの基礎知識はあった方が良いのかなという思いと、Unityの多機能っぷりに惚れ込んでまたお勉強を始めたところです。
当初、UnityのWebGL書き出し(WEBブラウザ上で実行できる仕組み)が楽しくて色々と作っていたのですが、やりたいことが増えるにつれてゲームが肥大化し、ダウンロード時間が長いものになっちゃいました…

ここまで作っちゃったのならどんな形でもいいからiOSアプリとしてリリースしてみたいなという思いが湧いてきたので、遅ればせながらそれを最大の目的として制作を始めました。

ゲーム作りの目的

・自分が楽しめるものを作る ← 誰もプレイしてくれなくても自分だけは楽しめるので
・ゲームプログラミングのみならずイラスト、音楽など今回は全ての工程を自分でやってみる ← 自分でやらないと将来ゲーム関係のお仕事をする時に素材ごとの制作コストや制作ルールみたいなものが見えてこないから
・スマホアプリの運営や管理の苦労を知りたい
・広告収入がどれくらいのものになるか知る

カジュアルシューティングの方向性

・片手だけで楽しめるシューティングゲーム ← シューティングだとイラスト枚数が少なめで良くて敵の動き等の作り込みを拘らなくてもそれっぽく見えるから、つまり楽そうだから。
・ゲームオーバーになってもストレスが湧きにくいもの = クリアを目的としなくても楽しめるもの
・だけどちょっとだけ個性的な機能やゲーム仕様があるもの = 特徴があるもの
・初めて作ったアプリなので荒さやバグはある程度笑って許してもらいたいからお金は頂かない = 課金なしでもフルで楽しめる
Unity Adsを使ってみたいのでどこかに動画広告は入れさせて欲しい

などがベーステーマとなって行き着いた先は

・限られた時間内でどれだけスコアを稼げるかというスコアアタック系ゲーム
・全50ステージで各ステージの敵は固定キャラ、敵を全部倒すと次のステージに進める
・時間切れ以外のゲームオーバーは設けない
(初心者でも死亡ストレスがない)
・一応、全ステージクリアの概念はあるけど全ステージクリアするための難易度は高め
(やり込み要素)
・戦略+プレイ技術が7割、運が3割くらいとなるゲームバランス
・戦略の幅として攻撃方法の違うプレイヤーを3種類用意して、ゲーム中にプレイヤーが希望するタイミングで交代しながら戦う
(敵の種類やステージ構成とプレイヤーの攻撃方法に相性を持たせる)
・各プレイヤーごとに違うSPショットを用意して戦略の幅を広げる
・パワーアップアイテム、SPショットチャージアイテム、残り時間延長アイテムがランダムで出現する。
(運要素)
・3種類のプレイヤーにレベルを設定してプレイ中の育成バランスによって同じステージでも肌触りが違うようにしたい
・全ステージクリアできる猛者は全ステージクリア時のタイムや被弾回数の少なさで競えるようプレイデータをできるだけ細かく数値化して表示する

などなど、書いているとごちゃごちゃとわかりにくいので制作途中の画面をご覧いただきたいと思います。

ゲーム画面

シンプルなギャラガ型縦向きシューティング(見た目のみ)です。
キャラクターは全てネコをモチーフにしています。
私のテンションが上がるので。

左上が残り時間、右上がスコアです。
画面半分から上がそのステージの敵で下半分の3匹のキャラがプレイヤーです。

同時に動かせるキャラは1匹だけで動かしているキャラによって攻撃方法が変わります。
動かしていない残り2匹は何もせず待機しています。
待機しているプレイヤーにタッチすることで操作できるプレイヤーを変更することができます。

3匹のキャラの攻撃方法は以下の通りです。

青ねこ … 通常弾をガンガン撃つ、最大までレベルアップすると5WAYになるので広範囲に手数の多い攻撃をしたい時に向いているが、硬すぎる敵にはダメージが通らないこともある。
緑ねこ … レーザーを丁寧に撃ち敵や壁を貫通して攻撃する。連射速度が低めなのでしっかり狙わないと次弾発射までのロスが大きい、小さい敵は狙いにくいけどボス等の大型の的には多段ヒットするので高ダメージが期待できる。
赤ねこ … 炎の魔法をイメージした近距離範囲攻撃であるため敵に近づかないと攻撃を当てることができないのでリスクが高いけど攻撃力も一番高い。時々敵の弾を消すことがあるので捨て身の攻撃で向かっていっても無傷になるようなこともあります。魔法の切れ目があるのでヒットアンドアウェイみたいな戦法になる。

これらの攻撃方法を敵やステージの状況によって戦略的にプレイすることができます。

敵を倒すとまれにレベルアップアイテムがドロップしてそれを取ったキャラのレベルが1つ上がります。
青ねこを最大レベル(5)まで育てたら5WAYショットを撃ちまくります。

レベルアップアイテムは潤沢にドロップするわけじゃないのでどのキャラにゲットさせるかが戦略の分かれ道になります。
平均的にゲットさせて平均的に育てるもよし、1匹に集中させてとりあえずMAXに育てるもよしです。

ただし、敵によっては特定のショットが全く効かなかったり、ステージによっては特定のショットが極めて不利になったりなどもあるので何度もやりながら状況を見極めて育成するのが楽しみの一つだと思います。(プレイごとにレベルはリセットされます)

画面上部の赤いゲージはSPショットゲージです。
これは時間経過とともにゆ〜〜〜っくり溜まり、チャージアイテムをゲットするとちょこっと溜まります。
最大まで溜まったらSPショット準備完了、画面のどこかをタップすればSPショットが発射されます。

緑ねこの攻撃はレーザーでSPショットはレーザー乱射です。
ボスなどの大型キャラにはレーザーが多段ヒットするので、SPショットだけで倒せるボスもいるかも?
SPショットが溜まったらすぐに使って次のチャージを始めるか、ボスまで持っていってボスで使うのか、そういったところも戦略の分かれ目です。

赤ねこの攻撃は最大レベル(5)でも射程がこれくらい。
赤ねこの炎は時々敵の弾を消すことがあるので、ステージを早くクリアしたい時などは捨て身の攻撃にかけてみると道が開けるかもしれません。
赤ねこの操作はちょっと慣れが必要だけど使えるようになると戦略の幅が一気に広がるキャラでもあります。

ステージ21〜30までは海のステージです。
画像はエリアボスのでっかいカニのようなネコです。
最初のうちは猛攻撃に苦労しちゃうかもしれませんが、動きが単調なので慣れてくるとなんの苦もなく倒せるようになることでしょう。
部位破壊をすればその分攻撃が薄くなるので部位破壊をして安全に進めても良いし、スピード重視でとにかく本体を狙って一挙に破壊しても良いです。
SPショットをここで使えば一気に倒すことも可能です。

ちなみに、画面右上に「Score Boost!」と表示されていますが、各ステージが始まって数秒の間は倒した敵の得点が数%アップするようになっています。(この辺りの時間や割合は調整中です)
SPショットを使えばScore Boost!表示中にボスを倒すことも可能なのでハイスコアを狙うならステージ開始直後の数秒がとても重要になります。

全50ステージでステージテーマは10ステージごとに変わります。
ステージ31〜40までは空のステージです。
大きな雲がひっきりなしに流れてきて視界を遮る高難易度ステージですが、ランダムで出演するお助けキャラがアイテムを投げてくれるので運によって戦況が変わりやすいエリアでもあります。

先述の通り、このゲームは「プレイヤーは死なない」というのが特徴でもあります。
敵の攻撃を受けるとプレイヤーは1〜2秒の間(秒数は調整中)操作不能になるのですが死ぬことはありません。
ただし、攻撃を受けた回数によって最終スコアが減るようになっています。

クリアするだけが目的であれば捨て身の攻撃も効果的ですが、ハイスコアを狙うならなるべくダメージを受けないというのが重要となってきます。

この辺りもプレイスタイルによる遊びの幅につながると思います。

つづく

ゲームの基本的な部分はほぼできたのですが、まだできていないグラフィックや結果表示画面や広告の埋め込みなどがあるのでリリースはもう少し先になりそうです。
PC上では快適に動いているのですがiPhoneだと全く動かない可能性もあるなかなとも思っています。(まだ試せてないので)

リリースまで忘れられないようにかつモチベを保つようにこの開発記を続けてゆきたいので、みなさまにもリリースの際はぜひプレイしていただければと思います!

↑最初のうちはJavascriptでUnityを触っていたのですがやっぱC#が良いかなと思って未経験のC#に切り替えたところ、めちゃくちゃ行き詰まったのですがこの本を読んでいろんなことがストンと落ちてきました。
C#でUnityを始める人のバイブルかもしれません…

こねこ星人