Как ОПТИМИЗИРУЮТ ИГРЫ
2024 ж. 10 Мам.
320 840 Рет қаралды
Если вы когда-нибудь задумывались о том почему игры плохо оптимизированы или как вообще происходи оптимизация, то в этом видео я отвечу на эти вопросы. И также вы узнаете несколько интересных трюков, которыми разработчики могут вас обхитрить во имя оптимизации 🎮
🔗Ссылки:
О воде в играх - • Сложно ли сделать ВОДУ...
О GPU Pipeline - • ИЗ ЧЕГО СОСТОИТ 1FPS
0:00 - Интро
0:22 - Модели
2:44 - Материалы
4:04 - Освещение
5:30 - Симуляции
6:37 - Ресурсы
8:10 - Код
8:50 - Движок
9:17 - Мультиплеер
10:04 - Приоритеты студий
#atixcg #cg #геймдев #unrealengine5 #оптимизация
Я этого не искал, но мне всегда было интересно узнать об оптимизации
Я тоже хотел узнать,но нифега не понял с первого раза.
жиза
👍🏻
с языка снял
тоже самое
103 сотрудника Юбисофт поставили дизлайк.
For Honor просто ебе@шая оптимизацыя даже когда игра только вышла
По факту
Как ты видишь дизлайки?
@@UntoldLonelyвозможно расширение для браузера скачал
@@UntoldLonelyДля ПК есть расширение, для Android есть Revanced KZhead (считай платный Ютуб , с вырезанной рекламой как от самих блогеров так и от Гугла), в котором показываются дизлайки
- как оптимизируют игры? - все разрабы игр в 2024 году: "шта? Какая еще оптимизация игр? У нас разве не бета тесты за 8к рублей?"
"но игра же еще в стадии разработки"
Бетатесты за 250+$/€(тарков момент)
очень обидно было за City Skylines 2....
Разработчикам смуты надо показать
видео так хорошо подготовлено, что создаётся впечатление, что оно подготовлено блогером как минимум с 100к подписчиков
если бы не твой коммент, я бы продолжал думать, что это блогер со 100к подписчиков
@@Joseshoku хахах
У него всего 2500 подписчиков??? Я до конца видео думал, что у него 500К не меньше...
РФ страна 404 , искуственно создали, искуственный язык, своего ничего нету, и больше и не будет.
Тема нишевая(видимо даже среди разработчиков), так что не удивительно. Всегда легче просто ныть, чем пытаться разобраться.
таким добрым и приятным голосом отбить напрочь желание создавать ААА игры
(С) Тодд Говард
я не думаю что у тебя есть бюджет на ААА игры, главное чтобы инди не отбил желание создавать
@@veatix4291согласен, потому что, как мне кажется, мир игр держится только благодаря инди. для меня все игры крупных корпораций такие... шаблонные. в каждой открытый мир, шутер, стелс, кутэе, феминистки, лгбтшники и т. д.
@@tupaialoshara жиза
@@tupaialosharaхреновый же у тебя кругозор и восприятие)
Можно добавить, что мип маппинг не только снижает разрешение текстур, но и убирает мерцание на большой дистанции, когда плотность пикселей текстуры становится больше плотности оных на мониторе. То есть не только производительность, но и корректное отображение.
В GTA 4 такая проблема есть) Но там вроде как мод уже выпустили, который её фиксит
6:55 Те самые пули, которые летят целым патроном)
Пулю можно заменить png картинкой)))
@@drt-do1xh или вообще ток спец еффекты чтоб казалось что пуля есть)))
Так стоп тут опечатка должно быть не 1.86 тыс. подписчиков а 186 ты. подписчиков
1.94 уже...
просто 186. видео из Эстонии еще и с ошибками
Ютуб не оптимизирован)
@@d-baf это точно)
Сразу видно что разработчики Смуты не смотрели этот видео )
Скиньте это видео Никите Буянову
😂
Отличное видео. По ресурсам есть небольшое уточнение. Пример там неудачный. Никто, конечно, не будет загружать и выгружать пулю из памяти каждый раз. Обычно для таких объектов (которые часто необходимы в игре и которых много: пули, враги, etc) используется "пул объектов". Это когда объект не удаляется из памяти, а "скрывается" от глаз игрока. И уже затем, когда пуля вновь необходима - используется "скрытая". Таким образом избегаются частые обращения к медленной памяти, а некоторый запас пуль постоянно лежит в RAM.
А я смотрю, что кто-то шарит
создавать объекты и уничтожать их на лету это конечно верх идиотизма.
Это под капотом движка происходит? В юнити обычно projectile уничтожают после попадания в что-то, либо после таймера - объект исчезает со сцены. Но объект не скрыт от игрока, он просто не существует как объект, но он есть в виде префаба. Получается автор прав🤔 Насколько помню, в некоторых движках есть пулы объектов, из которых нужный объект в нужное время телепортируется. То есть объект существует на сцене, но скрыт.
@@DolojUnynie нет, это пишется руками программиста. По крайне мере, если мы говорим про юнити. В обычной ситуации, конечно, снаряд уничтожают после попадания. Но если мы хотим оптимизировать нашу игру, то пул объектов является одним из инструментов оптимизации. И, поскольку видео об оптимизации, я и обратил на это внимание.
@@DolojUnynieпреваб является лишь ассетом в проекте, т.е до инстанта он не находится на сцене. Создание стрельбы всегда требует создания обжект пула.
По поводу динамического удаления объектов - в качестве оптимизации как раз наоборот можно не удалять объекты, а просто прятать и переиспользовать снова, потому что и создание, и удаление объекта - это довольно дорогие операции
Смотря как он используется. Если движок подгрузил какой-то аудио клип который используется лишь однажды (например OST по время загрузочного экрана), то конечно, было бы хорошо удалить этот клип из памяти после завершения загрузки. Хотя, большинство движков не грузят аудиоклипы целиком и полностью, а стримят их по 10-15 секунд. Во всяком случае, это уже ответственность разработчика игры, а не движка - удалять или не удалять объект
@@daniilvinnik4450 конечно, зависит от использования. Но в том примере, что показал автор, лучше будет не удалять
Какой классный канал. Посмотрел 1 видео и сразу влюбился. Такой приятный автор и столько интересного рассказывает по нужной мне теме. Респект
Спасибо за видео Понятия не имею как попало в реклмендации, но подача, звук и содержание шикарное 🎉
очень интересная тема и само видео выполнено качественно. лайк, удачи тебе в дальнейшем на ютубе
Отличное видео. Если бы в комментариях не намекнули бы, что тут пока что относительно немного подписчиков, я бы и думал дальше, что здесь 60+ тысяч.
Очень интересно... Красавчик) с меня лайкос! Но вот с головой ты перебрал у меня складывалось такое ощущение что она вот вот отвалится даже немного было страшно😅
Современные разработчики: а чё, так можно было что ли?!
Спасибо за столь простой в исполнении, понятный, посоедовательный, систематизированный и классифицированный для предметов оптимизации видеоролик ❤! Было интересно узнать подробнее о процессе оптимизации игр. И да, видео получилось тоже по сути оптимизированным!
Было интересно послушать о оптимизации не только со стороны кода. Кстати касаемо него. В оптимизации кода есть огромное кол-во ухищрений. Например большую часть физики обычно детерминируют, т.е. делают не привязанной к физическому движу. Это особо заметно,например в ассасинах, когда при прыжках, герой прилипает словно магнит к ближайшим усьупаи. Тоже и в боёвках. Например в солс лайк играх популярна механика парирования. Она реализована не через проверку пересечения коллизий оружия, а через банальные тайминги удара. Игра сравнивает время когда противник и игрок начали атаку для пониания было ли парировние, именно поэтому иногда анимации не соответствуют действиям персонажей. В общем, код тоже интересный пласт в плане оптимизации.)
Со стороны кода ничего и не было описано, большая часть это левел дизайн ухищрения
@@Nikitunr2013 ну почему. Те же лоды, ужимание карт нормалей и прочих материалов, работа со светом, динамическая подгрузка/выгрузка частей мира - это всё вполне себе работа и с кодом
@@JamesListener это всё можно настроить в интерфейсе движка. Называть это работой с кодом, как называть вождение машиной до магазина - работой ремонтника.
Всего 5к подписчиков... Ты реально заслуживаешь большего Безумно качественно
Это хорошее вводное видео, рассказывающее о том, какие способы оптимизации в играх вообще существуют, но не вдающееся в детали каких-либо отдельных способов.
Прекрасная подача и голос. Очень интересно и понятно. Термины, изображения и видео. Все очень интересно. От начала и до конца не заметил как все просмотрел. Спасибо
Понятное объяснение, приятный голос, вот бы все ютуберы так понятно объясняли. Разрабам геншина это видео станет полезным.
Покажите это видео разработчикам майнкрафта, они явно не знают, как оптимизировать игры.
Видимо у тебя вместо пк пароварка, так как на среднем пк в Майнкрафте под 500 ФПС. Да и все ограничивается тем, что Майнкрафт работает на джаве, что достаточно медленно, а переписывать игру на другой язык займет очень много времени, так как понадобится все делать с абсолютного нуля.
Bedrock написан на c++, если плохая производитель на ждаве то можешь поставить на ПК будрок
@@hellray1927ну учитывая что есть содиум, дистант хорайзонс и куча других модов на оптимизацию, это все же правда
А что можно оптимизтровать?, Майнкрафт изпользует воксели то есть кубы а не полигоны
@@you-vu4px отрисовку теней, прогрузка этих же самых кубов
Привет. Понравилось видео! Я сам начал разрабатывать свою игру и многое отозвалось. А сделай обзор сравнение между инструментами анимации, типа майя и блендер, а то и вовсе 3dsmax, мол кто лучше? =)
Лоды и без нанита давно делаются автоматически, не в ручную, в ручную только допиливались. Но в остальном- база, хорошая база для понимания о чём почитать. Молодец, если будут ролики с примерами использования, буду рад посмотреть.
Приятный человек, приятно слушать грамотных людей.
Отличное видео! Желаю как можно больше просмотров и подписчиков данному каналу. Подписываюсь!
У тебя rode nt1-a? Подскажи чепочку плагинов, которые используешь, нравится твой звук
Все по факту, и без воды спасибо!)
Очень круто быстро всё обьяснил, мне как начинающему разработчику было очень интерестно посмотреть. Однозначно лайк
продолжай делать видео в этом напровлении !! хорошо выходит у тебя и голос приятный
10:12 В Half-Life 2 лучшая оптимизация. Карта распределена на кучу мелких сцен с скриптами, уже само по себе позволяет детализировать карту очень сильно и при этом не нагружать сильно комп огромной картой, ведь она очень быстро сменяется другой. Также, если не ошибаюсь, в игре есть система «ожидания» действия, а не проверки, то есть система ждёт, пока игрок что-то сделает, например подойдёт в область, где срабатывает скрипт. Это позволит убрать проверку нажатия чего-либо, а просто сделать анимацию и зону со скриптом. Также есть Mesh и NAV-карты для NPC и скриптов. Это хорошая оптимизация для ИИ, он будет не анализировать в реальном времени, куда идти, а заранее просчитать путь, быстрый путь до нужной точки, и пойти туда, хотя зачастую это в играх на основе Half-Life 2 упускают, из-за чего игры не особо оптимизированы. Как тот же Garry’s Mod. В то время как в Half-Life 2 на одной карте может быть FPS 200, а в Garry’s Mod FPS 20.
Я и сам задумался, что лучше будет ждать действия, а не проверять его.
Это линейная сингловая игра, если бы там был открытый мир, то совсем по другому было бы
Рекомендуется просмотр разработчикам мобильных игр
Спасибо, годное видео) Работаю Техническим Дизайнером в одной студии по разработке мобильных игр, проект - мидкор, но вопрос оптимизации стоит остро, особенно когда апаем качество графики и эффектов в игре. Можешь пожалуйста развить тему оптимизации графики и ресурсов? Использование разных методологий упаковки, батчинг, полигональные атласы и тд?А также ОЧЕНЬ интересно что там по "адекватным" Draw Calls в текущих реалиях)
Очень классный видос! Приятно смотреть! Жду новых видео о графике 🎉
Интересная тема, динамичная подача. Автор красавчик👍
Настолько интересно рассказал, что я аж вместо того, чтобы заснуть под видик взял телефон и посмотрел. Определенно лайк 👍
Видел похожее видео от XYZ, но там просто набросали умных слов и всё. А тут прямо +/- доходчиво и понятно. Спасибо
так мало роликов по делу, которые достаточно подробно рассказывают про тему крайне приятный ролик
Я как разработчик игрового 3D движка могу сказать что в большинстве случаев в видео все правильно сказано. Агрессивный лодинг, оптимизация света (в особенности), правильное управление потоками CPU реально помогают уменьшить время кадра. Только 2 единственных момента, но это по мелочи - camera culling называют frustum culling, и еще - не mesh shEders, а mesh shAders, хотя я уверен что это просто опечатка)) я как раз эти меш шейдеры щас реализую в своем движке
Весьма доступно, благодарю за информацию.
Отличный видос,задумался над тем,что в будущем разрабы будут просто меньше оптимизировать игры,тем самым улучшая "детализацию"
Всегда хотел узнать как оптимизируют игры Благо есть такие простые и понятные видео Спасибо автору, видео однозначно заслуживает лайк.
надо раскрыть эту тему не на 5 мин, а на пару часов с примераи и разбором каждой части, например есть еще bsp, bvh... сделать сравнительные тесты про приросту. рассказать о стрктурных проблемах, паттернах когда в одном случае это актуально, в другом иное. Профессионально подойти как к докладу, без пафоса
огромнейшее спасибо за содержательный ролик!!
в ручную лоды? дf, можно и в ручную, но уже с середины 2000х в играх используют Simplygon, который эти лоды генерит автоматически.
Отличное видео, начинается с общеизвестных фактов, чтобы зацепить пониманием побольше аудитории. На всём протяжении прекрасная музыка на заднем фоне и своевременные вставки с красивым кадром лица автора. Респект тебе автор за такие старания, давно я не видел новых КаКо (качественного контента) производителей на ютубе 🙃😉 Давай в том же духе!
Если собираешь идеи для видео, то мне лично очень бы понравился разбор механики атаки в и играх (ближнего и дальнего боя, боя на мечах, рассказы про хитбоксы, системы попаданий в разных движках, регистрации на сервере и тд) или хотябы инструкцию как сдеоать простенький файтинг)))
да
Блин, какой же ты милаха и симпотяга, я влубился :) Было очень интересно и познавательно. Я хоть и не эксперт, но отчасти догадывался о некоторых функциях, изложенных в видео. Однако одно дело догадываться и другое узнать как оно работает на самом деле! Пожалуй подпишусь, хочу время от времени видеть такого интересного парня в своей ленте.
Хорошая подача, приятный голос и манера речи и взгляд добрый и простой
никогда не думал об этом, но очень интересно
Если можно, хотелось бы более подробных видео с большим разбором подробностей и т.п. Но в целом видео хорошие и интересные
"Оптимизация? Я не знаю, что это слово значит, никто не знает, что вы себе придумали, это просто набор звуков" © Альберт Жильцов, глава 1C Game Studios.
Спасибо за полезный видеоролик вам, всегда хотел узнать, каким образом игры оптимизируют, подписка+лайкос за такой годный контент
Превью довольно скучное, хоть я и понимаю что не нужно прям красочное превью для объяснения графики, нужно чуть ярче. Люди чаще будут кликать на само видео
А мне превью нравится
Отличное видео, таких как вы не хватает, за 11 минут всё как надо
Классное видео, спасибо, посмотрю ка что ещё есть на канале
Спасибо! Всё чётко и без воды !
Очень интересный ролик про оптимизации. Всегда интересовала эта тема в виду того, что некоторые игры работают прям плавно и с хорошей графикой, а другие фризят даже на низких с просадками фпс.
покажите это видео никите буянову
Он не поймет, у него тогда игра в релиз выйдет, а этого нельзя допускать, бета 30 лет
Спасибо! Было очень интересно и познавательно)
Высококлассный контент, благодарю за четкую структуру материала)
Про пули хотел бы добавить, что некоторое кол-во пуль остается в памяти, чтобы при выстреле пули просто перемещались, а не генировались новые, или например то, что можно реализовать выстрел лучом
Путь который выбрали люди в создании 3д графики, а именно сетку из полигонов исключает реализм. Все выглядит слишком искусственно. Другое дело воксели. По сути частицы, аналог молекул, из которых могли бы состоять объекты, которые можно крошить в порошок. Если в будущем и создадут что-то похожее на Матрицу, или какую нибудь симуляцию - то только с помощью них. И зачем тогда вообще нужно было идти по лёгкой тропинке из полигонов? Прятать грани там, где мы не можем их увидеть, ради оптимизации. Когда могли сразу начать с вокселей
нифига нового не узнал, мог бы еще и про атласы сказать, про массивы текстур, про использование ограничивающих объемов и про технологии разделения мира. Правда если используешь какую нибудь Юнити ты об этих механизмах само собой никогда не узнаешь, но в своем движке имеет смысл накинуть их.
отлично. но шейный шарнир хорошо бы подкрутить
Жаль, что в видео говорится в основном только про графику. Есть ведь ещё ИИ и другие стимуляции, помимо физических. Например стимуляция рынка или генерация мира. Это всё тоже нужно оптимизировать, если чо.
Видео супер, большой патенциал, автор красавчик👍
Какой молодец. Контент на миллион подписчиков! Лайк
Приятный ролик на интересную тему, подписался)
Отдельное спасибо за примеры
Качество видео на уровне 👍
Спасибо, очень понятно, и голос приятный
Привет, расскажи немного о себе, кем работаешь, и откуда у тебя столько полезных знаний
Как всё сложно, это нужно всю жизнь посвятить делу.
3:50 Не сколько времени а какое количество команд для блоков пиксельного и вершиного шейдеров (иногда но не всегда можно переназначить выполнение блоков на вершинный шейдер)
Какой симпатичный мужчина да ещё и умный) желаю много подписчиков.
лбню
одна рекомендация (без негатива) - когда включаешь камеру на себя то ощущение что я смотрю какойто цирк и аттракцион с главным исполнением в виде твоей головы, слишком много лишних движений + они почти одинаковые, что создает ощущение что любой кадр с твоей вебкой на себя банально зациклен, эмоции +- также одинаковые, но это не то чтобы минусы или плюсы, просто слишком бросается в глаза то, что вербальная информация никак не соответствует невербальной, много экспрессии, много невербальных акцентов и лишних телодвижений. И нет, это не "я так делаю я так общаюсь", это прекрасно видно что (без негатива) наиграно, поэтому ну, я лично моменты где ты включал вебку просто пропустил потому что я устал смотреть это. Остальный контент лайк +
Хз, как по мне норм😮
Понимаю тебя, испытывал тоже самое при просмотре, так же согласен с автором комментария, без негатива
Бро, вербальная информация не совпадает с невербальной? Больше половины видео состоит из картинок/футажей из движков Все важные моменты, как полигоны(00:30, 00:32, 00:50, 01:20), LOD-ы (01:29-02:07), копирование (02:14-02:29) моделек, качество (02:49-03:18), текстуры (03:20-04:05) материалов, распространение освещения(04:32-05:02), симуляция(05:42-06:42), ресурсы (полностью) и т.д. показаны идеально. Вся важная информация была с излишком показана с помощью картинок, причём сильно заметно, что большинство футажей, как с движком, анимацией с текстом и т.д. он делал сам В моментах когда он включает вебку вообще нету информации, которую надо было бы показать через картинки и т.д. Зачем и как ты покажешь то, что студия ставит своим приоритетом скорость разработки, вместо оптимизаций Жестикуляция, эмоциональность бросается в глаза? Круто, так автор общается. Каким образом тебе это мешает информацию воспринимать? Не нравится? Смотри тогда куда-нибудь в другое место, когда у него включена вебка Ты по факту, обесценил труд автора, который сам делал большинство "вербальной информации" сказав, что он слишком часто появляется в кадре и что он слишком эмоциональный
Плюсую. Сам ролик хороший, но трясущаяся голова меня постоянно раздражала
А я даже не обратил внимание. Не критичный момент для меня
Все четко и без воды!
Топ контент! 🔥🔥🔥
теперь узнал, "да кто такой этот ваш" mip-map
Я тоже желаю хорошей оптимизации жизни, потому что от вашей оптимизации будет зависеть какой пакет данных мы получим на выходе... Идеал - цель не достижимая, цель всегда меняющаяся по возможностям и приоритетам. Не стремитесь к идеалу, но стремитесь к балансу под требуемую среду. (это всё очень актуально каждую секунду нашей жизни. Нас самих и нашей ответственности в облике живого существа, будь то для начала домашний питомец или маленький человечек...неправильное планирование и распределение ресурсов может иметь печальный характер, но разной степени возможности исправить всё с меньшими или большими затратами или вообще оказаться в терминальной стадии точки невозврата. Цените эту жизнь и каждое её мгновение)
Частицы раньше всегда отключал. На нынешней машине - уменьшаю в два или четыре раза. А ещё я люблю выставить повыше качество звука. В настройках аудиокарты. По-моему, это тоже важно и интересно.
Очень странно, что кого-то реально смутили жесты или эмоции, никаких проблем с видео Не увидел, очень круто и интересно, спасибо!
Интересное видео. Затрагивает много аспектов. Был интересно узнать. Спасибо P.s согласен с комментом про чрезмерное жестикулирование и гримастничество.
Я бы еще добавил Pool систему, в тех же пулях, когда объект отключается и потом снова переиспользуется, а не создается заново Так же можно добавить скрытые бесшовные загрузки, какие там используются уловки, вроде прохождения через узкий проем персонажем, и в это время прошлая локация выгружается и загружается новая
Интересно. Спасибо!
все разрабы: надо делать хорошую оптимизацию нашей игры что-бы в неё комфортнее было играть! гта 4: -_-
Спасибо за объяснение!
А почему в играх могут происходить фризы, тоесть "frametime spike"? Также есть слух, что большинство игр на UE5 фризят? Я предполагаю, что причин на это сотни, но было бы интересно узнать о некоторых из них
7:00 пример с пулями не полон, либо не удачный, так-как это регулярно используемый объект. Создание/удаление объектов - это тоже издержка. пулю при попадании следует не удалять, а "отключать" и прятать под землю. При очередном выстреле, пулю следует создавать только при нехватке выключенных, а иначе включить ту что есть.
Мог бы ты взглянуть на оптимизацию в скваде
1:50 Вопрос очевидный. Почему технология по автоматическому создания LODов появилась недавно, хотя что трудного при компиляции игры брать модель и просто немного склеивать ближние вертексы?
для тех кто решил что пулю лучше скрыть чем удалить. Ну начнем с того что есть 2 типа удаления, выпилить из памяти видеокарты и выпилить из логической обработки. для игрока эффект будет одинаковый, для системы во втором случае использовать 0,1, 1000 пуль разницы большой не будет если движок правильно написан
Я это не искал, я фронтендер и люблю в игрушки поиграть, но, спасибо, за интересное и главное понятное объяснение :)
Было интересно глянуть, спасибо!
С источниками света есть одна хитрость: можно сделать 2 типа текстур - одна с тенями, другая без. Если пользователь взаимодействует с объектом - делаем свет динамическим (предварительно скрыв запечённые тени😂), после чего можно обновить состояние теней и вновь перевести свет в статическое состояние.
Наниты пушка, офигенская технология, даешь наниты в каждый игровой движок!!!!