Полная версия этой страницы:
Герои как среда для ИИ
Всем привет!
Я задумал писать бота для героев 3, игра у меня с дополнением HotA. Программирую на питоне, другими языками не владею (готов изучать). Идея - захватывать изображение с экрана, получать координаты курсора и формировать управляющие команды на мышку. Что-то вроде того, что делает дипмайнд для старкрафт, только не на основе обучения с подкреплением, свой алгоритм. Вопрос в том, что нужен способ получать данные из игры, типо АПИ (о положении объектов на карте, количестве войск у героев, постройках в замках и т.п.)
Кто-то может что-то подсказать?
hippocamus
24 Dec 2019, 01:37
Ну лучше обратиться к
berserker или
irgik.
feanor
24 Dec 2019, 15:07
Инъекция кода в процесс или чтение через ReadProcessMemory.
Адреса более или менее известны, но это все такое себе развлечение.
Зачем сразу внедрять в игру? Вы попробуйте написать тестовый вариант отдельно от игры. Подход будет такой же как обучение компьютера в шахматах.
1) Вам нужно все поле разбить(x,y)
2) Набрать большую выборку боев(причем с учетом разных параметров героя, почвы, существ и т.д.) потребуется >100к боев навскидку.
3) Не знаю какой метод обучения используется для собственно хода(пусть НС), каждый бой еще нужно классифицировать. Т.е. помимо подбора алгоритма обучения в бою, нужно подобрать алгоритм классификации как мне кажется(хотя не уверен).
4) Для обучения так же в бою надо постараться выделить параметры боя как уже писал, причем тот алгоритм который хорошо работает на существ vs существ, может плохо отрабатывать на существа VS герой/осада/плодилки.
Самое простое с чего стоило бы начать - существ vs существ, причем без юзанья абилок, на разных почвах и т.д. И с дальнейшем усложнением -> разные почвы , препятствия, доп существа и т.д.
В питоне достаточно много библиотек для МЛ - sclearn, xgboost.
Безусловной с чего бы стоило начать так это с того, что обратить внимание на то какие алгоритмы и как происходит обучение в шахматах.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.