Есть у меня одна задумка похожая на твою игруху, и тоже недавно думал про пересечение "сложных" оснований с быстролетящими предметами.
Я пришёл к такому выводу: делать пересечение отрезков.
Каждое основание - это набор из линий, при полёте пуль проверять - какие линии основания пересекает траектория, и брать ближайщую к пуле. проверять не всегда, а лишь когда пуля "близко" к объекту или прошла сквозь. Тогда пофигу - выпуклое или нет. Но я не кодил это, теоретически лишь прикинул
Я поиграл, умер много раз. Видел какую-то белую штуку на поле противника, вероятно это и есть база?
"Взять" её не удалось, смерть настигла раньше. Как заставить свой личный состав в бой идти за мной я не понял.
ПС: 18 файлов 'Thumbs.db' общим размером 301 кб детектед.