Прикольная реализации стаи. Можно подзалипнуть. Турелли здесь даже лишние как-будто бы. Стаей просто прикольно перемещаться. Интересно, как реализованы столкновения ворон из стаи с туреллями?
Viewing post in LeshyProtiv jam comments
Про турелли я с тобой согласен, конечно тут кор механика - это вороны:) В планах это частично поправить :) Спасибо что интересуешься про реализацию, мне интересно рассказать:)
Столкновения реализуются также, как и с стенами, и также работает взаимодействие снарядом и взрывов с элементами стаи :) Всё через кастомные сетки и кастомные тайлмэпы. Т.е. каждый элемент стаи смотрит куда он сейчас передвинется, смотрит записан ли в новой точке в тайлмэпе врагов или в тайлмэпе окружения кто-то, если записан, то происходит коллизия.
Т.е. в тайлэмпе тайлы хранятся в виде словаря по координатам и просто чекается, есть ли X и Y в ключах словаря. Если есть, то берётся тайл, из него берётся объект который там есть. Если ключа нет - собственно ничего не делаем. Поэтому получается проверка О(1) и с малыми затратами, что и позволяет почти безболезнено коллизии делать. Ну и каждый объект должен при передвижениях перезаписывать себя из одного тайла в другой. Но в такой системе я ограничен тем, что я только с квадратными объектами могу коллизии делать, причём размером с размер сетки и находящиеся только на сетке.
Сейчас в рамках постджем версии переработал эту систему, сейчас происходит взаимодействие прям с честным 2д коллайдером, но там всё равно будет система с тайлмэпами (другого пока не придумал), чтобы обработка в целом тоже занимала константное время. Т.е. по тайлмэпе взять коллайдеры юнити только тех объектов, которые могут быть близки. Так что ждите обновлений, должно стать ещё лучше ;)