Главное не увлекаться - а то будет как в Кп77 или Старфилде когда есть 100500 моделей еды - а по геймплей забыли :D
Ярослав
Главное не увлекаться - а то будет как в Кп77 или Старфилде когда есть 100500 моделей еды - а по геймплей забыли :D
Ярослав, геймплей прорабатывается по мере работы. Вот я на PDF отвечал про геймплей.
Если коротко, то можно делать всё и при желании следовать по сюжету. Изучать мир, выполнять задания от NPC, которые будут генерироваться динамически в зависимости от различных условий и действий игрока и других NPC, достигать каких-то своих целей. В общем будет живой и динамически изменяемый мир, живущий по своим правилам, в который вплетён сюжет. Игру нельзя будет "пройти", сюжет будет играть небольшую роль в игре и когда он завершиться, то перейдёт в обычную игру без сюжета, но игрок этого не заметит, так как действия игрока и NPC породят цепочку событий которая будет бесконечно развиваться в зависимости от прошлых действий. Сюжет это скорее первоначальное состояние игры и набор целей каждого NPC. К примеру если поменять одному NPC характер на более спокойный, то он свои цели будет достигать более мирными способами. Конкретных ситуаций, которые жёстко заданы - не будет, например, как в cюжете GTA 5, где нужно угнать машину и поехать в определенную точку, где находится гараж. В моём случае всё выглядит по другому - в мире появляется игрок и NPC (не все) наделяются определенными целями. Далее эти NPC начинают действовать - совершать действия, которые приведут в достижению целей. Другие NPC будут реагировать на эти действия и на действия игрока. Если игрок или NPC начинают препятствовать достижению целей, то NPC, в зависимости от своих параметров (характер например), могут отказаться от своих целей, либо начнут преодолевать препятствия. Это отличается от банальных сюжетных миссий в других играх. Даже если игрок не будет ничего предпринимать, а допустим запрётся дома, то жизнь с игре продолжится и без него, а цели у NPC, которые связаны с игроком, будут постепенно отменены.
Hardway, полет фантазии годный, но хоть наброски дизайна подобной системы ai есть? имхо, нереализуемо
安德烈
Hardway, полет фантазии годный, но хоть наброски дизайна подобной системы ai есть? имхо, нереализуемо
Прости, Панда., я когда на Unreal Engine 4 переводил документацию про AI систему Behaviour Tree (Деревья поведений), набросал примитивный вариант для теста, оно работало, но с ростом количества персонажей, тормозило. В Unreal Engine 5 теперь есть другая систем - MassEntity, она позволяет делать огромные толпы людей, которые управляются единой системой. Я еще не вникал, но думаю оно мне поможет в реализации. На канале Gorka Games в YouTube глянул ролики, вроде ничего сложного.
Ярослав, геймплей прорабатывается по мере работы. Вот я на PDF отвечал про геймплей. Если коротко, то можно делать всё и при желании следовать по сю…
Hardway
Ярослав, геймплей прорабатывается по мере работы. Вот я на PDF отвечал про геймплей. Если коротко, то можно делать всё и при желании следовать по сю…
Hardway, Изучать мир, выполнять задания от NPC, которые будут генерироваться динамически в зависимости от различных условий и действий игрока и других NPC, достигать каких-то своих целей.
О! Старые добрые традиции ру геймдева начала 2000х КР, Механойды, Дальнобойшики2 ... "Это хоошо! Нужно как раз вернуться в тот момент когда свернули не туда в мобильные донатные помойки и сосалки из браузеров. И выбрать другой путь. К примеру если поменять одному NPC характер на более спокойный, то он свои цели будет достигать более мирными способами.
Хех - помниться Тодд Говард что то такое втирал перед запуском Обливиона - но по факту там оказалось что весь Радиант АИ оказалось работал не с понятим НПС - а с локациями в которые впечатывалось расписание НПС
А открытый мир Сталкеа и А-Лайфа оказался системой генерацией новых НПС взамен выбвших .
В моём случае всё выглядит по другому - в мире появляется игрок и NPC (не все) наделяются определенными целями. Далее эти NPC начинают действовать - совершать действия, которые приведут в достижению целей. Выбрал уже в каком растояние от игрока будет симуляция ? Хотя если честно - немного не понимаю как это должно будет работать в условиях игры от 1/3го лица типа ГТА Есть понимание?
Hardway, хе хевроде ничего сложногообычно после этой фразы начинается лютый ад :D
安德烈
Hardway, хе хевроде ничего сложногообычно после этой фразы начинается лютый ад :D
Прости, Панда., Помню у меня был Word документ где я расписывал поведение персонажей для игры - симуляции жизни. Там было очень много действий. Начиная от простых, заканчивая мелкими. Сложным поведением будет обладать не все персонажи, а только самые важные - те, которые видны и те которые влияют как либо на игровой процесс в данный момент. После того, как сделаю первую область, смоделирую все объекты, которые должны быть на ней, то буду делать интеллект. Вначале базовые вещи, типа пойти от точки А до точки Б. Заканчивая повседневными делами - выйти из дома, пойти в магазин, купить еды, вернуться домой. Потом сделаю управление автомобилями и систему транспорта. А затем уже каждому персонажу назначу индивидуальные характеристики, которые будут влиять на его поведение.
Прости, Панда., Помню у меня был Word документ где я расписывал поведение персонажей для игры - симуляции жизни. Там было очень много действий. Начин…
Hardway
Прости, Панда., Помню у меня был Word документ где я расписывал поведение персонажей для игры - симуляции жизни. Там было очень много действий. Начин…
Hardway, сложны не сами эти механики, а симуляция выбора, чего и кому делать. причем
Сложным поведением будет обладать не все персонажи, а только самые важные - те, которые видны и те которые влияют как либо на игровой процесс в данный момент.
вот так ты ограничиваешь симуляцию очень сильно. ключевой персонаж не может быть на удалении, иначе система аи не позволит ему "развиваться"
Hardway, Изучать мир, выполнять задания от NPC, которые будут генерироваться динамически в зависимости от различных условий и действий игрока и дру…
Ярослав
Hardway, Изучать мир, выполнять задания от NPC, которые будут генерироваться динамически в зависимости от различных условий и действий игрока и дру…
Ярослав, Хех - помниться Тодд Говард что то такое втирал перед запуском Обливиона - но по факту там оказалось что весь Радиант АИ оказалось работал не с понятим НПС - а с локациями в которые впечатывалось расписание НПС
А открытый мир Сталкеа и А-Лайфа оказался системой генерацией новых НПС взамен выбвших .
Проблема студий в том, что им приходится ради релиза много чего выкидывать и упрощать. Кроме того они не думают о том, как игра будет жить в будущем, на мощном железе.
Прости, Панда., Помню у меня был Word документ где я расписывал поведение персонажей для игры - симуляции жизни. Там было очень много действий. Начин…
Hardway
Прости, Панда., Помню у меня был Word документ где я расписывал поведение персонажей для игры - симуляции жизни. Там было очень много действий. Начин…
Hardway, Ярослав, В целом можно сделать подробную симуляцию как в том же дф, но как показывает практика, что при достижении 200+ особей, даже дф начинает тормозить
Hardway, Ярослав, В целом можно сделать подробную симуляцию как в том же дф, но как показывает практика, что при достижении 200+ особей, даже дф начи…
PikaFun
Hardway, Ярослав, В целом можно сделать подробную симуляцию как в том же дф, но как показывает практика, что при достижении 200+ особей, даже дф начи…
PikaFun, Это верно Но в стратегиях - это обычно делают фейкованием Пути просчета ИИ у НПС Например в Старкрафте - если бы рабочие(SCV и зонды) просчитывались честно - то игра бы тормозила - поэтому там путь до минералов и обратно ЗАПЕКАЕТСЯ и обновление происходит только при исчерапании ресурсов - а пока минералы на месте - рабочий тупо двигается по замкнутой кривой от времени, где не реагирует на других юнитов(если не появится домика на пути)
PikaFun, Это верно Но в стратегиях - это обычно делают фейкованием Пути просчета ИИ у НПС Например в Старкрафте - если бы рабочие(SCV и зонды) просч…
Ярослав
PikaFun, Это верно Но в стратегиях - это обычно делают фейкованием Пути просчета ИИ у НПС Например в Старкрафте - если бы рабочие(SCV и зонды) просч…
Ярослав, Ну это да, но тут судя по тейку хотят именно симуляцию (по описанию это даже новое воплощение A-life). Так что метод запекания путей не всегда будет работать. Но по идеи в удалении можно и особо не симулировать передвижение, ибо это не совсем нужно, а просто имитировать действия, избавившись от просчета путей, и запускать это лишь при приближении игрока Мой главный тейк тут в том, что раннюю версию этого уже стоит делать, а газеровочку и чепсики можно добавить и после)
Ярослав, разве рабочие не реагируют на других юнитов? не помню такого в ск
安德烈
Ярослав, разве рабочие не реагируют на других юнитов? не помню такого в ск
Прости, Панда., Когда добывают ресурсы - игнорируют все кроме зданий Но другие юниты на них очень даже реагируют Это даже получило свое название "Mineral Walk" Причем он начинается в момент отдачи приказа - что позволяет их собирать в компакнтную групку или проходить ими сквозь вражеских юнитов на HOLD'e
Ярослав, Хех - помниться Тодд Говард что то такое втирал перед запуском Обливиона - но по факту там оказалось что весь Радиант АИ оказалось работал …
Hardway
Ярослав, Хех - помниться Тодд Говард что то такое втирал перед запуском Обливиона - но по факту там оказалось что весь Радиант АИ оказалось работал …
Hardway, PikaFun, Ну и вообще хорошая практика при разработки технодемки задавать себе вопрос, что на данном этапе этот элемент будет тестировать и какая у него "работа". Если ответ будет "для красоты", то этот элемент можно ставить в конец списка и идти реализовывать более важные моменты
Hardway, сложны не сами эти механики, а симуляция выбора, чего и кому делать. причем Сложным поведением будет обладать не все персонажи, а только сам…
安德烈
Hardway, сложны не сами эти механики, а симуляция выбора, чего и кому делать. причем Сложным поведением будет обладать не все персонажи, а только сам…
Прости, Панда., вот так ты ограничиваешь симуляцию очень сильно. ключевой персонаж не может быть на удалении, иначе система аи не позволит ему "развиваться"
Упрощение будет наверно в том что у персонажа будет переключаться текущее состояние после некоторого времени, которое нужно для выполнения задачи. Допустим, персонаж живущий на другом конце города, решил пойти в магазин. Мы его не видим, так как находимся в нескольких километрах от него. AI замеряет примерное время которое нужно чтобы дойти до магазина, выполнить покупку и вернуться. Теперь начинаются выполняться эти подзадания - они также выполняются в упрощенном виде - персонаж не двигается по карте, а просто ждет выполнения текущего подзадания. Например, он сейчас идёт в магазин. И тут мы, допустим, приближаемся к нему. На дистанции перехода в "подробный AI", система определяет прошедшее время с начала выполнения подзадания "движение в точку Б" и выбирает точку на маршруте, где персонаж должен находится в пути и ставит его там. Теперь он перемещается обычным способом - идёт и мы его видим. Если мы выйдем из радиуса действия подробного AI, то система опять переключится в упрощенный вид - будет переключать состояния по времени. Естественно в упрощенном виде мы не сможем, например, сбить этого персонажа автомобилем или как-то нарушить ход выполнения его задач.
Прости, Панда., вот так ты ограничиваешь симуляцию очень сильно. ключевой персонаж не может быть на удалении, иначе система аи не позволит ему "разви…
Hardway
Прости, Панда., вот так ты ограничиваешь симуляцию очень сильно. ключевой персонаж не может быть на удалении, иначе система аи не позволит ему "разви…
Hardway, я это понимаю. но какая система заставит персонажа пойти в магазин? вот она и сложна в реализации, потому что должна учитывать тысячи, если не сотни тысяч комбинаций состояний и решать кому и что делать.
Прости, Панда., вот так ты ограничиваешь симуляцию очень сильно. ключевой персонаж не может быть на удалении, иначе система аи не позволит ему "разви…
Hardway
Прости, Панда., вот так ты ограничиваешь симуляцию очень сильно. ключевой персонаж не может быть на удалении, иначе система аи не позволит ему "разви…
Hardway, Вопрос по твоим холодильникам, я правильно понимаю, что каждая бутылка тут это отдельный объект? Или ты все же сделал все это огромным объектом вырезав ненужные объекты ?
в ином случае, если такой системы нет, то вот эти походы нпц в магазин будут просто походами в магазин, которые 1) никак не влияют на геймплей 2) не влияют на систему принятия решений в мире. тогда эти походы в магазин можно выкинуть из игры вообще :) так вот, нужна архитектура именно симуляции принятия решений.
Ярослав, Так вот начинать надо с важных)))сидим на кк, ведем высокоинтеллектуальную беседу. Полагаю, это ВАЖНАЯ И СРОЧНАЯ задача :D
安德烈
Ярослав, Так вот начинать надо с важных)))сидим на кк, ведем высокоинтеллектуальную беседу. Полагаю, это ВАЖНАЯ И СРОЧНАЯ задача :D
Прости, Панда., бутылки? Я бы если честно вообще бы с этикетками не парился сделал бы 5-10 бутылок разного цвета - в зависимости от бонусов ( что бы самому не запутаться) и начинал от этого :)D А этикетку можно налепить и потом.
Hardway, я это понимаю. но какая система заставит персонажа пойти в магазин? вот она и сложна в реализации, потому что должна учитывать тысячи, если …
安德烈
Hardway, я это понимаю. но какая система заставит персонажа пойти в магазин? вот она и сложна в реализации, потому что должна учитывать тысячи, если …
Прости, Панда., но какая система заставит персонажа пойти в магазин?
У каждого персонажа есть потребности со своим приоритетом. Например, самое важное - обеспечение себя едой. Чтобы была еда - нужны деньги. Деньги можно заработать. Чтобы заработать - нужно выполнять определенные действия, например, управлять общественным транспортом. Будет, конечно, некоторый уровень упрощения - глубина детализации. Допустим, во время выполнения работы по управлению общественным транспортом можно пренебрегать желанием поесть, которое вызовет кучу других действий - пойти в кафе на перерыве и там поесть. Для упрощения, такой персонаж будет есть утром и вечером после работы. И это будет формальностью - сильно прорабатывать такие вещи не планирую для второстепенных персонажей. Будет просто "персонаж съел продукт", как все продукты кончаются, он опять идёт в магазин, покупает там типичный набор продуктов и "съедает" их. Для упрощения деньги не будут кончаться, и персонаж будет просто ходить работать, ходить по магазинам и иногда гулять. То есть довольно примитивный интеллект, который со стороны будет выглядеть реалистично, а не так, как в GTA, где они шарахаются бесцельно по городу.
Прости, Панда., но какая система заставит персонажа пойти в магазин?У каждого персонажа есть потребности со своим приоритетом. Например, самое важное…
Hardway
Прости, Панда., но какая система заставит персонажа пойти в магазин?У каждого персонажа есть потребности со своим приоритетом. Например, самое важное…
Hardway, Ты все же проверься - тебя Тодд не покусал? Симптомы похожи
На выставке Е3 2005 Тодд Говард объяснил, что разработчики не собирались жестко прописывать распорядок дня NPC, важные для них локации и расписание сна. Вместо этого Radiant AI обеспечивала персонажей «общими целями», которые определяли поведение персонажей. Динамические диалоги, изменяющиеся в зависимости от действий игрока или состояния мира, тоже были частью системы. В мире The Elder Scrolls IV: Oblivion живет более тысячи уникальных персонажей, и каждый подчиняется алгоритмам Radiant AI. Даже некоторые животные, вроде собаки хозяина книжного магазина, использовали революционный ИИ Bethesda. Помимо этого, NPC работали бы на той же системе навыков, что и игрок — а это значит, что они могли тренироваться и повышать свои характеристики.
А именно : Иногда положительные персонажи могли поймать отрицательных на краже, после чего немедленно казнили их на месте.
Иными словами, без ограничений Radiant AI превращал игру в кровавую баню. Смерти большого количества NPC зачастую приводили к неисправностям в ветках заданий, что создавало серьезные проблемы. Система также оказалась слишком ресурсоемкой для игровых консолей того времени.
Hardway, Вопрос по твоим холодильникам, я правильно понимаю, что каждая бутылка тут это отдельный объект? Или ты все же сделал все это огромным объек…
PikaFun
Hardway, Вопрос по твоим холодильникам, я правильно понимаю, что каждая бутылка тут это отдельный объект? Или ты все же сделал все это огромным объек…
PikaFun, Вопрос по твоим холодильникам, я правильно понимаю, что каждая бутылка тут это отдельный объект? Или ты все же сделал все это огромным объектом вырезав ненужные объекты ?
Каждый тип бутылки - отдельный объект. Количество экземпляров не сильно бьёт по производительности. Для оптимизации используются Nanite - модель разбивается на кусочки, у каждого кусочка свой уровень детализации и каждый кусочек еще грузится с оперативной памяти в видеопамять по мере необходимости.
Если объединить всё в один объект, то оно в памяти будет больше занимать. И еще - я не использую запекание геометрических уникальных неровностей в карту нормалей. Сделать геометрией проще и в памяти эта геометрия будет занимать гораздо меньше места. Например открывашка для банки - это геометрия. Я показал одному чуваку, у него пукан разорвало "ПАЧИМУ НЕ КАРТОЙ НОРМАЛЕЙ??". Геометрия в таком случае занимает несколько килобайт вместо нескольких мегабайт подробной карты нормалей.
PikaFun, Вопрос по твоим холодильникам, я правильно понимаю, что каждая бутылка тут это отдельный объект? Или ты все же сделал все это огромным объек…
Hardway
PikaFun, Вопрос по твоим холодильникам, я правильно понимаю, что каждая бутылка тут это отдельный объект? Или ты все же сделал все это огромным объек…
Hardway, Не боишься что Нанит через некоторое время приведет к ВОЗРАСТАНИЮ запросов на ЦП и ГПУ по поводу просчета телесных углов на тот или иной меш?
А то как я разбирался с нанитами и пришел к выводу , что у них должно быть ВОЛЕВОЕ ограничение - то есть их нужно использовать на ПОВТОРЯЮЩИЕСЯ АССЕТЫ АРХЕТЕКТУРЫ - а не всякую мелочевку - так как Наниты по своей механики очень хорошо позволяют повторить 10 000 раз 1 модель в миллион поликов - но очень плохо 1000 моделей в миллион поликов каждую
Hardway, Ты все же проверься - тебя Тодд не покусал? Симптомы похожи На выставке Е3 2005 Тодд Говард объяснил, что разработчики не собирались жест…
Ярослав
Hardway, Ты все же проверься - тебя Тодд не покусал? Симптомы похожи На выставке Е3 2005 Тодд Говард объяснил, что разработчики не собирались жест…
Ярослав, интеллект для второстепенных персонажей не будет сильно отвлекаться от своих примитивных задач. Некоторые задачи NPC будут поручать друг другу и главному герою. Это будет один из способов получить деньги и некоторые нужные вещички. Важно чтобы игра не выглядела мёртвой если просто встать и наблюдать. И да, в игре упор будет на мирное достижение целей. Скажу больше - в игре не будет насилия совсем. Его достаточно в других играх, в той же ГТА, которая выйдет раньше моей технодемки. Я кстати постараюсь сделать игру, которая противоположна ГТА, но очень на нее похоже. У ГТА есть свои слабые стороны и разработчики не думают о том, о чем думаю я.
Hardway, Не боишься что Нанит через некоторое время приведет к ВОЗРАСТАНИЮ запросов на ЦП и ГПУ по поводу просчета телесных углов на тот или иной меш…
Ярослав
Hardway, Не боишься что Нанит через некоторое время приведет к ВОЗРАСТАНИЮ запросов на ЦП и ГПУ по поводу просчета телесных углов на тот или иной меш…
Ярослав, я проверяю сейчас многие теории по части производительности и ставлю самые тяжелые случаи чтобы система надрывалась. Потом просто смотрю как и что нужно будет оптимизировать. Пока стадия создания ассетов, окружения. Потом уже будет видно стоит ли что-то оптимизировать с учетом будущего железа. Просто хочется чтобы игра подольше прожила. Для этого модели делаются в максимальной детализации чтобы не пришлось потом ожидать появления ремастеров и ремейков. Другими словами качество можно всегда сделать хуже.
Ярослав, интеллект для второстепенных персонажей не будет сильно отвлекаться от своих примитивных задач. Некоторые задачи NPC будут поручать друг дру…
Hardway
Ярослав, интеллект для второстепенных персонажей не будет сильно отвлекаться от своих примитивных задач. Некоторые задачи NPC будут поручать друг дру…
Hardway, Ну такое если често Я бы тогда это рассматривал как тренировку работы с толпой тогда)))
Все же реализм в играх это на самом деле не ВЕСЕЛО) Вон тот же ПОСТАЛ можно пройти МИРНО(но кому это надо?) Или симс в котором все игроки занимаются строительством бассейнов смерти :D "Ну и что? Объясни мне, что в нём интересного? В реальном мире мне нужно составлять список покупок в продуктовом магазине. Поэтому я никогда не думал, что реализм - это весело. Я играю в игры, чтобы получать удовольствие"." (с) Гейб Ньюэлл
Hardway, Ну такое если често Я бы тогда это рассматривал как тренировку работы с толпой тогда))) Все же реализм в играх это на самом деле не ВЕСЕЛО)…
Ярослав
Hardway, Ну такое если често Я бы тогда это рассматривал как тренировку работы с толпой тогда))) Все же реализм в играх это на самом деле не ВЕСЕЛО)…
Ярослав, помню в GTA 3 я подолгу просто стоял и наблюдал как ведут себя персонажи. Мне нравилась атмосфера. Но потом становилось скучно. Я планирую делать живую игру. Допустим, ты просто встал на стоянке у своего дома и просто сидишь в машине. Твой сосед тебя видит. Его текущая задача - пойти в магазин и купить продукты, но его характеристика "лень" довольно высока. Он подходит в тебе и просит купить ему продукты. За это ты получишь вознаграждение. То есть игра будет где играешь не только ты.
Твой сосед тебя видит. Его текущая задача - пойти в магазин и купить продукты, но его характеристика "лень" довольно высока. Он подходит в тебе и просит купить ему продукты.
я бы сказал, его характеристика "лень" просто зашкаливает :)
Прости, Панда., Hardway, Я бы сделал заказ на доставку на дом)
Ярослав
Прости, Панда., Hardway, Я бы сделал заказ на доставку на дом)
Ярослав, - Знаешь, я довольно старый, не доверяю доставщикам. Никогда не знаешь что они привезут. А возиться с возвратом желания нет. А тебя я знаю. Вот тебе деньги, сдачу оставь себе.
DeVi, делаю копию объекта, потом делаю копию этих двух объектов, потом делаю копию этих 4 объектов и так далее. То есть постоянно удваиваю текущее количество копий.
Войдите
на сайт, чтобы оставить свой комментарий...
Главное не увлекаться - а то будет как в Кп77 или Старфилде когда есть 100500 моделей еды - а по геймплей забыли :D
Ярослав, геймплей прорабатывается по мере работы. Вот я на PDF отвечал про геймплей.
Если коротко, то можно делать всё и при желании следовать по сюжету.
Изучать мир, выполнять задания от NPC, которые будут генерироваться динамически в зависимости от различных условий и действий игрока и других NPC, достигать каких-то своих целей.
В общем будет живой и динамически изменяемый мир, живущий по своим правилам, в который вплетён сюжет. Игру нельзя будет "пройти", сюжет будет играть небольшую роль в игре и когда он завершиться, то перейдёт в обычную игру без сюжета, но игрок этого не заметит, так как действия игрока и NPC породят цепочку событий которая будет бесконечно развиваться в зависимости от прошлых действий. Сюжет это скорее первоначальное состояние игры и набор целей каждого NPC. К примеру если поменять одному NPC характер на более спокойный, то он свои цели будет достигать более мирными способами.
Конкретных ситуаций, которые жёстко заданы - не будет, например, как в cюжете GTA 5, где нужно угнать машину и поехать в определенную точку, где находится гараж.
В моём случае всё выглядит по другому - в мире появляется игрок и NPC (не все) наделяются определенными целями. Далее эти NPC начинают действовать - совершать действия, которые приведут в достижению целей. Другие NPC будут реагировать на эти действия и на действия игрока. Если игрок или NPC начинают препятствовать достижению целей, то NPC, в зависимости от своих параметров (характер например), могут отказаться от своих целей, либо начнут преодолевать препятствия.
Это отличается от банальных сюжетных миссий в других играх. Даже если игрок не будет ничего предпринимать, а допустим запрётся дома, то жизнь с игре продолжится и без него, а цели у NPC, которые связаны с игроком, будут постепенно отменены.
Hardway, полет фантазии годный, но хоть наброски дизайна подобной системы ai есть? имхо, нереализуемо
Прости, Панда., я когда на Unreal Engine 4 переводил документацию про AI систему Behaviour Tree (Деревья поведений), набросал примитивный вариант для теста, оно работало, но с ростом количества персонажей, тормозило.
В Unreal Engine 5 теперь есть другая систем - MassEntity, она позволяет делать огромные толпы людей, которые управляются единой системой. Я еще не вникал, но думаю оно мне поможет в реализации. На канале Gorka Games в YouTube глянул ролики, вроде ничего сложного.
Hardway, хе хе
обычно после этой фразы начинается лютый ад :D
Hardway, но в целом идею понял. имхо, но "живого" мира хотя бы как в Косморенджерах и я бы уже удрачивался в эту игрулю :D
Как мне кажется для технодемки как раз стоит сделать играбельную часть, а наполнение мира оставить на потом уже
Hardway,
Изучать мир, выполнять задания от NPC, которые будут генерироваться динамически в зависимости от различных условий и действий игрока и других NPC, достигать каких-то своих целей.
О! Старые добрые традиции ру геймдева начала 2000х КР, Механойды, Дальнобойшики2 ... "Это хоошо!
Нужно как раз вернуться в тот момент когда свернули не туда в мобильные донатные помойки и сосалки из браузеров. И выбрать другой путь.
К примеру если поменять одному NPC характер на более спокойный, то он свои цели будет достигать более мирными способами.
Хех - помниться Тодд Говард что то такое втирал перед запуском Обливиона - но по факту там оказалось что весь Радиант АИ оказалось работал не с понятим НПС - а с локациями в которые впечатывалось расписание НПС
А открытый мир Сталкеа и А-Лайфа оказался системой генерацией новых НПС взамен выбвших .
В моём случае всё выглядит по другому - в мире появляется игрок и NPC (не все) наделяются определенными целями. Далее эти NPC начинают действовать - совершать действия, которые приведут в достижению целей.
Выбрал уже в каком растояние от игрока будет симуляция ?
Хотя если честно - немного не понимаю как это должно будет работать в условиях игры от 1/3го лица типа ГТА
Есть понимание?
Прости, Панда., Помню у меня был Word документ где я расписывал поведение персонажей для игры - симуляции жизни. Там было очень много действий. Начиная от простых, заканчивая мелкими. Сложным поведением будет обладать не все персонажи, а только самые важные - те, которые видны и те которые влияют как либо на игровой процесс в данный момент.
После того, как сделаю первую область, смоделирую все объекты, которые должны быть на ней, то буду делать интеллект. Вначале базовые вещи, типа пойти от точки А до точки Б. Заканчивая повседневными делами - выйти из дома, пойти в магазин, купить еды, вернуться домой. Потом сделаю управление автомобилями и систему транспорта. А затем уже каждому персонажу назначу индивидуальные характеристики, которые будут влиять на его поведение.
Hardway, сложны не сами эти механики, а симуляция выбора, чего и кому делать. причем
вот так ты ограничиваешь симуляцию очень сильно. ключевой персонаж не может быть на удалении, иначе система аи не позволит ему "развиваться"
Проблема студий в том, что им приходится ради релиза много чего выкидывать и упрощать. Кроме того они не думают о том, как игра будет жить в будущем, на мощном железе.
Hardway, Ярослав, В целом можно сделать подробную симуляцию как в том же дф, но как показывает практика, что при достижении 200+ особей, даже дф начинает тормозить
PikaFun, Это верно
Но в стратегиях - это обычно делают фейкованием Пути просчета ИИ у НПС
Например в Старкрафте - если бы рабочие(SCV и зонды) просчитывались честно - то игра бы тормозила - поэтому там путь до минералов и обратно ЗАПЕКАЕТСЯ и обновление происходит только при исчерапании ресурсов - а пока минералы на месте - рабочий тупо двигается по замкнутой кривой от времени, где не реагирует на других юнитов(если не появится домика на пути)
Ярослав, разве рабочие не реагируют на других юнитов? не помню такого в ск
Молока бы ещё)
Ярослав, Ну это да, но тут судя по тейку хотят именно симуляцию (по описанию это даже новое воплощение A-life). Так что метод запекания путей не всегда будет работать. Но по идеи в удалении можно и особо не симулировать передвижение, ибо это не совсем нужно, а просто имитировать действия, избавившись от просчета путей, и запускать это лишь при приближении игрока
Мой главный тейк тут в том, что раннюю версию этого уже стоит делать, а газеровочку и чепсики можно добавить и после)
Прости, Панда., Когда добывают ресурсы - игнорируют все кроме зданий
Но другие юниты на них очень даже реагируют
Это даже получило свое название "Mineral Walk" Причем он начинается в момент отдачи приказа - что позволяет их собирать в компакнтную групку или проходить ими сквозь вражеских юнитов на HOLD'e
Ты по одной бутылке ставишь?)
Hardway, PikaFun, Ну и вообще хорошая практика при разработки технодемки задавать себе вопрос, что на данном этапе этот элемент будет тестировать и какая у него "работа". Если ответ будет "для красоты", то этот элемент можно ставить в конец списка и идти реализовывать более важные моменты
Ярослав, фига, вот это подробности. спасибо за ликбез :)
Упрощение будет наверно в том что у персонажа будет переключаться текущее состояние после некоторого времени, которое нужно для выполнения задачи.
Допустим, персонаж живущий на другом конце города, решил пойти в магазин. Мы его не видим, так как находимся в нескольких километрах от него. AI замеряет примерное время которое нужно чтобы дойти до магазина, выполнить покупку и вернуться. Теперь начинаются выполняться эти подзадания - они также выполняются в упрощенном виде - персонаж не двигается по карте, а просто ждет выполнения текущего подзадания. Например, он сейчас идёт в магазин. И тут мы, допустим, приближаемся к нему. На дистанции перехода в "подробный AI", система определяет прошедшее время с начала выполнения подзадания "движение в точку Б" и выбирает точку на маршруте, где персонаж должен находится в пути и ставит его там. Теперь он перемещается обычным способом - идёт и мы его видим. Если мы выйдем из радиуса действия подробного AI, то система опять переключится в упрощенный вид - будет переключать состояния по времени. Естественно в упрощенном виде мы не сможем, например, сбить этого персонажа автомобилем или как-то нарушить ход выполнения его задач.
Hardway, я это понимаю. но какая система заставит персонажа пойти в магазин? вот она и сложна в реализации, потому что должна учитывать тысячи, если не сотни тысяч комбинаций состояний и решать кому и что делать.
Hardway, Вопрос по твоим холодильникам, я правильно понимаю, что каждая бутылка тут это отдельный объект? Или ты все же сделал все это огромным объектом вырезав ненужные объекты ?
в ином случае, если такой системы нет, то вот эти походы нпц в магазин будут просто походами в магазин, которые 1) никак не влияют на геймплей 2) не влияют на систему принятия решений в мире. тогда эти походы в магазин можно выкинуть из игры вообще :) так вот, нужна архитектура именно симуляции принятия решений.
PikaFun,
Ага принцип деления задач на
ВАЖНЫЕ И СРОЧНЫЕ
ВАЖНЫЕ И НЕ СРОЧНЫЕ
НЕВАЖНЫЕ НО СРОЧНЫЕ
и прочие
Так вот начинать надо с важных)))
Ярослав,
сидим на кк, ведем высокоинтеллектуальную беседу. Полагаю, это ВАЖНАЯ И СРОЧНАЯ задача :D
Прости, Панда., йес. Мне тоже хотелось бы вклиниться в беседу, но за меня тут и так всё сказали :d
Пока что, по крайней мере.
Прости, Панда., бутылки?
Я бы если честно вообще бы с этикетками не парился сделал бы 5-10 бутылок разного цвета - в зависимости от бонусов ( что бы самому не запутаться) и начинал от этого :)D
А этикетку можно налепить и потом.
Прости, Панда., отдыхать тоже надо :)
Если я не ошибаюсь, вот тут есть часть того, как работает AI в DF https://www.youtube.co...
У каждого персонажа есть потребности со своим приоритетом. Например, самое важное - обеспечение себя едой. Чтобы была еда - нужны деньги. Деньги можно заработать. Чтобы заработать - нужно выполнять определенные действия, например, управлять общественным транспортом. Будет, конечно, некоторый уровень упрощения - глубина детализации. Допустим, во время выполнения работы по управлению общественным транспортом можно пренебрегать желанием поесть, которое вызовет кучу других действий - пойти в кафе на перерыве и там поесть. Для упрощения, такой персонаж будет есть утром и вечером после работы. И это будет формальностью - сильно прорабатывать такие вещи не планирую для второстепенных персонажей. Будет просто "персонаж съел продукт", как все продукты кончаются, он опять идёт в магазин, покупает там типичный набор продуктов и "съедает" их. Для упрощения деньги не будут кончаться, и персонаж будет просто ходить работать, ходить по магазинам и иногда гулять. То есть довольно примитивный интеллект, который со стороны будет выглядеть реалистично, а не так, как в GTA, где они шарахаются бесцельно по городу.
Hardway, Главное не поймать баг, что человек очень сильно захочет себе машину, будет работать день и ночь и умрет от обезвоживания х)
Hardway, Ты все же проверься - тебя Тодд не покусал?
Симптомы похожи
На выставке Е3 2005 Тодд Говард объяснил, что разработчики не собирались жестко прописывать распорядок дня NPC, важные для них локации и расписание сна. Вместо этого Radiant AI обеспечивала персонажей «общими целями», которые определяли поведение персонажей. Динамические диалоги, изменяющиеся в зависимости от действий игрока или состояния мира, тоже были частью системы. В мире The Elder Scrolls IV: Oblivion живет более тысячи уникальных персонажей, и каждый подчиняется алгоритмам Radiant AI. Даже некоторые животные, вроде собаки хозяина книжного магазина, использовали революционный ИИ Bethesda. Помимо этого, NPC работали бы на той же системе навыков, что и игрок — а это значит, что они могли тренироваться и повышать свои характеристики.
А именно :
Иногда положительные персонажи могли поймать отрицательных на краже, после чего немедленно казнили их на месте.
Иными словами, без ограничений Radiant AI превращал игру в кровавую баню. Смерти большого количества NPC зачастую приводили к неисправностям в ветках заданий, что создавало серьезные проблемы. Система также оказалась слишком ресурсоемкой для игровых консолей того времени.
Каждый тип бутылки - отдельный объект. Количество экземпляров не сильно бьёт по производительности.
Для оптимизации используются Nanite - модель разбивается на кусочки, у каждого кусочка свой уровень детализации и каждый кусочек еще грузится с оперативной памяти в видеопамять по мере необходимости.
Если объединить всё в один объект, то оно в памяти будет больше занимать.
И еще - я не использую запекание геометрических уникальных неровностей в карту нормалей. Сделать геометрией проще и в памяти эта геометрия будет занимать гораздо меньше места. Например открывашка для банки - это геометрия. Я показал одному чуваку, у него пукан разорвало "ПАЧИМУ НЕ КАРТОЙ НОРМАЛЕЙ??". Геометрия в таком случае занимает несколько килобайт вместо нескольких мегабайт подробной карты нормалей.
Hardway, Не боишься что Нанит через некоторое время приведет к ВОЗРАСТАНИЮ запросов на ЦП и ГПУ по поводу просчета телесных углов на тот или иной меш?
А то как я разбирался с нанитами и пришел к выводу , что у них должно быть ВОЛЕВОЕ ограничение - то есть их нужно использовать на ПОВТОРЯЮЩИЕСЯ АССЕТЫ АРХЕТЕКТУРЫ - а не всякую мелочевку -
так как Наниты по своей механики очень хорошо позволяют повторить 10 000 раз 1 модель в миллион поликов - но очень плохо 1000 моделей в миллион поликов каждую
Ярослав, интеллект для второстепенных персонажей не будет сильно отвлекаться от своих примитивных задач.
Некоторые задачи NPC будут поручать друг другу и главному герою. Это будет один из способов получить деньги и некоторые нужные вещички.
Важно чтобы игра не выглядела мёртвой если просто встать и наблюдать.
И да, в игре упор будет на мирное достижение целей. Скажу больше - в игре не будет насилия совсем. Его достаточно в других играх, в той же ГТА, которая выйдет раньше моей технодемки. Я кстати постараюсь сделать игру, которая противоположна ГТА, но очень на нее похоже. У ГТА есть свои слабые стороны и разработчики не думают о том, о чем думаю я.
Ярослав, я проверяю сейчас многие теории по части производительности и ставлю самые тяжелые случаи чтобы система надрывалась. Потом просто смотрю как и что нужно будет оптимизировать.
Пока стадия создания ассетов, окружения. Потом уже будет видно стоит ли что-то оптимизировать с учетом будущего железа.
Просто хочется чтобы игра подольше прожила. Для этого модели делаются в максимальной детализации чтобы не пришлось потом ожидать появления ремастеров и ремейков. Другими словами качество можно всегда сделать хуже.
Hardway, Ну такое если често
Я бы тогда это рассматривал как тренировку работы с толпой тогда)))
Все же реализм в играх это на самом деле не ВЕСЕЛО)
Вон тот же ПОСТАЛ можно пройти МИРНО(но кому это надо?) Или симс в котором все игроки занимаются строительством бассейнов смерти :D
"Ну и что? Объясни мне, что в нём интересного? В реальном мире мне нужно составлять список покупок в продуктовом магазине. Поэтому я никогда не думал, что реализм - это весело. Я играю в игры, чтобы получать удовольствие"."
(с) Гейб Ньюэлл
Ярослав, помню в GTA 3 я подолгу просто стоял и наблюдал как ведут себя персонажи. Мне нравилась атмосфера. Но потом становилось скучно.
Я планирую делать живую игру.
Допустим, ты просто встал на стоянке у своего дома и просто сидишь в машине. Твой сосед тебя видит. Его текущая задача - пойти в магазин и купить продукты, но его характеристика "лень" довольно высока. Он подходит в тебе и просит купить ему продукты. За это ты получишь вознаграждение.
То есть игра будет где играешь не только ты.
Hardway,
я бы сказал, его характеристика "лень" просто зашкаливает :)
Прости, Панда., Hardway, Я бы сделал заказ на доставку на дом)
Офицер Пупсик, молоко будет. Или какой нибудь молочный коктейль )
Ярослав,
- Знаешь, я довольно старый, не доверяю доставщикам. Никогда не знаешь что они привезут. А возиться с возвратом желания нет. А тебя я знаю. Вот тебе деньги, сдачу оставь себе.
Офицер Пупсик,
DeVi, делаю копию объекта, потом делаю копию этих двух объектов, потом делаю копию этих 4 объектов и так далее. То есть постоянно удваиваю текущее количество копий.
Войдите на сайт, чтобы оставить свой комментарий...