24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
>>298353 (OP) Зачем делать аи, тратить дохуя сил и времени на это, когда единственно. что цепляет аудиторию - графоний и постэффекты с обилием мыльца. Шоб тармазила! Похуй, что нихуя не разабрать, зато риалистична!
>>298355 Вот тебе и ответ про АИ. В игре за 30кк$ нахуй никому аи не нужон, даже поведение нпс как в той же пресловутой утиной готике сделать не удосужились.
>>298392 Зачем? В готеке ты каждый кусок грязи в этой деревне из пары десятков домов запоминаешь. Там в каждом лагере от силы 10 уникальных NPC. Поэтому сделать детальную имитацию нпс это необходимость, иначе бы тупые болванчики сразу бросались в глаза (как в морровинде). В ведьмаке нпс генерируются и исчезают чтобы имитировать густонаселенные города.
ai это лишняя работа и много багов. игроки уже приучены к скриптам и паттернам поведения. нет, хочу изобретать ии и мнить себя богом алгоритмов.
лучше спрайты нарисуй красивые, чтобы запоминались, продумай интересные истории и пропиши характеры, пусть персонажи стоят, но стоят в правильных местах. игрок это больше оценит, чем типа ии, которые будет застревать в текстурах каждые полтора трая.
>>298353 (OP) В игровом ИИ нет ничего сложно. Проблем обычно две - оптимизация и необходисость заставить его естественно тупить (а иначе у игрока нет шансов).
>>298471 >В игровом ИИ нет ничего сложно. Если не сложно, то почему не делают? Почему в РПГ 2001 года ИИ НПС интереснее чем в современной йобе? Мне кажется ты не понимаешь о чем говоришь. Заставить модель ходит по указанному дизайнером пути и говорить рандомные фразы - просто, а сделать чтобы поведение ИИ было похоже на человека - не просто
>>298477 > сделать чтобы поведение ИИ было похоже на человека - не просто Не просто "не просто", а просто НЕ НУЖНО. Играть в игру должно быть ИНТЕРЕСНО. А как оно там - аля скайнет, или скрипты - сугубо все равно.
>>298479 Имхо самый лучший ИИ получится при использовании нейросетей/машинного обучения. Правда для рпг игр такие подходы слабо применимы, так как список действий нпс весьма ограничен, но для шутеров, стратегий и прочих игр встал бы охренительно, и уже через 100 часов геймплея ИИ выдавал бы фантастические вещи.
>>298503 Нет. https://www.youtube.com/watch?v=u2t77mQmJiY&feature=youtu.be Даже за 50 поколений боты хоть и научились что-то делать в этой ПРОСТЕЙШЕЙ игре (а 3д шутаны и стратегии еще сложнее), но они до сих пор ведут себя как умалишенные дебилы. Я не знаю сколько по времени занимает обучение одного поколения, но даже если 1 поколение - 1 минуту - то ты заебешься целый час обучать дебилов. Я не говорю уже про 100 часов, столько можно играть только в очень хорошую и отработанную игру.
>>298505 Ну теоретически можно запустить симуляцию и через n-время получить ИИ для ботов не написав ни строчки кода! Необязательно их тренировать каждый раз с нуля при начале новой игры же. Это бред
>>298505 >>298506 Это бесперспективно. Сейчас ИИ в играх строится из маленьких блоков - написанных программистом примитивных действий,- и алгоритма выбирающего наиболее подходящее действие. Если и использовать обучение, то на этом уровне.
>>298506 >не написав ни строчки кода Не забывай про пердолинг с архитектурой нейросети. Ты знаешь какие именно и в каком виде данные нужно будет передавать туда? Ты знаешь что и в каком виде ты будешь получать? Ты знаешь какая наиболее подходящая архитектура будет для этого всего и с какими параметрами? И после ответа на все эти вопросы ты получишь какой-то неопределенный результат. Может хорошо получится, а может хуево. Пока это все очень дико экспериментально.
>>298516 Ой, ой, ребенку выключили один шейдер! А про работу художников ты-то и забыл. Зато любим всяким low res калом слепленным на коленке восторгаться , это да.
>>298524 > кококок художники А, говно, это опять ты. В обосспсине художники ни при чём. Все интерьеры - это пожатый 3д-скан. А фоточки твои - это промо с е3 и тщательно подобранное игрожуром.
Вообще, хороший ИИ = хороший геймдизайн. Все эти алгоритмы и методы — всего лишь способы реализации (кроме, пожалуй, нейронных сетей — это совсем другая вещь), и все они используются в современных йобах. Знание алгоритмов реализации никак не помогает в решении вопроса, что реализовывать. Отличный ИИ можно запилить хоть на стейт-машинах, просто это будет сложнее.
>>298353 (OP) Для начинающих можно сказать что есть два основных подхода к ИИ. Конечные автоматы - State Machines Хороши для применения во всяких простых игрушках уровня платформеров и шутеров. Целе-ориентированное планирование действий - Goal-Oriented Action Planning (GOAP) Необходимо для стратегий и других игр подобной сложности.
Отдельно как часть ИИ идёт алгоритм поиска пути, самый популярный A* (A star).
я как то сел писать интеллект для крестиков ноликов исписал три рулона бумаги полями три на три и забил думаю, поэтому зедсь не обсуждается создание аи, здесь люди игры делают, а не херней страдают
Взвешиваем по-разному: - ходы, перекрывающие чужую линию - ходы, делающие свою линию - ходы, не перекрывающие чужую линию Совершаем один из ходов с максимальной ценностью.
Добавляем в анализ вращение доски, где просто складываем найденные решения.
Сохраняем веса ходов относительно выигранной/проигранной партии и добавляем эту переменную к базовым весам.
>>298651 >Ну да. Тени, детализацию модели и текстуры поменяли на мыльцо. Лол. В одном этом скриншоте больше искусства, чем во всех играх из гринлайта за последние несклько лет вместе взятых.
Ты давай там, отмывай глаза от мочи уже. Нельзя же вечно так видеть мир искаженным.
>>298646 >исписал три рулона бумаги полями три на три и забил Может, этсамое, не нужно придумывать колесо, а для начала разобраться с пониманием типовых алгоритмов при проектировании ии?
>>298661 Не могу пройти мимо ебанутого школьника-максималиста нелестно отзывающегося о вершине человеческой мысли и труда, только из-за того, что ему в релизе сделали чуть более простое освещение.
>>298666 Как-будто бы они стали делать более простое освещение, если бы плойка не тянула нормально хотя бы в 30фпс. Разве naughty dog виноваты в том, что в PS4 железо говно? Это пекарям можно выбросить любое нерабочее говно и они будут в него играть на 15фпс и еще добавки просить.
Решил запилить AI на behaviour tree. Какие подводные камни? Я уже понял, что это щитай тоже самое визуальное программирование, блюпринты, все дела. Их очень сложно дизайнить и еще сложнее править. Без хорошего редактора лучше не соваться. Какие есть альтернативы?
>>298944 да этот goap больше подходит для неинтерактивных систем, а не для игор. Вся сильная сторона этих планировщиков заключается в том, что состояние мира не меняется само по себе и точно известны эффекты действия на состояние мира. В играх это невозможно и в итоге получается просто огрызок от планировщика немногим лучше тех-же behaviour tree, зато намного более геморройный. Вот я найду я свой охуенный план, и что с ним делать? Тут во первых надо какой-то менеджер который будет выполнять действия по очереди. А во вторых, пока я выполню несколько действий, в игре уже может все поменяться и план протухнет. Это что каждую секунду новые планы считаь.
>>299055 >просто огрызок от планировщика То есть будет получаться в лучшем случае 2-4 действия. Вот такие например планы в играх делать просто невозможно
>>299055 Альтернатива? Просто у тебя с любым другим способом будут ровно те же проблемы. Алсо, у тебя какая-то хуйня на пикчах, особенно на второй. Нахера ты там на весь бой вперёд напланировал?
>>299076 >Нахера ты там на весь бой вперёд напланировал? Так в этом и суть. Зачем нужен планировщик, если он выбирает 1-2 действия. С таким-же успехом можно написать foreach (var action in actions) if (action.IsValid()) action.Run(); return;
планировщики нужны для решения совсем других задач. В играх их использовать бред. Ну или как вариант делать какой-нибудь план для NPC на день типа как в готеки.
>>299084 Ты нихуя не понял. Планировщик нужен затем, чтобы ты персонажу сказал: "хочу доски", а он пошёл к кузнецу, взял у него топор, пошёл в лес, нарубил деревьев, обстрогал и сделал доски.
>>299167 Затем, теоретик ты ебучий, что а) доски могут просто лежать на соседнем складе, поэтому твой персонаж пойдёт туда и возьмёт их б) у кузнеца может не оказаться топора, поэтому твой персонаж пойдёт и купит ему топор (или сразу доски, в зависимости от того, что дешевле) в) кузнеца может вообще не быть, поэтому твой персонаж сначала скрафтит себе топор, а потом пойдёт делать доски.
>>299205 Ты же троллишь меня? Ну напиши в 20 строчек, чтобы соблюдались все условия из того поста, на который ты ответил, и чтобы их легко было добавлять, а потом докажи, что у тебя не гоап получился. >Давай реальные примеры. Почему мне кажется, что ты в игры даже не играл, не говоря уже про делал? В каждой второй игре таких примеров десятки. Ок, держи реальный (очень простой) пример. Есть шахта, в которой добывают железо. Есть лес, в котором можно взять палки и рубить деревья. Есть угольная шахта, где добывают уголь. Есть предметы: хуёвый топор (камень + палка), хуёвая кирка (камень + палка), хороший топор (железо + выструганное топорище), хорошая кирка (железо + выструганная рукоять (не знаю, как её зовут)), есть кузнец, которому для кузни нужно либо дерево (плохо (допустим, в два раза дольше)) либо уголь (хорошо), и который может производить топоры и кирки совсем без кузни (хуёвые) или с ней (хорошие). И есть персонаж, который делает доски из брёвен в лесу. Алсо, в деревне остановился корован, который продаёт всё перечисленное за шекели, и иногда лучше купить что-то, вместо того, чтобы идти по всей цепочке производства. Твоя задача написать в двадцать строчек ии, который будет адекватно действовать в этой ситуации. Алсо, предметы будут добавляться в игру со временем (возможно, модами) вместе со всем производственным процессом для них.
>>299205 Я поддвачну того анона, c которым ты споришь, хоть у меня пока опыт написания ии на твоем уровне, который я назвал бы околонулевым, уж извини. Твоя логика применима там, где нужна создать видимость интеллекта. К примеру как это сделано в той же Готике 2. Там у каждого нпс есть своя профессия: фермер, кузнец, торговец. И распорядок дня выглядит грубо так: с утра и до вечера непись выполняет свою работу, после работы может сходить в таверну, а затем спать. И за счет разнообразия занятий нпс создается видимость того, что мир кипит жизнью, а не просто статическая картинка, ждущая своего героя. Но это всего-лишь видимость, потому что нпс не совершают никаких действий влияющих на состояние мира. Мир статичен и его судьбу решает только гг.
Ты со своим примером логики не сможешь решить задачу мира, в котором нпс совершают реальные действия и взаимодействуют друг с другом и это логически отражается на состоянии мира. Просто попробуй описать какими алгоритмами ты решишь задачу динамического мира, как в том примере анона с топором, только теперь у тебя есть 10 нпс, которые динамически взаимодействуют друг с другом. Ты тупо не сможешь захардкодить всю эту логику. Потому что никто еще не смог подобного сделать. Игры, где нпс влияют на состояние мира, это зачастую песочницы, в которых квесты являются рутинными действиями: Mount and Blade; X3; Парадоксо-дрочильни — это во что я скромно играл. И песочницы пока не могут выдать сюжеты на уровне вручную сделанных игр.
>>299220 >нпс влияют на состояние мира Что ты под этим понимаешь? В rts рабочие например рубят деревья, собирают ресурсы и т.д. Не вижу в этом ничего сложного. В рпг это не делают, потому что нет смысла симулировать экономику так глубоко.
>>299237 >Что ты под этим понимаешь? В rts рабочие например рубят деревья, собирают ресурсы и т.д. Не вижу в этом ничего сложного То ли ты троллишь, то ли действительно не понимаешь. Я понимаю под этим, что нпс должны перестать быть простыми болванчиками, а стать игроками. Они должны играть в игру, иметь цели, мотивации. И чем сложнее их логика, чем ближе они к симуляции реального игрока, тем лучше.
>В рпг это не делают, потому что нет смысла симулировать экономику так глубоко. Ну смешно же. Я возьму для примера Mount and Blade. Конечно, экономика, там вспомогательный инструмент, но тем не менее. Она устроена на стандартной экономической модели, спросе и предложении. Крестьяне производят сырые материалы: еда, сырье для одежды, сырье для производства оружия, гончарных изделий и т.д. Города потребляют сырье и производят готовые товары. Если город богатый и торговля там налажена, то он платит высокие налоги своему сюзерену. Который в свою очередь может позволить содержать себе армию и т.д.
И ты можешь по-разному играть с этой системой. Можно грабить корованы на пути к городу. Можно грабить близлежащие к городу деревни, поставляющие ему сырье, тем самым влияя на его благосостояние. И так далее. Это интересная система, там много взаимозависимостей. Но на определенном этапе ты поймешь, что она очень схематична и примитивна: если произошло А, то за ним следует Б. Эта система намертво захардкодена, она не пластична и не эволюционирует. Поэтому говорить, что нет смысла глубоко симулировать экономику, это глупо и необоснованно.
>>299249 >Я понимаю под этим, что нпс должны перестать быть простыми болванчиками, а стать игроками. Ну охуеть теперь. Пришел в старый лагерь, а Диего там нет, потому что он стал игроком и ушел на охоту, где его съели кабаны. Все, прощай сюжетная линия
>>299220 >И песочницы пока не могут выдать сюжеты на уровне вручную сделанных игр. Нет программ по выдаче сюжетов на уровне человека - это актуальная проблема CS, а не только игр.
АИ самых глубоких игр, вроде Dwarf Fortress -это логика клеточных автоматов. Но тут дело в том, что мир на такой логике начинает реально жить своей жизнью. Результат мало предсказуем и балансить такое - наверное вид искусства.
Меня сейчас зацепила концепция нечеткой логики, вроде мощная штука для АИ
Пытаюсь перенести полученные знания на юнити и сделать мой пример с дровосеком выше. Пока получается никак. Тут есть кое-какие подводные камни с конкретной реализацией действий. Ну и еще, например, вот у меня есть действия GotoTree, GotoHome, GotoHuy. Писать для каждой возможной точки по действию явно не очень практично, а как сделать по другому непонятно.
>>301934 Где можно почитать про это, написанное нормальным языком? А то в этих pdf-ах пара криптоформул и сухое описание. Сам догадывайся как хочешь. Непонятно кто и для кого пишет эти статьи.
>>298659 > В одном этом скриншоте Кроме вылизанных или тщательно отобранных отделом маркетинга скриншотов + пиздливых предрелизных роликов то нихуя и нет.
>>298943 Подводный камень в том, что ты схватился за свежеувиденную тему как ниже даун схватился за нечёткую логику просто потому что это для вас новость.
Раньше вы сами весь ваш материалистическй манямирок строили под чёткую логику с перманентными состояниями окружающих вас персон. А тут оказывается что логика то может нечёткой быть, а персонажи в пространстве и времени сильно меняются.
Суть в том, что дерево и таски - это даже не классификация нихуя, а какая-то ебатень высранная ничерта в этом не понимающим клоуном.
Есть базовая система принятия решений. Все решения взвешиваются, принимается максимально оцененное.
К ней можно довешивать конечные автоматы, системы переоценки весов, связывать оценки весов по генетическому алгоритму, искажать оценку известными человеческими когнитивными дефектами.
Всё это в итоге будет только системой принятия решений.
>>299357 Как обычно отлаживают. На бетатесте. Если какой-то параметр дохуя далеко выезжает из набросанной заранее схемы, то смотрят - где можно на него повесить инфляцию или наоборот.
>>299388 Если ГД столь слабоумен, что не может придумать "завещание диего", "брата диего" или "сына диего", то ему не место в геймдеве.
>>302147 Выебнулся? Я с тем же успехом могу обоссать твои принятия решений и сказать, что все уже давно решено в рамках теории вероятности, остается только комбинировать готовое и применять. А может лучше признать, что дизайн AI - это отдельная дисциплина, в которую можно вкатиться из очень разных областей знания?
>>302793 Всё что ты можешь обоссать - это свои штанишки.
Дизайн системы принятия решений - это не отдельная дисциплина. Задача системы в том, чтобы взвесить ценность всех доступных решений и принять одно из наиболее высоко оцененых.
Проектирование системы анализа и систематизации информации - это да, отдельная дисциплина. Которая слабо кореллирует с геймдевом, поскольку вся информация внутри комплюхтера уже ультраформальна. Только недавно появились игры с дополненной реальностью и дополненной виртуальностью, где впрочем анализ недискретной информации не выходит за пределы физического уровня модели. Игре насрать - нашёл ты покемона на асфальте или на песочке, если эти асфальты и песочки прямо не прописаны в гугл-мапс.
Так же проектирование системы оценки может быть несколько отдельной большой задачей, если мы говорим о действительно сложных моделях, которые взвешивают не "стрельнуть или шагнуть", а "хорошо это или плохо" (hint: до этого уровня аффективного развития далеко не все люди ещё дорастают). Что опять же к геймдеву имеет крайне опосредованное отношение, если мы не занимаемся специфическим геймдевом, развивающим идею façade. Который когда-нибудь обязательно войдёт в геймплей всех эрпоге, но пока что является таким же концептом, как всё что может выдумать на коленке любой кирил.
Пока что системы сбора и оценки информации находятся на уровни сири и гугл-нау, что как бы намекает нам, что кирилам делать там нехуй, если они не являются высококлассными программистами, готовыми угрохать только на это 5+ лет.
>>298353 (OP) Погугли лекции по гейдеву от богомерзкого варгеминга, там в какой-то на пальцах простой пример поведения бота описывается. Для кирилоговна будет более чем достаточно, и на блюпринтах не сложно реализовать.
>>298507 Это типичное обычное Behaviour Tree, реализуется мимикириллом за пару вечеров. Даёт достаточно пригодное поведение. Для более сложного делают систему поверх которая принимает решения "что делать" и даёт BT это действие исполнить. Типа решает кинуть гранату, запускается дерево где персонаж кричит "граната", играет анимацию или ещё что делает. Принятие решений тоже можно на кусочки разделить, см. Utility AI.
>>303688 Я исследовал ИИ fear и могу сказать, что GOAP там используется совсем не так как это может показаться на первый взгляд. Эффект от него самый минимальный, а оверхед слишком большой.
Основная система принятия решений там совсем не GOAP, а нечто похожее на >>299205 как это ни смешно. а goap уже используются внутри отдельных примитивных действий.
Пришло время нарушить молчание и обсудить. Обсуждаем.