ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

プロジェクト18

完成

落ち物パズルゲームの実装。 上まで積み上がったらゲームオーバーとなる処理を追加。 これで一通り、ゲームとしてのロジック部分は実装できた。 消えるときの演出とか、得点とかないけれど、 今回の目的は落ち物パズルのブロックを消す関連のロジックを知る…

揃ったか

落ち物パズルゲームの実装中。 ブロックが揃ったか判定し、揃っていたら消す処理を実装。 一応、問題なく動いているようだが、どんなパターンでも大丈夫かどうかは分からない。 ちゃんとルールから考えられるパターンを考慮して、そのパターンを再現できるよ…

ブロックの操作

落ち物パズルゲームの実装中。 プレイヤーの入力でブロックの移動、入れ替え、落下を出来るように。 ブロックの配置データの配列のサイズが間違っていたことに気が付かず、正しく動くようになるまで手間取ってしまった。

ブロックの落下

落ち物パズルゲームのブロックの落下部分を実装。 他のゲームでは落下はどうしているかなと、テトリスとぷよぷよをチェックしてみた。 テトリスは1回の更新で1マス分落下していて、ぷよぷよの場合は、1回の更新で1マスの半分だけ落下していた。ぷよぷよのは…

ブロックとステージの描画

引き続き、ブロックの描画とステージの描画。 リッチなグラフィックにすることが目的ではないので、必要最小限で。 それでも、描画してゲームっぽい画面になるとテンションが上がる。

ブロック描画

パズルゲームのプロックを描画する部分を実装。 サンプルではちゃんとキャラクターの画像を用意していたけど、今回は簡略して矩形で描画。 なかなかちゃんと描画されないと思ったら、描画判定のif文が間違っていただけだった。

再開

だいぶ間が空いてしまったがまた再開。 サンプルを改造して作っているので、必要のない部分を削除し、また定数系などを分かりやすいように定義。 間が空いてしまうとどうしてもいろいろ忘れてしまうので、コメントを多めに追加。 時間が取れないときでも、少…

背景色

背景色はどこで設定されているのかなとサンプルの JavaScript ファイルを見ていて、見つからないと思ったら、html ファイルで設定されていた。 Visual Studio Code でそのカラーのコード部分にカーソルをあわせたら、カラーパレットが出て、試しに黒色を選ぶ…

プロジェクトファイル作成とGitHub登録

サンプルコードをコピーして、プロジェクトファイルを作成。 さらに、そのフォルダを GitHub に登録。 Visual Studio Code に拡張機能の GitLens を入れてあるので、VSCode 上でコミットやプッシュも出来るようになった。

ルール

落ち物パズルゲームの製作開始。ルールはどうしようかとChatGPTに聞いてみた。 今回の目的は落ち物パズルゲームを作ってみるということなので、いろいろ出てきたアイデアからシンプルで無難なものを選択。 種類: 赤、青、緑、黄色の4種類のブロック 消えるル…

得点計算とエフェクト

チュートリアル本で得点計算とエフェクトについて学ぶ。 得点についてはルールさえ決めてしまえば、あとはその通りに計算すれば良いので難しくはない。良い感じにルールを決めるほうが大変。 エフェクトは本では描画機能をうまく使って表現していた。エフェ…

連鎖

チュートリアル本で落ち物パズルゲームの連鎖の仕組みを学ぶ。 今回のゲームのルールではそれほど複雑ではないので、揃ったか判定、揃ったブロックを消す、ブロックの下が空いていたら落とす、の繰り返しで処理可能だった。 これが、パネルでポンのようにパ…

ブロックが揃ったか判定

落ち物パズルゲームでブロックの絵柄が揃ったかどうか判定する方法を本で学ぶ。 1ブロックずつチェックするときに、判定用の配列を用意して、揃ったかどうかのフラグを立てていくという方法。 なるほど、これならば、3つ揃ったと判定するだけでも、4つや5つ…

ブロックの落下

落ち物パズルゲームでのブロックが落ちる処理についての実装方法を本で学ぶ。 とはいっても、知っている内容というか、以前自分で似たようなものを実装したときと同じ方法。 自分が知りたかったのは、ブロックをグリッド単位で移動させるのではなく、その途…

キーリピート

チュートリアル本でキーリピートの仕組みを解説していた。 ただ、個人的にはちょっといまいちな実装だった。 本では、最初ボタンが押されてから、一定時間待って、その後、毎フレーム入力されるというもの。 最初の一定時間待つのと、その後一定間隔ごとにキ…

二次元配列

チュートリアル本で二次元配列についての解説を読む。 その本では添字の番号を[行][列]として、x が列、y が行となっていた。つまりアクセスする場合は a[y][x] となる。 違和感があったけど、言われてみれば確かに今までもその順番で書いていたかもと思い始…

プロジェクト18開始

次のプロジェクトを開始。 今回のテーマは落ちゲー。今までちゃんとテトリスすら作ったこと無かった。 ルールはどうしようか。テーマは揃ったという判定と連鎖と仕組みを実装すること。 となるとぷよぷよと同じかな。