Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Актуальность самообучаемого ИИ в применении для игр (2 стр)

Актуальность самообучаемого ИИ в применении для игр (2 стр)

Поделиться

Страницы: 1 2 3 4 ... 26 ... 49 50 51 Следующая

LiveBasterПользовательwww18 мар. 201723:12#15
kipar
> Есть версия, что если в игре всё будет известно и заранее ясно, что компьютер
> играет оптимально, не допускает ошибок и против него можно выиграть только
> количеством, то тоже будет быстро надоедать.
Мне кажется, интерес игрока можно удержать, если самообучаемый ИИ настроить так, чтобы он отчаянно сопротивлялся игроку, но в конце концов проигрывал.
kiparПостоялецwww18 мар. 201723:32#16
LiveBaster
Взять какие-нибудь шахматы - против слабого ИИ ну можно сыграть пока не выиграешь, но быстро надоест. Против сильного - в принципе интересно, но понимание что не выиграть никак многих угнетает и они предпочитают играть только против людей. Но ИИ который сильнее играет И поддается сочетает худшие качества, с одной стороны угнетает что он сильнее, а с другой - надоедает выигрывать. По-моему в компьютерных играх при достаточно сильном ИИ (без разницы, самообучаемом или нет) получится также.
LiveBasterПользовательwww19 мар. 20170:02#17
kipar
> По-моему в компьютерных играх при достаточно сильном ИИ (без разницы,
> самообучаемом или нет) получится также.
Видимо многие считают, что "самообучаемый ИИ" равносильно "сильный ИИ".
Это не так.
Например, страус, когда ходит по полу, даже уже самообученный, периодически спотыкается и падает, потому что задевает пальцами об пол и трение ему мешает сделать "безошибочный ход".
Суть самообучения не в безошибочности, а в достижении цели, несмотря на сложную окружающую среду - даже спотыкаясь, страус выполнит свою задачу.
Для игры командой юнитов, "спотыкание" будет равносильно ранениям-смерти юнитов, но команда при этом будет искать способ выиграть и проигрыш ИИ будет выглядеть достойным, а не бестолковым.
kiparПостоялецwww19 мар. 20170:25#18
LiveBaster
Просто ИИ может быть или сильным или слабым. Лично я считаю что самообучаемый ИИ будет намного слабее ИИ сделанного традиционным методом (перебор+подобранные автором эвристики), но в таком случае его и рассматривать не вижу смысла (разве что как заглушку если некогда реализовывать полноценный ИИ), поэтому говорю скорее о теоретической возможности - нужен ли игре сильный ИИ.
SuslikМодераторwww19 мар. 20175:06#19
LiveBaster
мне направление кажется очень интересным. я тоже работал в этом направлении давненько уже.
предобучение:

обучение в реальном времени:

я использовал целевой функционал, который описывал, насколько робот за последние N секунд правильно себя повёл и пытался его оптимизировать, варьируя действия робота на этом промежутке времени. в реалтаймовой версии требуемый функционал просто менялся согласно нажатию кнопок движения. алгоритмы оптимизации использовал самые разные: differential evolution, swarm, controlled random search, итп. в 3д теоретически это перевести было можно, но практически я не хотел использовать никакие хаки для поддержания равновесия робота, поэтому обучение просто поддержанию равновесия могло бы занять слишком много времени.

Правка: 19 мар. 2017 5:07

ChupakaberПостоялецwww19 мар. 201710:13#20
в движениях живых существ очень много нюансов, от врожденных рефлексов и поведенческих шаблонов, до движения внутренних органов при движении, влияющих на реакцию живого существа. т.е. натурально сделать очень сложно

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

CapSopenerПостоялецwww19 мар. 201711:31#21
LiveBaster
> Это всего навсего Генетический Алгоритм оптимизации - это не ИИ, т.е. не
> сравнимые сущности.
Не знаю, что в твоем понимании ИИ, и какие методы можно к нему относить, а какие нет.
Я сужу по результату - в видео, которое я привел, так же как и в работе Suslik-a, робот перемещается с достаточной скоростью, не совершая лишних движений.
У тебя же топчется на месте, то есть управление далеко от оптимального (если целью была ходьба, а не танцы).
LiveBasterПользовательwww19 мар. 201713:32#22
Chupakaber
> сделать мультиплеерную игру с непрямым управлением про крафт робота. как щас
> модно делать игры про боевые машинки
> и вот собрав робота из деталей, выдав ему пустую базу для ИИ, и поразному
> обучая, муштруя своего питомца игрок готовит его к битве против таких же
> питомцев других игроков
> и игрок который дольше и правильней обучал своего питомца, тот будет побеждать
> типа петушиных боев
Да, мне тоже такой вариант приходил в голову.
Здесь могут быть разные варианты: "тараканьи бега", "петушиные бои", "гладиаторы на арене", "автогонки" (игровой автопилот) и прочее.
Для гладиаторов, например, не обязательно делать физику - достаточно управлять мечом, чтобы красиво махал и поражал соперника в правильные точки тела.
Помимо меча, можно ещё подготовить разные виды элементарных движений и учить ИИ на их сложные комбинации - получится очень большое разнообразие, которое просто так не запрограммируешь.
LiveBasterПользовательwww19 мар. 201713:40#23
CapSopener
> Я сужу по результату - в видео, которое я привел, так же как и в работе
> Suslik-a, робот перемещается с достаточной скоростью, не совершая лишних
> движений.
Да, верно - страус довольно не красиво двигается.
Просто разные цели:
1. если цель сделать красиво и бестолково, то ГА отлично подходит - он подберёт правильные движения и будет красивый мультик.
2. у "страуса" цель - научиться выживать в окружающем мире, в любом теле. За несколько часов этому сложно научиться. Живой цыплёнок учится стоять на ногах более суток и не у всех это сразу получается, некоторым приходится вручную помогать.

В применении для игр, нет необходимости делать имитацию реального мира - см. выше пример с гладиаторами. При упрощении среды, можно всё сделать красиво.

LiveBasterПользовательwww19 мар. 201714:25#24
Пример более подвижной "собаки":

Здесь ещё контрольная панель, при помощи которой можно отдавать команды роботу.

FantargПостоялецwww19 мар. 201721:28#25
LiveBaster
> Мне кажется, интерес игрока можно удержать, если самообучаемый ИИ настроить
> так, чтобы он отчаянно сопротивлялся игроку, но в конце концов проигрывал.
Про шутерах раньше любили писать, как они подстраивали ботов, чтобы те давали шанс игроку, когда у его персонажа оставалось мизерное количество ХП. Вообще, сам процесс самообучения будет любопытен, пока идет обучение:)

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

LiveBaster
> и проигрыш ИИ будет выглядеть достойным, а не бестолковым.
Какой смысл, если игроку важнее сам факт победы, а не как. Вернее, интерес у самого игрока как победил, а не как проиграл ИИ:) Как только ИИ обучился строго правильных ходам, у игрока нет шанса на выигрыш и уже не интересно. А сдерживать его в процессе, тогда ИИ может застрять на чем-то, попасть в тупиковое развитие. Да и зачем тогда самообучение, если он все равно не достигнет высокого уровня? Ради потехи самого себя?

Шахматные программы, например, существуют для отработки и совершенствования техники (в первую очередь для получения 1 разряда и перепрыгнуть прОклятую планку кмс). Не важно, что компьютер будет заведомо сильнее, это развивает шахматиста! А чему будет способствовать саморазвивающийся ИИ в игре не шахматной? Я за вариант, где нужно успеть что-либо, пока развивается ИИ. Это дает еще и разнообразие своих экспериментов при запуске новых сессий игровых

LiveBasterПользовательwww21 мар. 201722:49#26
Fantarg
> Какой смысл, если игроку важнее сам факт победы, а не как. Вернее, интерес у
> самого игрока как победил, а не как проиграл ИИ:) Как только ИИ обучился строго
> правильных ходам, у игрока нет шанса на выигрыш и уже не интересно.
Долго думал, но так и не понял Вашу мысль.
Почему тогда люди с большим интересом играют в сети с другими людьми?

Наверное, всё же пока у большинства производителей игр отсутствует понимание, что такое самообучаемый ИИ.
Вот пример самосовершенствования двигательных навыков самообучаемого искусственного интеллекта:

Как видите, в сложной окружающей среде, с силой тяжести и трением, такое понятие, как "строго правильные ходы" не определено.
Каждый шаг, из-за наличия трения (+ сила тяжести), может оказаться и правильным и неправильным - как повезёт.

Правка: 21 мар. 2017 22:49

FantargПостоялецwww22 мар. 20178:52#27
LiveBaster
> Долго думал, но так и не понял Вашу мысль.
Игроку всегда интересно как он побеждает, а не как проигрывает бот. Сам факт победы для игрока важен и ничго более.
Какой-бы не был крутым бот, игроку важно, как он этого бота классно уделал. А не как же классно играл бот:)

> Почему тогда люди с большим интересом играют в сети с другими людьми?
ИИ для игрока - всегда условия тренировки, какой-то задуманный уровень сложности.
И если ИИ будет самообучающим, он в конечном итоге станет непобедимым (как и современные компьютерные программы не по зубам для гроссмейстера).
Интерес с другим игроком имеет несколько причин, а не по причине ошибочного(!) мнения, мол "я же играю с человеком, а не тупым компьютером"
Статистика-мерилка (самолюбование). Социум - игра со знакомыми (кампания). Азарт человеческого фактора.

SuslikМодераторwww22 мар. 20179:04#28
LiveBaster
> Наверное, всё же пока у большинства производителей игр отсутствует понимание, что такое самообучаемый ИИ.
мне не совсем понятна твоя позиция, с какой стати ты себя причисляешь к какому-то избранному меньшинству, которому понятно, что такое самообучаемый ИИ, как он должен работать, и почему любую другую реализацию ты можешь считать априори ущербной.

Fantarg
> Игроку всегда интересно как он побеждает, а не как проигрывает бот
да плевать на игры, если честно, шла бы речь о реальном сильном ИИ. какой смысл делить шкуру неубитого медведя?

Правка: 22 мар. 2017 9:07

FantargПостоялецwww22 мар. 20179:06#29
LiveBaster
> в сложной окружающей среде, с силой тяжести и трением, такое понятие, как "строго правильные ходы" не определено.
Время решает. Наступает момент, когда правильное:)
> Каждый шаг, из-за наличия трения (+ сила тяжести), может оказаться и правильным и неправильным - как повезёт.
Ну и? Он так будет вечность играть в правильно-неправильно. И где тут обучающее?
Будут какие-то вводные указатели, он сможет определить правильность:)

Страницы: 1 2 3 4 ... 26 ... 49 50 51 Следующая

/ Форум / Программирование игр / Игровая логика и ИИ

2001—2017 © GameDev.ru — Разработка игр