友人とハッカ村的な場を作ってアクションゲーム制作に挑戦しました
ここ最近休日を有効活用しきれてないなーと感じていたので、先週の土曜日に、友人と集まってそれぞれ自分の作業をするハッカソン的イベントを開いてみました。お題は特になく、自分で決めた目標にむかって刺激し合いつつも、もくもくと作業していこうぜ、という主旨です。ハッカソンならぬハッカ村です。友人達は iPhone 用ゲーム作りを進めたり、ドールのメイク(?)をしたり、南方海域へ出撃したり、まどマギ叛逆を見たりとそれぞれ個性あふれるテーマを選んでいました。私は気分転換をかねてアクションゲーム的なものを作ってみました。RPG には幾度となく挑戦しては敗れたり破れなかったりしていますが、アクションゲーム制作は(おそらく)はじめてで楽しかったです。
できあがったのがこちら。
グラフィックを用意する時間があまり取れなかったので、適当に描いても味があるように見せかけられる和風テイストにしています。かなり昔に見つけてブックマークしていたいい感じの水墨画ブラシがここで役に立ちました。
製作期間は、キャラクターや背景などの画像素材の用意も含めて 1 日に区切っていました。ハッカ村はお昼頃集合で開始だったので、午前中に家で必要になりそうな画像はひととおり準備しています。プレイヤー画像 4 点、敵画像 1 点、背景画像 1 点、ライフゲージ 1 点をだいたい 3 時間強で描いています。
最終的なゲームの仕上がりとしては、果たしてゲームに成立しているかと言われるとかなり微妙なレベルなのですが、これまでのゲーム開発での蓄積もあって、それなりの速度感で作っていけたんじゃないかと思います。ゲームのメインロジック、テクスチャー合成、キーボード入力処理、キャラクターのアクションの扱いなんかは別で作っているゲームのエンジン部分をそのまま利用しています。ちょっと斬撃エフェクトの演出効果を変えたいという場面で、テクスチャーのパラメーターを 1 つ変えるだけで加算合成や乗算合成に切り替えられたりというのは、開発環境としてはなかなか使い心地が良かったです。
ゲームの実装状況
実装した機能としては、・プレイヤーの移動、斬りアクション3種
・敵のランダム移動、ランダム攻撃
・敵の攻撃からの当たり判定
・プレイヤーのライフゲージ
になります。
あとプレイヤーの攻撃にも当たり判定をつけ、敵の体力を設定すれば戦いとしてなんとか成立する感じです。今はプレイヤーの攻撃が敵に当たることがないので、ひたすら敵の攻撃をよけ続けるという弾幕シューティング的なゲームになっています。
それと、プレイヤーの体力が 1 しかないので、難易度調整&ライフゲージが減るように実装しないといけません。今は一度敵の攻撃を受けるとそこで終わるというなかなかハードな仕様になっています。
実装していて楽しかったのは、プレイヤーの斬りアクションです。一定時間内にキーを再度押すと連続攻撃に繋がるというシンプルなシステムですが、こういう機能はあまり作ったことがなかったので新鮮でした。連続攻撃の各段階に応じて攻撃後の硬直時間を変化させたり、斬撃エフェクトの位置を調整したりというのはアクションゲームらしい楽しさなのだと思います。
ハッカ村として
他に人がいるという状況下で作業するのは、いろいろと刺激になる部分が多かったです。機能が不完全な製作中のゲームはシュールな動作をすることが多くて、それがアクションゲームだと余計に強調されて、デバッグプレイ中に結構大笑いしていました。私自身がアクションゲームのシステムにあまり詳しくないということもあって、ヒットストップなどのアクションゲーム用語を知れたのも収穫でした。
制作期間が限られていたこともあって、書いたコードはいつもよりも少しまとまりがない感じになってしまったのですが、ゲーム開発の終盤には他の人と調整を進めていくというのもいいなーと思いました。ひとまずこのゲームの制作はこの日限りにするつもりでいるのですが、また同じようなハッカ村的な場があれば続きを作ってみようかと思います。
ゲーム製作, 雑記 コメント (0) 2014/05/22 08:52:14