Самый сложный аспект разработки игор. Неудивительно что в /gd/ он практически не обсуждается. То есть за все время я не видел ни одного обсуждения.Пришло время нарушить молчание и обсудить. Обсуждаем.
Я не видел ни одной игры в gd где бы понадобился сложный AI.
>>298354>Я не видел ни одной игры в gd Дальше мог не продолжать.
О, напомнил мне про курс того парня по ии. Как там? Он его уже доделал?
>>298372Какой курс?
>>298373https://courses.nucl.ai/Оно-таки гуглится. У меня просто всё было на другом компе, который умер.
>>298375Бесплатно штоле
>>298372Там не один парень, а целая команда. Курс уже как полгода висит на 3.5 лабе, так что походу все.
>>298353 (OP)Зачем делать аи, тратить дохуя сил и времени на это, когда единственно. что цепляет аудиторию - графоний и постэффекты с обилием мыльца. Шоб тармазила! Похуй, что нихуя не разабрать, зато риалистична!
>>298355Вот тебе и ответ про АИ. В игре за 30кк$ нахуй никому аи не нужон, даже поведение нпс как в той же пресловутой утиной готике сделать не удосужились.
>>298392Зачем? В готеке ты каждый кусок грязи в этой деревне из пары десятков домов запоминаешь. Там в каждом лагере от силы 10 уникальных NPC. Поэтому сделать детальную имитацию нпс это необходимость, иначе бы тупые болванчики сразу бросались в глаза (как в морровинде).В ведьмаке нпс генерируются и исчезают чтобы имитировать густонаселенные города.
>>298392АИ нужон,очень нужон. Это же +200 к атмосферности. Я перестал играть в синглы только потому,что против тупых ботов играть не интересно.
>>298392>утиной готикеты аккуратнее, в этом разделе совсем другие утки нежеле в /v/
ai это лишняя работа и много багов. игроки уже приучены к скриптам и паттернам поведения. нет, хочу изобретать ии и мнить себя богом алгоритмов.лучше спрайты нарисуй красивые, чтобы запоминались, продумай интересные истории и пропиши характеры, пусть персонажи стоят, но стоят в правильных местах. игрок это больше оценит, чем типа ии, которые будет застревать в текстурах каждые полтора трая.
>>298353 (OP)В игровом ИИ нет ничего сложно. Проблем обычно две - оптимизация и необходисость заставить его естественно тупить (а иначе у игрока нет шансов).
>>298471>В игровом ИИ нет ничего сложно.Если не сложно, то почему не делают? Почему в РПГ 2001 года ИИ НПС интереснее чем в современной йобе?Мне кажется ты не понимаешь о чем говоришь. Заставить модель ходит по указанному дизайнером пути и говорить рандомные фразы - просто, а сделать чтобы поведение ИИ было похоже на человека - не просто
>>298477> сделать чтобы поведение ИИ было похоже на человека - не простоНе просто "не просто", а просто НЕ НУЖНО. Играть в игру должно быть ИНТЕРЕСНО. А как оно там - аля скайнет, или скрипты - сугубо все равно.
>>298479>НИНУЖНОлол
>>298479Имхо самый лучший ИИ получится при использовании нейросетей/машинного обучения. Правда для рпг игр такие подходы слабо применимы, так как список действий нпс весьма ограничен, но для шутеров, стратегий и прочих игр встал бы охренительно, и уже через 100 часов геймплея ИИ выдавал бы фантастические вещи.
>>298503Нет.https://www.youtube.com/watch?v=u2t77mQmJiY&feature=youtu.beДаже за 50 поколений боты хоть и научились что-то делать в этой ПРОСТЕЙШЕЙ игре (а 3д шутаны и стратегии еще сложнее), но они до сих пор ведут себя как умалишенные дебилы.Я не знаю сколько по времени занимает обучение одного поколения, но даже если 1 поколение - 1 минуту - то ты заебешься целый час обучать дебилов. Я не говорю уже про 100 часов, столько можно играть только в очень хорошую и отработанную игру.
>>298505Ну теоретически можно запустить симуляцию и через n-время получить ИИ для ботов не написав ни строчки кода! Необязательно их тренировать каждый раз с нуля при начале новой игры же. Это бред
>>298505>>298506Это бесперспективно. Сейчас ИИ в играх строится из маленьких блоков - написанных программистом примитивных действий,- и алгоритма выбирающего наиболее подходящее действие. Если и использовать обучение, то на этом уровне.
>>298506>не написав ни строчки кодаНе забывай про пердолинг с архитектурой нейросети.Ты знаешь какие именно и в каком виде данные нужно будет передавать туда? Ты знаешь что и в каком виде ты будешь получать? Ты знаешь какая наиболее подходящая архитектура будет для этого всего и с какими параметрами?И после ответа на все эти вопросы ты получишь какой-то неопределенный результат. Может хорошо получится, а может хуево.Пока это все очень дико экспериментально.
>>298353 (OP)https://www.youtube.com/watch?v=cPx9zwH9IWc
>>298383>>298386https://www.youtube.com/results?search_query=nptelhrd+ai
>>298390>>298392У тебя нет ААА-бюджета на пиздёж и промо.
>>298477Что вообще есть в современной ёбе, кроме кучи пиздежа?
>>298510А лекции от белых людей есть?
>>298512Графитий
>>298505Разбиваем на этапы.1. Научись бегать.2. Научись искать врага FOV.3. Попади во врага и увернись от пули.Вангую будет в 10 раз эффективнее.
>>298514Графона то я и не приметил.https://www.youtube.com/results?search_query=e3+trailer+vshttps://www.youtube.com/watch?v=fW6kehLgXdYhttps://www.youtube.com/watch?v=xNter0oEYxchttps://www.youtube.com/watch?v=psWq6o1Xv98https://www.youtube.com/watch?v=gRH91VRZQds
>>298513Есть.
>>298516Ой, ой, ребенку выключили один шейдер! А про работу художников ты-то и забыл.Зато любим всяким low res калом слепленным на коленке восторгаться , это да.
>>298524> кококок художникиА, говно, это опять ты. В обосспсине художники ни при чём. Все интерьеры - это пожатый 3д-скан. А фоточки твои - это промо с е3 и тщательно подобранное игрожуром.https://www.youtube.com/watch?v=J4Ia7lLEBws
Вообще, хороший ИИ = хороший геймдизайн. Все эти алгоритмы и методы — всего лишь способы реализации (кроме, пожалуй, нейронных сетей — это совсем другая вещь), и все они используются в современных йобах. Знание алгоритмов реализации никак не помогает в решении вопроса, что реализовывать. Отличный ИИ можно запилить хоть на стейт-машинах, просто это будет сложнее.
>>298526Ты сейчас троллишь?
>>298353 (OP)Для начинающих можно сказать что есть два основных подхода к ИИ.Конечные автоматы - State MachinesХороши для применения во всяких простых игрушках уровня платформеров и шутеров.Целе-ориентированное планирование действий - Goal-Oriented Action Planning (GOAP)Необходимо для стратегий и других игр подобной сложности.Отдельно как часть ИИ идёт алгоритм поиска пути, самый популярный A* (A star).Собственно уже есть что гуглить.
>>298529> хороший геймдизайн> в современных йобахЯ не понял, тут что филиал вегепараши?
>>298505Каое-то коловдюти с 360noscope лол.
>>298516Ну с драке не так уж плохо, разве что освещение проебали.
я как то сел писать интеллект для крестиков ноликовисписал три рулона бумаги полями три на три и забилдумаю, поэтому зедсь не обсуждается создание аи, здесь люди игры делают, а не херней страдают
>>298613Ну да. Тени, детализацию модели и текстуры поменяли на мыльцо.А геймплеем там никогда и не пахло.
>>298646Чего сложного то в нём?Взвешиваем по-разному:- ходы, перекрывающие чужую линию- ходы, делающие свою линию- ходы, не перекрывающие чужую линиюСовершаем один из ходов с максимальной ценностью.Добавляем в анализ вращение доски, где просто складываем найденные решения.Сохраняем веса ходов относительно выигранной/проигранной партии и добавляем эту переменную к базовым весам.Последний абзац можно погонять на ИИ против ИИ.
>>298651эта боль пекадауна. в одной из лучших серии адвенчур в истории игр нет геймплея.>А геймплеем там никогда и не пахло. Зато в твоих любимых хуинди нарисованных за 2 недели школьником пахнет. ПАХНЕТ ГОВНОМ. Хорошенько так воняет.
>>298651>Ну да. Тени, детализацию модели и текстуры поменяли на мыльцо.Лол. В одном этом скриншоте больше искусства, чем во всех играх из гринлайта за последние несклько лет вместе взятых.Ты давай там, отмывай глаза от мочи уже. Нельзя же вечно так видеть мир искаженным.
>>298646>исписал три рулона бумаги полями три на три и забилМожет, этсамое, не нужно придумывать колесо, а для начала разобраться с пониманием типовых алгоритмов при проектировании ии?
Даже в теме про ии найдутся дети со своими ебанутыми срачами.
>>298610>я не умею читать
>>298661Не могу пройти мимо ебанутого школьника-максималиста нелестно отзывающегося о вершине человеческой мысли и труда, только из-за того, что ему в релизе сделали чуть более простое освещение.
>>298666Как-будто бы они стали делать более простое освещение, если бы плойка не тянула нормально хотя бы в 30фпс. Разве naughty dog виноваты в том, что в PS4 железо говно?Это пекарям можно выбросить любое нерабочее говно и они будут в него играть на 15фпс и еще добавки просить.
>>298646Прочитал как>сел писать сюжет для крестиков ноликов
>>298512Графон (модели-текстуры-атмосферные эффекты)Большие детализированые миры (Фоллаут 4 тот же, ГТА 5)Физика (спинтаерс)
Решил запилить AI на behaviour tree. Какие подводные камни? Я уже понял, что это щитай тоже самое визуальное программирование, блюпринты, все дела. Их очень сложно дизайнить и еще сложнее править. Без хорошего редактора лучше не соваться.Какие есть альтернативы?
>>298943см. >>298533
>>298944да этот goap больше подходит для неинтерактивных систем, а не для игор. Вся сильная сторона этих планировщиков заключается в том, что состояние мира не меняется само по себе и точно известны эффекты действия на состояние мира. В играх это невозможно и в итоге получается просто огрызок от планировщика немногим лучше тех-же behaviour tree, зато намного более геморройный.Вот я найду я свой охуенный план, и что с ним делать? Тут во первых надо какой-то менеджер который будет выполнять действия по очереди. А во вторых, пока я выполню несколько действий, в игре уже может все поменяться и план протухнет. Это что каждую секунду новые планы считаь.
>>299055>просто огрызок от планировщикаТо есть будет получаться в лучшем случае 2-4 действия. Вот такие например планы в играх делать просто невозможно
>>299055Альтернатива? Просто у тебя с любым другим способом будут ровно те же проблемы. Алсо, у тебя какая-то хуйня на пикчах, особенно на второй. Нахера ты там на весь бой вперёд напланировал?
>>299076>Нахера ты там на весь бой вперёд напланировал? Так в этом и суть. Зачем нужен планировщик, если он выбирает 1-2 действия. С таким-же успехом можно написатьforeach (var action in actions)if (action.IsValid())action.Run();return;планировщики нужны для решения совсем других задач. В играх их использовать бред.Ну или как вариант делать какой-нибудь план для NPC на день типа как в готеки.
>>299055>>299084Может ты тупой и не разобрался?Вот достаточно наглядный пример: http://www.gamedev.ru/code/forum/?id=162178
>behaviour tree
>>299084Ты нихуя не понял. Планировщик нужен затем, чтобы ты персонажу сказал: "хочу доски", а он пошёл к кузнецу, взял у него топор, пошёл в лес, нарубил деревьев, обстрогал и сделал доски.
>>299165Зачем тебе каждый раз искать в реалтайме этот план, если ты только что его описал. Ты что, ебанутый?
>>299167Затем, теоретик ты ебучий, что а) доски могут просто лежать на соседнем складе, поэтому твой персонаж пойдёт туда и возьмёт ихб) у кузнеца может не оказаться топора, поэтому твой персонаж пойдёт и купит ему топор (или сразу доски, в зависимости от того, что дешевле)в) кузнеца может вообще не быть, поэтому твой персонаж сначала скрафтит себе топор, а потом пойдёт делать доски.
>>299177>теоретик ты ебучийСам-то много игор сделал?Все еще неубедительно. Я могу написать весь ИИ для этого в 20 строчек. Зачем мне планировщик.Давай реальные примеры.
>>299205Ты же троллишь меня? Ну напиши в 20 строчек, чтобы соблюдались все условия из того поста, на который ты ответил, и чтобы их легко было добавлять, а потом докажи, что у тебя не гоап получился.>Давай реальные примеры.Почему мне кажется, что ты в игры даже не играл, не говоря уже про делал? В каждой второй игре таких примеров десятки.Ок, держи реальный (очень простой) пример. Есть шахта, в которой добывают железо. Есть лес, в котором можно взять палки и рубить деревья. Есть угольная шахта, где добывают уголь. Есть предметы: хуёвый топор (камень + палка), хуёвая кирка (камень + палка), хороший топор (железо + выструганное топорище), хорошая кирка (железо + выструганная рукоять (не знаю, как её зовут)), есть кузнец, которому для кузни нужно либо дерево (плохо (допустим, в два раза дольше)) либо уголь (хорошо), и который может производить топоры и кирки совсем без кузни (хуёвые) или с ней (хорошие). И есть персонаж, который делает доски из брёвен в лесу. Алсо, в деревне остановился корован, который продаёт всё перечисленное за шекели, и иногда лучше купить что-то, вместо того, чтобы идти по всей цепочке производства. Твоя задача написать в двадцать строчек ии, который будет адекватно действовать в этой ситуации. Алсо, предметы будут добавляться в игру со временем (возможно, модами) вместе со всем производственным процессом для них.
>>299205Я поддвачну того анона, c которым ты споришь, хоть у меня пока опыт написания ии на твоем уровне, который я назвал бы околонулевым, уж извини.Твоя логика применима там, где нужна создать видимость интеллекта. К примеру как это сделано в той же Готике 2. Там у каждого нпс есть своя профессия: фермер, кузнец, торговец. И распорядок дня выглядит грубо так: с утра и до вечера непись выполняет свою работу, после работы может сходить в таверну, а затем спать. И за счет разнообразия занятий нпс создается видимость того, что мир кипит жизнью, а не просто статическая картинка, ждущая своего героя.Но это всего-лишь видимость, потому что нпс не совершают никаких действий влияющих на состояние мира. Мир статичен и его судьбу решает только гг.Ты со своим примером логики не сможешь решить задачу мира, в котором нпс совершают реальные действия и взаимодействуют друг с другом и это логически отражается на состоянии мира. Просто попробуй описать какими алгоритмами ты решишь задачу динамического мира, как в том примере анона с топором, только теперь у тебя есть 10 нпс, которые динамически взаимодействуют друг с другом. Ты тупо не сможешь захардкодить всю эту логику. Потому что никто еще не смог подобного сделать. Игры, где нпс влияют на состояние мира, это зачастую песочницы, в которых квесты являются рутинными действиями: Mount and Blade; X3; Парадоксо-дрочильни — это во что я скромно играл.И песочницы пока не могут выдать сюжеты на уровне вручную сделанных игр.
>>299220>нпс влияют на состояние мираЧто ты под этим понимаешь? В rts рабочие например рубят деревья, собирают ресурсы и т.д. Не вижу в этом ничего сложного. В рпг это не делают, потому что нет смысла симулировать экономику так глубоко.
>>299237>Что ты под этим понимаешь? В rts рабочие например рубят деревья, собирают ресурсы и т.д. Не вижу в этом ничего сложногоТо ли ты троллишь, то ли действительно не понимаешь. Я понимаю под этим, что нпс должны перестать быть простыми болванчиками, а стать игроками. Они должны играть в игру, иметь цели, мотивации. И чем сложнее их логика, чем ближе они к симуляции реального игрока, тем лучше.>В рпг это не делают, потому что нет смысла симулировать экономику так глубоко.Ну смешно же.Я возьму для примера Mount and Blade. Конечно, экономика, там вспомогательный инструмент, но тем не менее.Она устроена на стандартной экономической модели, спросе и предложении. Крестьяне производят сырые материалы: еда, сырье для одежды, сырье для производства оружия, гончарных изделий и т.д.Города потребляют сырье и производят готовые товары. Если город богатый и торговля там налажена, то он платит высокие налоги своему сюзерену. Который в свою очередь может позволить содержать себе армию и т.д.И ты можешь по-разному играть с этой системой. Можно грабить корованы на пути к городу. Можно грабить близлежащие к городу деревни, поставляющие ему сырье, тем самым влияя на его благосостояние. И так далее. Это интересная система, там много взаимозависимостей. Но на определенном этапе ты поймешь, что она очень схематична и примитивна: если произошло А, то за ним следует Б. Эта система намертво захардкодена, она не пластична и не эволюционирует.Поэтому говорить, что нет смысла глубоко симулировать экономику, это глупо и необоснованно.
>>298477>Почему в РПГ 2001 года ИИ НПС интереснее чем в современной йобе?not this shit again
>>299249Отлаживать ты как все это будешь? Или на удачу?
>>299249>Я понимаю под этим, что нпс должны перестать быть простыми болванчиками, а стать игроками. Ну охуеть теперь. Пришел в старый лагерь, а Диего там нет, потому что он стал игроком и ушел на охоту, где его съели кабаны. Все, прощай сюжетная линия
>>298436
>>299220>И песочницы пока не могут выдать сюжеты на уровне вручную сделанных игр.Нет программ по выдаче сюжетов на уровне человека - это актуальная проблема CS, а не только игр.АИ самых глубоких игр, вроде Dwarf Fortress -это логика клеточных автоматов. Но тут дело в том, что мир на такой логике начинает реально жить своей жизнью. Результат мало предсказуем и балансить такое - наверное вид искусства.Меня сейчас зацепила концепция нечеткой логики, вроде мощная штука для АИ
Пытаюсь перенести полученные знания на юнити и сделать мой пример с дровосеком выше. Пока получается никак.Тут есть кое-какие подводные камни с конкретной реализацией действий.Ну и еще, например, вот у меня есть действия GotoTree, GotoHome, GotoHuy. Писать для каждой возможной точки по действию явно не очень практично, а как сделать по другому непонятно.
>>300428Или например у меня есть 2 дерева: с одного можно нарубить 5 дров, а с другого 10.
>>300435Нарубил тебе за щеку, проверяй.
>>300435>>300428Тебе нужен процесс экплорейшена мира. Или его симуляция через менеджер точек интереса.
>>298353 (OP)Теперь это нейроночек тредhttps://www.youtube.com/watch?v=L_9F9bO3-mI
>>301934Где можно почитать про это, написанное нормальным языком? А то в этих pdf-ах пара криптоформул и сухое описание. Сам догадывайся как хочешь. Непонятно кто и для кого пишет эти статьи.
>>301945Я про это, если что https://arxiv.org/abs/1609.05521
>>301945http://page.mi.fu-berlin.de/rojas/neural/index.html.html смотри только в штаны не насри
>>301945http://codingadventure.net/index.php/articles/neural-nets-part-1
>>301984Параша для гуманитариев.>>302030Годно. Только это к сожалению hello world уровень.
>>298658> казуальная параша> история игор!111Ясн)
>>298659> В одном этом скриншотеКроме вылизанных или тщательно отобранных отделом маркетинга скриншотов + пиздливых предрелизных роликов то нихуя и нет.
>>298943Подводный камень в том, что ты схватился за свежеувиденную тему как ниже даун схватился за нечёткую логику просто потому что это для вас новость.Раньше вы сами весь ваш материалистическй манямирок строили под чёткую логику с перманентными состояниями окружающих вас персон. А тут оказывается что логика то может нечёткой быть, а персонажи в пространстве и времени сильно меняются.Суть в том, что дерево и таски - это даже не классификация нихуя, а какая-то ебатень высранная ничерта в этом не понимающим клоуном.Есть базовая система принятия решений. Все решения взвешиваются, принимается максимально оцененное.К ней можно довешивать конечные автоматы, системы переоценки весов, связывать оценки весов по генетическому алгоритму, искажать оценку известными человеческими когнитивными дефектами.Всё это в итоге будет только системой принятия решений.
>>299165>>299177ИИ это станет, когда он пойдёт на склад, не найдёт там досок и забьёт.
>>299357Как обычно отлаживают. На бетатесте. Если какой-то параметр дохуя далеко выезжает из набросанной заранее схемы, то смотрят - где можно на него повесить инфляцию или наоборот.>>299388Если ГД столь слабоумен, что не может придумать "завещание диего", "брата диего" или "сына диего", то ему не место в геймдеве.
>>302147Что за бред ты написал, школьник?
>>302154> я не понял, наверное потому что дурак не я
>>302147Выебнулся? Я с тем же успехом могу обоссать твои принятия решений и сказать, что все уже давно решено в рамках теории вероятности, остается только комбинировать готовое и применять. А может лучше признать, что дизайн AI - это отдельная дисциплина, в которую можно вкатиться из очень разных областей знания?
>>302793Всё что ты можешь обоссать - это свои штанишки.Дизайн системы принятия решений - это не отдельная дисциплина. Задача системы в том, чтобы взвесить ценность всех доступных решений и принять одно из наиболее высоко оцененых.Проектирование системы анализа и систематизации информации - это да, отдельная дисциплина. Которая слабо кореллирует с геймдевом, поскольку вся информация внутри комплюхтера уже ультраформальна.Только недавно появились игры с дополненной реальностью и дополненной виртуальностью, где впрочем анализ недискретной информации не выходит за пределы физического уровня модели. Игре насрать - нашёл ты покемона на асфальте или на песочке, если эти асфальты и песочки прямо не прописаны в гугл-мапс.Так же проектирование системы оценки может быть несколько отдельной большой задачей, если мы говорим о действительно сложных моделях, которые взвешивают не "стрельнуть или шагнуть", а "хорошо это или плохо" (hint: до этого уровня аффективного развития далеко не все люди ещё дорастают). Что опять же к геймдеву имеет крайне опосредованное отношение, если мы не занимаемся специфическим геймдевом, развивающим идею façade. Который когда-нибудь обязательно войдёт в геймплей всех эрпоге, но пока что является таким же концептом, как всё что может выдумать на коленке любой кирил.Пока что системы сбора и оценки информации находятся на уровни сири и гугл-нау, что как бы намекает нам, что кирилам делать там нехуй, если они не являются высококлассными программистами, готовыми угрохать только на это 5+ лет.
>>302841Может ты по теме треда будешь что-то писать
>>298353 (OP)Погугли лекции по гейдеву от богомерзкого варгеминга, там в какой-то на пальцах простой пример поведения бота описывается.Для кирилоговна будет более чем достаточно, и на блюпринтах не сложно реализовать.
>>298507Это типичное обычное Behaviour Tree, реализуется мимикириллом за пару вечеров. Даёт достаточно пригодное поведение. Для более сложного делают систему поверх которая принимает решения "что делать" и даёт BT это действие исполнить. Типа решает кинуть гранату, запускается дерево где персонаж кричит "граната", играет анимацию или ещё что делает. Принятие решений тоже можно на кусочки разделить, см. Utility AI.
>>299055В Fear нормально работало. Они просто проверяли и пересчитывали планы периодически.
>>303677>Behaviour Tree, реализуется мимикириллом за пару вечеровРеализуй
>>303688Я исследовал ИИ fear и могу сказать, что GOAP там используется совсем не так как это может показаться на первый взгляд. Эффект от него самый минимальный, а оверхед слишком большой.Основная система принятия решений там совсем не GOAP, а нечто похожее на >>299205 как это ни смешно.а goap уже используются внутри отдельных примитивных действий.