いきあたりばったりに開発するのも楽しいですが、完成させるためには計画は大切なので、このあたりで少し計画を練っておきます。今回はプログラミングは無しです。「ものごとは決して計画通りには進まないが、それでも計画は必要だ」みたいなことを言った人は誰でしたっけ。
👾ゲーム開発の計画
このシリーズでどんなゲームを作るかですが、いわゆるプラットフォーマーでいこうと思います。要するにマリオとかと同様の、主にジャンプで移動しつつステージクリアを目指すタイプのアクションゲームです。
比較的開発が楽そうなパズルゲームなんかに比べると、アクションゲームは衝突判定のプログラムが難しかったり、キャラクターアニメーションが大変そうではあります。でも、何かプラットフォーマーで遊んだ経験があればゲームのルールも操作方法もすぐわかるのでプレイヤーも取っつきやすいですし、プレイを見る側の人にとっても何が起こっているのかわかりやすくて楽しいです。
また、少ないボタンでも操作を表現しやすいです。WASM-4は何しろボタンが少ないので、あまり複雑な操作はできません。基本的に十字キーで移動+ジャンプボタンだけで操作できるプラットフォーマーはWASM-4のような環境にぴったりです。そして何より筆者はプラットフォーマーというジャンルが好きなので、開発していて楽しいだろうということでこの判断になりました。やっぱり自分が好きなジャンルでないとモチベーションが保てませんから。
また、開発期間の目安としては、この年末で仕上げる!くらいを考えています。進捗は随時このシリーズの記事で報告していくので、よかったらご覧ください。
🎴ゲームの大まかな仕様
完成が大切なので、仕様は次のような感じにとにかく絞ります。
- 想定プレイヤーはカジュアルゲーマー
- 想定プレイ時間10分~30分くらい
- 全1ステージ
- ゴールに辿り着いたらゲームクリア
- ゲームオーバーなし
- 操作は基本的に移動とジャンプのみ(ドアを開くとかの多少のインタラクションは入れるかも?)
- ストーリーなし(ゲームスタート演出、ゲームクリア演出くらいはしますが)
- 操作はゲームパッド前提。キーボードでもプレイできますが、操作しづらいのでアクションのあるゲームではゲームパッド推奨です。
せっかく作るので、ただのプラットフォーマーじゃなくて何か特徴をつけたいな……とかはちょっと思ったのですが、独自性とかそういう余計なことを考え始めるとだいたい完成しなくなるので我慢します。いったん完成してからオマケ要素として付け加えてもいいですしね。
想定プレイヤーは、何からのゲームに触れたことがある程度のカジュアルゲーマーとします。つまり、ゲームの「お約束」を事細かに説明はしなくていいかな、ということです。ゲームをやったことがある人なら、左右で移動、ボタンを押したらジャンプくらいはまあ想像が付きますし、丁寧に説明しなくてもたぶんどこかに「ゴール」があってそこに行けばいいんだろうなだとか、まあ何か探索してみよう、だとかそのくらいは期待してもいいでしょう。
これが初心者ゲーマーを視野に入れると、丁寧なチュートリアルを入れたり序盤の難易度を徹底的に下げたりという工夫が必要になってくるかなと思います。ちょっとそこまで作り込む余裕はないです。
全1ステージやゲームオーバーなしというのは、ステージ切り替えやゲームオーバー演出を始めると作業が増えるからやりたくないだけです。ローグライクのようなゲームでない限りゲームオーバーに大きなペナルティはないわけで、そこはユーザーがストレスを感じない作りにしていきたいと思います。
🎮ゲームの操作体系
また、操作はゲームパッド前提で行きたいと思います。WASM-4は画面上に仮想ゲームパッドを出すことができて、そちらでもゲームを操作できますのでスマホやタブレット単体でも遊ぶことができます。しかし筆者はスマホやタブレットでゲームをするのがあまり好きじゃなくて、というかタッチパネルでプレイするのは耐え難いと感じます。スマホ画面でボタンやスティックを触っている感触がない状態だとプレイしにくくて、すごく面倒くさくなってしまいます。
ちなみに筆者はlogicoolのF310を使っています。比較的安価ながら操作しやすくて、ゲームパッドを持っていない人にはおすすめです。
👩🎨グラフィクスの仕様
WASM-4のスクリーンは 160ピクセルX160ピクセルしかありません。ここでキャラクタースプライトのサイズが重要になってきます。たとえば、キャラクターが8ピクセルx8ピクセルの大きさなら、画面上には20タイルx20タイルの領域の広めの領域を表示できることになりますが、幅がたった8ピクセルではキャラクターの表現は限られます。一方で、もしキャラクターを16ピクセル四方のサイズにした場合は、キャラクターを詳細に描画できる一方で、画面内には10タイル四方しか表示できません。
このあたりで参考にしたのは初代『スーパーマリオランド』と『スーパーマリオランド2 6つの金貨』なのですが、6つの金貨はキャラクターが大きくて詳細に描かれている反面、画面はかなり狭苦しく感じます。プラットフォーマーとしては遠くまで見えたほうがどう考えてもプレイしやすいので、今回はキャラクタースプライトを小さめにして幅8ピクセルx高さ16ピクセルという初代マリオランド並みのサイズにしたいと思います。これにならって、ステージマップも8ピクセルx8ピクセルを1タイルという基準でデザインしていきたいと思います。
これには、キャラクタースプライトの解像度を落とすことで絵を描く作業を楽にしたいという意味もあります。ドット絵を描くのは大変なので……。
🔜次回予告
今回はプログラミングなしですみません。次回はもう少しプログラミングっぽいことをやっていきたいと思い、ゲーム開発に絶対に必要になるベクトル演算まわりの整備から始めたいと思います。
予定変えたのを忘れてました。次回は早速デプロイして、実際に遊べるデモを用意したいと思います。