Pull to refresh

Comments 19

Расскажите что-нибудь про Машинное Обучение — насколько оно применимо в геймдеве
В контексте игрового AI — неприменимо от слова совсем. Если хочется прилепить это к играм, то можно попробовать впихнуть на выбор соперника, но и там с этим старые добрые тупые алгоритмы справляются лучше.
Ну почему? Недавно только было как нейросетевой ИИ в доте2 довольно неплохо себя показал. В играх подобный ИИ очень неплохо себя бы показал, проблема только в том что обучать его задолбаешься.
1) Поинтересуйтесь на каком железе исполняется нейросетевой ИИ для доты 2 (и как много в нем всё ещё ограничений).
2) Есть принципиальная проблема применимости в игровой разработке: нейросетевой ИИ очень плохо контролируется, если тебе нужно поведение сложнее, чем выиграй любым способом, то автоматически генерировать сценарии для обучения представляется задачей сложнее написания собственно игрового ИИ в классическом смысле. Ещё хуже если придет геймдизайнер и скажет, всё ок, но я хочу чтобы ИИ вот так не делал и и вот это вот так никак не формализовать для генерации обучающего набора данных.
Большие мощности нужны для обучения, для запуска хватит и обычной видеокарты.
От ИИ требуется в конце концов чтобы игрок имел интерес в игре со сложным соперником, а не то что взбредет в голову геймдизайнеру, поэтому без нейросетей тут никак.
Проблем с нейросетями масса. Уровень сложности в работе с ними, предсказуемость результата. Если у вас imitation learning — вам надо просто горы реальных записей игроков, чтобы попытаться заставить нейросеть вести себя подобным образом. И если у вас эти данные не будут покрывать какой-то случай, поведение ИИ, для решения этой ситуации, может быть далёким от ожидаемого человеком.
Если у вас обучение к подкрепелением, то у вас толком нет контроля, как и.и. будет идти к результату. У вас есть функция вознограждения, и нейросеть будет просто стремиться получить максимальный результат, и зачастую, играть будет вести себя не очевидным, для игрока образом.

И ещё большой минус это тот самый геймдизайнер. Например ГД говорит вам — хочу, чтоб время от времени какой-то из ботов не прятался от гранаты, а кидался на неё, прикрывая товарищей, если из вокруг их много.
Что вы делаете в классическом подходе — нашли ближайшего к гранате, прикинули ущерб от неё, проверили порог + вероятность, от случайного значения (дабы поменьше шахидов было) и дальше затригерили заготовленное состояние — кинутся на гранату.
С ии решение такой задачи будет на порядок сложнее. Скорее всего вам предётся передизайнить сеть, её параметры, перетренировать (а это даже для примитивной казуальной пошаговой игры заняло уйму времени на десктопном железе). А потом придёт ГД и скажет — не, как-то он слишком часто/редко на эту гранату кидается.
На данный момент, в основной массе игр, игра не стоит свечь, имхо.
Так никто не запрещает комбинировать нейросети с классическими алгоритмами, у вас может работать нейросеть для достижения максимальной награды, а с какой-то вероятностью будет запускать алгоритм бросания на гранату, либо вы можете алгоритмически создать некий набор тактик, а нейросеть уже будет учиться выбирать тактику в зависимости от обстановки.
И кто сказал что это плохо что нейросеть будет вести себя неочевидным образом.
Пока все эти доводы звучат как попытка самооправдание тех кто не готов применять нейросети, а между тем они начинают появляться в играх, Блицкриг например.
Просто сейчас вокруг темы машинного обучения столько хайпа «с нейросетями всё лучше», но это не всегда так. Плюс, наблюдаемые мной эксперементы в компании и то, что я читал, пока показывают, что в геймдеве порой преимущества нейросетей над старыми «тупыми» алгоритмами не очевидны, но при этом их использование более затратно по человеческим ресурсам.

Про комбинирование — зачастую и пытаются комбинировать машинное обучение, с классическими алгоритмами.

В целом, по моему мнению, основная проблема в том, что нейросети в частности и машинное обучение вообще, в геймдеве на данный момент это затратное вложение с неочевидным результатом.
Хотя и интересные деонстрации технологий тоже встречаются.
Возможно стратегии, типа цивилизации, где сложность создания дерева поведений/решений или графа превосходит разумные пределы, могли бы и выиграть от такого подхода.
Именно то что взбредет в голову геймдизайнеру и требуется от ИИ в конечном итоге. АИ не требуется быть максимально сложным соперником в большинстве игр, требуется быть масимально интересным соперником. Например, во всяких глобальных стратегиях типо стеллариса или цивилизации требуется скорее отыгрышь роли, чем максимальная эффективность.
проблема только в том что обучать его задолбаешься

Этого уже достаточно. Задача по требуемым ресурсам сравнима с созданием собсна игры. Если есть более простой инструмент, то нет причин использовать более сложный.

ну а как же все эти нейросети, которые играют в шахматы, шашки, го? И что самое главное выигрывают у людей. Тут вопрос в другом, каким образом МО можно было бы применить в развлекательном геймдеве. Например, чтобы ИИ в Civilization работал на нейросетях. Потому что там до сих пор (6ая часть), старые тупые алгоритмы видимо не работают.
Шахматы относительно простая для перебора современными машинами игра, там не нужны нейросети. Шашки вообще математически решены. Го требует огромных мощностей для работы нейросети способной обыграть человека. Проблема в ИИ в цивилизации это фиче крип, игровой дизайн уже давно перестали делать с оглядкой на то можно ли в это научить играть компьютер. Игровые правила начиная как минимум с 5ой таковы, что никаких мощностей не хватит, чтобы это считать, хоть с нейросетями, хоть без них.
Шахматы относительно простая для перебора современными машинами игра

Ну вообще говоря не совсем там. Комбинаций в шахматах 10^120, а количество атомов в наблюдаемой Вселенной в 10^40 раз меньше. Так что на просто переборе далеко не уйдешь.


Шашки вообще математически решены.

Насколько я слышал, только для одного варианта правил.


Го требует огромных мощностей для работы нейросети способной обыграть человека.

Все запускается на одной машине с 4 TPU, вики. Не думаю что к такой машине применима фраза "огромные мощности".

Не могу найти характеристик TPU ни цены, ни энергопотребления, нашел только цену за час работы — 8 баксов за час работы TPU, для четырех соответсвенно 32 бакса в час. Я бы назвал это огромными мощностями, хотя бы по стоимости работы этих мощностей.

Про шахматы — могу переформулировать иначе: на современных машинах (например мобильные телефоны) современные алгоритмы игры в шахматы играют в шахматы лучше самых сильных игроков-людей. Тут не нужны нейросети.
Finite state machine
… Рассмотрим все состояния и перечислим все переходы в другие состояния вместе с необходимыми для этого условиями (Patrolling, Attacking, Fleeing, Idling, Searching, Finding Help)

Судя по таблице и приведённой ниже диаграмме — невозможно перейти в состояние Searching, возможно есть какая-то опечатка.
UFO just landed and posted this here
Спасибо, добавил UPD в начало статьи. Честно искал перевод на Хабре перед публикацией, но что-то пошло не так. Видно, что тема популярна среди гейм-девелоперов, но в любом случае буду внимательнее
Sign up to leave a comment.