Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788

ИИ для бота игры. Теория игр

02.08.2019, 22:43. Показов 2079. Ответов 10

Студворк — интернет-сервис помощи студентам
Привет! Посоветуйте, пожалуйста, литературу по теории игр для одновременной игры.
Механика боя в игре:
Кликните здесь для просмотра всего текста
В бою участвуют два аватара.
Аватар - игрок, либо бот. У каждого аватара бывает три юнита:
- Штурмовик
- Стрелок
- Робот
У каждого юнита есть три параметра:
1. Жизнь
2. Броня
3. Атака
Что такое ход? Ход - сценарий, по которому действуют юниты.
Игроки ходят одновременно.
Если у обоих аватаров живы все три юнита, то разрешается ходить двумя или одним юнитом.
В противном случае, можно ходить лишь с одним юнитом.
Юнит погибает, если его параметр "Жизнь" становится равным нулю. Результат параметра "Жизнь" юнита, подверженного ааке вычисляется по простенькой формуле max(0, enemyHP - myAttack).
Юнит может получить урон двумя вариантами.
1. Враг сделал ход атакуемым Вами юнитом. В таком случае, его защита игнорируется.
2. Враг не сделал ход атакуемым Вами юнитом. В таком случае, наносится урон следующий: max(0, myAttack - enemyArmor).

В игре также есть артефакты. Есть четыре вида артефактов:
1. Двойной удар. Артефакт можно установить на своего юнита, чтобы его урон вырос в два раза.
2. Дополнительная защита. Артефакт можно установить на своего юнита. При атаке врагом юнита под этим артефактом, наносится следующий урон: max(0, enemyAttack - (myArmor - 5))
3. Лечение. Артефакт можно применить на своего юнита. После завершения текущего хода, юниту прибавляется N или M жизни.
4. Атака с воздуха. Можно применить на вражеского юнита. Игнорируя защиту, гарантированно наносит N или M урона после завершения хода.

При использовании артефакта на своего юнита, даже если не делать им ход, защита снимается.
За весь бой можно использовать лишь один тип артефакта.

Я хочу написать алгоритм для бота, чтобы он ходил максимально оптимально.
Перерыл весь интернет. Смотрел алгоритмы на e-maxx, по Теории Игр, но они мне не подошли. Очень надеюсь, что получу хоть какую-то зацепку для изучения сей проблемы.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.08.2019, 22:43
Ответы с готовыми решениями:

Теория игр на примере С3 из ЕГЭ по информатике. Программа, которая выдает стратегии для игры
Здравствуйте! Помогите с написанием программы, пожалуйста. Задача: есть 2 игрока(1-ый и 2-ой соответственно), перед ними лежи куча...

В ближайшие 5-6 часов нужна прога)Игры с природой(теория игр)
Здравствуйте, нужно реализовать на delphi Игры с природой (теория игр) Программа нужна уже через 5-6 часов все подробности почта...

Дописать бота для игр
Написал клики мышкой, а вот с клавиатурой хотел поставить прыжок space увы он просто вводится как текст в игре minecraft на поиски решения...

10
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
03.08.2019, 08:23
Цитата Сообщение от Aymurat Посмотреть сообщение
Смотрел алгоритмы на e-maxx, по Теории Игр
Метод Монте-Карло для поиска в дереве (MCTS) смотрели?
1
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,971
Записей в блоге: 234
06.08.2019, 09:40
Цитата Сообщение от Aymurat Посмотреть сообщение
литературу по теории игр для одновременной игры
Что подразумевается под термином "одновременная игра"? То что игрок управляет одновременно тремя юнитами или то что в игре могут находиться одновременно боты или ещё несколько реальных людей? Играть можно только с ботами или это игра с мультиплеером?
0
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
07.08.2019, 16:27
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Что подразумевается под термином "одновременная игра"?
Это термин, используемый в теории игр.

Одновременной игрой (англ. simultaneous game) называют игру, в которой стратегии избираются участниками до того, как станут известны стратегии оппонентов.
2
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
12.08.2019, 20:50  [ТС]
Цитата Сообщение от Бард Посмотреть сообщение
Метод Монте-Карло для поиска в дереве (MCTS) смотрели?
Смотрел, посчитал, вышло 72к вариантов для первого хода... Но, более подходящего чего-либо я еще не нашел
0
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
13.08.2019, 09:15
Цитата Сообщение от Aymurat Посмотреть сообщение
вышло 72к вариантов для первого хода
Стандартный приём для уменьшения числа вариантов, это введение эвристик для исключения из рассмотрения заведомо бесполезных ходов. Например, лечение юнита со 100% здоровьем, атака юнита, броня которого выше урона атакующего и т.д. Состав эвристик зависит от того, что известно на момент расчёта хода. Характеристики юнитов врагов известны?

Из описания не очень понятна механика использования артефактов. Что значит "За весь бой можно использовать лишь один тип артефакта"? Один тип артефакта на каждый свой юнит или один на всех? Артефакты можно использовать на каждом ходу каждым юнитом?
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
13.08.2019, 13:53  [ТС]
Цитата Сообщение от Бард Посмотреть сообщение
Из описания не очень понятна механика использования артефактов. Что значит "За весь бой можно использовать лишь один тип артефакта"? Один тип артефакта на каждый свой юнит или один на всех? Артефакты можно использовать на каждом ходу каждым юнитом?
Один тип артефакта на всех. За ход можно использовать лишь один артефакт на одного юнита.
Цитата Сообщение от Бард Посмотреть сообщение
Характеристики юнитов врагов известны?
Да, оба аватара знают характеристики юнитов, своих и чужих.
Цитата Сообщение от Бард Посмотреть сообщение
Стандартный приём для уменьшения числа вариантов, это введение эвристик для исключения из рассмотрения заведомо бесполезных ходов. Например, лечение юнита со 100% здоровьем, атака юнита, броня которого выше урона атакующего и т.д.
Сложностью здесь является то, что у соперника может быть 72к вариантов ходов, и мы не знаем, какой он сделает... И у нас 72к вариантов. Даже если уменьшить, скажем так убрать лечение на первых ходах, это будет 48к вариантов на 48к вариантов.
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
13.08.2019, 15:57
Исходя из описания, в эту игру можно сыграть на шахматной доске при помощи короля и трех различных фигур.

Как наносится удар? С какого расстояния? Что из себя представляет поле боя? Скорость юнитов одинакова?
0
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
13.08.2019, 20:10
Цитата Сообщение от Aymurat Посмотреть сообщение
Сложностью здесь является то, что у соперника может быть 72к вариантов ходов, и мы не знаем, какой он сделает... И у нас 72к вариантов.
В данном случае можно рассматривать каждый ход как новую игру с изменёнными характеристиками юнитов. Таким образом, глубина дерева будет равна 1. Фактически, MCTS выродится в алгоритм UCB (Upper-Confidence-Bound). Т.е. для каждого варианта хода бота выполняются случайные ходы противника и оценивается успешность хода бота. Например, по разнице нанесённого и полученного урона.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
18.08.2019, 11:24  [ТС]
vantfiles, юниты неподвижны, если не атакуют. После атаки возвращаются на свои позиции. Скорость ни на что не влияет, так как ходы делаются одинаково. Поле боя - 6 клеток, три клетки напротив трех клеток. На каждой клетке расположен юнит.
Механика боя трудноописуема(

Добавлено через 1 минуту
Бард, Да, думали об этом, но не придумали способ оценки успешности, так как урон иногда не решает исход
0
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
18.08.2019, 14:33
Цитата Сообщение от Aymurat Посмотреть сообщение
так как урон иногда не решает исход
Можно пример, когда найденный максимум оценки (const1 * нанесённый урон) - (const2 * полученный урон) укажет на плохой ход?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.08.2019, 14:33
Помогаю со студенческими работами здесь

Написание бота для игры
Уже задавал этот вопрос, только в другой категории, а ответить по делу мне так и не смогли. Ищу литературу о том, как внедриться в чужой...

Создание бота для игры
Появилась задача создать бота, в игре 1 vs 1 fight стиле . Бот должен быть достаточно простым, но должен различать, где мы на карте и...

Написание бота для игры
Есть идея написания хорошего бота для игры, вот только не знаю в какую сторону копать. Понял, что нужно действовать путем внедрения dll в...

Написания Бота для онлайн игры
В общем, я хочу написать Бота, например для онлайн игры в VK. Мне нужно, чтобы искало пиксель/картинку, по нахождении которой Бот должен...

Создание бота для онлайн-игры
я совсем недавно начал работать над ботом сейчас пытаюсь нажать хоть одну клавишу в окне игры, но функция Send просто не срабатывает там и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru