assetstore.unity.com
blog.unity.com
gamemakers.jp
Unity公式のマッチ3パズルのサンプルプロジェクトが公開されている。
プロジェクトのメインは2D描画のライティングなどのようだが、私が興味あるのはパズルゲームのアルゴリズム。動きや揃ったときやコンボの判定など。以前、ちょっとしたパズルゲームを作ったとき、判定部分でけっこう苦労したことがあった。その辺で参考にならないかとチェックしてみよう。
障害物
ステージ上の障害物を作成。
障害物をオブジェクトとして定義して、配列に登録。ステージの描画のとき、その障害物を描画して、プレイヤーとの当たり判定を取る。
と、やりたいことは分かっているけど、JavaScript での書き方が分からず、調べながら書いていったので、1個の障害物を描画するだけで、かなり時間がかかってしまった。
まだ JavaScript での書き方に慣れていない。
インストール先
Python でちょっとしたツールを作ろうとしたところ、必要なモジュールが組み込まれていないというエラーが出た。
しかし、このモジュールは入れたはずと思い、以前作ったツールを起動してみたら、動作した。
しかし、コマンドで実行しようとしたら出来ず、バッチで起動した場合は出来るというよくわからない状態に。
いろいろしらべたところ、Python 自体が複数インストールされていて、違うパスの Python で実行されていたことが分かった。
インストールされているモジュールもそれぞれ違うので、実行できるものとできないものがあった。
コマンドラインで簡単にインストールできるようになっているのは便利だけど、どこにインストールされたのかが分かりにくかった。
問題なく使えているときは大丈夫だけど、ちょっとトラブルがあると解決になかなか時間がかかってしまう。
まあ、ちゃんと管理していない自分が良くないのだけど。
配列を返す
当たり判定の処理をどう書こうかとJavaScriptでの値の渡し方や返し方をChat GPTに聞いていたら、
挙げてくれたサンプルコードでJavaScriptでは配列を返せることを知った。
もしかすると忘れていただけかもしれないが。
実際にChat GPTが出してくれたサンプルコードが次の通り。
function returnArray() { return [1, 2, 3, 4, 5]; } // 関数を呼び出して配列を取得 var myArray = returnArray(); console.log(myArray); // [1, 2, 3, 4, 5]
最近は普通に検索するよりもChat GPTを使うことのほうが多い。サンプルコードも出しながら分かりやすく回答してくれる。
まあ、ときどき嘘を付くことがあるので、注意しなくてはいけないけど。