見出し画像

ブロック崩しを1カ月作り続けた結果が想定外だった!

約1カ月間、ブロック崩しゲームの開発に取り組んだ結果、予想外の展開になりました。
この経験は、ゲーム開発を目指す方にとって有益な情報かもしれません。ここではその話を共有します。

現在の完成した感じ

なぜブロック崩しを作ったのか?

ブロック崩しを作った理由は簡単です。それが大好きだからです。アルカノイドやポンのようなゲームも好きで、ボールを跳ね返すというシンプルな仕組みに魅了されています。

他の人がどう思うかはわかりませんが、ブロック崩し自体はそれほど人気があるとは感じません。それでも、個人的にはとても好きです。これまで作る機会がなかったのですが、最近時間ができたので挑戦してみました。

3日目くらいの画面

2日で概ね完成した?

作り始めてから2日で、基本的に遊べる状態にまで完成しました。プログラムと最低限のグラフィックが揃い、これで一応のゲームはできたと思いました。しかし、ここからが本当の試練の始まりでした。この後、多くの修正や変更が必要になったのです。以下にその内容をまとめます。

  • グラフィックの修正

  • ハイスコアの追加

  • タイトル画面の追加

  • ゲームオーバーの追加

  • ゲームクリアの追加

  • 難易度選択の追加

  • バグの修正

  • 無限ループの回避修正

  • ブロックの配置修正

  • 人間の顔ブロックの追加

  • タイトルロゴの追加

意外にも多くの作業が必要であることを痛感しました。単に遊べるだけではゲームとは言えない、そう感じた1カ月間でした。

グラフィック制作は苦労した

ブロック崩しはシンプルなゲームです。だからこそ、ゲーム性よりもグラフィックにこだわりたくなりました。まず、ブロックの見た目に苦労しました。ブロック自体は単純な形なので、大きな変更が難しいです。

試行錯誤の末、カプセル風のデザインに落ち着きました。これならチープさが軽減されると思いました。パッドもできるだけカッコよく仕上げました。背景は暗い色合いにして、ブロックとのコントラストをつけました。

結果として、全体的に落ち着いたグラフィックになりました。プログラムよりもグラフィックに時間がかかりましたが、最終的には満足のいく仕上がりです。

7日目くらいの画面

ブロック崩しの醍醐味とは?

今でもゲーム性自体は大きく変わっていません。シンプルにボールを打ち返すだけのゲームです。アイテムなどは登場しません。アイテムを追加するのも一つの手かもしれませんが、ゲームのバランスを崩す可能性があると考えました。

ブロックを跳ね返す楽しさこそがブロック崩しの醍醐味だと思います。ここにはテクニックが必要であり、テニスをしているような感覚に近いです。ひたすらボールを打ち返すことにこそ、大きなゲーム性と楽しさがあります。地味かもしれませんが、これが本当に楽しいのです。

顔が登場するブロック崩し

顔の絵が登場する予定です。まだ完全には完成していませんが、画面にはすでに顔が表示されています。これがステージに表示されると考えると、なんだかワクワクしてきます。この顔を崩していくという内容です。

顔はまだ修正途中なので完成ではありませんし、ステージもまだ未完成です。いくつかのステージを用意する予定で、そこまでできれば完成となります。

1カ月間作った感想

意外と大変な思いをしながら作っていました。何を修正すればいいのかわからないことも多く、余計なものは作りたくなかったので、シンプルに遊べる内容を目指して試行錯誤していました。それでも、もっと面白くできるはずだと信じて取り組んでいました。このゲーム自体に救われた気がします。作っている最中、これ以上は無理だと思うこともありましたが、実際に遊んでみると面白いのです。

自分が楽しめることにとても救われ、だからこそもっと良くしようというモチベーションが湧きました。もし遊んでつまらなかったら、開発を続けられなかったでしょう。そういう意味では、今もまだ楽しいです。何のために作るのかなんて関係ないのかもしれません。自分が遊びたい、楽しいから作っている。それがすべてだと思います。

無限ループの回避ができた

無限ループの問題を解決することができました。ボールが同じ軌道を永遠に動き続けるというバグです。これは最初から懸念していた問題で、どうやって回避するか試行錯誤していました。最初は、上限にボールが当たると左右に少しずれるようにしました。しかし、それだけでは完全に回避できませんでした。

ではどうすれば良いのか?敵が出てくれば回避できるかもしれませんが、アルカノイドのような仕掛けはやりたくありませんでした。ブロックが固定されていて動かないため、ボールが規則的に動いて無限ループしてしまうのです。

そこで、上限に当たるたびに右に少しずれるようにしました。これならば上限に当たるたびにボールが右に行き、上限右端まで行くと、今度は左に少しずれるようにしました。これで無限ループを回避できるようになりました。こうして問題は解決したのです。

この記事が気に入ったらサポートをしてみませんか?