Введение: есть 3D реалтайм стратегия. На данный момент решается задача для наземных юнитов. Карта 3Д, без всяких сеток, т.е. положение задается координатами в пространстве. Для ИИ достаочно работать с 2Д координатами, так как высота всегда вычисляется по данным карты. Нужно разработать фрагмент ИИ располагающий мобильные радары так чтобы максимально покрыть всю карту. Карта - прямоугольник за пределы которго выход невозможен. Задача: Нужно вычислить позицию (х,у) для размещения мобильного радара
Цель: Покрыть радаром максимальную площадь
Данные: Массив радаров с указанием их координат (x,y) и радиуса действия (L) радара (для каждого юнита свой)
Если нужны дополнительные данные, в принципе все доступно.
Есть мысль использовать зоны притяжения/отталкивания, но проблемы с самим алгоритмом, т.к. юнит как правило строится внутри зоны покрытия радара и весьма вероятно что простое отталкивание от стационарных радаров будет загонять его в противоположный угол от врага (ведь в направлении врага как правило больше всего строится радаров, для контроля новых территорий) ... соответственно надо решить задачу выталкивания ОТ краев уже покрытых радарами. Плюс еще хорошо бы организовать отступление в случае приближения вражеских инитов.
Буду признателен за любые идеи и мысли (желательно более менее конкретные). На пальцах вроде понятно ... а вот как это выразить в коде вот тут больше всего проблем.