虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2024年12月8日
12月に入ってからは、ゲーム作りはしばらく休止して、英語の勉強にシフトしようと思っていました。しかし、X上でブロック崩しのボールの挙動が難しいというポストを見かけて、「自分でもちょっとやってみよう」ということでプログラムを作り始めてみました。ただ、実際に作ってみて分かったのが「意外と簡単ではない」ということです。もともとは数十分でプログラムを作り終えるはずだったのが、それなりにブロック崩しのような動きにするまでに結局数時間かかってしまいました。そこからさらにゲームっぽく味付けしたのが、今回の「虹色ブロック崩し」です。
タイトル: 虹色ブロック崩し 公開キー: 4JEN32VHV プログラムが「意外と簡単ではない」理由の一つは、ボールがブロックに当たった時の反射角です。普通にボール(スプライト)とブロック(スプライト)に当たり判定を付けて、場合分けでボールを反射させるアイデアもあったのですが、恐らくかなり入り組んだ条件式の組み合わせになってしまうと想像しました。自分の場合にはせっかく手持ちの物理演算の関数があるので、これをそのまま生かす形にしました。ただ、手持ちの物理演算はブロックをグラフィックで描画する必要があります。この方式は、単純にボールとブロックとの当たり判定と反射角の算出だけなら便利なのですが、「ボールがどのブロックに当たったか?」を判別するのに一工夫必要です。これについてはいくつか方法がありましたが、ブロックの色をHSV関数で各行の色合いを変えつつ、各列についても彩度を少しずつ変化させて、ボールが衝突した「色」の色合いと彩度でブロックの行と列を計算するという形を採用しました。 ボールの反射角については物理演算の関数を使うと自然な形にできることはできるのですが、昔ながらのブロック崩しでは、ボールがまっすぐ上下や左右に移動することはなく、そのあたりは調整が必要になってきます。これに対してはボールのベクトルの角度を「斜め」のみの12種類のみに限定して、ボールがブロックに当たる場所によって、ボールの入射角ベクトルの「(1)上下反転」「(2)左右反転」「(3)上下左右反転」のいずれかを選択するようにしています。ただし、ボールがブロックをかするように触れると、ボールの角度が変わらないままブロックが消滅する現象も発生しました(ある意味自然な動きに近いのですが、「ブロック崩し的」にはNG)。このような場合にはブロックを消去せずにボールを素通りさせるような例外処理をしています。 これで動きの部分についてはほぼ完成しましたが、「せっかくここまで作ったのだから、ゲームとして仕上げておこう」ということで、全3面のミニゲームの形にすることにしました。ただ、何度もテストプレイを重ねていくと、実は上記の処理だけでは完全な動作にはなっていないことが分かりました。例えばブロックが左上から右下に階段状にブロックが並んでいて、ボールが「上と右」のブロックに同時に触れた場合に、ボールの動きはしっかりと「(3)上下左右反転」するものの、上のブロックしか消滅しないという不具合が発生してしまっていました。これは上記の「色」判定を1か所だけではなく最大2か所で行うことで解決に至りました。その後、色々と微調整を行いつつ、最終的に完成に至りました。 プログラムは以下の通りです。 ブロック崩しは1970年代のゲームなので、「簡単に作れるだろう」と高をく括っていたのですが、実際に作ってみたら思ったよりもなかなか難しかったです。ただ、パズルを解くような感覚で一つ一つ問題をクリアしていって、最終的にゲームにすることができるまでの過程はそれはそれで楽しかったです。 プチコン4関連記事(リンク一覧): インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / ワンパクとトランプ - プチコン4公式のトランプ画像を使ったスコアアタックゲーム / すいかを落とせ - プチコン4で横スクSTGパズルアクションゲーム / ...(記事連続表示) 最近の記事: ピラタス蓼科スノーリゾート / インテリ君の英語遊び TOEIC®英単語・英熟語 - プチコン4で英語学習ゲーム / あけましておめでとうございます。(2025) / 2024年は平穏な年でした / ガーラ湯沢スキー場(2024-2025シーズン) / 虹色ブロック崩し - プチコン4でシンプル&レトロなブロック崩しゲーム / プチピンボール - プチコン4のシンプルピンボール風ゲーム / Sensaphonics Prophonic 2XS(イヤモニ)の故障と再制作 / 色々な国の料理を楽しむ第7弾 - ウズベキスタン料理サマルカンド・テラス(高田馬場) / トヨタ - カローラツーリング
■ ホームへ
|