вампир, 02 Август 2020 - 17:52 , написал:
ММмм , ну во первых я не знаю кто ты ( весомое слово ? ). А во вторых если ты их якобы дорабатывал и они типа есть - то подскажи тогда каким образом реализованы их за дачи ? На всей карте или локально , какие первоочередные программные задачи у них и на каких режимах , каким образом регулируется использование ими их классовых особенностей , урона и скорости , выбора первоочередной цели , расходников и т.д. И почему ночью когда нет игроков с маленьким уровнем ака 2 и 3 уровни забрасывает в ктем кто выше 10 го. ? Боты спать уходят ? у них это тоже запрограммировано?
Боты запрограммированы глобально и выполняют задачи, поставленные режимом игры с учётом класса техники. В первую очередь разведчики пытаются захватить и доставить флаг, в то же время один или несколько инженеров занимаются обороной своего флага. Штурмовики в первую очередь удерживают на себе урон, сталкиваясь лоб в лоб против всех врагов, встречающихся на пути. Артиллерия в свою очередь вырезают технику с низким уровнем прочности.
Я перечислил то, что прописывал в логику своим ботам.
На счёт урона и скорости: боты рассчитываются на уровень игроков(ка). То есть, если у игроков средний уровень 10 и прокачка техники на такой же уровень, то боты будут иметь прокачку от 6 до 12 прокачки, как и уровня.
Расходные предметы выдаются всем ботам изначально в количестве 5-и штук, умножаясь на 2, если у игроков изначально любых расходных предметов больше.
Первоочерёдная цель является той, что несёт большую угрозу (это новая переменная в моей логике ботов). Как это работает? Если штурмовик тягается против штурмовика-бота, а первого штурмовика чинит инженер, то вся угроза проходящая боту от штурмовика номер 1 передаётся инженеру и бот-штурмовик начинает атаковать инженера. Соответственно, если инженер видит противника и ещё одного, который атакует союзника, то бот будет вычислять, по кому больше выходит агрессия от противника на: <myself> или по <teammateself>. Возьмём теперь артиллерию: если артиллериста-бота начал атаковать разведчик, то артиллерист запросит помощи и начнёт атаку разведчика, не давая подойти сзади и стреляя даже через основное орудие в обычном режиме. Также, если проходит много урона по инженеру\штурмовику больше, чем по <myself>, то артиллерист-бот будет помогать товарищам, к которым идёт больше угрозы.
На счёт системы баланса ночью, - она отключается.
Про режим "Захват турелей":
Боты рассчитывают, что им проще захватить, обхватывая такие характеристики, как: <speed>, <armor>, <damage>. Если у бота не хватает нужных показателей, то он договаривается с союзником-ботом, который может помочь при захвате турели, удерживая захват и ожидая подмоги. Разумеется, артиллерия не захватывает точки, если штурмовик едет на самую ближайшую турель, однако, если разведчик договорился с инженером и штурмовиком о захвате центральной турели, то артиллерист поедет захватывать самую ближнюю точку, прикрывая союзников с тыла.
В захвате точек я не писал логику, ибо не видел в этом смысла и мне не нужен был этот режим, так как он мне не крайне нравится.
Я описывал много нюансов, потому описать их тут все сложно да и вспомнить куски кода я уже не в состоянии, потому что писал их давно.
Логика - самая сложная часть у ботов, потому к ней нужно очень тонко подходить.