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

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

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

Интересный ролик про JPEG. Всегда интересно разбирать алгоритмы сжатия и т.п. Когда понимаешь идеи лежащие в этом всём, то становится понятнее как решать более сложные задачи. А текстуры — это одна из основных сущностей игровой разработке. И понимать их устройство, что такое цветовые пространства, что такое изображение в памяти и так далее. Это даёт в разы больше инструментов для реализации классных проектов.

#интересное
👍8
Media is too big
VIEW IN TELEGRAM
Doom запустили в инспекторе
https://github.com/xabblll/DoomInUnityInspector

Есть такое дело, дум запускать где угодно. И вот и на Unity запустили Doom. Можно поиграть в инспекторе :) Если вдруг кто забыл управление. Ctrl стрелять, пробел открывать использовать (открывать двери)

Чтобы установить себе в редактор и заниматься более важными вещами чем какая-то там разработка нужно в Package Manager добавить git url https://github.com/xabblll/DoomInUnityInspector.git

И всё. Дум работает. На версии 2021.3.16 — протестировано :)

#новости
😁21
Как же иногда бесит Git LFS

Git lfs часто и любопытно ломается. То какой-то файл найти не может, то что-то ещё. Особенно забавно он себя начинает вести с несколькими ремоутами. Так как там если у тебя локально нет какого-то файла, то запушить бывает целым приключением. За последние 2 месяца правил я какие-то проблемы уже дважды. Сейчас вот, так как у нас был переезд сервера гитлаба на новый, то как бы гит проблемы не увидел. Того, что это атака по середине и его ssh клиент почему-то не ругался. А вот lfs же (так как у меня не было одного файла, мне нужно было сделать git lfs fetch --all) начал ругаться. Ок. Сделали хендшейк с хостом, вроде всё ок? Не, теперь он просит пароль при ssh подключении. Кайф

Но бесит даже не это. Но любопытно такой кайф только под виндой? Промт с паролем нельзя закрыть не убив процессы руками. Ну то есть git-lfs будто бы не знает концепт "сопроцессов". Так как ожидаешь поведение. ЛФС сопросцесс гит клиента, ssh клиенты сопроцессы lfs. Поэтому когда закрываешь гит, всё должно закрыться. Но нет. Оно всё равно открывает окно с паролем. Допустим вы знаете, что этот промт открывает процесс ssh. Но просто закрыть его нельзя, так как ssh клиент будет переподнят git lfs. Поэтому сначала убивается гит лфс, а потом ссх клиент. И даже логику транзакций так обработать не трудно, создав демона для этой задачи, если рассуждать что с "сопроцессами" что-то пойдёт не так. Все локи и прочее в гите — это текстовые файлы конфигурации. Ну сейчас нет никакой проблемы хоть перед опасными операциями делать полный бекап, а потом восстанавливать из него "демоном" если процесс закрылся как-то не так. Но незакрывающиеся окна — это раздражает.

Ладно, пойду что ли ремоут пока на https заменю, чтобы сделать то, что мне надо. Это вероятно сработает.
1🤯1
Нейросети и скандалы
https://www.reddit.com/r/Art/comments/105o2dg/artistic_integrity_is_under_attack_me_digital_2023/

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

Как год заканчивался нейросетями, так как ChatGPT и Midjorney выглядят как магия, так он видимо и начнётся.

#новости
🤡2🔥1
Вопрос-ответ 3

Например, есть класс переключатель панелей юай. Где располагаешь скрипты в иерархии? Он бы находился на объекте канваса среди других компонентов, или на пустом отдельном объекте? Как ребенок канваса или как отдельный объект?

Скрины
будут чуть ниже, так как ответ будет длинным. Тут важно понимать вот что. Я не люблю Code First подход. Вообще. Я считаю его неудобным. И дальше я объясню почему и схему организации используемую почти во всех проектах.

Менеджеры

Отвечая конкретно на на вопрос. Для меня класс переключатель экранов — это менеджер экранов. Я бы его обозвал каким-нить роутером, так как в будущем он может пригодится для функционала дип линок. Поэтому он лежал бы в [MANAGERS] из первого скриншота. Многие менеджеры — это монобехи, если им нужны Start, Awake или Update, которые лежат в отдельном объекте в сцене.

Я не люблю делать какой-то бусстрап скрипт или любую централизованную систему запуска приложения. Мне нравится когда по сути все "сервисы" или фичи имеют свой менеджер, свои реализации, свою инициализацию и т.п. И не запускаются из какой-то одной точки.

GUI

Интерфейсы же очевидно являются монобехами. Скрипты это обычно вроде UIPanel или типа того, которые управляют отрисовкой и вызывают методы или кидают события, которые реализует интерфейс. И тут хочется сделать важную ремарку. Я терпеть не могу в них Code First процесс. Особенно часто встречаемое AddListener на кнопки в гуе, вместо прокидывания через сериализацию Unity и вот почему.

Чем плох Code First? И зачем нужна такая организация?

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

У вас баг, что по какой-то кнопке неверно что-то работает. Как проще всего локализовать проблему? Представим сложную панель и два случая. Баг причём визуальный и без логов, скажем вёрстка едет.

Случай первый. Кнопка подписана через сериализацию на то, что она запускает. Вы заходите в сцену. Проходите до того, чтобы инстанцировался нужный гуй. Находите кнопку и видите, что она вызывает.

Случай второй. У вас подписана в виджете в AddListener. Напоминаю, вы не знаете устройство системы. И допустим коллега, что её делал в отпуске или это легаси, и его уже нет в компании. Вы делаете тоже самое, смотрите все виджеты и скрипты в панели, пока не найдёте кнопку на которую будет подписка. И хорошо если по названиям нет дубликатов, чтобы не запутаться. Либо гадаете где она вызывается по IDE или логике названий. Либо самый длинный путь идти от точки входа подсистемы и разбираться где вызов именно этой кнопки.

Организация по "подпапкам" и т.п. выполняет ту же функцию. Как и строгие грамотные названия, организация ассетов. Всё нужно организовывать так, чтобы вам потом было удобно расследовать "что не так". И в целом разбираться в том, как работает проект. А благодаря редактору удобно это делать разрабатывая всё по схеме MVVM и используя все возможности визуального связывания с моделью.

Напоминаю, что интересующие вас вопросы можно задать тут.

#вопросы
👍4😐4
Крутая инфа по левел-дизайну

Хочу порекомендовать блог своего приятеля.

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

Самые интересные публикации он собрал в закрепе. Там даже есть его личный цикл по левел-дизайну, участвующий в конкурсе Технотекст 2022 на Хабр.

Все комментарии он читает и активно отвечает. Подпишитесь, передайте привет!

#реклама
👍7🔥1🗿1
Вооружимся архитектурой
#задачка

Итак, началась трудовая неделя. Сегодня у нас день холиварных тем. Утро началось с обсуждения подходов к архитектуре, так что самое время для архитектурной задачи :)

Вы решили сделать с друзьями свой скайрим. У вас пока в игре есть два вида оружия: молот и меч. Они отличаются уроном, прочностью и скоростью атаки. Плюс логикой атаки. Атака молота аое в круговой зоне. Атака меча бьёт до 3 ближайших противников. К вам пришёл катжит и за лунный сахар предложил купить у него схему архитектуры на картинке выше. Предложите решение лучше. В чём проблема данной схемы?

Решение теперь будет публиковаться на следующий день или позже, чтобы не спамить кучей сообщений. Тут решение не единственное верное. Но я распишу моё решение такой задачи с обоснованием. Так сказать условия чтобы размять свои архитектурные извилины.
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
UV Checker
http://uvchecker.byvalle.com/

Прикольная тулза генерирующая разные uv-checker текстуры. Если вы занимаетесь VFX или шейдерами, то у вас по любому под рукой должны быть такие текстуры.

Я когда-то добью свой тулкит с меш генерацией разных примитивов для VFX (по нему у меня пока творческий кризис). И так как там есть автогенерация uv для моделей и прочего. И поэтому я часто пользуюсь такими текстурами, чтобы проверять, что всё отработало корректно и нигде ничего не деформировалось.

#новости
❤‍🔥4👏1
Игры в рекламе
https://www.glossy.co/beauty/pradas-candy-crush-fragrance-campaign-drives-sales-bounce-1800-traffic-growth/

Прикольный кейс как с помощью интеграции бренда в игру получилось увеличить трафик и продажи на 1800%. Возможно настанет эра продакт плейсмента в играх (хотя он и так в некоторой степени присутствует). Я всегда любил игры и геймфикацию. Даже целый продукт на эту тему сделал в прошлом году https://whitelabelgames.ru :) Теперь будет можно говорить чуть увереннее «Как это зачем вам нужна игра в вашем приложении? Вот что Prada делает».

#новости
🔥3
Главный навык разработчика

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

Есть мнение, что сеньор — это тот, кому можно дать задачу и отвернуться. И она будет сделана. И сделана хорошо. Всем уровням ниже нужен контроль. И это ближе к истине.

Я считаю главный навык серьора уметь докапываться до сути проблем и вещей. Не соврешать глупых ошибок, иметь набор привычек — может и мидл. Но сеньор видя проблему первоначально разберётся: «а в чём она действительно заключается?»

И это набор техник и навыков проводить такие вещи правильно. И любой серьор знает главное. Нельзя верить стековерфлоу, гуглу и т.п.

Я встречал много бредовых, тупых, неправильных ответов. И давно разучился копипастить со стековерфлоу, пока не пойму «а что конкретно делает то решение, которое мне предлагают». Для примера возьмём недавний пост с метрикой.

Вы не шарите как работает градл. И это относительно норма для юнити разраба, хотя разобраться в системе конфигурации сборки и её конфигах — не то чтобы прям рокет саенс. Вы находите (как и я), решение в интернете в виде моего решения костыля, с удалением зависимости через град. И копипастите не разобравшись что это. По сути у вас может дальше сломаться приложение и вы не в курсе, что вы создали потенциальный риск в системе. Баг исправился, тесты прошли, всё хорошо. Хорошо же?

Нет, так как это решение костыль. И если в проблеме покопаться (у меня задача полного расследования заняла 4 часа) То в ишью аркора можно найти, что это баг гугла и в какой версии его поправили. И найти настоящее решение бага. Не костыльное и без рисков.

Помимо этого есть случаи, когда ты копаешься в край, так как понимаешь, что «ну не может это не работать, иначе об этом бы кричал весь интернет». И это на мой взгляд отличает сеньора. Он не гадает. Он разбирается в сути. И если решается делать костыль, то именно потому что всё понятно, это и называется — воркэраунд. Сеньор не оставляет проблему без полного понимания и не ведётся на ответы из интернета, так как понимает суть программирования. Он не просто пишет код, он умеет «понимать систему». И понимать, как отсекать варианты идей о том в чём заключается проблема быстро и оперативно.

#мысли
🔥7👍3🤯1
Apple Reality Pro
https://www.gamedeveloper.com/business/report-apple-preparing-reality-pro-headset-for-fall-2023-release-

Конечно информация не подтвержденная, но если Apple выпустит свою гарнитуру в 2023 году, то будет интересно изменит ли это как-то AR&VR рынок.

#новости
Почему ТЗ стоит денег?
https://habr.com/ru/post/709784/

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

Делитесь статьей, если она вам понравится, с теми, кому она может быть интересна. Это мотивирует писать больше интересных статей, да и в целом развивать блог :)

#статья
👍9🔥1
Огромная подборка книг про геймдев
https://habr.com/ru/post/709684/

Если кому-то нужен список литературы на лето чтобы знать всё про геймдев — то вот он. Как общий глоссарий всяких книг может пригодится. Я тоже переодически составляю подборки. По рендеру как пример. Мне иногда в подборках правда не хватает инфы что в каком порядке читать и кому. Так как по той же разработке мне не хватает Рихтера. Но с другой стороны я бы не стал начинать изучения шарпа с Рихтера.

Хотя главное помнить всем юнити разрабам, что Рихтера прочесть надо обязательно и весьма желательно его перечитывать раз в несколько лет.

#новости
🔥12👍1
Volumetric Ocean System Unity
https://80.lv/articles/a-volumetric-ocean-system-set-up-in-unity/

Симатичная система волюметрического океана, которую разработчик разрабатывает для своей игры. Вода, огонь и архитектура — это вечные темы разработки конечно :)

#новости
3👍1
Планы Unity на будущее
https://unity.com/roadmap/unity-platform

Общаясь с одним знакомым я с удивлением узнал что он не в курсе что у Unity есть публичные роадмапы и планы. Юнити с давних времён в разных форматах выкладывает то, что планирует сделать в будущих версиях. Это не всегда исполняется, но часто показывает горизонт планирования и о чём думает Unity. Помимо этого там же можно проголосовать насколько важна та или иная фича для вас. Я очень хочу чтобы была сделана и потыкать такую фичу, как Shader Quality Settings. Это бы в ряде проектов мне пригодилось, где я пользуюсь Unity шейдерами. Вдруг вы тоже не знали, что такое есть.

#интересное
👍5
Декомпозиция визуальных эффектов "Чёрный Адам"
https://80.lv/articles/black-adam-vfx-breakdown-released/

Любопытно. Как корректнее перевести Breakdown в таком контексте. Так как это всё-таки не совсем разбор.

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

#новости
ВК собирается вложить 300 миллионов рублей в российские игровые студии
https://dtf.ru/gameindustry/1564185-kommersant-vk-planiruet-vlozhit-300-millionov-rubley-v-rossiyskie-igrovye-studii-v-2023-godu

Астрологи видимо объявили год игровых проектов. Вк тоже решило денег вложить в игры. Посмотрим конечно как оно будет в реальности и что это будут за проекты.

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

#новости
8🥴1
Media is too big
VIEW IN TELEGRAM
Move.ai на IPhone
https://80.lv/articles/move-ai-launched-an-iphone-beta-app-for-free-markerless-motion-capture/

Я никогда не прощу эплу покупку самого дешёвого фулбади мокапа. IKinema Orion была прекрасна и с ней можно было за 3к$ собрать свою небольшую студию захвата движений.

Но по рекламным роликам эта штука может занять место айкинемы в моём сердце. Если работать она будет прилично, то мокап снова станет доступен небогатым инди, и можно будет делать много прикольных штук. Ролик выглядит просто шикарно :)

#новости
🔥8👎1
Лебедев....
https://www.artlebedev.ru/hermes-feed-bot/

Прошу прощения за позднее уведомление, но меня переполняют эмоции. Эксперимент с Лебедевым наконец-то кончился. Спустя 2 месяца "экспресс дизайна" я получил свой логотип. И могу сказать так. Я работаю в аутсорсе и не люблю говорить "такая работа столько не стоит". Так как это немного не так работает. Проблема не в результате. Логотип как бы окей. Я не могу сказать, что он говно. Но 2 месяца на реализацию за такой бюджет — ну такое.

Поэтому я даже тут хештега не поставлю. Вы можете сами оценить какой логотип лучше. Лебедева или тот, что мы взяли со стока, так как "хотелось зарелизится" http://hermesbot.ru/. И я даже использую нарисованный логотип, так как он подходит даже если я изменю название и позиционирование бренда.

Даже со стихом забавно. Он прикольный, ничего не могу сказать. Но в контексте продукта. Гермес ничего не помогает найти, он помогает собрать всё в одном месте :)

А так если вдруг кто-то думал для эксперимента попробовать дизайн от Лебедева за дёшево — не рекомендую. И дело тут не в самом результате что забавно. Почему такой логотип скажем через 2 недели стоит 100к я смогу обосновать. А почему такой логотип стоит столько спустя 2 месяца — нет :) И исходя из процессов в самой студии. Грубые ответы на отъебись. Корректно ответила только глава юридического отдела до которой я дошёл. Меня послали, но корректно. Поэтому как бы вопросов ноль.

В общем эксперимент проведён. Результаты получены :) Было любопытно) Человек который очень много говорит про дизайн и UX не отстроил довольно банальный бизнес-процесс, что забавно. Если бы у меня из ребят кто-то так ответил, как сотрудники студии мне, он бы просто больше к клиентам в жизни бы не подошёл :)
😁15👍5🤮3🤔1