Оптимизируем систему обнаружения коллизий
Впервые с написания физической системы провел замеры производительности и начал работу по устранению самых проблемных мест.
Впервые с написания физической системы провел замеры производительности и начал работу по устранению самых проблемных мест.
Обнаружение коллизий между объектами – задача ресурсоемкая. Если попарно проверять все объекты сцены друг с другом на пересечение, то это займёт квадратичное время. Для сокращения количества проверок придумали множество техник, чтобы максимально быстро отбросить как можно больше пар, которые точно не пересекаются.Такой этап называется широкой фазой обнаружения столкновений.
Прошло больше четырех лет с момента когда я работал над физикой и обнаружением коллизий в своем движке. С того момента я к этому коду практически не притрагивался.
Подведу итоги прошедшего джема. В целом все прошло неплохо, все в команде успели поработать с движком и с редактором, от чего проблемы и недостатки инструментов всплывали с утроенной скоростью.
Закончился последний день Ludum Dare. Доделывали игру как могли. Нарисовали башни, подтюнили уровни и добавили оформление: главное меню, лого и различные иконки для интерфейса.
Добавили возможность строительства и апгрейда башен, разместили точки для их строительства. Попутно дорабатываем логику ИИ чтобы они правильно ходили по трекам.
Прошел первый день Ludum Dare, где пишут игры за несколько дней. Тема 56 людума – "Tiny creatures". Мы решили делать Tower Defence про дачу, которую надо оборонять от мелких вредителей.
Осталось меньше двух недель до следующего Ludum Dare и я потихоньку готовлюсь. Поскольку джемы проходят в большей степени на энтузиазме и уровень участников очень разный, то ограничений на подготовку практически нет.
Расскажу немного про работу с шаблонами в редакторе. При создании актора из шаблона, копируется вся его иерархия, включая вложенные шаблоны. После создания актора из шаблона его можно кастомизировать, что-то переопределить или добавить дополнительные объекты. Проблема возникает когда в шаблон нужно добавить новые объекты.
В редакторах кода так много функций, которые даже не замечаешь А вот если привычных инструментов нет – это сразу бросается в глаза.