TGViewer
Channel Public Channel
Григорий Дядиченко

Григорий Дядиченко

@dev_game

Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR.

100+ проектов за 5 лет. https://whitelabelgames.ru

По вопросам сотрудничества писать: @it_bizdev
Subscribers
2.66K
Photos
482
Videos
191
Links
1.3K

Showing posts older than #666 · Back to latest

Older Posts 17 shown
Post #665 1.19K
UI Роутер в Unity
https://habr.com/ru/post/711524/

Дописал статью с лёгким разбором рефлексии и атрибутов. Плюс с разбором UI роутера про который я писал выше. Что он решает, зачем он вообще нужен и так далее. И по ходу что написания, что составления примеров я понял, что лучше было бы конечно использовать наследование. Ну может на досуге перепишу через наследование, контейнер и регистрацию в нём. А так думаю статья будет полезна, особенно тем кто не знаком с атрибутами в C# и зачем они нужны.

#статья
Хабр UI Роутер в Unity Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Обсуждая по работе архитектуру речь зашла про UI. Есть много разных подходов к тому как работать с графическим пользовательским...
  • 👍 9
  • 🔥 4
Post #664 1.14K
Вышел трейлер Hogwarts Legacy
https://youtu.be/NthGfn_ddRQ

Одна из немногих игр которую я жду. Как фанат Гарри Поттера. Трейлер — кайф :)

#новости
  • ❤ 9
  • 🔥 2
  • 👍 1
Post #663 1.16K
ИИ для 3д аватаров
https://80.lv/articles/microsoft-presented-3d-avatar-generation-model-rodin/

Майкрософт представил ИИ Rodin для генерации 3д аватаров. Конечно по скриншотам качество странное, но лучше всего того, что я видел до этого.

#новости
80LV Microsoft Presented 3D Avatar Generation Model Rodin Upload a photo or describe it with a text prompt to get an avatar.
  • 😱 5
  • 👍 4
Post #662 1.18K
Григорий Дядиченко Задачка "Статический generic класс" Пишу небольшой репозиторий, который покажет пример работы с рефлексей и атрибутами в Unity, и тут сделаем небольшую задачку на знание шарпа вдохновлённый им. Есть класс public static class UIRouteManager<T> и у него конструктор…
Решение "Статический generic класс"

В комментариях к задаче там уже всё разобрано. Но напишем решение отдельно.

Правильный ответ. Если ничего до этого не вызывалось, то в момент первого вызова методов ShowUI в лог напишется "test". Причём по одному разу для каждой реализации. Под JIT платформами. И связано это с двумя нюансами.

1. Как работает статический конструктор типов

Под JIT платформами статический конструктор типа вызывается при первом обращении к типу (или создании экземпляра типа для не статических классов). Хотя строго говоря это зависит от флагов компиляции, но в Unity можно говорить чуть проще. На эту тему можно почитать
спецификацию от майкрософта, как говорили в комментах.

Под AOT платформами у юнити видимо снова баг, что логи не пишутся, как было тут
https://issuetracker.unity3d.com/issues/static-constructor-doesnt-work-with-il2cpp Так как на айос логи вообще не появляются. Хотя сам конструктор работает, так что всё в порядке.

2. Как работает шаблонный (генерик) параметр для статических классов

По сути, когда вы пишете UIRouteManager<string> и UIRouteManager<bool> — это два разных типа. Поэтому конструктор вызовется дважды.

Так что под виндой в редакторе лог появится дважды. А под AOT платформами его судя по всему не будет.

#задачка
Docs Classes - C# language specification This chapter covers class declarations, including all member types that can be included in classes. This includes generic classes as well as non-generic classes.
  • 👍 1
Post #660 1.32K
Поза человека по WiFi
https://80.lv/articles/body-detection-pose-estimation-using-wifi/

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

#новости
  • 😍 3
  • 🤯 2
Post #659 1.06K
Путь в фриланс игрового разработчика — Подготовка

В коментах меня спрашивали про фриланс. Я думаю разбить это на серию постов и информацию потом оформить в полноценную статью. С чего начать? В этом плане фриланс — как бизнес. Чтобы начать спокойно без экстрима лучше на старте хотя бы крепко стоять на ногах. Кто-то переходит плавно совмещая с работой, у кого-то есть просто запас денег, но сразу идти туда — не стоит. И тут стоит описать, как устроен заработок в фрилансе и всём подобном.

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

Совмещать с основной работой — сложно. Так как на фрилансе работы больше, чем на обычной работе. И дело не в задачах по вашей специальности, а в сопутствующих задачах. Чтобы хорошо зарабатывать на фрилансе нужно заниматься продажами и маркетингом. Есть какие-то базовые шаги, которые надо сделать. Оформить портфолио, зарегистрироваться на популярных биржах, а дальше уже есть вариации, о которых я расскажу в следующих постах.

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

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

#фриланс
  • 👍 13
  • ❤ 2
Post #656 1.16K
Григорий Дядиченко GIF
Написал простенькую систему роутинга по интерфейсу по урлам

Она требует определённого подхода к архитектуре. Но по сути в чём фишка. Через атрибуты окнам указываем их роуты. Прописываем методы. И дальше можем открывать эти окна как будто это урлы в браузере. Удобно чтобы делать кнопку назад и диплинки. Да и в целом контроллировать состояния. Завтра ещё подумаю можно ли как-то подкрутить.

А вообще готовлю это примером для статьи про атрибуты и рефлексию :) Да, без контекста этого видео выше совершенно непонятное :)
  • 🤯 4
  • 🔥 1
Post #653 1.2K
Задачка "Статический generic класс"

Пишу небольшой репозиторий, который покажет пример работы с рефлексей и атрибутами в Unity, и тут сделаем небольшую задачку на знание шарпа вдохновлённый им. Есть класс public static class UIRouteManager<T> и у него конструктор как на скриншоте (что делает конструктор ща не важно, это я расскажу в статье). Просто лень код удалять. Главное строчка с логом.

Дальше есть код со скриншота 2. Сколько раз в консоли появится "test"? Когда? И почему?

#задачка
  • 🔥 2
  • 👎 1
Post #652 1.12K
Почти всегда правая кнопка :)
  • ❤ 11
  • 😁 4
Post #651 1.16K
Учитесь договариваться

Надо чёт про разработку написать, а то получится ещё один блог бизнес тренера 🤣 Но это просто моя главная и персональная боль в аутсорсе. Патологическое отсутствие у многих навыка договариваться и использовать все доступные инструменты. Я старый переговорщик. Я договаривался на поставки в других рынках, на аренду помещений и прочее. Раньше, когда был менее опытным, я считал "айти — это другое". Торговать разработкой и торговать условно спичками — это разные вещи. Спустя 6 лет в бизнесе я скажу — это одно и тоже.

В b2b (бизнес с бизнесом) — вообще во всём одно и тоже. Сложнее только то, что в айти сколько стоит какой-то продукт не профессионалу оценить сложно, чем сколько стоит спичка. Поэтому чтобы адекватно что-то продавать полезно быть технарём. Знать что возможно, а что нет и ориентироваться на ходу что сколько стоит. Но можно и без этого. В b2c отличаются детали. Площадки, платформы, методы закупки траффика и т.п. Остальное ровно тоже самое. Но уметь договариваться нужно везде. И понимать, а что является преимуществами.

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

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

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

#бизнес
  • ❤ 15
  • 👍 5
Post #650 1.08K
Интересная статья про шашки
https://habr.com/ru/post/710990/

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

#новости
Хабр Мой опыт разработки программы для игры в шашки с помощью алгоритма минимакс Я только лишь передвигал нужную шашку на нужное поле… (ответ Мариона Тинсли на вопрос, как ему удалось победить) Об идее В Интернете можно откопать сотни, а в англоязычном его сегменте — тысячи,...
  • 👍 3
  • 👏 1
Post #649 1.04K
Как всё начиналось

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

Сначала был офис...

В офисе я пробыл по меркам рынка недолго. По сути я перескакивал из компании в компанию в течении двух лет. Самая глупая история из всех этих переходов, что я проработал в Playrix ровно один день. И нет никакой претензии к плейриксу. В те годы я был молодой, глупый, смешливый. Почему я ушёл из плейрикса через день? Мой ноутбук не тянул проект, но я не хотел брать у компании ноутбук, чтобы "не привязывать себя к компании". Всякие странные мысли бывают в жизни. Ставишь в проблему вопросы решаемые курьером за 500р. Ну да ладно. Я поработал в Nekki, VRTech, Playrix (сутки), KamaGames и ещё нескольких ноунейм рекламных агенствах. Получил много интересного и разнообразного опыта, представление о процессах студий и взрослых ребят и т.п.

Потом был фриланс...

В фриланс я попал максимально тупо. Я просто психанул. Кама прекрасна была для тех кто любит стабильность. Я же пришёл из около стартапа туда. Я просто умирал со скуки. Меня подшлифовало синдромом самозванца, так как казалось я на позиции ведущего разработчика занимаюсь какой-то хернёй. Я отсидел испытательный, поблагодарил ребят и ушёл в закат. Причём я просто реально психанул, так как плана у меня не было. Если цитировать мысли были такие "ну 40к рублей на фрилансе я заработаю, на еду и жильё хватит". И я пошёл вникуда. Как оказалось, благодаря постоянным походам по конференциям, старым работам и знакомству с Unity и Microsoft у меня была куча контактов. Так что я сразу вышел в лигу "работы не на бирже". С биржей фриланса 40к было бы оптимистичным прогнозом. Так как поймать хороший заказ на бирже — по-моему около невозможная история. Стабильно получать хорошие заказы с биржи — вообще нереально.

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

Прошло пару лет...

А точнее 1.5 года. Я уже выстроил фриланс. Заказы шли таким образом, что их было больше, чем я мог сделать. И как в меме с котиком я подумал: "Пора!". Так как я зашивался и часть клиентов спрашивала "а могу ли я делать под ключ, а не только разработку?". И я решил сделать студию. Юр. лицо у меня было. Это было первое что я сделал по переходу на фриланс, открыл ИП, так как сразу же работал с компаниями. Привлёк партнёра, мы наняли дизайнера. И начали работать. За год штат разросся до 10 человек. Может я подробнее расскажу про саму студию про процессы.

Ну хотя давайте сделаем опять по блогерски. Если такие истории заходят, то поставьте 🔥. Соберём 100 штук, расскажу про внутреннюю кухню аутсорс студии Unity разработки. Про привлечение, продажи, маркетинг и тому подобное. Как я считаю бизнесы и проекты (особенно теперь) И чем я занимался с ещё 10 людьми в течении трёх лет.

#бизнес
Telegram Григорий Дядиченко Как я разорился Раз уж вчера это много кого заинтересовало, то давайте устроим "бизнес день". Я постараюсь сегодня-завтра добить решение задачи по архитектуре. А пока расскажем как я разорился. Мне кажется публично я это не рассказывал. Чтобы рассказать…
  • 🔥 109
Post #648 1.03K
Григорий Дядиченко Задача "Шейдер энергии" Давайте ещё потихоньку начнём играться с шейдерами. Поставим задачку на казалось бы простой, но довольно важный эффект. Напишите шейдер, который позволяет пускать градиент такого вида, как на видео. В нём должна быть возможность регулировать…
Решение "Шейдер энергии"

Чтож, иногда задачи должны быть относительно простыми. Такой шейдер это отличное базовое упражнение на работу с шейдерами. А теперь обоснование.

Его можно сделать по разному. Самое простое решение предлагали, и я покажу. Ну только чуть-чуть иначе. В этой статье я когда-то описывал одно довольно удобное уравнение — уравнение плоской волны. Выглядит оно примерно так.

Aresult = A * cos(2 * PI *(x / waveLength – t * frequency));

где:
Aresult – амплитуда в точке x, в момент времени t
А – максимальная амплитуда
wavelength – длина волны
frequency – частота волны
PI – число ПИ = 3.14159 (float).

В целом достаточно перенести это уравнение взяв uv координаты модели. И из важного что в шейдерграф надо знать — это Split Node, которая позволяет разбить на разные компоненты векторы. Так как при реализации по двум компонентам у вас будут волны идти крест накрест.

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

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

#задачка
  • 👍 5
Post #647 1.02K
"Если мы получим хотя бы 1%"

Эххх, помню времена, когда я был студентом партнёром Microsoft и только начинал путь стартапера. Понимание рынка, анализ рынка и многое другое были ну чуть ниже нуля. Того как что считается и как вообще делаются рентабельные проекты. И врезалась в память великолепная аргументация, которой и я пользовался. "Вот, смотрите, пользователей приложения Х похожего на нас, но хуже — 100 миллионов. И если мы получим хотя бы 1% аудитории, то будем сказочно богаты". Эхх наивность. Это вообще не так работает.

Чего я вспомнил это. Как некоторые новопришедшие знают сегодня я по нескольким каналам запускал рекламу. (И да, мне наверное нужен отдельный блог, где я буду писать о том, как я веду блог). И на скриншоте немного процентиков. Так сказать отрезвляющих ожидания на тему "хотя бы один процент". На бесплатную подписку канала с полезной информацией (пусть и специализированной) конверсия по ряду каналов (даже профильных) составляет 0.5%. Один канал дал аж 5%. Но в среднем по больнице меньше 1%. Чтобы просто подписаться на канал с авторским контентом. Поэтому лучше сразу выкинуть из головы идею про "хотя бы 0.1-1%" от аудитории такой то игры или приложения придут к нам. И уж тем более что-то купят.

Считается это так. Есть стоимость привлечения пользователя (колонка CPA), есть то сколько пользователь приносит (обычно называется это LTV). Если формула Users * (LTV - CPA) - Costs сходится, то только тогда любой проект приносит деньги. А все эти 1% от аудитории или инсталл базы сводятся к тому, а сколько вам этот 1% будет стоить и сможете ли вы вообще на нём что-то заработать. У меня этот канал конечно не про заработок, а больше для души. Но это уже на уровне привычки занимаясь чем-то считать и отслеживать все метрики :)

#мысли #бизнес
  • 👍 14
  • 🔥 1
Post #646 1.24K
Огромная подборка опенсорс Unity репозиториев
https://github.com/baba-s/awesome-unity-open-source-on-github

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

#интересное
GitHub GitHub - baba-s/awesome-unity-open-source-on-github: A categorized collection of awesome Unity open source on GitHub (800+) A categorized collection of awesome Unity open source on GitHub (800+) - baba-s/awesome-unity-open-source-on-github
  • 🔥 7
  • 👍 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →