
Сообщение от
Sergey1970
Продумал некий алгоритм поведения ИИ. Если интересно.
Наступление, одиночный танк. Танк начинает движение согласно скрипту. Если в процессе атаке не появиться опасная цель (танк, пушка) движение пройдет согласно скрипту. Если появилось опасная цель, ИИ определяет танк или пушка. (В этом и последующих действиях «определение» можно включить параметр – навык, т. е. верность определения).
Если цель - танк, определяется его тип, его ракурс и свой ракурс относительно него. Отсюда определяется его бронестойкость и мощность его орудия.
1. Если с учетом взаимных ракурсов дальность поражения своего орудия вражеского танка больше, а вражеских танк не может поразить танк ИИ, он открывает огонь и не меняет направление движения. Если ИИ определит, что текущий свой ракурс не гарантирует защиту, но при движении лбом ситуация изменится, ИИ осуществляет поворот в сторону цели представляя себе преимущество.
2. Если враг обладает более мощным орудием и на данной дальности при любом ракурсе своего танка ИИ поражаем, а цель при данном ее ракурсе непоражаема. ИИ определяет ракурс и дальность, на которой цель будет поражена. ИИ увеличивает скорость до максимальной для данных условий местности и движется по траектории, похожей на сходящуюся спираль (или эллипс, в котором его больший диаметр – текущее расстояние от цели до ИИ). Такой маневр уменьшает вероятность поражения ИИ , так как противнику придется вносить поправки на быстро двигающуюся почти перпендикулярно цель (танк ИИ), имеется большая вероятность того ИИ скроется за складками местности. В ходе маневра ИИ сократит дистанцию до необходимой для поражения противника. Выбор направления обхода противника вправо или влево зависит от взаимных ракурсов. Если в процессе обхода, появляется еще одна цель, анализируется ситуация 1 или 2. Если один – движется без изменений, если два – снова обход с учетом направления обхода первого противника.
3. Если нет ни у кого преимуществ – палят в друг друга ничего не меняя.
Можно придумать и для вражеских пушек.