Pull to refresh
8
Karma
0
Rating

Студент, змееуст

  • Followers 11
  • Following

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 3: от теории к практике. Эффективно охотимся за рудниками в ПП

Тут есть определенные нюансы:
1. Если мы стоим именно на точке возрождения, то в случае смерти врага он нас убивает и захватывает все рудники.
2. В отличие от реальной жизни, противник не может быть внезапно смертным, т.е. можно оценить шанс того, что скоро он умрет.
3. Если мы попадем в эту ловушку, то шанс умереть составляет 100%, если противник имеет адекватные способности к сражениям; мы точно потеряем все рудники, да еще и впустую упустим несколько своих ходов.

Спаунпоинт — очень важная единица в игровом мире. Не следует пренебрегать ей, иначе можно сильно пожалеть.

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 3: от теории к практике. Эффективно охотимся за рудниками в ПП

Небольшое пояснение к ловушке
В случае срабатывания правила с длинами, описанный выше, следует сделать так, чтобы тебя притягивали спаунпоинты A, S, F, а не отталкивал спаунпоинт D.

Однако такой способ хоть и хорошо помогает избежать заточения в мертвую зону, но всё равно не является идеальным, поэтому было бы неплохо рассмотреть другие варианты решения задачи (притягивание к тавернам? Таверны нередко находятся в этом самом тупике, которого мы хотим избежать, и пока мы сражаемся с вечно возрождающимся противником, мы теряем золото в таверне, наши рудники захватывают остальные два игрока. Тогда мб к середине карты? Но иногда бывает так, что середина карты заполнена лесом, поэтому определить середину проблематично. Как самая действенная идея — 8 клеток, которые образуют прицел на середину, но подробнее расскажу уже в следующей статье)

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 3: от теории к практике. Эффективно охотимся за рудниками в ПП

Мне даже и в голову не приходило строить козни против лидирующего соперника… Действительно замечательная идея! Я соберу статистику по играм с безыскусным захватом рудников и с целенаправленноым увеличением важности захватата рудников лидера.

Думаю, это новведение определенно точно принесет большую пользу, увеличив коэффицент успешности боя (рассчтывается как отношение моего золота и золота лидера). Спасибо за отличные идеи)

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 3: от теории к практике. Эффективно охотимся за рудниками в ПП

Мысли о 'ловушке точки возрождения'
Рассмотрим ситуацию на картинке. Видно, что это тупик. Зачем мы туда вообще пошли, если от него так и веет опасностью? Решение: не позволять ИИ заходить в тупики путем их закрашивания.

А теперь усложним задачу. Что, если в конце тупика расположен рудник? Изолировать эту территорию будет неправильно в случаях с маленькими картами, где всего 4 рудника на карте и удерживание двух из них принесет победу. Что же тогда делать? Ответ: перетягивающие поля спаунпоинтов.
Сколько у нас спаунпоинтов? Четыре отметим их точками A, S, D, F. Мы застряли за одним из них — за D, к примеру. Сам игрок стоит на точке X. То есть можно сказать, что расстояние AD, SD, FD будут в любом случае больше или равны соответсвующим им расстояниям AX, SX и DX, что можно считать признаком того, что мы в тупике. Верно? Не совсем.

На фотографиии изображены два случая. Случай 1 — эталонный, случай 2 — исключение. Нужно что-то более сложное.

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 1: подбор кандидатов

О, zuborg! Я вас очень часто вижу в боях. Весьма интересно игра проходит, более того, выбраться в глубокий топ — штука непростая.
Полагаю, я повторяю Ваш путь в написании бота

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 1: подбор кандидатов

Добрый день. Я не вносил правки в процесс компиляции тестов, оставил всё на усмотрения самого феникса.

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 1: подбор кандидатов

Воодушевился правилами Russian Ai Cup 2016, где существует ограничение по паияти (не более 256Mб) и по времени (описано в разделе 2.2). С другой стороны в самом Vindinium существует своё ограничение по времени (1 секунда на принятие решения, но нужно еще отнять время на отправку сообщения). Интересно подумать над реализациями, которые будут одновременно более-менее эффективными в игре и нетребовательными к ресурсам.

Information

Rating
Does not participate
Registered
Activity