Григорий Дядиченко – Telegram
Григорий Дядиченко
2.83K subscribers
395 photos
159 videos
7 files
1.19K links
Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR.

100+ проектов за 5 лет.

По вопросам сотрудничества писать: @it_bizdev
Реклама в канале: https://vk.cc/cNhGLE
Download Telegram
Процедурно генерируемые дороги Unity Splines
https://www.youtube.com/watch?v=ZiHH_BvjoGk

Многим играм нужны дороги. Для декоративных задач или как важная часть геймплея. В видео рассказывается как можно процедурно строить дороги используя пакет Unity Splines.

Помню как-то раз я делал симуляцию городского траффика в Unity. Достаточно забавная задача на самом деле. И подобный подход дорог был бы полезен. Так как все траектории задаваемого допустимого движения, да и в целом граф для ходьбы строится именно сплайнами. Так что можно было бы красиво сначала построить логику движения, а потом по тем же сплайнам натянуть на это графику :)

#новости
🔥5
Урок по Dissolve шейдерам в URP
https://www.youtube.com/watch?v=QNtexvXRMD0

Каждый кто начинает писать шейдеры первым пишет Dissolve. Ну или почти первым. В общем неплохой урок который в простой форме рассказывает про шейдерграф и про то, как написать эффект растворения. Я когда-то выкладывал в на гитхаб каустику, если брать ещё классические полезные эффекты. Вдруг тоже кому пригодится.

#новости
🔥10
Unity 2023.1 Tech Stream теперь доступен
https://blog.unity.com/engine-platform/2023-1-tech-stream-now-available

Чуть не пропустил эту новость. а там много любопытного. Конечно LTS то не всегда стабильны, так что такое можно посмотреть только чтобы ознакомиться. Но фичи интересные. Правда по большей части для HDRP, которым я не пользуюсь :)

Сначала скажем о главном

Multiplayer Play Mode — экспериментальная фича что боже мой наконец-то в редакторе можно открыть несколько плей модов. Как же бесит в тестировании мультиплеера пользоваться разного рода костылями на эту тему. Если они это наконец-то сделают — моё почтение.

А теперь просто об интересном для меня:

Screen Space Lens Flares — классный постпроцесс эффект, который позволяет делать эффект бликов света на линзах камеры.

Adaptive Volume Probes — классная фича для проб, которую отлично презентовали на GDC.

Global Illumination – New Light Baking Architecture — возможно теперь печь можно будет мне в Unity, а не в максе.

VFX Graph – Volumetric Fog Output — туман штука полезная добавляет атмосферы.

Дальше всё для HDRP:

Доработки воды — пена, динамическое добавление водоворотов, волн, деформаций.

Доработки прозрачных объектов и подповерхностного рассеивания — стекло теперь выглядит более реалистичным.

Доработки волос и кожи для персонажей — улучшение перфоманса и всякие правки увеличивающие достоверность этого дела.

Апи рейттрейсинга и ряд фич HDRP вышли из превью.

#новости
🔥9🤯1
Взвешенная вероятность
https://gist.github.com/Nox7atra/3611b5dc0ccd45906010987b694bd43a

Простенький пример реализации взвешенной вероятности. Вдруг кому пригодится. По работе понадобилось сейчас набросать, а это очень полезная техника для многих игр. Generic реализация позволяет так конфигами контроллировать что это будет с разной вероятностью выпадать лут или что-то ещё. В общем сохраните себе, если вдруг не знали как такое пишется.

#сниппет
🔥24
Радужный кристалл с реймаршингом и SDF
https://varun.ca/ray-march-sdf/

Это конечно не про Unity, но мне очень понравилось оформление статьи. Плюс важно помнить, что шейдеры они и в африке шейдеры. Чуть может меняться синтаксис и доступные инструкции + оформления инпута и аутпута. Но суть и логика одинакова и на чистом GLSL и в шейдерлабе. Шейдерлаб это просто упрощение с компиляцией под разные платформы по сути. Но шейдеры даже чисто для js полезно разбирать и изучать используемые в них подходы. А в данной статье ещё и разбирается физика процесса с иллюстрациями и пошаговая интерактивная инструкция. В общем кайф.

#новости
🔥7
Сделано в Unity — Июнь
https://blog.unity.com/news/made-with-unity-monthly-june-2023-roundup

Люблю эти посты в блоге Unity. Всегда интересно посмотреть, что другие делают с Unity.

#новости
🔥7
Учимся игровой разработке
https://github.com/notpresident35/awesome-learn-gamedev

Большой список обучающих материалов в сфере геймдева. Практически по любой специальности. Такое нам надо.

#интересное
🔥21
Интересные патрули в игре и цепи Маркова
https://leanrada.com/notes/dynamic-patrol-stealth-games/

Любопытная статья про использование цепей маркова для создания динамических патрулей. В целом цепи маркова и нужны для моделирования случайных событий. Так что если патрули в игре должны быть интересные и не такие предсказуемые описанный способ неплохо для этого подходит.

#интересное
🔥11
ИИ в Sims
https://youtu.be/9gf2MT-IOsg

Разбор принципа работы ИИ в Sims. По сути это GOAP. Видео классное, и думаю будет полезно и для тех кто мало проектировал ИИ, и для тех кто этим уже занимался, как отличный пример принципа работы хорошего ИИ.

#интересное
🔥9
This media is not supported in your browser
VIEW IN TELEGRAM
Хоррор в стиле манги
https://80.lv/articles/a-work-in-progress-horror-game-with-manga-like-art-style/

Классная стилистика в игре, а в статье ещё lvl80 подобрали туториалы, чтобы такой стилистики добиться. В целом подобные стилизации шейдерами всегда выглядят довольно залипательно.

#новости
🔥21❤‍🔥5
Антиалиасинг шаг в Shader Graph
https://www.youtube.com/watch?v=YYHl2ebt_oE

Алиасинг или знаменитая лесенка которая всех бесит. В целом есть много способов борьбы с алиасингом. И вот один из них. За одну минуту быстро и довольно понятно. Вообще если стоит разобрать что такое алиасинг, какой он бывает и какие методы борьбы с ним существуют ставьте ❤️‍🔥. Так как это не только лесенка в спрайтах, а как на примере стилизации выше в тенях. Так же есть огромная проблема под названием Specular Aliasing и прочее, которое играет большую роль в VR играх.

Выше пример красивый, но да пока это только демка, так как рябь на потолке, лесенка в тенях, правильная отрисовка тонких контуров на отдалении — это всё решаемые проблемы. И если в такой стилистике оно ещё и рябить перестанет, то это будет просто пушка.

#интересное
❤‍🔥31
ПРАКТИКON
https://news.1rj.ru/str/justGameDesign/465

Коллеги по цеху делают марафон по созданию игр в жанре платформер. Там вы сможете:

• Узнать ключевые особенности платформера и историю жанра
• Научиться основам работы в игровых движках
• Опубликовать проект на itch.io
• Получить поддержку от экспертов и комьюнити
• Добавить готовый проект в своё портфолио
• Набрать баллы и потратить их на классный мерч и книги!

Зарегистрироваться можно тут.
А почитать подробнее в этом посте.

#новости
❤‍🔥8🔥2
Про антиалиасинг
https://habr.com/ru/articles/343876/

Перед тем как писать статью на какую-то тему лучше поискать, а вдруг кто-то уже написал чёт хорошее. По тем же текселам многие статьи мне показались правильными но абсолютно непонятными без большого опыта в рендере. А вот тут отличная статья и всё в ней хорошо. Рекомендую к прочтению, если ещё не читали.

#интересное
🔥4
Подборка интересных каналов

Посоветую несколько полезных каналов, в основном для тестировщиков. Наверняка кому-то пригодится. Каналы авторские и интересные.

@qa_studio
Шаг за шагом рассказываем, как стать Junior QA.
Подборки вакансий без опыта каждую неделю, аналитка по рынку вакансий раз в месяц, интенсивы по тестированию и, конечно, мемчики.

@juniors_qa
Лайв канал про будни джунов-тестировщиков.
Пишем в подробностях как тестируем сайты, мобилки и API.

@qadictionary
Авторский канал от QA в Wildberries. Это сборник квизов с терминами и их пояснение на понятном языке. Более 90% из них постоянно встречаются в работе! Отлично подойдет тем, кто хочет быть незаменимым тестировщиком. Подпитывай свои знания вместе со мной!

@qa_and_it
Канал для тестировщиков. Как для новичков, так и для бывалых. Ежедневно делимся материалами по тематике: авторские посты и мысли автора, интересные статьи, обучающие видео, новости, ИТ-юмор и опросы

@datamisha
Авторский канал от data engineer’а в сбере. Рассказываю про data технологии (data engineering, data science, data analytics) и об it в целом. Можно почитать какой выбрать язык программирования и про SQL

@ProQuality_Community
Сообщество специалистов, интересующихся современными технологиями и трендами в области обеспечения качества! Мы делимся полезной информацией для QA, проводим развлекательно-обучающие квизы и многое другое.

#интересное
🔥16❤‍🔥8🥱7
Я не люблю программирование

Знаете — пора признаться. Я не особый фанат программирования. Внезапно, не правда ли в блоге по сути на 90% посвящённому программированию? Стоит наверное уточнить в каком смысле. Где-то в 26, когда я ещё читал мануалы процессоров, изучал ассемблер и низкий уровень, ковырялся в IL который генерит шарп. В общем изучал глубокую базу и т.п. — мне это надоело. Сейчас мне не особо интересно такое понятие как — идеальный код. Я понял, что я люблю в первую очередь решать задачи бизнеса.

Конечно как разраб влезть в какой-нить бесполезный холивар на 4 часа обсуждения — это святое. Но я не люблю поиски идеальных решений, идеального кода и так далее. Я привык решать задачи "достаточно хорошим решением". Я замечал что многие любят преждевременные оптимизации, углубляться на тему того, что вот тут то можно было бы написать лучше и удобнее. И так далее. Мне это как-то стало в определённый момент неинтересно. Решение прикладных задач в контексте бизнес требований достаточными инструментами — это быстрее и эффективнее.

При этом не надо путать. Достаточно хорошее решение != плохое решение или первое попавшееся. Это решение подходящее в контексте задачи. Я считаю, что самый важный вопрос который нужно научиться задавать ко всему в жизни "зачем". Понимая зачем что-то делается можно определить достаточность и необходимость того или иного решения.

В общем мне интереснее делать игры, делать проекты, делать визуализации данных и прочее, чем искать тот самый one piece идеальный код. Но это не значит что мой подход и моё мнение "правильное". Это просто один из подходов к работе и к разработке в целом. Как говорится "Данные мысли не являются инвестиционной рекомендацией".

#мысли
🔥53❤‍🔥6🤯2
Красивый пак моделей в стиле древнего Рима
https://80.lv/articles/roman-temple-ruins-asset-pack-for-unity/

На этой неделе настолько ничего не происходит, что последую примеру lvl80 и опубликую новость о том, что вышел пак моделей. Не, пак конечно красивый, но неделя до удивительного скучная в плане каких-то инфоповодов. Юнити пишет про ревардед видео и ещё что-то на мой взгляд неинтересное в своём блоге. Вышедшие видео на ютуб в большинстве своём какие-то странные. В общем под кофеёк с утра даже почитать нечего (да, у меня только сейчас началось утро при том, что я в мск) :)

#новости
🤣3❤‍🔥1🔥1
Про авто-тестирование в геймдеве

У меня тут с утра возникло обсуждение с другом бекендером собственно про тесты. Энтерпрайс бекенд в целом всё старается покрыть тестами и это нормально. Там другие сроки разработки, другие масштабы проектов, банально другое число абстракций и интеграций. В геймдеве же тесты не так распространены. И вопрос нужны ли тесты в геймдеве?

До этого хочется написать, а зачем вообще нужно покрытие тестами? Одна из основных задач тестов "контроль работоспособности абстракций". В любом коде так или иначе возникает некоторый набор абстракций. Возьмём простой пример (писать так точно не надо) У нас идёт игра Moba. У нас есть понятие Ability. От него идут Fire Ball Ability, Frost Bolt Ability и так далее. И в базовом классе описан метод Launch, который проверяет количество маны персонажа и делает всякие другие проверки. Для запуска нужен таргет. Мы создаём тест, в котором у нас должен умирать противник с такими-то характеристиками по настройкам баланса. То есть пускаем мок скилл в мок таргет. И так со всеми скиллами. Результат теста — все таргеты всегда мертвы. И при заданных характеристиках скилл вообще запущен.

Такой тест позволит отслеживать что "скиллы не сломались за счёт изменений" той же базовой реализации метода Launch в 100 скиллах. Или при изменении баланса, так как "ящик должен умирать с одного фаерболла". Классно, удобно и так далее. Но вот вопрос. А сколько таких мест в средней игре, что у нас есть какая-то абстракция на реализацию которой опирается 100 конкретных реализаций. Игры в разы конкретнее и несут (да и должны нести) в разы меньше сложных абстракций нежели возникает в серверной разработке. То есть потребность в тестировании сильно зависит от игры. Можно подобрать примеры типа WoW (хотя там опять таки больше бекенд чем клиентские разрабы обложатся тестами).

Поэтому любопытно, а как вы считаете насколько необходимо автотестирование в играх? Именно в клиентской части. Ток не на уровне "религии" — оно надо, потому что мне так сказали. А какие проблемы оно решает, чем полезно, чем удобно, чтобы как же тот же Test Driven Development стоил того, чтобы с ним морочиться.

#мысли
🔥10❤‍🔥1
Я пытаюсь объяснить геймдизайну, почему нам сложно добавить лук в шутер за один день.

P.S. Я просто обожаю эту картинку, и она мне снова на глаза попалась :)

#мем
🤣18🔥5
Неочевидный момент InputSystem

Сижу с утра разбираюсь с управлением с помощью руля в Unity (кстати вообще нетривиальная задача как оказалось). И не могу понять что происходит. Вроде нашёл какой маппинг отвечает за баранку, вроде даже чёт возвращается. Конечно любопытно что на колесе положение 0 — это +-1, поэтому нужно хранить память о знаках и т.п. Ну да пёс с ним, думаю это вопросы к конкретному рулю.

Сделал вывод в логи. И в какой-то момент значения перестают меняться. При этом лог идёт, апдейт отрабатывает. Оказывается, если нажать на инспектор то инпут система перестаёт обновляться. Весьма неожиданно. То есть апдейт работает, логи обновляются (иначе бы это как бы сам дурак Run in background нажми), а инпут систем не обновляется. Нажимаешь снова на GameView — всё работает. Забавно. Не самый очевидный прикол :)

#интересное
🤯10🤣5🔥2