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

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

По вопросам сотрудничества писать: @it_bizdev
Реклама в канале: https://vk.cc/cNhGLE
Download Telegram
Оптимизация пользовательского интерфейса
https://dev.to/devsdaddy/unity-ui-optimization-workflow-step-by-step-full-guide-for-everyone-44da

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

В общем ещё с градиентами в гуе разобраться, что можно сделать почитав мою статью (либа я не уверен что работает, так как я забил на неё очень давно). И в игре будет более-менее оптимальный гуй.

#новости
🔥8
Гриша-бизнесмен: Самая забавная встреча

Материалы для продажи сделали. У нас была презентация, интерактивная презентация в виде приложения на айпад. На нём были ролики, AR механики вроде AR портала, игры, интерактивные презентации. В общем 10 единиц контента чисто для демо. Пошли мы по конференциям клиентов искать. У меня наверное больше никогда не было столько встреч в чужих офисах. Я ездил куда-то каждый день два раза в день. И оно принесло свои результаты. В CRM за 2 месяца плотной работы появилось контрактов на 25 миллионов. Так называемые лиды. Но где мы обсудили что делаем и суммы, а это уже большой кусок работы. В общем шарманка как-то поехало.

И по ходу этого замечательного процесса была самая интересная встреча. Вообще я провёл очень много встреч, а ещё больше переговоров за последние 6 лет. Но такое у меня было дважды, а тогда вообще в первый раз. И это забавный процесс в некоторых компаниях. Мы приходим в компанию, общаемся с руководителем визитку которого взяли на конференции. Он проводит нас в переговорку. После говорит подождать и уходит. Мы раскладываемся, готовимся, подключаемся к проекторам и так далее. И тут в переговорку заходит человек 20. Я аж растерялся. Я привык что общение ведётся с 1-2 людьми, а тут толпа народу и все чего-то ждут. Руководитель другой компании заметил и взял вступительное слово, и я уже дальше включился рассказал и показал всё. Оказывается к нам привели вообще весь отдел продаж, чтобы мы им рассказали, что им надо продать. Сейчас меня такое уже не сильно удивит, но тогда это было неожиданно конечно.

И всё было неплохо. Да, конечно кассу чуть подразрывало, ещё и материалы стоили денег и ресурсов, да и на встречи тоже нужны расходы. Конечно же 24 миллиона рублей лидов вселяет надежду на светлое будущее, так как обычно у меня конверсия в контракт больше 50%. Но как говорится, я выбрал самый удачный момент, чтобы нацелиться в самый удачный рынок. В бизнесе некоторые вещи просто невозможно предсказать. Но это уже совсем другая история. Ставьте 🔥. Это ничего не стоит, а мне приятно. Я и так тут чуть ли не все секреты фирмы рассказываю. Правда своей, так что можно :)

#приключения
🔥56
Вышла Смута
https://www.youtube.com/watch?v=TADQ1W_eRIE

Выглядит любопытно. Может даже поиграю. Липсинк конечно уморительный. Чем-то напомнило масс эффект 3 или в какой там части анимации были печальные. Сейчас конечно наверное будет куча бурления связанного с непрофильными людьми, которые будут оценивать скок это реально стоит. Хотя так как я помню, что в бородатые времена на приличную мобилку нужно было 500к$. Так что на грант в по сути 5кк$ не удивлюсь если игра вполне себе тянет. Особенно учитывая что писался свой движок. (как меня поправили, сделано на UE5, но всё равно) Хотя я прям удивлюсь, если не угадаю, что астрологи объявили неделю скандалов вокруг тайтла. А потом ещё люди будут удивляться почему у нас так мало ААА пытаются делать. Там же тоже всё равно руку надо набивать.

#новости
❤‍🔥62
This media is not supported in your browser
VIEW IN TELEGRAM
Столько новых лиц :) Хотя и знакомые есть :)
🔥10
Скоро тоже буду там сидеть. А то я в люди не выходил очень давно :)
🔥12
Отстрелялись :) Фотку со сцены выложу позже, когда они будут :)
❤‍🔥30
Доказательства что на сцене мне даже микрофон дали :)
8🔥63❤‍🔥1
Организация архитектуры для игр
https://devsdaddy.hashnode.dev/organizing-architecture-for-games-on-unity-laying-out-the-important-things-that-matter

Неплохая обзорная статья по архитектуре и архитектурным паттернам. Можно долго спорить на тему того, что «у игр своя специфика архитектуры» и т.п. Но я пока такого не замечал. Все MVC, MVP, MVVM вполне уместны и полезны в геймдеве, если разбираться что это за звери и с чем их едят. А разбираться в этом разработчику необходимо.

Конечно моим любимым принципом всегда остаётся KISS. Так как по опыту не знание архитектуры делает понятный спектр проблем. А вот «знание» архитектуры и оверинжениринг — это то, на что чаще говорится: «Да проще с нуля написать, чем понять как это вообще работает».

#новости
🔥17
ИИ в Unity — GOAP
https://www.youtube.com/watch?v=T_sBYgP7_2k

Классное обзорное видео про GOAP с хорошими примерами объясняющими, что такое акторы, планировщик, действия, цели, сенсоры и так далее. В общем сохраним тут.

#новости
🔥12
Про пространственные вычисления
https://blog.unity.com/engine-platform/spatial-computing-with-owlchemy-labs

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

А в общем в этом посте в блоге видна главная проблема XR и в прошлом, и видимо в будущем. Все говорят: "Смотрите какие крутые технологии появились". А не то зачем они вообще хоть кому-то нужны. Даже тот же сплаттинг.

— "Мы умеем делать 3д пространство по одной фотке!".
— "Очень круто, а зачем это надо?"

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

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

#новости
🔥2
Теория вероятностей в играх
https://habr.com/ru/articles/806851/

Итак. Кто-то пишет про математику, и я мимо пройти не могу. Статья в целом кул как научпоп, только хочется чуть подправить один момент на тему казино.

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

Классический гсч вроде Unity.Random или C# предсказуем. По сути это детерменированный алгоритм, в котором нет никакой энтропии, который выдаёт цепочки чисел в зависимости от сида. И собственно это так называемый псевдо гсч. И очевидно, что если с тем же сидом можно повторить последовательность выпадаемых чисел, то можно было бы достоверно предсказывать результат. Помимо скандалов, что в рандомах были баги и распределения там были неравномерны. То есть результат в казино можно было бы угадать, а казино это не нужно :)

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

#новости
🔥311
Про память в С#
https://devsdaddy.hashnode.dev/memory-optimization-in-c-effective-practices-and-strategies

Неплохая статья о работе с памятью в C#. По сути в разработке игр у нас 3 основых ограничения в плане того что можно сделать. CPU Bound, GPU Bound и Memory Bound. Поэтому их работе надо разбираться. Хотя с памятью происходят чуть ли не главные ошибки и недопонимания. А тут неплохой обзорчик написан 🙂

#новости
🔥1611
Куда пропал?

В этом месяце мне исполнилось 30 лет :) И если от работы отпуск я устроить себе даже в теории не могу, то от блога решил немного отдохнуть. Но скоро я вернусь! Вообще в день рождения я люблю подводить какие-то промежуточные итоги года. В год получается две такие отсечки. День рождения и новый год.

В целом год начался бодро. Много работы, много дел. Вообще этот год удивительный, так как много проектов было начиная с января. Обычно я работать начинаю где-то к марту. А сейчас много работы прям сразу.

Надо бы контролировать себя и гасить звёздочку, которая появляется в коммуникации периодически. Это моя извечная проблема наверное, но я с ней работаю :) Издежки быстрого роста наверное.

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

Преподавать в двух вузах
Создать компанию
Разориться пару раз
Сделать больше 100 проектов
Попытаться запустить около 5-ти разных брендов
Написать 48 статей на хабр
Организовать и закрыть свой митап по Unity
Сделать свой небольшой блог
Пройти на позицию с зарплатой в 1.5кк в месяц и не пойти на неё (скорее было интересно тяну ли я на такую рыночную оценку)

В общем чем я только не занимался если подумать. Хотя всё равно самым запомнившимся является почему-то то, что в школе я был в топ-3 гильдий европы в World Of Warcraft. Сейчас надо бы подумать, кем я хочу стать когда вырасту. Ну продакшен то мой (как основной вид деятельности) никуда не денется, это понятно. Но можно чем-нибудь ещё заняться. Вариантов много, время можно найти. Весь этот год я по моим меркам отдыхал. Но наверное отпуск затянулся, так что пора возвращаться в свой стандартный режим жизни.

#мысли
🔥2452
Миграция json файлов
https://habr.com/ru/articles/808515/

Миграция пользователей — самое вкусное. Примерно наравне с совместимостью версий схем апи. Разработчиком во многом быть просто на самом деле, но есть задачи от которых хочется рвать волосы на голове. Это миграции, совместимости и развозить зависимости. Я больше всего люблю последнее правда. Особенно во времена с деревянными игрушками, когда Gradle был попроще и техник было поменьше. Решили вы добавить в проект фаербейс и эластик сёрч. И две недели вы не разрабатываете игру, а пытаетесь понять, как так разнести зависимости, чтобы всё обратно заработало. Ладно. Это лирика.

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

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

В древние времена XML, когда JSON ещё не стал популярен, проблема решалась штукой, если не изменяет память, под названием xstl шаблоны. То есть мы вообще не касаемся понятия классов и типов, не плодим сущности с точки зрения кода и обозначенные автором проблемы. У нас это некая структура (графовая), которая собирает данные и по шаблону их переносит. То есть по сути у системы есть три составляющих. Версия, схема данных этой версии, схема миграции к следующей версии. Если такую систему развивать и поддерживать, то можно мигрировать пользователей, которые не входили в игру годами. Думать оно будет долго, пока через все шаблоны прогонит, но справится.

А на одной работе, во времена деревянных игрушек и не знания многих модных штук, мы сделали аналогичное. Только вместо шаблонов, да простят нас боги C#, у нас для миграции юзверя использовались регулярки. Точно такая же система как описана мной выше с шаблонами. Только вместо шаблонов миграции новый файл конфигурации пользователя формируется регулярными выражениями. Забавное было время.

P.S. Ну и да. Проблему стоит одну обозначить. Я тут подумал чуть больше. У решения автора есть одна ключевая проблема. Это code-first решение. И как только версий станет 100, там такое количество кода странного для обратной совместимости будет. Что шаблонные форматы миграции кажутся всё-таки лучше. Но для чего-то простого, со сроком жизни в год-полгода почему бы и нет.

#новости
🔥4
Гриша-бизнесмен: Конец? Часть 1

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

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

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

И вот 24 миллиона лидов. Ну я думаю слетит даже 80% будет хорошо и понятно что делать дальше. Касса выровняется с текущими контрактами в паре. Будет запасик нанять ещё человека в продакшен. И поедем дальше. Но существуют непредсказуемые проблемы. На дворе 2020 год. А все контракты были для ПМЭФ. Ну и если кто не помнит что произошло — произошёл ковид. И ПМЭФ отменили. Бывает что отваливается большой % контрактов. Но ни разу за всё время в бизнесе у меня не было, чтобы когда бюджеты обсуждены отвалилось 100%. Кроме этого раза. В общем обычно у меня всегда было 50% конверсии в среднем по году. Если мы обсудили сумму, то в половине случаев контракт доходил до подписания. Это было тяжело. Пару месяцев, как я привёл голову в порядок, так как все проблемы выше были в декабре 2019 года, и такой хук справа, который я никак не ожидал.

В следующей части я уже расскажу, что я сделал и чем всё закончилось в приключении под названием Foxsys. Ставьте 🔥, если интересно что же там было дальше.

#приключения
🔥55
Сравнение сборщиков мусора в Unity и .NET
https://habr.com/ru/articles/811201/

Статья рассказывает о различиях в работе сборщика мусора .Net и Unity. А так же о том, что Unity использует Boehm-Demers-Weiser (BDW) сборщик мусора. У инкрементального GC в Unity есть несколько узких мест, включая вызовы GC, фрагментацию памяти и затруднения при работе в режиме инкрементального GC. Ну, а фрагментация является важной проблемой, так как в отличии от GC .Net сборщик мусора в Unity не поддерживает сжатие памяти.

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

#новости
🔥9
Гриша-бизнесмен: Конец? Часть 2

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

Собственно у меня было основных варианта. Первый, продолжить работать и постараться не сойти с ума. Искать новые рынки и как выровняться. И вернуться к плану как только позволит состояние студии. Второй, закрыть студию. Ситуация была такой, что у при закрытии контрактов была возможность закрыть студию "по-человечески". Расплатиться со всеми подрядчиками, выплатить всем ребятам их зарплаты и по доп. окладу на поиск новой работы (там по выручке получалось около 2 миллионов с остаточных контрактов). Что довольно забавно, сам я в этом случае оставался должен банкам и друзьям где-то 2 миллиона. Но основной долг составляли кредитки. Так как пока у меня была студия жил я в среднем на 100к рублей в месяц, а в последние месяцы вообще жил только на свои кредитки.

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

Позже я выровняюсь и всё раздам. Но это совсем другая история. Могу её рассказать за 100 🔥 :) Это уже будет начало истории моего текущего формата работы.

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

#приключения
🔥108❤‍🔥3
Сампл матч-3 на URP от Unity
https://blog.unity.com/engine-platform/2d-puzzle-match-3-sample-gem-hunter-match

Это нам надо. И VFX, и применение нормалмап к игровым объектам. Помню я с кем-то пил на какой-то геймдев конфе и мы обсуждали, что люди любят матч-3 по принципу сорок. Всё блестит, взрывается, перестраивается, милллиард комбо. Vampire Survivors в целом это доказывает из последнего. И тут видимо помимо генератора уровней и простого интерфейса даже с этим немного поморочились. В общем на досуге надо будет разобрать :)

#новости
🔥12
О работе рендера в 3д играх
https://devsdaddy.medium.com/how-it-works-3d-games-a-bit-about-shaders-and-how-the-graphics-pipeline-works-in-unity-2f9fb1a404c0

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

#новости
🔥2