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

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

По вопросам сотрудничества писать: @it_bizdev
Реклама в канале: https://vk.cc/cNhGLE
Download Telegram
Текстурная компрессия
http://sv-journal.org/2014-1/06/en/index.php?lang=en

Небольшая предыстория. Как я говорил на стриме, я хочу сейчас написать для себя для веба кастомный проигрыватель секвенций очень похожий на формат mp4 по своей сути с быстрым энкодингом и декодингом текстур. Наверное стоит описать для начала зачем. Базово проблема звучит так. У нас есть 4 секундный луп в 30 фпс. Это фул скрин видео фон. В тупую без всяких настроек и заморочек в билде Unity он будет весить достаточно много. Без учёта gzip компресии 120 * 2 = 240мб. Благодаря конечно gzip оно срежется примерно до 40 мб, но это всё равно много. Плюс хочется иметь в своём формате поддержку альфа канала для оверлей эффектов. И вот интересная задачка. Как нам хранить 4 секундное видео в 2к х 2к с минимальным весом.

И собственно пока собираю материалы для того чтобы написать такую штуку наткнулся на интересную статью разбирающую детали разных алгоритмов. Рекомендую почитать, чтобы понимать что стоит за галочками в Unity :)

#интересное
🔥2
Harnessing the Power of GPU to Draw Pixel Art Lines
https://www.youtube.com/watch?v=nlzvesTsSrI

Случайно наткнулся на старый, но очень интересный разбор, как сделать быстрый рендер линий и подобных вещей на ГПУ в Pixel Art игре. Пиксель арт довольно прикольный стиль. И что интересно с ним достаточно много проблем возникает по ходу реализации на современном железе. И вот тут большой девлог пиксель арт игры, который довольно любопытно смотреть с технической точки зрения. Этот выпуск мне показался одним из самых интересных.

#интересное
❤‍🔥5
Важно понимать PBR
https://marmoset.co/posts/physically-based-rendering-and-you-can-too/

Удивительно. Я искренне считал что это в блог я кидал, но давно и можно повторить. Но поиск по постам показал что нет. Эта статья — это первое что я даю почитать вообще всем кто работает с 3d. Если вы хотите добиться фотореалистичной картинки важно понимать логику PBR. Нужно думать как PBR. Хорошо бы понимать за что какой параметр отвечает и что вам дают разные настройки. И это отличная небольшая обзорная статья.

Конечно это в первую очередь надо 3д моделлерам. И им нужно разбираться в этой теме. Но когда ты являешься лидом или назначаешь задачи лучше иметь возможность объяснить что ты конкретно хочешь и как эта задача вообще делается. Я уж не беру инди многостаночников и так далее, а даже в классическом продакшене. Поэтому хорошо понимать принципы того в чем работаешь и суть идей каких-то технологий. Даже конкретные реализации не так важны, как концепты и идеи которые стоят за конкретными технологиями. Но наверное эту мысль стоит вынести в отдельный пост.

#интересное
🔥5
Концепции важнее конкретики

Перефразируя классику. Знать всё на свете нереально, но я мечту свою лелея, решил проблему гениально, я изучаю лишь идеи. Понимание концепций всегда важнее любой конкретики и узких кейсов. И о чём я?

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

Очень сложно знать 1 миллион конкретных решений. Но очень просто знать 1 тысячу идей из которых эти решения вытекают, и в этом суть фундаментальных знаний. Причём самым важным даже условно не "что-то знать" и иметь ответ с ходу. А знать о существовании этих идей, примерно помнить о чём они и самое главное — для чего нужны.

Это работает и с архитектурой, и с математикой, и с наукоёмкими задачами. Для примера выше ПБР. Вам не обязательно знать как он реализован скажем в Unity. Уметь писать самому свой рендер движок поверх рендер апи (если работа прям с этим не связана). Детали в целом не так важны. Но понимать концептуально что такое BRDF и почему рендер в реалтайме устроен именно так — стоит.

У меня такой областью знаний скажем является трекинг. Я наизусть не помню концепты ORB, как работает VSLAM и так далее. Я знаю принцип работы технологии. Почему там используются перепады контраста, что из себя представляет облако точек, по какому принципу оно строится, что через паттерн матчинг происходит релокализация систем координат. Потому что суть VSLAM описывается в паре предложений на самом деле. Тоже самое скажем с трекингом глаз. Там важно знать что такое саккады и существование проблем и решений в этой области.

Но как написать паттерн матчинг, или же Haar каскадный классификатор — это не те знания, которые я храню "в оперативной памяти". И на этот вопрос я не отвечу. Встанет задача написать такое — разберёмся, потому что знаем где копать. И так это работает вообще со всем. В разы важнее изучать 1 миллион идей и концепций, понимать логику работы чего-то иногда пусть даже примерно. Что называется иметь представление. Так в разы проще знать больше и потом уже разбираться в конкретике при необходимости. И на мой взгляд тот же ВУЗ нужен для этого. Научить вычленять идеи и изучать их. Это опять таки не обязательно, но весьма полезно в любой профессии и специализации.

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

#мысли
🔥16❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Как же выросли реалтайм технологии
https://80.lv/articles/awesome-real-time-liquid-and-fire-simulation-made-in-unity/

С течением времени интересно наблюдать как развиваются технологии реалтайм рендера. Очень красивая демка, а в каком-нить 2016 увидев такое на вопрос: «можем сделать такое реалтайм?». Можно было бы ответить только то, что человек с ума сошел. Что могли движки тогда (олдскулы сводит от воспоминаний что Unity когда-то версионировалась как 5.3), и что сейчас, это конечно небо и земля :)

#новости
🔥7❤‍🔥2
Bouncy Ball Shooter
https://catlikecoding.com/unity/tutorials/prototypes/bouncy-ball-shooter/

CatLikeCoding продолжает радовать всякими прототипами. Теперь игра bouncy ball. Можно там посмотреть применение ряда концепций вроде object pool и т.п.

#новости
❤‍🔥2
База по шейдерам
https://www.youtube.com/watch?v=kfM-yu0iQBk

Как-то пропустил это видео от Freya. Классный разбор того как работают шейдеры в Unity и базовых концепций в них, да и 3д графике в целом.

#интересное
❤‍🔥14🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
AI ассистент в Unity
https://80.lv/articles/ai-powered-virtual-assistant-that-knows-everything-about-unity/

Пока крупные компании начинают разрабатывать энтузиасты уже делают. OniStep — это ai ассистент аля чат гпт, который подсказывает в Unity куда нажать. Выглядит забавно. Не уверен что супер полезно, так как концепт «всё в одной программе» мне не близок, а по своей сути такие ассистенты это немного более интеллектуальный гугл. Но всё равно забавно :)

#новости
🔥11
Как изучить разработку самостоятельно
https://teachyourselfcs.com

Отличный сайт для самостоятельного изучения разных дисциплин Computer Science. Когда-нибудь надо будет попробовать осилить мне задачку (возможно с вашей помощью и комментами) на тему, какой есть путь самостоятельного изучения разработке игр. Чтобы составить некий роадмап.

А вообще такие штуки очень полезны. Я и в вузе всегда любил больше читать книжки, чем слушать преподов. И поэтому нашёл «лайфхак» по изучению любой вузовской дисциплины. Нужно на сайте вуза найти хорошую программу обучения нужной дисциплине, и главное чтобы там был список литературы. И по этому списку можно просто идти. Важно помнить грубо говоря про уровни. Что школьных знаний достаточно только для изучения списков литературы 1-го курса бакалавриата. То есть чтобы понять те же кратные интегралы надо бы изучить первые пол года вузовского матана. Но подход в целом рабочий.

#интересное
🔥13
ИИ против разработчиков

Последнее время я натыкаюсь на странный формат "мыслей и новостей". Я его называю ласково "айти инфоцыганство". Из забавного я видел интервью где человек на полном серьёзе сказал, что "с правильной командой можно любую систему приложение+сайт разработать за 4-8 недель". Это показывает не то, что человек не связан с айти бизнесом и ничего больше прототипов не писал, а что он даже к разработке не имел никогда отношения и не понимает как она устроена в принципе. За 4-8 недель можно разработать очень много видов прототипов. За 4 недели делаются без багов и продакшен реди только очень простые одноклеточные системы. Но причём тут заголовок?

Вторая смешная мысль ИИ заменит разработчиков. В реальности — это просто невозможно. Потому что основная работа разработчика — это не писать код. Основная экспертиза разработчика — это структурная мышление и умение укладывать хотелки бизнеса в формальную систему. Ну на эту тему даже есть много шуток в стиле "Чтобы ИИ заменил разработчиков бизнес должен уметь описывать требования к системам. Мы в безопасности".

Я пишу очень мало кода. Я в целом, даже когда сам разрабатываю проекты, трачу на это не больше пары часов в день. 90% времени я выясняю что заказчик хочет и формализую это в технические требования и спецификации по своей сути. Объясняю что технически невозможно. Объясняю что как делается. Строю процессы создания контента под конкретную задачу и так далее. Моя основная работа — это понять что надо сделать то. Так как сделать это — это уже дело техники. И как бы это парадоксально не звучало бизнес может сколько угодно надеяться на ИИ, на то что он сделает разработчиков дешевле, но этого не будет. Так как бизнес не знает что он хочет и всё ещё не обладает умением по сути это грамотно формулировать. А это именно то, чем занимаются разработчики.

Я смотрю на GPT модели, на разные ИИ тулы именно по коду — это просто продвинутый гугл. ChatGPT решает ту же самую задачу, что и гугл просто немного удобнее. Это не Zero Code решения и конструкторы. А даже с появлением конструкторов мы знаем что произошло. Дешевле стали только очень типовые задачи, которые и так не были дорогими, так как сделать их было не так сложно. Плюс конструкторов на самом деле чисто в согласовании с клиентом. Когда ты подписываешься на "мы делаем на этом". Любой функционал который нельзя сделать обоснован ограничениями конструктора. И это удобно. Но в остальном такой лендос который делает тильда, и за сколько продают сайты на тильда, это же можно спокойно делать силами опытного фронта, так как у него есть такой блок и уже реализован :)

Поэтому бизнесу стоит успокоится, разработчикам стоит успокоится. ИИ — это инструмент для разработчиков, а не замена разработчиков. Дефицит на рынке айти именно среди разработчиков как есть, так и был, и пока я не вижу предпосылок, чтобы он сглаживался, когда рынки снова начнут расти. Сейчас просто временно сокращается число проектов. Но это стандартные процессы на рынках.

#мысли
🔥16🤯2🤣1
Rider 2023.2
https://blog.jetbrains.com/dotnet/2023/08/02/rider-2023-2-release/

Новый апдейт райдера. Куча мелких улучшений, но из интересующего меня пожалуй только «лучше поддержка шейдерлаба». Остальное кул, но не так важно. А вообще брейнсы молодцы, люблю брейнсов :)

#новости
🔥14
Юнити что-то запускает
https://80.lv/articles/unity-launches-its-new-unity-weta-tools-division/

Я вообще не понял что это. Для чего я понял, типа для компоуза, CG и т.п. Короче для киношников в первую очередь будто бы, но что это за инструменты мне совершенно непонятно. Я пытался вчитаться в ключевые функции, в описания и всё равно не понял. Что-то юнитеки выпускают, но вот что для меня загадка.

#новости
Полноэкранные эффекты
https://youtu.be/hqz4TnvC3fQ

Любопытное и простое видео про полноэкранные эффекты. Это часто полезная штука, чтобы показать игроку что что-то произошло. Получено слишком много урона, или игрок врезался в препятствие. Такие эффекты правда бывают дорогими, особенно если они используют данные из фрейм буффера, но уметь ими пользоваться довольно полезно.

#новости
🔥3
Книжка по сетям

Я уже рекомендовал эту книжку когда канал был сильно меньше. Можно и повторно порекомендовать. Очень советую прочесть, книжка даёт отличное понимание по работе сети в играх и именно по принципам, предпосылкам и причинам почему сеть была устроена именно так.

Конечно документация современных библиотек — это здорово. И вся эта суть в среднем будет закрыта от вас за тоннами абстракций. Но понимать её довольно полезно в любом случае.

#рекомендация
🔥33
This media is not supported in your browser
VIEW IN TELEGRAM
Эффект ватерлинии
https://80.lv/articles/realistic-digital-water-made-with-unity-hdrp-and-a-custom-waterline-fx/

Крутой реалистичный эффект ватерлинии сделанный на hdrp. Бесконечно в разработке можно говорить о том как сделать воду, как сделать огонь и почему эта архитектура плохая.

#новости
🔥17🤣5
⬇️ Хотим поделиться с вами Telegram-каналом Portal News.

Portal News — это русскоязычный VR/AR хаб для людей, интересующихся технологиями виртуальной реальности.

Что на канале:

☺️Новости VR/AR
☺️Публикации: гайды для Oculus Quest 2 и Pico 4, подборки игр, обзоры
☺️Мемы и познавательные видео про VR и метавселенные
☺️Анонсы VR-турниров и видео на Youtube
☺️Розыгрыши и вакансии

Подписывайтесь и на уютный чатик, привязанный к каналу.

VR-пользователи со всего мира общаются на релевантные темы, помогают друг другу и обсуждают новости индустрии в уютной атмосфере.

📱 Подписаться на канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
4D Объекты в Unity
https://www.alanzucconi.com/2023/07/06/unity-3d-to-4d/

Абсолютно бесполезно, но весьма залипательно :) 4D объекты в юнити и их отрисовка.

#новости
🔥3
Разбор Happy Harvest
https://youtu.be/_NleexYqwU0

Название ролика конечно странное. Так как использование или не использование этих техник очень сильно зависит от стилистики 2д игры, но разбор демок это всегда полезно. Плюс там разбирается работа с 2д светом, аналогом спайна от Unity, шейдер графом и так далее. В общем все модные новые и не очень фишки для 2д.

#новости
🔥6
VS Code будто бы приводят к Rider
https://devblogs.microsoft.com/visualstudio/announcing-the-unity-extension-for-visual-studio-code/

Расширение VS Code для Unity. Много прикольных фишек, но вроде бы это всё уже есть в райдере. С другой стороны вскод был бесплатным и так же быстро грузится, в отличии от визуал студии, где я успевал сделать чай, бутерброды и многое другое, пока он запускался. Я конечно с райдера наверное уже ее слезу, но то что вскод развивается и дополняется майкрософтом для Unity — это хорошо.

#новости
🔥8🤣2
This media is not supported in your browser
VIEW IN TELEGRAM
Весь город — игра в боулинг
https://80.lv/articles/this-developer-turned-an-entire-city-into-an-ar-bowling-arena/

AR разработчик в GoSpooky превратил целый город в боулинг с помощью AR Foundation и Google's Geospatial API. Выглядит забавно. Вообще когда AR когда-нибудь будет по удобнее можно будет делать прикольные квесты, головоломки и другие механики в городской среде.

Но с другой стороны что у AR и что у VR есть одна проблема. Почему мобилки так популярны? Способ потребления контента. Поиграть в сложную AR игру в городской среде — это надо найти время, выйти из дома, пройтись и этим прям заняться. А этим не всегда хочется заниматься. Мобилки же убивают время в такси, в метро, когда на работе нечего делать. Когда нужно просто убить несколько минут. ААА и сюжетные игры — это тоже целый опыт, но обычно после тяжёлого трудового дня на удобном диване или в удобном стуле. Поэтому я когда-то перестал играть в VR игры, так как для этого надо напрягаться, когда я хочу расслабится :) Но концепт забавный :)

#новости
🔥6