24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноны, видите ли, я сраный аутист и люблю создавать и отыгрывать различные сценарии. Недавно додрочил СиПлюсы до уровня - могу что-то написать и в чем-то разбираюсь. Хочу выбрать себе движок, мой выбор пал на два движка: Unreal Engine 4 - тут многие говорят, что он дохуя жрет ресурсов и вообще требователен ко всему, можете пояснить почему? И вообще, правда ли это? Еще он вроде разрабатывается и постоянно изменяется, что меня отпугивает от него, ибо хочется постоянство. Юнити 5 - почти неизвестное мне поделие, все игры, которые я видел на этом движке жрут дохуя, слабо могут в физику и выглядят не слишком то красиво. А что мне лично нужно? Мне не нужно сильного графона (хотя, чтобы все выглядело как говно тоже не хочу), больше хочу оптимизации и физических взаимодействий. Можете пролить свет на истину?
>>102694392 (OP) > Unreal Engine 4 - тут многие говорят, что он дохуя жрет ресурсов Запусти ебучий Kholat, например, да посмотри сам. Графон так себе, но фпс проседает по самое не балуйся.
>>102694866 А почему так? Может это настолько убого сделанная демка или все же движок дерьмо? Что-то слабо верится, что целая компания разрабатывает дерьмо, которое идет только на самом топовом софте.
>>102694866 Я хуею с современных экспертах. Лагает он не просто ПОТОМУШТА ЭТА ЧИТВЕРТЫЙ АНРИАЛ ПЛАХОЙ, а из-за графона что там используется. Лагать он спокойно может и из-ха HBAO с ультра фильтрацией на любой пеке. Тот же самый UT последний вообще не лагает и вглядит круто.
Так и есть, оба движка жрут ресурсы здорово.Помню brothers a tale of two sons(унреал движок) показывала столько же фпс скалько и Скайрим. А про юнити вообще молчу...немного переборщишь с травой, то узришь слайды. Сам быдлокодер, хз, если ты немного смекаешь, можно чего нить наворотить и там и там.
Кстати, а что с открытым кодом Анриала? Знаю, что у других движков его нет, а у этого есть. Как это вообще осуществляется, я могу скачать сам двиг и перепиливать его под свои нужды?
Unreal Engine 4 - тут многие говорят, что он дохуя жрет ресурсов и вообще требователен ко всему, можете пояснить почему? >Там по умолчанию включено дохуя эффектов, которые в сцене могут быть и не использованы. Если ты отключишь ненужное, то можно вполне играть/редактировать всё что угодно. >Еще он вроде разрабатывается и постоянно изменяется Добавляются новые фишки и убираются баги, но проблем с совместимостью нет. Для человека, который не может в код это идеальный вариант. мимоизучаю
>>102695405 Чтобы красиво выглядело, очевидно. А вообще, раз разрушаемость объектов уже сделана без лагов, то почему бы не допустить деформацию? Представь, как можно было бы оторвать лист стали от танка.
>>102695168 Привет, вот этого уебана не слушай >>102695507 >шейдеры Это слишком общий ответ, сейчас мать его все шейдеры.
Для создания огня пилять систему партиклов, частиц. Это такие плоскости, на которые накладывают с прозрачностью разные заанимированные текстуры. Алгоритм морфит их по разному, рождает в разных местах, добавялет искры (которые тоже текстурка) дым и создается иллюзия огня. Задача артиста нарисовать годную анимацию огня, а дизайнера, грамотно собрать в огонь.
>>102695137 да. Тебе после регистрации дадут доступ к репе на гитхабе. По поводу страха из-за допилов движка - просто не апай репу и обновлений не будет. Вот тебе и стабильность. Так ребята в KillingFloor2 поступили ещё в третьей версии движка и теперь из-за своих костылей не могут обновиться до 4-ой. По поводу того, что много жрёт - хуета. Просто одни говнокодеры делают игру не думая об производительности, а другие в рот ебали древние пекарни. Добавь сюда самые торговые графические технологии, которые мудаки не отключают и получишь бугурт некроблядей.
>>102695791 А как делают и разрушаемый ландшафт, например? Оно же ясно, что при взрыве бомбы образуется воронка. Не будут же каждую песчинку считать за отдельный объект
Теперь про UE4. Преимущества. На данный момент из коробки UE4 дает лучший графон чем Unity. Быстрее обсчитывает статичный свет и вообще для AAA игр подходит лучше, потому что процесс разработки гибче. Ебашишь c++ классы, потом от них херачишь блупринты и вуаля, дизайнеришь в одном месте, пишешь код в другом месте. Компонентный подход гибче чем в Unity из-за этого. Плюс, если тебе непонятно как работает персонаж, ты всегда можешь открыть базовый класс и посмотреть, движок написан достаточно понятно и все исходники у тебя есть. Плюс оттуда же можно выцеплять примеры того как юзать всякое говно.
>>102695998 с разрушаемым ландшафтом ебись сам. кто как хочет - так и реализует. а вообще, это уже пздц. сказал бы, что редактор кода только на картинках видел - честнее бы было.
>>102695968 Качать Анриал из из репозитория и собирать руками красноглазие лютое. Надо только если тебе вдруг понадобилось собственные дедики собирать. И то можно обойтись без этого.
Рекомендую юзать винду и стандартный лаунчер, так вы будете писать игры а не ебаться с движком.
>>102696075 Так я и не писал нигде, что работал с ними, с юнити немного работал, мне он не особо понравился и я его бросил, посмотрел обзоров на анриал и пару гайдов + демку скачал, вот и все.
>>102695859 Говнопуть это написать быстророждаемый огонь, тогда он родит по частице в каждом пути следования огнемета. я так делаю потому что скорость) Правильный путь - воспользоваться спецсистемой частиц, которая называется trail.. Это такая частица, которая умеет растягиваться и копировать себя много раз по пути следования и гаснет через какое-то время.
>>102696190 Да вот я думаю, что никто не умеет в ИИ. Даже в группе вконтаче кажется что никто этим не занимается и на ютубе уроков нет. И большинство игр, которые выходят обычные бродилки в пустом мире. Надо бы эту нишу занять.
>>102695472 Все уже сделано, технология ждет игр в которых появится. Есть где-то демка анриллера где эмулируют воду, подушки , отрываемые ткани и прочую фигню. Плюс в анриллере есть destructible meshes из коробки
>>102696285 >обычные О, кстати, насчет ИИ. Кто пробовал использовать нейронные сети? Как оно вообще? Может ли программа самоубучиться и стать ебать всех?
>>102696330 >Отрываемые ткани Херасебе, вы там охуели в такой хай-тек лезть, может еще сделаете то, что с персов можно будет одежду сдирать, а? Не нравится мне то, что я думаю о технологиях всегда хуже, чем они есть.
>>102696285 Я тебе поясню почему. AI нижнего уровня это всякая эвристика типа поиска пути, она есть из коробки и в ней не интересно разбираться.
AI верхнего уровня это оценка обстановки, понимание куда идти, кого из врагов атаковать. В UE есть blackboard хуета. Там можно заводить информацию о мире, врагах, аллахе. А обрабатывать ее ты должен самостоятельно и лучше из под плюсов. Максимум можешь блупринт ноды для дизайнера запилить. И тут все сильно кастомное. Функции оценки очков игрового мира и прочее.
>>102696492 А что с разрушаемость объектов? Задается для каждого объекта отдельно и настраивается на определенное взаимодействие? Или есть отдельная физика для дерева, камня, кирпичной кладки и подобного?
>>102696012 Плюсы анриллера. Интеграция с системой версионирования. Можно работать с git. Офигенный плюс. На версии 4.8 были замечены проблемы при удалении асетов, но это же не повод наслаждаться системой версионирования. Плюсовые классы работают отлично, мерджится все тоже хорошо. в Unity как-то посложнее с этим.
>>102696460>>102696492 Ну хуй знает. Как раз в этих блекбоардах я бы и хотел разобраться, но судя по всему без пол литра это сделать не реально. А то мне еще вот сюда >>102695416 надо противника добавлять, боюсь начинать даже.
>>102696635 Еще один плюс это сетка анриллера. Нигде из коробки ты не получишь готовую сетевую игру. Анриллер это тебе дает сразу. Достаточно прочитать четырехстраничный документ Replication. Дальше про минусы.
>>102696350 Нейронные сети хороши настолько, насколько хорош ты сам, никакой панацеи нет.
Если ты просто скормишь ей все события игрового мира и будешь гладить по головке за победы, нихуя хорошего из этого не выйдет.
Другое дело, если на вход ты будешь подавать вручную подогнанные и тщательно выверенные переменные, вроде как угол обзора, ближайшая нода на карте (да, по карте строишь сетку и тоже фалломорфируешь до тех пор, пока она не будет отражать реальную ситуацию в игре. То есть если ты строишь сетку по de_dust, то ключевые узлы должны сойтись на наиболее значимых позициях где больше всего экшна), и вот это вот все. Если удастся все автоматизировать - то да, нейронная сеть вполне возможно будет сносно играть в это говно.
Но зачем, если играя с компом у тебя все равно несимметричная информация. Комп итак знает, где ты сидишь, какие карты у тебя в руке и вообще все. Так что если нужно, чтобы он ебал игрока, реализуемо это гораздо проще.
>>102696708 Теперь про минусы. Требовательный к ресурсам. Он все же для ААА игр, бро. Как бы эпики не пытались усидеть на всех стульях, но из коробки не собирается HTML5 даже стандартный пример который должен собраться. Не собирается под андроид, а если соберется, то будет весить гигабайт ебаный. Так что если ты хочешь все таки пилить под андроиды, то для тебя только юнити сейчас.
Может с выходом единой инфраструктуры под винды (ждем вин10 для телефонов) все улучшиться, но пока нет.
Еще один минус это высокий порог взождения в анриллеровские плюсы. По факту анриллер это даже не плюсы уже, а набор их собственных макросов, которые ты должен вставлять в правильном порядке вокруг своего кода. И у тебя может не работать сетка, потому что ты забыл UFUNCTION() ебаный где-то. Чтобы просто заспаунить объект надо поебаться рили.
>>102696778 Нет, это называется авторити сервер. Игровой мир хранится на сервере и иногда посылается клиентам. Они на основе информации экстраполируют будущее игрового мира и пытаются ему соответствовать. Весь спаун только на сервере. Часть инфы разумно хранить на клиенте для экономии трафики. Ну и это эволюционно лучший способ организации сетки. Остальные отмирают. В большой конторе где я работаю мы тоже переходим на такой.
Программисты всего лишь обслуживающий персонал для дизайнеров и художников, которые создают божественные игры. Так что ОП не выёбывайся и просто предлагай свои услуги кодера, людям которые умеют делать игры
>>102697098 Гонки пишите? Потому что для хаотично движущихся игроков предикшн так себе. Ничего кроме как откатить всех клиентов на n миллисекунд адекватно не работает.
если не брать в расчет экзотические системы всяких файтингов. локстеп с варьирующейся скоростью анимации это охуенно. идея, конечно, стара, но ребята охуенно сделали
>>102697207 Можешь рассказать про разрушаемость объектов? Меня интересует: Как это действует во взаимодействии с предметом (Например, как реализовать взлом двери топором)
>>102697327 То-то ты от предикшена в последнем Unreal Tournament страдаешь. В игровой сетке такие скорости, что ты не отличишь эту хаотичность от их намерений. Плюс анимации персонажа на клиенте сглаживают все неточности. >Сеть анрила это такое. Ну это правда лучшее что у нас как у инди разрабов есть сейчас. За исключением проприетарных штук в больших конторах.
>Гонки пишите? NDA же, я не могу сказать даже гонки или нет пока нет анонса.
>>102696851 А если не давать нейронной сети ничего такого и пусть она ведет себя как обычный объект, не получая всю информацию от событий в мире? Например, можно написать систему событий и логик по которой она будет действовать и должна будет выбрать максимально эффективную.
>>102697708 >систему событий и логик по которой она будет действовать Это называется reflex agent и это днище ебаное, хотя без него и не обойтись на верхнем уровне.
По факту у тебя должна быть не реакция на какие-то события, а набор доступных действий и последствий. Каждое принесет очки. Агент должен выбирать такую последовательность которая даст максимум.
>>102697802 По поводу реализации. Класс двери должен уметь отдавать свой дестрактибл меш. Разрушаемый компонент добавляет перегрузку на TakeDamage и берет точку попадания и дестрактибл меш и в этой точке создает повреждение. Теперь этот компонент можно положить на любое говно где есть дестрактибл меш и оно его разрушит.
>>102694392 (OP) Вон СОМА вышла, там в комплекте есть мод тулы, физика есть, графоний не передовой, но в целом приемлемый, оптимизация хуй знает, на форуме стима много жалоб, но основную массу пофиксили уже в патчах.
>>102698117 По поводу непередового графина. Если ты начинаешь пилить игру сейчас, то закладываться надо на производительность компов через год, поэтому ты можешь позволить себе, чтобы игра тормозила на максималках. Такие дела.
>>102697403 Традиционно, при ударе оружие вызывает на объекте обработчик получения урона.
Дверь, получив координаты точки удара и тип повреждения (топор, пистолет итд) перестраивает свою полигональную сетку. Собственно, если движок из коробки вкусно эту сетку строит, то ему большое спасибо, так как это ключевой этап.
А насчет двери, то у тебя еще мозгоебства прибавится с обработкой столкновений. Одно дело поломать на щепки и получить из 1к трисов 35к, а другое дело по этим 35к посчитать столкновения. Для физики тебе надо будет отдельный меш меньшей детализации. Если движок может и в это - то тебе только api прочитать.
>>102697646 Если память не изменяет, там игровой контроллер ведет себя как RigidBody, потому и применимо. Если нужна ювелирная работа с регистрацией точных попаданий, то предикшн дров наломает.
>>102697708 Если совсем грубо - читай нейронная сеть - матрица. На вход ты подаешь набор чисел. Вот и думай, как тебе мир этими числами выразить.
Построить эту самую систему логик и есть задача нейронной сети. Если у тебя уже есть модели поведения и тебе нужно выбрать лучшую, есть варианты проще и эффективнее, чем нейронная сеть.
>>102698252 >а другое дело по этим 35к посчитать столкновения А зачем? Нельзя собственно навесить их падение в зависимости от направления там и путь себе щепки летят?
>>102698252 >Если нужна ювелирная работа с регистрацией точных попаданий, то предикшн дров наломает.
Да, ты прав, но тогда ювелирная работа просто проводится на клиенте с учетом состояния мира на его машине, хотя это заставит усилить защиту от читаков, но позволит точно оценить точку попадания и все такое.
Получается, выбирают все только из этих двух движков? Мне вот анриал и плюсы намного больше нравится, чем юнити и шарп, но хочу, чтобы под мобильные платформы писать простенькие игры можно было. В уе это делать совсем не рационально?
>>102698473 В точку. Исключая читаков, работу по сети можно куда эффективнее сделать.
>>102698460 На щепки без разницы, пусть падают. Столкновение игрока с остатками двери - вот в чем суть. Если остатки двери стали очень высокополигональными - будет тормозить.
>>102698550 А как делают в 2015? Просчитывать все столкновения щепок из двери - сумасшествие. Во всяких баттлфилдах я видел, что объекты вообще разрушаются по заданной модели разрушения и им совсем похуй.
>>102698587 К сожалению на данный момент это не рационально. Я выбрал UE стал более менее середнячком в нем и теперь грущу немного, что не могу в андроид.
>>102698667 Щепки пилят на частицах. Есть такая тема Physic particlces, учитывают коллизии с объектами. Я хз как работает, я все таки не движковый проггер, но там обсчет идет на видяхе, что сильно упрощает дело.
>>102698252 >Построить эту самую систему логик и есть задача нейронной сети. Если у тебя уже есть модели поведения и тебе нужно выбрать лучшую, есть варианты проще и эффективнее, чем нейронная сеть. Про нейронную сеть я знаю, только не особо представляю то, как она будет придумывать свои логики, вроде обойти игрока, ебнуть его тем или тем приемом или выстрелить из-за укрытия.
Кстати, вы тут про движки говорите и аутизм. А насколько реально человеку, который разбирается в этом движке найти работу? Все компании, которые что-то разрабатывают работают на западе же, у нас их нету.
>>102699032 Бонус за атаку в спину +10 абстрактных очков. Бонус за нахождение за укрытием +3 абстрактных очков.
Один прием +10, но лочится с вероятностью 50% Другой +2, но не лочится.
И он такой посчитал, ага спрятаться и ебнуть вторым это 5 очков. Обойти и стукнуть вторым это 10 очков + 5 очков. Значит буду обходить и ебать первым приемом.
Все остальное - черный ящик. Сеть и "придумает" набор адекватных действий на каждое состояние игрового мира. разумеется, если ты правильно выбрал входные параметры
>>102699148 Лул, залез я в гугол и увидел первую же вакансию. Требуются люди на должности: 1)Художник 1.1) Концепт-художник 1.2) Художник по текстурам 2) Геймдизайнер 2.1) Дизайнер Геймплея 2.2) Дизайнер Уровней 3) Программист 4) Звуко-инженер 5) Просто человек с ПРЕКРАСНОЙ фантазией и владением Photoshop на среднем уровне(но если фантазия действительно отменная то можно и без PS). 6) Человек владеющей Unreal Engine 4 7) Так-же нужен человек владеющей одной, из выше перечисленных, специальностью, с свободным владением английского языка.
Возраст желательно от 18 лет. Иметь Skepe, микрофон, возможность регулярно выходить на связь ( не менее 1 раза в день, продолжительностью до 5 часов). Быть адекватным и не проявлять свое недовольство той или иной нацией/страной/религией. Уметь работать в команде. Если вы решили вступить в наши ряды, вы должны понимать что это не на один день и даже ни на один год. Я предлагаю работать не на меня, а со мной!
>>102699085 Друг, я могу в Java, я даже писал однажды ЭНТЕРПРАЙЗ. Тут вопрос приоритетов. Я хочу доказать, что ААА доступно не только большим конторам, но и мудакам типа меня.
>>102699223 Ага, то-есть сеть выбирает из вариантов, которые ей уже прописаны. Ну так это и есть список доступных действий. Хм, надо будет ее пойти опробовать, может она и сможет въебать игрока.
>>102699090 Я устроился в большой геймдев из-за этой хуйни. UE4 набирает обороты и спрос превышает предложение сейчас. Скоро будет рили большая зарплата если ты мастер UE4, потому что все макаки сделали ставку на юнити.
>>102699452 Варианты это кирпичи кода. Стукнуть топором. Пройти шаг вперед и все такое. Из них строится поведение. Это не то же самое, что, если два врага стоят впереди то прятаться, а если один то нападать. Потому что вдруг ты не учел ситуацию с тремя врагами.
Будет сетью, если эти +10 +5 она сама будет находить и оценивать, насколько полезен тот или иной скилл, и назначать удару в спину, например + 8.32, да и то, это кастрированный вариант.
>>102699643 >насколько А как она это оценит то без ошибок, если в определенной ситуации у нее получилось, а потом игрок заблочит удар из-за спины. Сука, как же заебала капча, текстовая мало того, что не работает, а графическая заебывает мылом в изображении улиц, я ее решаю по 7 минут, как аутист
>>102699643 Это ж на пальцах. Конкретное действие не оценивается. Оценивается состояние мира после действия. Задача действиями максимизировать свои очки. Вот и все.
>>102699953 Если AI в глубину досчитает до того места где игрок заблочит и, то она не будет так ходить а найдет другой вариант. Проблема в том, что мы ограничены в ресурах и вынуждены считать на небольшую глубину, а потом корректировать действия.
>>102700250 Кароч, нейронная сеть это модно молодежно, но самый простой способ это эвристический алгоритм для игр с ненулевой суммой. Не набор действий, а эвристика.
>>102694392 (OP) Ты нихуя не понимаешь. Ты можешь закодить все что угодно на движке или голом DirectX/OpenGL. Это логическая часть. Визуальная не будет выглядеть так же красиво, как крузис, пока у тебя не будет таких же высокополигональных моделей, качественных текстур и шейдеров. В этом суть всего лоулвл геймдева, фотореалистичная и приятная глазу картинка стоит дохуя денег и человеко-часов, поэтому они все делают игры в пикселарте, 2д или упрощенном мультяшном стиле.
>>102700397 >лоулвл Ты сам не шаришь, давно есть упрощения, а половина моделей и текстурок пиздится с полупинка. Если их сделали один раз, то во второй раз можно и не делать.
Есть грубо говоря два наиболее распространенных типа нейронных сетей.
1. Когда есть жирный набор готовых примеров с входными данными и правильными ответами.
2. Набора примеров нет, но есть некий критерий оценки качества поведения системы.
В первом случае у тебя есть записи 9000 игр профессиональных игроков. У тебя есть сеть, которая получает на вход сотню другую параметров, таких как угол обзора игрока (пялится в стену, или водит жалом во все стороны, чтобы никто с жопы не зашел), время проведенное на тех или иных точках, используемое оружие, характер стрельбы (зажал лкм, или короткими очередями), все что может быть полезно.
Далее ты сеть гоняется по этим примерам, пока она не будет генерировать на входные данные ответ максимально близкий к эталонному. В идеале - сеть получила что она сидит на Б и в темке рванула флешка. Про игрок на записи присел за сундуком и стал смотреть в коридор и СЕТЬ после обучения должна выдать такой же ответ. Входные данные: сидишь в тесном коридоре, под ноги кинули дым. Эталон: про игрок начал спреить и тихо отходить назад, чтобы выйти из дыма. Веса связей сети в процессе обучения корректируются так, чтобы сеть выдавала такой же ответ, как и набор эталонных примеров.
2. Вариант с подкреплением.
Грубо говоря то, что уже было описано. Есть не законченные примеры и правильные ответы, а некая функция полезности, и веса связей корректируются таким образом, что сеть старается набрать максимум. На практике саму функцию полезности тоже мутируют а получившиеся сети поверх оценивают общей функцией пригодности (например по тем же эталонным записям игр)
Краткое отступление:
По сути, сеть здесь не всегда нужна, достаточно прицепить поиск в глубину и мутировать лишь награду за те или иные действия, но при достаточно высокой размерности пространства поиск захлебнется на 2 - 3 итерации (будет 2 -3 фпс). Сеть как-бы считает лишь на 1 ход, но по своей природе в неявном виде может учитывать комплексные стратегии. Например, запомнить, что надо кинуть флешку в одно место, а потом обманкой зайти со спины, без просчета цепочки в глубину.
(1шаг: есть флешка, состояние мира А. Сеть выбирает действие кинуть флешку. 2шаг: состояние мира Б. в точке Х сработала флешка, сеть выбирает обойти со спины, получив эти данные на вход)
Есть еще третий вариант, но тебе понадобится ебаный кластер суперкомпьютера и пару дней. Либо несколько недель и мощная домашняя пекарня.
3. Инициализируем веса сети случайным образом и запускаем 30 экземпляров в игру. Выбираем из них победителей, слегка изменяем и повторяем. Ждем 1000 поколений, пока естественный отбор сам не выведет нам идеального убийцу. Естественно, здесь в силу вступают алгоритмы с модификацией топологии сети, добавлением нейронов, изменением типов нейронов (например сделать его рекуррентным).
Работает долго и очень сложно, но внезапно может выдавать весьма занятные результаты.
>>102701204 >Выбираем из них победителей, слегка изменяем и повторяем. Ждем 1000 поколений, пока естественный отбор сам не выведет нам идеального убийцу. Естественно, здесь в силу вступают алгоритмы с модификацией топологии сети, добавлением нейронов, изменением типов нейронов (например сделать его рекуррентным). Охуеть, то-есть это простой брутфорс с запоминанием действий? Я могу принести в жертву свою пека на 1-2 месяца или арендовать вычислительные мощности для такого. А что дальше то? Она получает ветвистые алгоритмы действий?
>>102701433 Грубо говоря - да. Но сходится не всегда, поэтому говорю - сложно. Один раз был факап на неделю процессорного времени, а результат был так себе.
Фишка в грамотно подобранной генетике. Насколько сильно ты изменяешь победителей, скольких из них оставляешь без изменений [элитизм], и как именно ты меняешь их параметры. Есть ли скрещивание, итд.
Да, тут оккультная биология. Ты разворачиваешь все связи сети в одномерный массив (ДНК) и потом реально скрещиваешь как это происходит ИРЛ
>>102701204 >Работает долго и очень сложно, но внезапно может выдавать весьма занятные результаты. Это результаты, а что у нейронной сети дальше то? Ну получила она тактику самого универсального убийцы, отсосав 1000 раз, а дальше она просто будет по памяти действовать или как?
>>102701683 Можешь заморозить после обучения, можешь уменьшить силу обучения и позволить эволюционировать дальше.
А так да, она запоминает общую стратегию поведения и потом по ней играет. То есть в целом начинает там любить укрытия, правильно стрелять, вертеть башкой по сторонам.
А вообще, чего ты от нее хочешь, для компа и это уже неплохо. Человек ведь так же обучается. Всяко лучше, чем скриптованый АИ для каждой конкретной карты.
>>102694392 (OP) Бери Unity. UE4 хорош если ты сраный художник, чтоб сделать уровень и по нему камерой летать, или ААА студия с 100+ человек. На Unity даже раки ололо я знаю программирование могут сделать кнопку с шариком.
>>102702092 >Можешь заморозить после обучения, можешь уменьшить силу обучения и позволить эволюционировать дальше. Лул, но как это вяжется с каким-нибудь шутером, она уже начинает работать как по скриптам получается, только с условиями? >Всяко лучше, чем скриптованый АИ для каждой конкретной карты. А результат же по сути один и тот же.
>>102702346 Ахаха. Я тебя понял. Ты уже философские темы вскрываешь.
Что есть по сути интеллект? Тебя приперло в туалет - ты пошел поссать. Вот один скрипт. Мучает голод - надо поесть. Вот другой.
А вообще со скриптами не одно и то же. В случае неизвестной ситуации негибкие скрипты зафейлят, а сеть продолжит действовать, может и не супер эффективно.
(См пример про двух игроков. Если скрипт требует от двух прятаться а на одного нападать, а что если их три?) Пример тупой, так как можно перескриптовать что будет работать и с любым количеством.
Сеть встретив троих взвесит свое количество хп, оружие (зубочистка или миниган), позицию (я в укрытии или в чистом поле) и на основе этого примет решение.
>>102702346 Или если позволишь, сеть похожа на скрипты с некоторым количеством контрольных точек, и между остальными она в какой-то степени интерполирует. То есть позволяет сгладить и учесть все промежуточные состояния между контрольными.
на самом деле все сложнее, и сеть может местами подкидывать сюрпризы, особенно если она оче сложная и много параметров
>>102702830 >Сеть встретив троих взвесит свое количество хп, оружие (зубочистка или миниган), позицию (я в укрытии или в чистом поле) и на основе этого примет решение. А, я тебя понял, то-есть сначала сеть действует по разному, потом совмещает алгоритмы действия, невыгодные отсекает и на момент уже игры с игроками она просто помнит все возможные действия?
>>102700630 Сам-то ты много спиздил с полпинка, шарящий? Ну да, и в итоге у тебя получится солянка из говна и слизи, причем чужих и не стыкующихся в гармоничную композицию.
>>102703114 Набор действий задаешь ты - это выходные нейроны.
Но действия элементарные - идти вперед, назад, влево, вправо, стрелять, повернуть голову. То есть ты предоставляешь сети интерфейс общения с игрой, как и у реального игрока.
В процессе обучения она учится генерировать правильные действия в зависимости от состояния игры.
Таким образом через какое то время она выясняет какую роль играет тип оружия, укрытия, количество здоровья, противников итд.
И уже в реальной игре она действует согласно выученной модели.
Скажем на выходной нейрон "стрелять" идет сумма импульсов со всех нейронов предыдущего слоя. Со временем сеть поймет, что наибольший вклад вносит близость прицела к врагу, дистанция и тип оружия (нет смысла пытаться попасть в снайпера за 1км из макарова), далее количество врагов сравнительные углы обзора (мой свободный FOV - 10, у врага - 60), значит я смотрю на него в щель, а он открыт - мне выгодно вступать в перестрелку.
В финале сеть будет просто фильтровать состояние мира и выдавать действие, а в памяти будет лежать не набор цепочек каких то действий, а более менее общая модель поведения и оценки ситуации.
Таким образом встретив много врагов в неблагоприятной ситуации она постарается сбежать, отойдя за угол в тесном коридоре она фактически будет сталкиваться с одним врагом и примет решение атаковать, равно также, как и если подберет убер сильную пушку, она тоже поймет, что ее шансы изменились, и выгоднее вступить в бой.
>>102703114 А, и если будешь реализовывать - планируй сразу заранее максимально гибко делать, и постарайся избавиться от дискретных жестко забитых характеристик (читай - тип оружия, тип заклинания).
Вместо типа оружия вбей скорострельность, урон от попадания, разброс и емкость магазина.
Вместо типа заклинания - урон, кулдаун, дальность действия, ну ты понял.
Таким образом при добавлении чего-то нового, тебе не придется выкидывать всю сеть на помойку.
Недавно додрочил СиПлюсы до уровня - могу что-то написать и в чем-то разбираюсь.
Хочу выбрать себе движок, мой выбор пал на два движка:
Unreal Engine 4 - тут многие говорят, что он дохуя жрет ресурсов и вообще требователен ко всему, можете пояснить почему? И вообще, правда ли это? Еще он вроде разрабатывается и постоянно изменяется, что меня отпугивает от него, ибо хочется постоянство.
Юнити 5 - почти неизвестное мне поделие, все игры, которые я видел на этом движке жрут дохуя, слабо могут в физику и выглядят не слишком то красиво.
А что мне лично нужно? Мне не нужно сильного графона (хотя, чтобы все выглядело как говно тоже не хочу), больше хочу оптимизации и физических взаимодействий.
Можете пролить свет на истину?