Добавлен , опубликован

Начало

Продолжая тему ИИ и при желании пользователей запускаем челлендж-марафон:
  • Каждому участнику предлагается самому посмотреть на технологию самообучения и собрать свой ии.
  • Во время проведения турнира лучшие экземпляры собираются, оцениваются и снова раздаются участникам.
  • В это время игроки могут делиться впечатлениями, предлагать идеи, оставлять обратную связь и т.д. Некоторые поправки могут включаться прям во время марафона.
  • По итогу участники получат лучший найденный ии, опыт работы с ним и весь исходный код.

Что надо делать?

— Минимальный набор действий это: скачать карту, запустить на ~30+ минут. Ввести слово "save". Дождаться появления файла по пути ./save/GA_test_01/Cod.txt. Скинуть. Лучший найденный скидывается вам обратно. И так несколько раз =)

Кратко об ии

— Каждый объект представляет собой кольцевую цепочку команд. Каждая команда является точкой на отрезке. Проекция дерева решений на отрезок однозначно соотносит точку и конкретное решение.
Примерный список команд
  • Сравнить
    • Число
    • Юнит (случайный, ближайший, дохлый)
      • Жизнь
      • Дистанция
      • Количество
    • Зомби (...)
      • Жизнь
      • Дистанция
      • Количество
    • Я
      • Жизнь
      • Отклонение времени
      • Отклонение времени2
    • Кольцо
      • Положение
      • Дистанция
    • Центр
      • Дистанция
  • Сделать
    • Я
      • Остановится
      • Инвиз
    • Юнит (...)
      • Бежать
      • Атаковать
      • Проколоть
    • Зомби (...)
      • Бежать
      • Атаковать
      • Проколоть
    • Зона
      • К
      • От
      • Вправо
      • Влево
    • Пространство
      • Наверх
      • Вниз
      • Направо
      • Налево
Другие вопросы
Как сохранить ИИ?
Для сохранения лучшего экземпляра введите слово "save". Файл кода будет лежать в папке варкрафта ./save/GA_test_01/Cod.txt
Могу я сохранить понравившийся ии?
Да, для этого нажмите на юнита и введите слово "s save". Код сохранится, даже если юнит умрет до конца условного раунда.
Можно загрузить сохраненный ии?
Да, введите слово "download". В начале следующего раунда он будет загружен и подключен.

Ехало

Первое видео
Задача - прожить как можно дольше
Приветствую вырезки интересного поведения, а также предложения по улучшению обучающей среды и внутренних механизмов.
Скачать:
v02 Динамичное кольцо:
03 KodG3_king of the mountain.w3x оцениваются убийства и количество выживших
Можете улучшить готовый вариант или собрать свой с нуля Cod.txt
v01 Статичное кольцо:
02 KodG3_kill_and_life.w3x оцениваются убийства и жизни
01 KodG3_only_kill.w3x оцениваются только убийства
Пишите, какую разницу в поведении юнитов обучаемых разным способом вы заметили.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
17
4 года назад
0
ScorpioT1000, ускорил на пару порядков за счет введения дополнительных генетических операторов. Если есть конкретные предложения, пиши)

Desgul, можно дать им возможность общаться для заключения союза, по типу голосового чата, но как они его будут использовать... вопрос
будут ли они выбирать правильно что бы убить сильного зомби
Тут лучше сравнить с реальной ситуацией в игре, если ты видишь, что мало танков, берешь танка, но этот выбор делается единожды в начале игры и не особо влияет на то, как ты умеешь отыгрывать за танков. Виду к тому, что мы можем одного ии научить хорошо играть за разных персонажей, это да, хотя и эффективнее будет обучать индивидуально. Но заниматься подбором правильной комбинацией персонажей должен заниматься отдельный алгоритм (задача лидера)
0
15
4 года назад
0
Vlod, а что если им дать например голосование за кого кто будет играть по истечению нескольких раундов, то есть не сразу, например 1 из юнитов оставался последним живым вот и ии должны выбрать его в роле танка
1
27
4 года назад
Отредактирован MpW
1
Vlod, сделай задачу поинтереснее. знаешь карту Necris? там есть три базы: Альянса, Орды, Эльфов. Каждая расположены по углам. На них иногда нападает нежить. То посылают по одному, то всем скопом. Вроде играл часто в сингле, и приходилось одному бегать одним героем и помогать ботам-союзникам отбиваться. Игра не сложная. Но одному там просто не выжить, в начале ты слаб, а в конце толпа нежити просто окружает героя, и он мрет. Но интереснее так, бегать там, там. Надо успевать помогать.
Там сложность только прокачаться вначале, но со временем и Нежить становится сильнее. Пробовал играть в мультиплеере, и скажу, что чем больше игроков тем легче играется, тк крипов становится меньше. И интерес теряется. Тк бот нежити туповат
Иногда думал добавить ИИ больше интеллекта. К примеру как окружить героя-одиночку, вышедшего погулять, или раздербанить базу союзника - без баз герои-одиночки ничего не смогут сделать.
у эльфов 3-4 прохода, база огорожена деревьями
у альянса 2 прохода, база огорожена клиффами, удобно пристроились
орки 3 прохода окружена скалами
Сколько проходов, а дурачки-скелетосы прутся через основной. Им не хватает мозгов действовать неординарно. Они всегда идут по короткому пути. И брать всякие тактики. Нападать скопом в менее защищенные точки, отвлекать, атаковать/херачить воздухом, катапультами. Но и с защитой у ИИ нежити проблема. у нежити много производных здании, и для ослабления натиска нежити нужно их сносить. Но не всегда защищает.

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

а еще помню эту тему кстати у меня есть наработка, где рабочие ходят сами косят, копают, сеют семена, собирают. Хотел сделать систему, чтобы они сами все делали после отдачи указании. Это даже интереснее получилось
0
17
4 года назад
Отредактирован Vlod
0
МрачныйВорон, я тебя понял. Смотри, сейчас 10 юнитов могут атаковать, убегать, лечить друг друга - действовать слаженно, но они будут вести себя так, как если бы ими управляли 10 различных игроков. Если нужна скоординированная атака с разных сторон нескольких групп юнитов, то ими желательно должен управлять один ии. То есть это не управление юнитом, а управление армией. Представим список его команд: разделить на два отряда, разделить на три, отделить летающе войска, послать вторую группу к первому проходу, начать строительство юнита, группы юнитов. Тут работы непочатый край, да и вопрос к реализациям некоторых команд) Если есть идеи команд и конкретная карта для тестирования, то могу помочь с реализацией. А этот ии планировался для выполнения задач типа: разбойники нападают на караван/деревню, где решения убегать нападать принимаются либо лидером, либо голосованием, о чем упоминал Desgul, или наемник взял квест убить медведя и пошел на его поиски -- симуляция естественных процессов каждой личности отдельно.

С его помощью можно изменить поведение монстров, которые обычно тупо стоят или патрулируют в РПГ данжах на более разнообразное
0
37
4 года назад
0
В NPC было бы круто поддерживать самообучение в процессе самой игры, но генетиками это врятли добиться (разве что в fps и жанрах, где боты учатся с каждым раундом)
0
17
4 года назад
0
А как тогда развивались бактерии, насекомые, растения, люди, если не в процессе самой жизни
0
37
4 года назад
Отредактирован ScorpioT1000
0
Vlod, игра на миллионы лет?)
тут бы помогло обучение с подкреплением, а не отбором лучших результатов с каждой генерацией
по аналогии метода проб и ошибок, здесь и приходит back propagation (изменение весов градиентным спуском)
0
17
4 года назад
Отредактирован Vlod
0
ScorpioT1000, откуда у вас такие цифры, мы же не людей создаем.
Причем тут back propagation и представленный код-геном, где цепочка команд, как днк, а не веса нейросети. Какое обучение с подкреплением, откуда мы знаем, какое поведение лучше, а какое не лучше. Если необходимое поведение известно заранее, то не проще ли его вбить сразу и не париться с самообучением?
0
23
3 года назад
0
ну создаете нейроный сеть и популяции 100 человек за 1 час они станут богом в игре.
habr.com/ru/post/336612 Я тоже его применяю в игре не варкрафте а другом месте.
0
17
3 года назад
0
pro100master, работу с ии типа классификатор описывал тут Хотелось бы, но на jass 100 сетей игру сильно грузят
0
17
3 года назад
0

Челлендж завершен, всем спасибо!

PS Добавил комментарии в KodG3_king of the mountain для тех, кто хочет разобраться в том, как всё работает
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.