Несмотря на то, что гугля игру выпилил, я всё равно её дорабатываю, когда есть минутка свободная. В этот раз оптимизировал физику и кое-какие старые баги исправил.
Качаем Bomberman (Версия 3.4) и радуемся.
✔ Оптимизация обнаружения коллизий. ✔ Оптимизация рендеринга некоторых объектов…кое-что с альфа каналом упростил. ✔ Исправлен наконец-то баг, когда после сворачивания/разворачивания игры, мобы проходят сквозь блоки. ✔ PreLoad сделал. Теперь начало уровня не тормозит. ✔ Исправлены эпилептические припадки бомбермена, когда он заходит в дверь =D ✔ Изменён принцип обхода препятствий у мобов,- не должно быть теперь незапланированных прохождений сквозь блоки мобами.
Забавно, в прошлых версиях физика жрала проца больше, чем рендеринг. А всё от того, что прогонял кучу раз массивы объектов. Руки всё не доходили оптимизировать логику. Сейчас, объекты как были, так и остались. Но добавил двумерный массив, где ячейки указывают, заняты клетки объектами или нет. Теперь при определении коллизий прогоняются не все объекты, а лишь просматриваются те, что вокруг персонажа/моба.
Есть ещё одно проблемное место — работа с массивами. Обычные массивы (да и ArrayList
вроде тоже) довольно много жрут ресурсов при удалении из середины коллекции. Попробую с LinkedList, там операции удаления лишь смену указателей вызывают. Может будет быстрее работать.