Цель этого руководства — предоставить простой и удобный для новичков способ контролировать бегство ваших ботов и создать базу, которую можно легко расширить и изменить..
Если вы обнаружите какие-либо ошибки или у вас возникнут вопросы, свяжитесь со мной в дискорде Gladiabots..
Первый, мы рассмотрим некоторые типичные модули бегства, с которыми сталкивается большинство игроков, когда они начинают играть, и покажем, как они будут выглядеть в системе, которую мы создадим.. Затем пример, объясняющий математику, которую я использовал при выборе значений моего ИИ, а затем создание бегущего модуля одного из моих старых ИИ.. Наконец, Я даю некоторые идеи о том, что можно было бы расширить, чтобы сделать этот модуль более последовательным..
Общие модули для начинающих
Первые убегающие модули, с которыми сталкивается большинство игроков, похожи на приведенные ниже..
Они обеспечивают четкое представление условий и последствий и отлично подходят при отладке.. Для меня, с ними стало трудно возиться, и я не мог “почувствовать” для них.
Система счетчиков
Метод, который я использую, присваивает значение вещам, которые либо наносят, либо нанесут мне вред.. Когда будет рассчитано определенное количество повреждений, мы начнем отступать..
Воссоздание модулей для начинающих
Мы воссоздадим модули, показанные выше, чтобы показать, как работает эта система., начиная с левого модуля.
Используем счетчик команды E для хранения значений. Пока он не используется для чего-либо, что превышает несколько тиков или если вы назначаете значение перед этим модулем и используете его позже, вы можете свободно использовать его где-либо еще..
Этот код имеет 3 столбцы. Первый сет командный счетчик e к количеству ботов, атакующих меня, важно, чтобы настройка узла сначала выполнял значение. Второй столбец проверяет, если наш щит ниже 50%, Если так увеличивается 3. Третий столбец проверяет, если команда счетчик больше или равен 3, В этом случае мы убегаем от всех врагов, нападающих на нас.
Если на нас атаковано 3 или больше ботов или меньше, чем 50% щит приводит к отступлению от всех врагов, нападающих на нас.
Правильный пример такой же, как и изображение выше. Здесь возможности этой системы начинают показывать, с увеличением счетчика одним, если определенное условие выполняется, как видно во втором столбце.
Статистика и математика
Прежде чем продолжить, нам понадобится статистика бота, чтобы мы могли попытаться сделать некоторые приближения и выбрать наши значения. Все статистики взяты из Классы ботов раздел вики Gladiabots. Тик - это ход игры, есть 4 Тики на каждую секунду.
Тестовый сценарий
Предположим, что ваше нападение подходит к вражескому боту, и он начинает стрелять, как только вы входите. Если вы немедленно отступаете, когда вступите в атаку противника в среднем классе, будет время для стрельбы 5 залпы по отношению к вашему боту, каждый с 3×2 выстрелы. Это 30 Пули, которые каждый сделку 300 ущерб и иметь 15% шанс попасть. Это приводит к 30 * 300 * 0.15 = 1350 Средний урон. Нападение имеет 3000 В щите, так что это не слишком далеко от половины вашего щита.
Создание модуля
В основном штурмовые боты, с которыми вы встречаетесь, не будут на среднем диапазоне, Предполагая, что среднее расстояние до вражеского штурмового бота находится примерно на полпути в дальний расход 2.5 залпы, который 675 ущерб в среднем, к которому я округлил ⅕ полного щита. Итак, если 5 Враги стреляют в меня, я бегу, даже если на полном щите.
Теперь принимая во внимание щит, мы увидели, что мы можем сделать несколько плавный переход, если добавим узлы щита отдельно.
Глядя на пример, допустим, у нас 33% щит, Это делает 3 самый верхний узлы щита триггер, E имеет значение 3 Если враги не нападают на нас. Если сейчас 2 враги нападают на нас на полпути к дальним расстояниям, Предполагая, что они будут стрелять 2.5 залпы каждого, каждый из которых мы получим 1350 повреждать, то есть 350 ущерб для здоровья, когда щит исчез.
И здесь, и при округлении 675 ущерб ⅕ моего щита я был оптимистичен в отношении повреждения, который я начту. Это сработало для меня, но может отличаться в зависимости от композиции команды и остальной части ИИ.
Однако есть противники, которые заставляли моих ботов терять здоровье почти каждый раз, когда они бежали. И так как это (с надеждой) это не относится ко всем противникам, мы не хотим менять порог бегства для всех противников, поскольку это заставило бы нас бежать, когда нам не нужно было бы.
Решение этой проблемы — начать бежать раньше, как только мы получим некоторый урон.. Это поможет нам не погибнуть случайно от невезения., но для меня, в основном это способ приспособиться к стилю игры моего противника.
Хотя это помогает вашим ботам выжить, это может оказать явное влияние на их способность толкать врагов., бывает, что у меня драки начинаются хорошо и я отталкиваю врагов, но как только мои боты начинают получать урон, они становятся менее агрессивными, и вместо этого противник начинает меня толкать.
Поскольку боты наносят больше урона на средней или близкой дистанции, я добавил следующий узел, чтобы быть немного более подготовленным к любому урону, наносимому со средней или близкой дистанции..
Это было сделано за счет увеличения счетчика каждого вражеского бота, атакующего меня на ближней или средней дистанции.. Это далеко не идеальное решение, и я рассмотрю его в разделе будущих улучшений., но это полезно в тех случаях, когда на средней дистанции вас атакует более одного бота.
Последнее, что мы будем освещать, это вражеский снайпер.. Он может нанести большой урон, и без подходящих инструментов, этот урон возникает из ниоткуда. Есть более эффективные способы борьбы со снайперами, чем я предлагаю здесь., но эта система мне подошла хорошо.
Он увеличивает счетчик на 2 за каждого атакующего нас снайпера. Так что каждый атакующий нас снайпер стоит того 3 всего баллов. Это из-за того, что снайпер убрал ⅔ твоего щита сразу, что достаточно близко к ⅗. Итак, если у вас меньше 75% щит, ты всегда убежишь от атакующего тебя снайпера.
На мой взгляд, важно иметь в виду, что без каких-либо других модулей, кроме этого, очень важно убедиться, что вы сбежите, если 2 снайперы атакуют тебя. Если оба попадут в землю, ты проиграешь ⅕ вашего максимального здоровья только от снайперов.
Будущие улучшения
Эта система имеет слабость к командам с большим количеством атак., это связано с тем, что нападения имеют возможность быстро менять цели. Эта механика не имеет возможности узнать, сколько врагов вокруг., что может вызвать некоторые проблемы.
Простое решение, которое оказалось для меня эффективным, — увеличить E на 1 если есть 3 или более вражеских атак в радиусе действия.
Эта система видит 3 Занятия нерешникового бота как эквивалентные при нанесении урона, Что я думаю, хорошее приближение, за исключением MG в среднем диапазоне. Если враг MG атакует меня в среднем диапа.
Для этого я просто увеличил счет 5 Если в середине нападает вражеский MG. Итак, мой бот отступает в дальние дистанции.
Эта система имеет некоторые недостатки, которые могут привести к тому, что ваши боты отступят и возвращаются в средний диапазон MG. Полудиспа. Там нет причин продолжать продвигаться вперед.
Другое дело, что если вы войдете в середину врага и вам придется бежать, вы знаете, что есть вероятность, что это может увольнять 5 залпы, если это нападение, или наносит примерно столько же ущерба, если это Mg.
Решение состоит в том, чтобы пометить всех врагов, нападающих на вас в середине и держать их в помех, пока они атакуют вас. Затем увеличивая E для каждого вражеского бота, помеченного и нападающего на вас.
Снайперские часы также помогут улучшить оба бота от повреждения и дать им больше времени для стрельбы врагов, поскольку вы не бегите преждевременно. Если вы используете снайперские часы, вам больше не следует учитывать вражеские снайперы при установлении E к количеству вражеских ботов, атаковавших вас.
Это все, чем мы делимся сегодня для этого. Гладиаботы гид. Это руководство было первоначально создано и написано Марколайнен. На случай, если нам не удастся обновить это руководство, вы можете найти последнее обновление, следуя этому связь.