ゲームを作ってみて(開発後記)

プチコンでゲーム作品を作ってみて。そのゲームの内容、こだわったこと、苦労したことなど。長々と語れる限り語りたいとおもっています。 一部ゲーム内容のネタバレを含みます。

2Dニンジャアクション
~第四回 プチコン大喜利 受賞作品~


~プチコンといえば大喜利~

プログラムでゲームが作れるようになると、自分の実力がどれだけのものか試してくなるもの。
まぁ、そういうこと考えないで楽しくやることのほうが大事だけど。
まぁ、コンテストだし受けて困るものでもないし、一つ目標にそって何かに打ち込むのは決して悪いことではないし、こういうコンテストは参加するだけでも意味がある。いや大きな経験になるので参加できるならドシドシ参加したほうがいいと私は思います。 趣味でプログラム書いてると納期に追われて作品を作るってなかなかできませんからね。

そんなわけで前回も応募した私は今回も応募することにしました。

前回、優秀な成績を残した人の作品は本当に凄く綺麗で気合の入ってるものでしたから、作りこみというジャンルで勝負するなら出来る限りのことはやってみようと思ったわけです。

「仕事とプチコン大喜利どっちが大事だ。」と言われたら間違いなく、
「そりゃープチコン大喜利にきまってんだろぅ。」と答えそうな勢いで…


だって、夏休みの宿題は、やってなくても。「やったけど家に忘れた」って言えば一日猶予をもらえるし、 仕事の納期だって、頭下げれば。少しは延期してくれるかもしれないでしょ。 でも、コンテストの締め切りだけは絶対なのですから




~正々堂々0から作る~

プチコン大喜利のテーマは「ニンジャ」「ツール」「自由」締め切りは2ヶ月半後でした。
そして、日米対決(ちょうど北米版が発売された直後の発表)
どうやら製作期間は関係なく、既に作ったものとかでも応募できるということでしたが…

やっぱり、テーマが決まってからそれに合わせて作るのが大喜利の楽しさ、

アメリカの人は初めてプチコン3号を手にするわけですから、<
正々堂々完全なゼロからの開発で勝負したいと思ったわけです。

忍者といって思いつくものは、「忍者○剣伝」といった2Dアクション。
今までいろんなジャンルのゲームに挑戦してきたけど、ちゃんとした2Dアクションはまだ作ってませんでした。
まぁ、スクロールのサンプルは作ったことがあるし、スクロールシューティングも作ったことがありましたので、王道的な2Dアクションを作ろう。と思いまして。1周間後から開発をスタートしました。

※ その頃は、タッチ式擬似2Dガンシューティングを海外版に翻訳したバージョンを作ってました。
  プチコン3号の北米版が出た直後なので、日本のプチコンユーザは一斉に海外バージョンを作っていたわけです。
  まぁ、1周間で英語版が完成し、公開後 Miiverseではまずまずの評価を頂きました。
  内容は可愛く見えてもガチなガンシューティングアクション、本場のFPSボーイも満足できる要素を入れていたつもりですから…

~まずは土台の試作…でも何か物足りない~

私はプチコンに出会ってから、いろいろな種類のゲームを作ってきました。

今回の2Dアクションに関しては、スクロールする地形の部分はプチコンmk2の頃からサンプル程度にスクロールアクションを作ったことがありますし、敵の出現・制御はプチコン3号でのヘリコプターシューティングですでに似たようなことやってましたし、地形判定もBG回転する見下ろしレースですでにやってたし、プレイヤーの移動に関しては、プチコンmk2で作った格闘アクションで一応似たようなことやってましたからその部分は作れる実力も自信もありました。

でも、それだけだと、物足りない!って思ったわけです。

何かもう一捻りほしいところって

その頃は、我々のようなゲーム好きにとっては日本全国マリオメーカー一色な感じでした。
マリオメーカーは自由にコースが作れて本当に面白い。
だけど、斜面がないからマリオ3の面白いコースがつくれないんですよ。

そして、世の中に2Dアクションはたくさんあるけど、斜面を意識しているゲームは意外と多くない。
だったら、やるしかない。やってみたい。と思いました。
やったことないけどこうすればできそうってイメージはありましたからね

斜面があるなら、滑る雪道があったほうが面白い。

ちょうどその頃、私の故郷の北海道(スマブの本社も北海道)では大雪ということでニュースになっていました。

「これだ!」

って思ったわけです。

マリオメーカーを知ってる人はたくさんいるし、2Dアクション=マリオって思っている今だからこそ、坂道の面白さを全面的に表現していけたら面白いかなと…

~アクションゲームはマリオだけじゃない~

私にとってのアクションゲームはマリオではないんです。
いや、マリオだけではないんです。
マリオとは違うアクションゲームを作りたいわけです。
そして可能な限り現実劇な面白さを全面的にだしていきたいと思いましたね

忍者なので、手裏剣と短剣

忍者といえば手裏剣。 とにかく爽快に連続で投げる。数発あたれば敵はKO!
いやいや
忍者といえば短剣
素早く近づいて懇親の一撃を当てる
。 リーチが短いけど威力は絶大。大抵の雑魚敵は1撃で倒せます。
このゲームは手裏剣と短剣をうまく使い分けることが攻略のポイントになります。

敵がどんなに元気に動いていても、剣が当たればほぼ一撃だけど、リーチが短いのでどう戦うかが攻略のカギ。ゲーム作るときは、リスク&リターンのバランスが重要。ってゲーム作った人の本にも書いてある。


忍者らしい素早い動き

私が思うに忍者と素早いというイメージがあります。
素早く敵に接近して、攻撃を当てて素早く離れる。
塀や屋根にのぼったり、走って跳んだり。

ジャンプしても天井がないため自由に跳びまわることができ、屋根や塀の上で下を押しながらジャンプボタンを押せば降りることができます。

この方法では屋根や塀の上でスライディングできなくなってしまうので、斜め下の場合は段を降りるのではなくスライディングするようになっています。

この方法により、忍者らしいスピーディーで自由なアクションが可能になりました。


動きは悪くない、でもプレイしていると問題が…

いい感じにプレイヤーの動きができてきて、敵を実際にいくつか表示して動かしてみるといろいろな問題が生じてきました。

手裏剣攻撃は攻撃力が低めだけど、敵が弱すぎる。という問題。

ロックマンのように手裏剣(弾)が画面端まで飛んでしまうように実装していたため、敵は遠くから手裏剣を当てるだけで近づくことなく全滅
とにかく敵の攻撃を受けることがなかったので面白くありません。

これでは、短剣を持っている意味がなくなってしまう。
敵の数を増やしたところで、結局すぐ敵がいなくなってしまいますし、多くすれば良いってものでもありません。
だったら敵の耐久力を増やせば良いとも思いましたが、
敵の耐久力が高くても連射すれば遠距離から瞬殺ですし、そんなに敵が硬いのも現実的ではありません。
せめて剣撃1発、手裏剣3~5発ぐらいでないと世界観に合わないのです。

だったら手裏剣を連射できないようにすればいいじゃないか。
と思ったら、手裏剣を連射できないのはニンジャじゃない。と思うわけです。

なので、手裏剣は遠くまで飛ばないように飛距離を設定しています。

こうしたら遠くの敵には手裏剣があたらないので、攻撃力の高い短剣を使ったり、ちょっと離れて手裏剣を使うという戦い方が可能になります。

でも、またこれも問題があるわけで、ダッシュしている時に手裏剣を投げるとすぐ近くで消えてしまいます。
なので、ダッシュ中は歩行時よりも遠くに飛ぶようになっています。
逆にいうと、ダッシュして手裏剣を飛ばすと、少し遠くまで届くというテクニックが使えます。

オリジナルゲームを考えるときは思考錯誤の連続、何度も何度もいろいろなことを試して、少しずつ遊びやすくなっていきます。


~現実っぽく、ゲームっぽく~

現実的な面白さ

人間は空を飛ばないし、攻撃するときは構えてから攻撃に入ります。
それは、敵も同じです。
また、忍者の時代に誘導ミサイルは存在しませんし、住宅地に穴や崖なんて存在しないのです。
まぁ、ゲーム敵な面白さを追求すれば、現実っぽくする必要はありませんが、私はそれが好きなだけなのです。

敵だって、バカじゃない

自分から死にくる敵はいない。

敵とはいえ、相手は基本的に人間です。
実際の人間では無防備でやられに来る人はまずいないでしょう。自ら崖に飛び込む人がいたらおかしいでしょう。
まぁ、ゲームなので何も考えずに向かってくる敵がいてもありでしょう。 ゲームとは自由なものなので、面白ければ何でもありなのです。現にゲームメーカーが作るゲームでも世界観や設定がメチャクチャな作品も多数ありますし。
まぁ、私はあくまで現実をデフォルメした面白さを追求したいと思うわけです。
非現実な設定、特にシューティングゲームに多い。生身な人間が空を飛んだり、飛行機やペンギンやモアイや美女が出てきたりとホントごちゃごちゃな設定のゲームが普通に一流ゲームメーカーから発売されています

このゲームでは、プレイヤーの行動によって敵の行動が変わるものもいます。
例えば、プレイヤーが高めに手裏剣を投げると、敵はしゃがんで回避しようとします。
だったら、
プレイヤーがしゃがんで手裏剣を投げると、敵はジャンプして避けようとします。

プレイヤーに向かって走ってくる敵のなかにはプレイヤーがはジャンプで避けると敵は引き返して追いかけてくるものもいます。
でも、疲れてくるのかだんだん走る速さが遅くなってきて…
攻撃をするチャンスが生まれます。
敵がAIを持つ、思いつくのはゼビウスや悪魔城。 ゼビウスはプレイヤーがいないところから出現して、プレイヤーが近づくと避ける。
悪魔城の敵は、とにかくプレイヤーの裏をかいてくるような行動をしてくる。



実写の動画を参考に

他にも、弓矢を打つ敵は、プレイヤーに弓先を向けてから攻撃します。

矢に関しては、比較的短い間隔で連射したり3方向に飛ばしたりします。
このゲームを作る際には、Youtubeとかで弓矢の名人の動画みて研究したりしました。

弓矢は比較的連射ができる武器でもあります。
なので、このゲームでは弓矢を撃つ敵は比較的早く連射します。
しかし、連続で打てる回数には限りがあるため、一定以上撃ったあとは、補充するために攻撃を止めます。

そこを上手くつくことがこのゲームの攻略のポイントでもあります。

このように、プレイヤーの行動によって、敵の動作を変える。要するに敵が思考を持っているような動きを取り入れることで、よりリアルっぽい駆け引きや面白さが生まれると思います。
昔に作られた名作ゲームは、ゲームがない時代に作られた。
だったら、これから作るゲームも既存のゲームを参考にするだけでは新しい面白さは追求できない。と思っています。


~アクションゲームの難しさ~

アクションゲームはシューティングと違い、プレイヤーは地形に沿って移動します。
シューティングでは上下左右に自由に動くことができるため、敵をテキトーに配置して、弾をばら撒けば、プレイヤーはほとんどの弾を理論的には回避できるためそれだけである程度の難易度になります。
シューティングの自機は飛行機であり、敵も基本的に飛行機であるため、敵を自由にばらまいて配置するだけで何の違和感もないでしょう。

避けないようで避けられること

しかしアクションゲームは違います。
プレイヤーが動ける範囲が限られているため、テキトーに敵を配置して弾をばらまくだけでは回避不可能な状態が発生してしまう場合があります。
敵も自由に空を飛ぶわけではないため、地形に沿った動きをする必要があります。

運が悪いというだけで回避できない攻撃をされてしまうと、プレイヤーはただダメージを受けるだけで楽しくないでしょう。
とにかく回避できない攻撃が発生してはいけないので、丁寧に敵を配置して攻撃パターンも工夫する必要があります。

アクションゲームでは、この回避できないように見えて、回避できる絶妙なバランス調整が重要になります。

このゲームも最初はそうやって、回避できるように敵を配置していました。

敵の攻撃パターンではランダムな値を使用します。
敵はプレイヤーの状況によって動作が変化します。

そうなると、どうしても回避が難しいパターンが発生してしまいます。

そうならないように、敵を少なくすると、今度は簡単すぎて面白くなくなってしまいます。
では、どうすれば敵の弾が多くても、回避できる難易度にすることができるか?

いろいろ考えた結果、「避けなければ良い」という考えになりました。

短剣を振ることで敵の飛び道具による攻撃を無効にするという方法です。
この方法なら敵の攻撃が激しくても理論上はかなりの弾が出ても問題ありません。

アクションゲームではよくあるショットイレイザーという考え方。 敵が弾を打つ場合、接近線を挑めばどうしてもプレイヤーは被弾してしまいやすくなる。 なので、剣を振っている時、プレイヤーの近くの弾は無効化されることで、より接近線がしやすく。 理不尽なダメージが受けにくくなります。


のけぞりと吹っ飛び

このゲームは、プレイヤーがぶつかった敵や弾とは逆の方向に仰け反ってふっとばされるようになっています。地面についたら、通常状態になります。

ですが、単純にこの方法だけでゲームを作ると、ふっとび状態でダメージを受けた場合にハメられて動けなくなって即ゲームオーバになってしまう場合があります。
開発中はよくそうなりましたので改善策を考えました。
ダメージを一発受けるだけでハメられてしまっては面白くないので、ダメージを受けたあとは一定時間無敵になるようになっています。
ですが、無敵時間が長すぎると無敵状態を利用して難所を軽々と突破されてしまい面白くなくなってしまいます。
※ スーパーマリオはダメージを受けた直後は無敵なので簡単に難所を突破できますが、HPが低いためバランスが取れています
このゲームはマリオに比べてHPが多めなのでそのような攻略をされてしまうと難易度が下がってしまいます。
なので、大きく飛ばされるようにしています。ちょうどギリギリでゴリ押し突破できないくらいに調整しています。


敵が登場するタイミングが大事

横スクロールアクションでは、いつ敵を出現させるかが重要になります。
このゲームでは距離が進んだら敵を出現させるということをしています。
プレイヤーが真ん中当たりに来るとスクロールするため、どんどん距離を進みどんどん敵が出てきます。
しかし、スクロールが止まってしまう。つまりプレイヤーが動かない場合は敵がでてきません。
ゆっくり進んでいけば、比較的簡単に突破出来てしまいます。
これでは後半ステージの難易度を上げることが難しくなります。

なので、距離とは別に常に一定間隔で敵が出現するエリアを設けています。
狭い足場地帯とかで、プレイヤーがゆっくり進んでいても常に敵が出てくるため、難しく楽しくなります。

~簡単すぎず、難しすぎず~

ゲームを作る人とそのゲームを初めてプレイする人には、楽しめる難易度に大きな差があります。
当然ゲームを作る人は、何度も何度もテストプレイを繰り返し、敵の配置も攻略のコツもわかっているため、簡単な難易度では楽しくはありません。

なので、ゲームを作った人が普通に楽しいと思った難易度は、はじめてプレイする人には難しすぎて楽しめない。ということになります。

ましてや、複雑な操作を要求するアクションゲームでは操作に慣れてもらうための配慮が必要になります。
このゲームを作る前、マリオメーカーにハマり、ゲームデザインの奥深さを知り、スーパーマリオ や ロックマンX の
最初のコースについて考察したりしました。

そのようなこともあって、とにかく遊びやすい難易度に仕上げたつもりです。

ですが、最終ボスまで作ってからプレイし直すとやっぱり難しいかも知れないと思ったわけです。
Easy Mode は必要かと思いました。
だからといって、敵の配置やパターンを変えてしまうのは、大変であり爽快感も薄れてしまいます。
なので、敵の攻撃方法・耐久力は変えずに、プレイヤーのHPと仰け反りの有無で調整しています。

Easy Mode であっても敵の数もステージパターンもすべて同じです。ですが、NormalでクリアするとのEasyでクリアするのではちょっと違うという感じにとどめています。

普通にゲームを楽しみたい人はNormalModeでプレイしていただきたいと考えています。
NormalModeでは、とにかくダメージを受けるとふっ飛ばされる。足場が狭いところなら簡単に下に落ちてしまいます。
そうそう、某ゲームが下手くそで有名なファミコン名人がボスでもない敵に何時間も阻まれるように…


~音楽はゲームの顔~

ゲームをプレイして入ってくるものは、映像や操作体験による面白さと「音楽」だと思っています。
新作ゲームをプレイするということは、新曲を聴くということでもあります。
よって、見たことのないゲーム性 + 聞いたことない音楽 が合わさって、新しいと感じるわけです。
なので、ゲームが新しくても、どこかで聞いたことのある音楽だと新しさが損なわれてしまう場合があります。

逆に、シリーズモノの場合は音楽を統一することで、懐かしさや安心感を与えてくれます。 例えば。ドラクエの場合はテーマソングを聴くだけで、ドラクエをプレイしたと感じるでしょう、レベルアップの音もあの音を聞くと安心感がありますね。

なので、ゲームを作る場合は音楽も含めて考える必要があると私は思っています。

このゲームではスタート前のミュージックエフェクトからBGMに至るまで、出来る限りプリセット音楽を使用せずに一から打ち込みをしています。

※ プチコン職人のレベルは高い。プロが応募してくることもあります。
  プロ並みのアマチュアがうじゃうじゃいます。
  プログラミングができる人、上手な絵を描くことがデキる人、良い音楽を作れる人
  これらを両立することは難しいです。
  でも、実際に居るから困る。 特に前回も今回も優秀な賞をおさめた人は本当に凄い!

~ステージが進むと雰囲気がガラッと変わるように…~<

ゲームというものはプレイヤーは常にドキドキ・ワクワクして、少しずつ上達していく
飽きない面白さが必要になります。
だんだん進むと難しくなっていくとともに、ゲームを進めていくと、以前よりも前に進んだという実感を与えるための演出が必要になります。

ステージを進めていくと見たことのない敵が登場する。
音楽が変わる。ゲーム性がガラッと変わるような、地形や要素を入れる。

このようなことを意識すると、次に何があるのかという期待とともに、もっと前に進みたいと思えるようになる。と私は思います。


~序盤は操作に慣れるように~

ステージ1「村」

プレイヤーが最初にプレイするステージであり、ただでさえ複雑な操作性であるため、操作に慣れてもらうことを意識した作りになっており、1ミス即死の穴はありません。

中盤から敵の攻撃も少しずつ激しくなってきます。回復アイテムを落とす敵もいますので、慎重にプレイするとそう簡単にやられることは無いでしょう。ステージの最後にはボスが待ち構えています。
手裏剣で削りつつ、チャンスが来たら剣撃で大ダメージを与えるのが、このボスのこのゲームの攻略のコツでもあります。

ステージ2「森」

ステージ1のボスを倒したら、ガラッと変わる背景の音楽。
敵も森の中らしく、動物が多めにでてきます。
ここから1ミス即死の穴が出現します。
難易度も段々高くなり、中盤には敵のアジトが出現します。
ここは中ボス的な役割を持っており、敵は激しい攻撃をしてきます。
適度にジャンプでよけつつ周りの敵を倒さないと前には進めません。

ボスは自由に空を飛び回ります。真ん中に大きな木がありますので、この木を足場にしてどのように戦うかが攻略のポイントになります。

ステージ3「岩山」

ここまで来たら操作に慣れてるはずという前提のもとに、ここからがアクションゲームの面白さの本領発揮!。という感じの難易度でつくっています。
また、新しい敵が登場します。

たまには全然違うようにしてみる

ステージ4「雪の山」

だんだん単純に難易度だけ上げていくのもいいけど、ちょっと変わったことをしてみたい。
せっかく坂道の表現があるのだから、滑る雪道ってのも面白いかな。という感じのステージ。
敵もペンギンとか出てきます。かわいいペンギンさんを攻撃するのはちょっとアレだけど
行く手を阻むものはすべて敵ということで…

作者のお気に入りのコース、このゲームで一番やりたいことをやった感があるコースです。

この独特の操作性が特徴です。 ロックマンXのペンギンステージとか、スーパードンキーコング3の雪山とか
ああいうコースが好きなんですよね。滑るって独特の面白さがあると思いますし
私が作ったクルマゲーは必ずと言っていいほど、ドリフトしますからね…

難易度・テンション・最高潮


ステージ4「忍者の城」

最終ステージ、作った人でも安定してクリアするのは難しい。
ハイテンポで軽快なBGMとともに、とにかく序盤から敵の忍者が襲ってきます。

このステージでは全体敵に難所の連続、途中の城部分でこのゲームでは処理が最大負荷になります。
旧3DSでは、処理落ち寸前まで敵と弾を出すようになっています。
まぁ、処理落ち寸前とゲームの面白さが比例するわけではありませんが、やっぱり最大の難所ではマシンパワーはフルに活かしたいものです。

このゲームでは全面的に坂道による面白さを追求しています。
坂によってプレイヤーのY座標が微妙に変わるため、
敵の攻撃がギリギリで避けれたり避けれなかったりするわけです。
坂をちょっと登ったらジャンプで交わせる、ちょっと下がったらジャンプでは交わせない、そういう要素をいれています。

特にボス戦ではこの坂の使い方が攻略のコツとなります。

自分の慣れた操作で遊べるように


この手のアクションゲームはAボタンがジャンプなのかBボタンがジャンプなのか。
いろいろな種類のゲームがあります。
アクションゲームとは反射神経でプレイヤーを意のままに操ることが面白さでもあります。

このゲームではキーコンフィグが搭載されているため、普段慣れているゲームと同じような操作で楽しむことができます。

これだけ複雑な操作があるゲームなので、普段遊んでるロックマンXっぽい操作でプレイもできます。
やっぱり、反射神経を有するアクションゲームは自分の好みの操作でプレイ出来たほうが楽しいはず


よりゲームソフトらしく

せっかく作るならゲームソフトっぽくしたくなるものです。
ここに書かれていることは、市販のゲームでは当たり前に行われていることでありますが、自作ゲームでもこれらの要素を入れるとよりゲームソフトらしさが生まれるものだと思います。

スコアの見える化

 敵を倒したら、その都度スコアが表示されるようにしています。
また、クリア後のボーナスを加算する場合、ゲームオーバーのスコア減少の表示部分はアニメーションを取り入れることでどれだけスコアが増えたのか?減ったのかをより視覚的に見えるようにしています。

また、ゲーム中はランク表示的なものを常に表示ししていまして、
1ミスしたら、金から銀
コンティニューしたら、銅
に変わるようになっています。

これにより、ゲームに慣れている人はノーミスしなようなクリアを目指したくなるでしょう。と思っています。
さらに、上級者でも満足できるように
ダメージを受けずに敵を一定時間内に連続で逃さずに倒すとコンボが加算されます。
ノーダメージやノーコンティニュー、短時間でステージをクリアすとステージクリア時にボーナスポイントが加算されます。

このように、ただステージを突破するのではなく、どのように突破したかを判定してスコアに反映することで、ゲームのプレイの仕方によってスコアに大きな差が開くようになります。
ゲームに慣れている人は一層楽しめるようになっています。


更にゲームソフトらしく

商用ゲームだって、自作ゲームだって、ゲームであることに変わりはありません。

私が思うゲームソフトの特徴は
・オープニングがあること
・下手くそなプレイデモがあること
・スタッフロールとともにエンディングテーマが流れること

この要素があれば、いや無いとゲームソフトっぽくならないと思うわけです。
当然このゲームでもこれらの要素は満たしております。

エンディングテーマはステージBGMと違い。歌えるくらいの曲になるように意識して作っています。

プチコン大喜利 受賞

懐かしいようで新しい、いろいろなゲームのいいとこをいろいろ詰め込んだ1作

Miiverseでも評価は良好。
そして、第四回プチコン大喜利にて、見事 入賞することができました。

次々と現れる敵を倒しながら進む、横スクロールアクションゲーム。敵からの弾はジャンプや華麗なスライディングでも回避可能! 操作しにくい雪地面のステージや坂道要素も見事に表現されている。

 公開キー VZ3XY3NJ でダウンロード

社長のコメント

何と言うか、ほんわかした画像のタッチと昔ながらのスクロールアクションがマッチ。 そして丁寧に作りこまれた敵の動き、弓矢を放つキャラの腰の動きはイナバウアー。 一番の強敵は鳥のフンとカエルというのがゲームの王道。 こういうの作りたい。

第四回 プチコン大喜利 結果発表(公式)
inserted by FC2 system