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

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

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

Один из двух знаменитых DI. Не путать с Dependency Inversion из SOLID.

Dependency Injection (или внедрение зависимостей) — это подход к проектировке классов, в котором зависимости объекту даются внешней сущностью.

Многие по неизвестной мне причине связывают всё в куче, и что DI без Composition Root или DI Containers не существует. Хотя изначально это вообще про другое и другие проблемы решает. Тут проще привести несколько примеров кода.

Примеры нарушения DI:

public class Foo
{
private Bar _Bar = new Bar();
}

public class Foo
{
private Bar _Bar = Bar.Instance;
}

Примеры кода по DI:

public class Foo
{
private IBar _bar;

public Foo(IBar bar)
{
_bar = bar;
}
}

public class Foo : MonoBehaviour
{
[SerializeField] private AbstractBar _bar;
}

Тут может возникнуть у кого-то короткое замыкание. Как это [SerializeField] DI? А где Zenject? DI — это вообще концепция проверяемая и соблюдаемая в рамках класса. Это просто внешнее внедрение зависимости. Абстрактный класс и сериализованное поле позволяет нам сделать такое внешнее внедрение. Позволяет подсунуть туда мок объект, написать юнит тест и так далее. Просто у нас в качестве места, где мы внедряем наши зависимости используются конфиги (префабы) и это опять-так не code-first подход, а config-first.

Неудобство в Unity вводить DI через [SerializeField] в том, что юнити не умеет в SerializeField с интерфейсами и так получится только с абстрактными классами. И у этого есть логика, так как интерфейс нельзя сериализовать. Хотя к этой концепции у меня есть вопросы. Так как если есть конкретный инстанс объекта и конкретная реализация на уровне сборки или на уровне рантайма, которая испоьзуется в качестве имплементации интерфейса, то в чём проблема её сериализовать?

В целом ничто не мешает написать свой Composition Root или Dependency Injection Container, но есть удобные и готовые типа того же Zenject.

#термин
👍8👌1
У меня нет портфолио. Что делать?

Продолжим небольшие стори из бизнеса. Это кстати относится и к фрилансу. Вы решили сделать аутсорс студию. Но у вас вообще нет примеров работ (вы же только начали). Что делать?

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

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

https://foxsys.pro/beringia-concept
https://foxsys.pro/jagex-concept
https://www.youtube.com/watch?v=4PVpuwRGhLY

На них было одно ограничение. Одни должны быть сделаны максимум в неделю. Цена такого процесса была условные 10-20к рублей на концепт, что со средним чеком проекта 600-700к не так много. И в итоге большая часть концептов на долгое время стала по сути портфолио. Поэтому если нет портфолио и кейсов, то можно их создать.

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

https://foxsys.pro/beringia-game

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

#бизнес
🔥6
Идеальное объяснение дивана/стула с одеждой дома — найдено
🔥30
Имя попроще

Так как dyadichenkoga сложно и долго пишется, то я решил себе купить более благозвучное имя в телеграм https://news.1rj.ru/str/dev_game

Покороче и пишется проще. Вдруг кто захочет поделиться каналом с друзьями, знакомыми, колегами. Ведь новые люди на канале всегда мотивируют выпускать больше интересного :)
🔥16🥰2
Эхх, а может тряхнуть стариной?

Хочется с кем-то вживую пообщаться, чёт интересное послушать и может стоит взять да тряхнуть стариной. Ведь когда-то я организовывал Unity Moscow Meetup и CGDevs Meetup. И снова организовать какую-нить встречу про разработку. В целом логотипчики, название и т.п. лежат в нужной папочке. Сайт собрать тоже не трудно. Маленький бесплатный митапчик с полезной инфой. Ну вот пару примеров, как это было "из сохранившегося".

https://www.youtube.com/watch?v=Ns1acAZ8PDU

Можно было бы обсудить что-то про Unity, что-то про графику, что-то про разработку. Конечно думаю в Москве сейчас народ сложнее собрать, но может получится организовать трансляцию или запись. Как думаете, стоит что-то такое сделать? 🔥 — да, 👎 — нет, ну как обычно :)
🔥56👍3👎2
Привет новым людям!

Итак, за месяц пришло много нового народу. Спасибо всем кто подписался, надеюсь скоро дойдём до 2000. Люблю циферки :)

И так как нас стало в 1.5 раза больше, то хочется провести несколько опросов, чтобы как обычно сделать удобнее. Плюс всем новоприбывшим хочется показать «технический пост». С информацией из него, читать блог и навигироваться по темам будет удобнее :)
За это время вышло 7 задач. Они выходят не так часто, так как придумываю я их самостоятельно, а это не всегда просто. Особенно если не переписывать в сотый раз «как из подмножества строки выделить множество…» и так далее. А чтобы было ближе к контексту разработки на Unity.

2д задачка
https://news.1rj.ru/str/dev_game/550

Бесконечный скролл
https://news.1rj.ru/str/dev_game/595

Рисуем график
https://news.1rj.ru/str/dev_game/586

Вооружимся архитектурой
https://news.1rj.ru/str/dev_game/605

Шейдер энергии
https://news.1rj.ru/str/dev_game/643

Статический дженерик
https://news.1rj.ru/str/dev_game/653

Проектируем гриды
https://news.1rj.ru/str/dev_game/683

И мне важно ваше мнение. А далее опрос.
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Шикарная симуляция жидкости в Unity
https://80.lv/articles/mesmerizing-real-time-liquid-simulation-set-up-in-unity/

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

#новости
🔥192👍2
Пришёл куда-то — сфоткай бейдж)
🔥7
Побродил, познакомился с кучей народа :) Было прикольно. Я даже немного отвык от «работы в полях». Но мастерство не пропьёшь, как не пытайся :)

Вот они продажи из поста про выставки :)

#лайв
AR на стройках

У меня за окном уже довольно долго грустная и унылая стройка метро. Задумался, что было бы прикольно или по гео, или расклеив на крышах строительных домиков метки посмотреть "а как оно будет?" в AR. Эти домики не так часто перемещаются, как техника. Так что рекалибровать такую штуку было бы не так сложно. Но зато из окон всех близ лежажих домов был бы прикольный AR.

Хотя даже без AR прикольно, просто в виде сайта было бы глянуть или без точного совмещения. Чисто "а что строят то?". И для этого просто наклеить QR на технику или крышу. А то на заборе ты проходишь мимо и тебе не до того, ты бежишь по делам. А дома залип в окно, смотреть всё равно не на что, хоть на AR-ку можно было бы посмотреть. При том, что цена вопроса один большой лист бумаги заказать в типографии и клей, если делать даже без AR. Сайтом с рендерами, которые по-любому есть. Или 3д тур.

#мысли
🔥6💯2
Григорий Дядиченко
AR на стройках У меня за окном уже довольно долго грустная и унылая стройка метро. Задумался, что было бы прикольно или по гео, или расклеив на крышах строительных домиков метки посмотреть "а как оно будет?" в AR. Эти домики не так часто перемещаются, как…
Переоценённая технологичность

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

Речь идёт чисто про энтертеймент. Производственные задачи, бизнес решения, инструменты для работы (как например мы делали для Газпромнефти) — это другое.

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

А разработчики в свою очередь либо оценивают это в несколько чемоданов денег. Либо говорят "вы долбанулись это невозможно". Вместо того, чтобы поступить как нинтендо. Придумать и защитить крутую альтернативу. То есть о чём я?

На мобилках у нас есть неточный 6dof трекинг (ARKit/ARCore), в LBE (это всякие развлечения на локациях типа VR парков) — вообще миллиард игрушек и возможностей, в вебе из недорогого есть гироскоп и маркерный трекинг. Это целая куча инструментов. Но так как задачи воспринимаются как "Партия сказала надо, комсомол ответил есть", очень часто все рассуждают только в рамках "прямого решения". И причём тут всё ещё нинтендо?

У нинтендо в свиче в контроллерах есть только IMU датчик. Но при этом там есть игры: танцы, дуэль на оружии и многое другое с контроллерами. Хотя там по сути только датчик дающий 3dof. Просто они подошли креативно к вопросу и сделали весёлые, простенькие компанейские мини игры. И по этому я говорю именно про энтертеймент. То что придумывает заказчик — это часто бредятина. И да, на стройке точного совмещения не будет. Но если сделать 3д тур, если полностью перекрыть обзор и сделать 360 видео, да даже сделать воздушный шар который летает над стройкой, подлетает к вашему окну и вам машет кто-то из него кидая буклет, который становится сайтом с рендерами. Это смотрится эффектно. Не требует точных систем. И при этом развлечёт пользователя. Для этого просто нужно подходить к задаче не из того "что мы не можем". А из контекста, а что мы воообще можем? И по сравнению с условиями нинтендо у нас миллиард замечательных инструментов, которые можно применить использовав своё воображение.

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

#мысли
🔥4