当たり判定のテスト

今年の正月の休みにLÖVEを使って大量のオブジェクトの当たり判定を行うテストを作ってみました。
やっていることは(検索で上に出てくるところの解説が親切な)四分木での判定です。

850個の丸を動かしてみたのがこれ。

実際に自分で試したことが無かったのと言語の都合上ビット演算が使えなかったりでわりと苦戦しました。
全てのオブジェクト同士で比較を行うと毎フレーム約36万回の判定を行う必要があるところ、四分木判定で大体1/6くらいに回数を減らすことができました。丸の大きさが小さいとさらに判定回数が減ります。
座標の計算等に無駄は多そうですが、今の状態でもそれなりに速くなったので成功と言えそうです。

しかしこの四分木判定だと、画面の中央に丸がある場合は領域を分割できずに全ての丸との判定を行う必要が出てくるので、真ん中に大きいオブジェクトが固定される場合に少し弱そうですね。
それでも十分使えることが分かったので、アクションとかシューティングゲームを作るときには今後取り入れていきたい所存。

2021(寒)

年が明けて2021年になりました。
すでに寒中見舞いの時期になってしまいましたが、まだ正月ということでよろしくお願いします。

今年はとりあえず昨年から作りかけている音楽ゲームのようなものを形にしていきたいところです。

更新頻度については毎度書いているような感もあるけれども、書こうと思っている内容はあるので積極的に更新していきたいですねー。