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

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

По вопросам сотрудничества писать: @it_bizdev
Реклама в канале: https://vk.cc/cNhGLE
Download Telegram
Wednesday 10/10

Досмотрели сериал и это лучшее что я смотрел за последнее время. Аниме по киберпанку было неплохое, но Венсдей просто 10/10. На том же уровне для меня пожалуй из «новинок» только Аркейн. Отличная атмосфера семейки аддамс, нет перебора с фан сервисом, шикарные персонажи. Теперь нужно ждать второй сезон. Но вроде его планировали сделать в 2023 году.
👍5👎4
This media is not supported in your browser
VIEW IN TELEGRAM
SurfaceFlow
https://catlikecoding.com/unity/tutorials/pseudorandom-surfaces/surface-flow/

У Catlike Coding часто выходят классные туториалы. Этот и вся эта серия по сути посвящены псевдорандомным поверхнстям, которые делаются через шум. Что бывает крайне полезно для реализации разного рода VFX эффектов.
🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Keijiro как обычно — гений
https://twitter.com/_kzr/status/1602957549254643713

Сделано круто. Видимо реймаршинг + компьют шейдеры + vfx и трансляция трекинга с телефона :) Как всегда топчик :)
🔥10
This media is not supported in your browser
VIEW IN TELEGRAM
Cyanilux
https://www.cyanilux.com/contents/

Обожаю находить новых интересных тех. артов. Особенно если у них есть туториалы или открытые репозитории. Сегодня вот наткнулся на Cyanilux сделавшим такой классный эффект. И у него как раз сайт с туторами есть. Они довольно просто объясняют как сделать ряд эффектов на URP.
🔥10
Осознанный техдолг и интерфейсы

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

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

Я для себя вывел простую формулу, чтобы потом не тратить время на особое переписывание. Интерфейсы. Допустим у вас сложная задача. Скажем для того, чтобы трекинг хололенса не тупил ему сначала нужно "просканировать пространство". Так как с ходу он может трястись. Нормальное решение — сделать анализ по площади отсканированного меша. Но так как времени нет, проект горит и это пойдёт как "временное решение", то альтернативно можно выставить задержку в 10 секунд для того, чтобы отсканировать простраство. Если этот костыль обернуть в простенький интерфейс, и сделать реализацию что через 10 секунд он бросит событие "трекинг готов". А пока к камере прибить "осмотритесь, чтобы мы могли лучше построить карту пространства". Пойдёт как временное решение. Быстро и просто, а интерфейс позволит нам потом заменить его без каких-либо проблем.

И в любой аналогичной ситуации всегда просто удобно завести интерфейс. Когда уже есть "набитая рука", то время на то "как его назвать", "какие методы" и т.п. не тратится. Вы понимаете абстрактно логику функционала, который "правильный". И интерфейсом просто закрываете мок реализацию. Супер удобно.
👍10❤‍🔥1👎1
Вышел Cascadeur
https://youtu.be/FEq_PJXTUOM

Некки наконец-то релизнули каскадёра в ранний доступ. А так как это моё первое место работы, то как же об этом не рассказать. Помню как мы в 11 геймдизайнеров делали проект Vector2. Я в те времена ещё был геймдизом, читал Fundamentals of Gamedesign и хотел делать игры XD
🔥6😁1
Мануал от Unity по UI
https://blog.unity.com/games/ultimate-guide-to-creating-ui-interfaces

Видимо юнити решило делать мануалы по каждой теме. Ну может хоть тут они объяснят в чём прикол UI Toolkit.
🔥8👍1😁1
Беспощадный маркетинг и метавёрсы
https://www.youtube.com/watch?v=832JF1o7Ck8

Сначала к сути. Epic Games анонсировали свой язык программирования — Verse. И я никогда не пойму зачем ко всему приплетать метавёрсы. Конечно я обратил на это внимание, так что "шалость удалась". Опенсорсный язык — это неплохо. Но я никогда не пойму всего этого хайпа вокруг метавёрсов. Итак Facebook забрал Meta, Epic забрали Verse. Буквы в слове MetaVerse кончились. Жду ответа от сбера и вк. Вк переименовывается во ВСЕ (и делает свою вселенную), а Сбер делает продукт для пассивного дохода в инвестициях ЛЕННАЯ. Я бы предложил кому-то МЕТА, но она запрещена в Российской Федерации.
🤣8🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Океан
https://habr.com/ru/post/451604/

С утра решил почитать что-нибудь интересное про волны и в целом воду, и наткнулся на оч. классную статью 2019 года. Ссылка на "Simulation Ocean Water" там битая, так что приложу живую с Research Gate. Супер интересная работа. И статья тоже кул супер.

Вечно в игровой разработке можно разбирать три вещи: как сделать воду, как сделать огонь и как правильно работать с кодом XD
👍7🔥3
Что с рынком игр?
https://habr.com/ru/post/705906/

Интересная попытка, правда не совсем понятен последний блок :) Ну и по ряду неточностей:

1. Странный блок про My.Games, которые ушли из РФ (их выкупил Leta Capital у VK за $642 млн).
2. Блок про нейросети в целом непонятно про что и о чём.
3. Про курс доллара и что разрабы стали дороже. Да нет, ситуация в целом не такая. И везде свои нюансы.

Если коротко, рынок игр мёртв и его не воскресить, уж тем более господдержкой. В РФ. И это нормально. Но тут стоит распространить, что я понимаю под РФ. Нет смысла заниматься играми в юрисдикции РФ. А не если вы из РФ или Российский разработчик. Прикол в том, что рынок всегда адаптируется, но не так как хочется государству, а по рыночным правилам. Просто играми стало заниматься дороже. Ну и вообще, чтобы работали банальные инструменты разработки (Rider, Unity, Creative Cloud) — лучше иметь "казахского друга". Но самый разумный путь — открывать зарубежное юр.лицо. Что значит что господдержка не нужна государству, так как государство с этого ничего не имеет.

Прикол в том, что игры и так штука рискованная. Их делать делать долго и дорого. А выпускать их только на локальный рынок для меня вообще звучит как бред (если только не под заказ, где вся разработка уплочена). Поэтому это всё какое-то утопическое рассуждение. Даже игроки из РФ ща покупают (обходными путями) игры на старых платформах. Меняют регионы, находят опять-таки казахских друзей :)

Так что это разве что шанс попробовать "поднять локальные сторы". Но если мы зайдём на VK Play, который явно косит под стим. Ну там история про "дай списать", "но ты ток не прям 1 в 1 списывай". Со всеми проблемами стима + дополнительными. При этом вы по идее должны метится в десктопную аудиторию, так как для игр типа "моя любимая дача" у вас есть VK Games. А у нормального ПК геймера просто аллергия на такие названия, баннеры и т.п. Так как это отдаёт нафталином мобильных казуалок и собственно "мейл ру игры". Типа с одной стороны если там есть халявный траффик, возможность покрыть часть расходов, может даже я бы вписался в такое весёлое приключение (чисто по приколу). Но по большому счёту не под инвест и истории про $$$$$, а так чисто из любопытства.

А на вторую тему российского венчура, акселерации и фондов, они там вообще живы то? Давно ушло время, когда я был стартапером и интересовался фондами и инвестом, поэтому реально интересно что там)
👍61
Nami Wave Unity VFX
https://youtu.be/r01JDkq1nB0

И ещё один VFX из LoL с того же канала. Крутой канал, разбирает много таких эффектов. Я ща хочу сделать две интересные предновогодние штуки. Надеюсь успею до праздников :)
🔥6
Логи на Flask

Работая с хололенсом лучше иметь Unity логи не в хололенсе. Да и в целом с тем же айос мне иногда удобнее пользоваться логами которые падают куда-то. Самое простое апи, которое можно написать на коленке за 5 минут — это Python Flask. По сути 10 строк кода позволяют мне читать логи в консольке фласка. Но ведь с Unity не может быть не больно?)

По умолчанию UnityWebRequest, если передавать в него строку, заменяет символы "сложные" на escape символы. Ну те, что %20 и так далее. Ну то есть я сижу и не понимаю, почему сервер возвращает мне 400. Сравниваю хедеры в постмане, и в Unity и т.п. И когда уже пора было вызывать некроманта и изгонять бесов из кода, я вспомнил, что доверять юнити нельзя.

Запустил fiddler и посмотрел, что там шлёт Unity, а что постман. И это на последних двух скринах. Первое это Unity. Второе это Postman.

Думаю если быть в курсе это сэкономит кому-то час-другой) Сниппеты выше рабочие
👍4
DDD и ограниченный контекст
https://habr.com/ru/post/705846/

Любопытная статья. По сути небольшой кусочек теории DDD (Domain Driven Development) и да это хорошо бы знать и в играх. Игры — это такие же приложения и часто их удобнее рассматривать именно так. Особенно когда речь про разграничение ответственности бека и фронта и т.п. :) Хотя конечно DDD в целом больше про бекенд.
👍3
Быстрее запускать Play Mode в Unity
https://www.youtube.com/watch?v=ThoWjnNR6F4 (советую смотреть с английскими субтитрами, а я напишу короткий перевод сути)

Все сталкиваются с тем, что Play Mode бывает грузится вечно. И в редакторе есть замечательная настройка Enter Play Mode Options. Настройку можно найти в Project Settings->Editor->Enter Play Mode Settings. Включив её Play Mode начнёт запускаться меньше чем за секунду, но за счёт чего и какие у этого проблемы? По умолчанию в этой настройке выключены две вещи. Reload Domain и Reload Scene.

Reload Domain — это перезагрузка скриптинг системы C#. Делается это для того, чтобы сэмулировать первый запуск приложения. Она происходит (даже при отключенной настройке) так же при рекомпиляции скриптов. То есть включив её вы не вырубите Reload на совсем. Но тут нужно понимать сайд эффекты. Если вы используете статик переменные или же многопоточность, то без перезагрузки C# системы они не переинициализируются. Лучше конечно не юзать такую статику (с важным состоянием), но есть и воркэраунд через аттрибут RuntimeInitializeOnLoadMethod. Его можно посмотреть в видео.

Reload Scene — это перезагрузка сцены. То есть все объекты будут удалены и созданы заново. Это почти не создаёт проблем. Это создаст проблемы если вы юзаете [ExecuteInEditMode] и [ExecuteAlways] так как не будет вызовов OnDestroy и Awake, и это может что-то сломать.

Так же в общем это может сломать какие-то ассеты, которые не поддерживают эту настройку. И понятна причина почему она не включена по умолчанию. Но если все эти проблемы для вас не важны, то вы можете сильно ускорить вашу разработку, чтобы не ждать PlayMode по несколько секунд :)
👍5❤‍🔥2
Теория графов от инженера Google
https://www.youtube.com/watch?v=09_LlHjoEiY

Отличная лекция по теории графов разбирающая все основные понятия и алгоритмы. Хорошая подача, хорошие картинки. Без страшных формул :) В общем если хочется разобраться в теме — отличная лекция. Хотя из-за понятия деревьев я считаю, что каждый должен знать хотя бы базу этой теории и что такое поиск в ширину и поиск в глубину. Кратчайший путь, дейкстра и многое другое. В общем это правда то, что должен знать каждый разраб, так как широта применения теории огромная.
5
Ответ ArtStation на протест
https://80.lv/articles/artstation-responds-to-the-no-to-ai-generated-images-protest/

Чёт я пропустил на прошлой неделе продолжение этой истории Ну на самом деле решение ввести теги и т.п. неплохо, а так посмотрим куда оно в итоге дойдёт. В друг не будут банить ИИ из опасений в истории с картинки выше. А если серьёзно, то и отличить ИИ арт не всегда просто уже. Особенно если в кадре нет рук XD
🌚3
Nullable Reference
https://habr.com/ru/post/706376/

Поговорим о nullable reference. Как говорил когда-то Рихтер, что он в шарпе жалеет о наличии null. И nullable reference отличная ему замена, так как с точки зрения компилятора это тот же reference type. И вот почему. В идеале при разработке вы знаете, что должно принимать значение null, а что не должно. Я уже кидал статью про фишку C# 8.0, чтобы включить nullable reference type. А в этой статье разбираются разные способы работы с nullable reference type. И лучше быть в курсе, так как работая с ними вы в явном виде всегда будете задавать "я знаю, что здесь может быть null" что приведёт к более логичным обработкам и меньшему числу неочевидных поведений.
🔥4
Havok для Unity наконец-то вышел в релиз
https://blog.unity.com/technology/havok-physics-now-supported-for-production

Давным давно юнити это анонсировали и наконец-то он вышел в прод :)
👏15