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

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

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

Классное использование эффекта параллакса. В каком-нить сай-фай коридоре будет смотреться симпатично и работать шустро.

#новости
🔥2
Гриша-фрилансер: Работа на результат

По байкам надо ещё что-то повспоминать, а пока хочется поговорить о фрилансе в общем. Я считаю что фриланс, для тех кому он подходит, один из самых честных и удобных способов заработка. По крайней мере со здравыми заказчиками. Я всем пытаюсь объяснить концепцию того, что вы платите деньги за результат. Я вообще никогда не понимал тайм трекеры и смысл трекать время сотрудников. Даже когда у меня в будущем будет фирма и люди на зарплате — мне вообще без разницы кто как работает. Меня целиком устраивает что для меня это абстракция. Чёрный ящик. Я знаю, что я заплатил деньги и получится нужный мне результат. А сделал работу человек за 5 часов, за час или за 10 минут — вообще не имеет никакого значения.

И это то, что я всегда объясняю всем заказчикам. После того, как мы подписали сумму и срок, ну зачем мне задерживать срок сдачи, делая вид бурной деятельности? Оценка в часах — это метод оценки того сколько реализация должна стоить. Если задуматься, то кстати без лицензирования, я себе слабо представляю другой понятный заказчикам метод оценки в целом. Часы — это просто и понятно. Но фрилансера в отличии от сотрудников не надо мотивировать работать быстрее. Быстрее сделал, быстрее получил деньги, да или даже хотя бы освободился и можешь заниматься другими делами.

Но почему это честно? Потому что в зеркальной ситуации, когда задача которая оценена займёт больше времени и ресурсов из-за недооценки, никто же не будет доплачивать (только я так иногда делаю, видимо из обострённого чувства справедливости). То есть исполнитель всегда берёт на себя риск, что он уложится в заявленный срок и сделает за это время задачу. Поэтому всем сторонам важно понимать, что договор идёт в реальности не на часы, а на результат. Иначе это вызывает конфликт интересов. И поэтому я не люблю и никогда не работал по T&M.

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

И до сих пор у меня часы, это так или иначе — метод оценки. Основное — это результат. Ставьте 🔥 если было интересно. Ну вы знаете.

#приключения
🔥38
Генерация енамов для инспектора
https://medium.com/@games.icare/unity-automatic-enum-generation-a0a3bb483c7d

Если что медиум из РФ работает только под VPN. В статье рассказывается о том, как автоматически генерировать енамы с помощью редакторного скрипта. В общем кодогенерация, рефлексия и т.п. что-то на удобном. Вообще разбираться в кодогенерации и рефлексии для расширения редактора всегда полезно. А в создавать из эдитора енамы и расширять — штука хорошая. Часто бывает что нужно создавать какие-то дополнительные теги или стейты, а это лезть в код и что-то править. Хотя зависит от команды конечно. Дай левелдизайнерам и геймдизайнерам волю и они такого могут нагенерить :)

#новости
🔥8
Баллистическая траектория в Unity
https://medium.com/@fabritecht/ballistic-trajectory-in-unity3d-c75662e5bd08

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

Я когда-то писал серию статей про математику в игровой индустрии. И в одной из них писал подход, который можно использовать чуть интереснее. Для траекторий и сплайнов его тоже можно адаптировать. Когда у тебя благодаря логике интегралов можно двигать объекты в нужную точку с нужным распределением скоростей. А не по физике. В моей статье для векторов вроде сделано и прямых траекторий. Но можно адаптировать под любую форму траектории тот же метод. Часто в математике главное менять системы координат и приводить одно множество к другому множеству. По крайней мере с точки зрения её практического применения.

#новости
🔥64
This media is not supported in your browser
VIEW IN TELEGRAM
Система волос в Unity
https://80.lv/articles/hirokazu-yokohara-experimented-with-unity-s-hair-system/

Хирокадзу Екохара продемонстрировал свои эксперименты с системой моделирования волос Unity. Система волос в Unity основана на Alembic Cache, что позволяет художникам создавать хорошие сетки для причёсок с реалистичным поведением и множеством настраиваемых параметров. Скажем длинну и количество отдельных волосков. И всё это в реалтайме. Единственный огромный недостаток, который отметил автор, то что по системе вообще нет информации и мануалов.

Поэтому ему пришлось разобрать Enemies чтобы понять, как это хотя бы работает. Hair master встроен в HDRP, но вообще у Unity есть пакет, который работает с URP и Built-in. А по документации — классика. Чтобы по документации Unity что-то понять надо думать как Unity. Я уже научился читать "единственную важную строчку в мануале" и прочим техникам скрытого листа для того, чтобы мануалы были полезны. Но там обычно далеко не всё что стоило бы знать про ту или иную систему.

#новости
🔥17
Эффекты из боя Наруто и Саске
https://www.youtube.com/watch?v=1_wZkT6f_qA

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

#новости
🔥3
В ночи прошла и накатала пост. Это не статья, это именно пост впечатлений. Мое субъективное мнение.

Для тех, кто не в курсе – это очень-очень красивая стильная визуальная новелла с элементами РПГ (да, я знаю, что авторы ее называют CRPG).

В параллельной вселенной, которая не расширяется, а сужается, в каких-то альтернативных 90-х??, где радио-компьютеры и закат эпохи диско, на острове, где когда-то произошла коммунистическая революция, которую жестоко подавили интернациональные интервенты, которые теперь “руководят”, а вернее оставили остров умирать от нищеты и наркоты, зреет война между профсоюзом рабочих и корпорацией, которая прислала отбитых наголову наемников покончить с забастовкой… в общем, вот в этой вот всей красоте происходит убийство. Его посылают расследовать двух детективов из разных отделений. Один из них – потерявший память в очередном диком загуле алкоголик. Это вы. И помимо расследования преступления вам еще предстоит найти свое удостоверение, свой пистолет и свое имя. Потому что вы реально все забыли.

#блог #сценаристика
https://telegra.ph/Proshla-Disco-Elysium-11-06
🔥13
Гриша-фрилансер: Переговоры

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

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

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

И вам прилетают правки. И это в рамках договора или разумных договорённостей (у меня обычно заложено две итерации). Окей, просто молча делаем, если это не "переделать всё". Сделали. Прилетают ещё правки. Ну бюджет хороший и он ещё "морально есть", поэтому правки опять просто делаются. Всё сделали. Прилетают ещё правки. Бюджет заканчивается, ну мы же клиент ориентированные, клиент наше всё. Так что сделаем. Сделали. Прилетают ещё правки. Бюджета нет. Мы начинаем ругаться. Поругались сошлись на компромиссе. Сделали правки. Прилетают ещё правки... Ну тут уже разумно обсуждать дополнительные деньги.
❤‍🔥721
Знатоки, внимание вопрос. А где ошибка? У меня в фрилансе, да и сейчас, была своя классификация клиентов. И ответ тут не так прост. В среднем почти всегда нужно ругаться на шаге "бюджет ещё есть". То есть закончили рамки контракта, потом уже клиент на любом шаге должен чувствовать сопротивление. И причём это не зависит от того это какая-то мелочь или что-то крупное. Поверьте мне на слово. Мелочами мучать человека можно месяцами. И чем глубже в лес, чем больше клиент офигевает, тем сопротивление сильнее. Ну всегда с альтернативным вариантом — заплатите ещё денег и вот новые договорённости, и вот мы относительно молча делаем. При моей загрузке это правда не всегда рабочая история, так как начинаются новые проекты, а старый не закончен. И у меня на чаше весов какие-нибудь 10к рублей и 200к с другого контракта. Ну и мой интерес почти всегда — оперативно закруглиться. Хотя с постоянными клиентами так не работает, и там как бы и 10к рублей возьмём и сделаем молча, а с остальным подвинем или разберёмся.

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

Конечно, до сих пор, мне иногда срывает башню. Я не всегда следую всему идеально. Однажды на фрилансе я в офисе клиента орал на клиента, показывая в ТЗ: "Вот о чём мы договорились, если вы считаете что я за те же деньги сделаю то, что стоит в 10 раз дороже — вы глубоко ошибаетесь.". Просто я час пытался объяснить спокойно. Но нервы у меня не железные. И поэтому я не люблю R&D проекты. Так как там люди не понимают, что результат — это не "рабочий продукт", а результат исследования с ответом "можно это сделать или нельзя". И когда нельзя начинается какой-то сюр. В этом плане мне всегда нравилось работать с зарубежными компаниями. Они понимают что конфликты рабочий момент, не принимают их на личный счёт, и не начинают отстаивать что-то исходя из своей самооценки пытаясь что-то доказать. Один раз я в хлам разругался с менеджером одной корпорации зарубежной. А потом мы пересеклись за кофе, на что он сказал: "Забей. Рабочий момент".

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

Конечно рассказы про фриланс перемешиваются с опытом бизнеса, так как всем этим я так или иначе занимаюсь уже около 7-ми лет в параллели с разработкой. Ставьте 🔥. А я подумаю что рассказать в следующий раз.

#приключения
🔥46❤‍🔥1
Новые самплы URP
https://youtu.be/lg1W3Deoprg?si=OH6GcDvpWtvG-hMX

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

#новости
🔥4
Буткемп по DoD
https://blog.unity.com/engine-platform/dots-bootcamp-resources

Любопытно. Ещё более любопытно что Юнити решили такое устраивать. Классная идея. Такой онлайн-лайфстрим-мастеркласс. Такое часто устраивал (и может устраивает) майкрософт на своих конференциях. А в формате стрима для широкой аудитории — классно. Тема лично мне не так интересно, но по рендеру я бы что-то такое глянул и по VFX. А так может кому-то будет полезно узнать.

#новости
🔥4
Забавные ребята Синергия

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

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

Билет то стоил 22 000 р, что как бы не супер великие деньги, но всё же деньги. Но "весь этот головняк" и лишний вопрос, который мне зачем-то устроили — для меня в разы ценнее. Вообще сколько мероприятий профессиональных ни посещал, ни выступал, ни разу таких приколов не было. Бывали всякие ситуации, но у большинства конференций организаторы прям молодцы. А тут — печаль. Решил выбраться куда-то и сразу же — привет :)

#оработе
25🔥1
"Оптимизация" проверки на null с GameObject
https://www.youtube.com/watch?v=wOPJR8gUs_w

Оптимизаторы... Или как сломать вообще всё. В общем. Некоторые советы слушать не надо, ну либо хотя бы задаваться главным вопросом: "Так стоп, а почему это быстрее?". Но это видео требует довольно подробных разъяснений. Итак, что предлагает автор. Есть три стула: ReferenceEquals, оператор "is" и оператор "==". Автор предлагает использовать вместо оператора "==" функцию ReferenceEquals, так как она быстрее. И говорит, что она ещё и быстрее чем оператор "is".

Для начала разберёмся с самым простым. Оператор "is“ и ReferenceEquals — это одно и тоже. Быстрее у него получилось в пределах погрешности. На это можно не обращать внимания особого. В компайл тайме, если можно сделать эквивалентно, компилятор сделает эквивалентно. Тут как бы и с простыми объектами можно не париться.

А теперь поговорим про опасности замены == на ReferenceEquals в случае проверок геймобжектов на налл. Вообще изначально в шарпе явно ReferenceEquals используется в одном контекстуальном случае. Который странный, но в огромных системах имеет место быть. Дело в том что ReferenceEquals статический метод класса Object и его нельзя переопределить в отличии от операторов сравнения. Поэтому для устойчивости каких-то частей системы, когда конкретно интересуют нас именно ссылки, чтобы никто ничего не переопределил — можно использовать его явно. И собственно в Unity оператор "==" для GameObject переопределён. И работает совершенно не так, как ReferenceEquals. И поэтому он во много раз медленнее.

Отлично, значит это всё же ускоряет? Безусловно. С небольшой ценой. Ваш код работать будет весьма не ожидаемо.

Допустим давайте простой пример. Что будет выведено в лог, если у нас условный код. Объект в инспекторе не назначен:

[SerializeField] private GameObject _testNull;

private void Start()
{
Debug.Log(ReferenceEquals(_testNull, null));
Debug.Log(_testNull is null);
Debug.Log(_testNull == null);
}


Ну ответ достаточно простой: False, False, True. И таких случаев можно придумать много. А если уничтожить объект и так далее. И оно будет работать далеко не еквивалентно. Проверку на ссылку для оптимизации можно делать, если вы на 100% уверены, что в данном месте ссылка будет работать именно так. Поэтому такие "советы" это конечно самый простой способ себе выстрелить в ногу.

#новости
🔥26❤‍🔥1
Гриша-фрилансер: XR эксперт

Про переговоры поговорили. А теперь поговорим про вторую часть. Продвижение. В те времена я обладал весьма специфичным опытом. Моя карьера сложилась достаточно забавно. Начал я с игр, потом поработал с Microsoft Hololens в рекламном агентстве, потом с VR и оптическим трекингом. Даже проходил мастер-класс от инженеров вайкона, как с помощью 4 камер развернуть трекинг зону 10х10 метров. В общем какой-то момент я начал хорошо разбираться в трекинге. Помимо этого в экспериментировал дома с вуфорией и другими технологиями. В общем набор навыков у меня был для довольно узкого спектра задач. Но при этом без особой конкуренции на тот момент. Во-первых, тогда порог входа был в разы выше. Во-вторых, с некоторыми системами никто не работал, так как они были безумно дороги.

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

При этом не нужно париться на тему того "а стоит ли тут оставлять профиль" или делать. У меня профили были везде. Скажем со Сбербанком я сделал несколько прикольных R&D проектов. Это было довольно весело. И мои контакты ребята просто нашли на одной из фриланс бирж. При этом не обязательно рассказывать про всё от начала времён. Можно выделить главное по двум критериям: "я это умею" и "я хочу этим заниматься". И продвигать различными способами. И да, важно чтобы везде были ваши контакты.

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

Цели я своей добился. В общем по технологиям трекинга или всяким AR&VR проектам большая часть рынка со мной часто консультировалась. А часть проектов я делал. Это были и как сложные R&D для корпораций, так и что-то довольно тривиальное. И почему-то я и правда не помню ни одного проекта с фриланса, который не закрыт у меня NDA. Так что прямым текстом даже рассказать нечего. Наверное только один из последних проектов для РИА Новости.

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

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

#приключения
🔥30
Made with Unity: январь-февраль
https://blog.unity.com/games/made-with-unity-monthly-roundup-january-february-2024

Обзор проектов сделанных с помощью Unity. На Dice игра Cocoon получила получила награду как инди игра, а игра What the car? получила награду как мобильная игра года. Рассказали о том, что некоторые проекты сразу доступны на Apple Vision Pro, такие как LEGO® Builder’s Journey и приложение для медитации TRIPP признанное лучшим VR приложением для медитации по версии Time Magazine.

В общем как всегда люблю следить за тем, что там делают и с чем экспериментируют люди. Всё же на Unity сделано много прикольных проектов и их продолжают создавать.

#новости
🔥11
Гриша-бизнесмен: Начало

Про фриланс я рассказал. А теперь начнём про бизнес. Это будет уже довольно длинный рассказ, весьма не ровный и с кучей событий, который продолжается в некотором смысле до сих пор. И как и у любой истории у неё есть начало. На дворе весна, год 2019, у меня всё в жизни хорошо. Мне 25 лет, у меня уже есть пул клиентов на фрилансе. Зарабатываю я довольно неплохо 200-250к в месяц в среднем. Но я же ещё молодой и смешливый. И мне хочется большего.

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

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

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

В общем на продукты нужны деньги, а денег нет. Зарабатывал я неплохо, но я впервые зарабатывал такие "деньжищи", поэтому улетали они тоже на всякую фигню. Вроде завтраков в кофемании и т.п. Поэтому скопить капитал — это не наш путь. А вот аутсорс. Капитал особо не нужен, клиентская база — есть, для старта нужно наладить продажи и дизайнер по сути. Звучит просто и логично. Риски невысокие в отличии от тех же игр. Такой вид бизнеса купи-продай. Вполне понятный и неплохо просчитываемый. И мы начали. ИП у меня уже было, как и договора в наследство от фриланса.

Первое время шло всё неплохо. Мы сделали сайт, сделали логотип, визитки. Наняли одного человека — дизайнера. Собственно первого сотрудника компании. У нас начали появляться Jira и прочие процессы присущие "компаниям". В общем работа кипела, энтузиазма и идей был вагон. Зарабатывать я стал меньше, но это нормально на старте бизнеса. Казалось бы шалость удалась. Но ведь это только начало, оно не особо отличалось от фриланса и всё было знакомо как три копейки. Так что мы работали.

Вся команда всю дорогу у нас была распределённая. У нас никогда не было офиса. По сути удалённую работу мы освоили в совершенстве до ковида. Так как по форм фактору компании у нас если и был в плане офис, то скорее как "фан площадка". С плейстейшеном, чипсами и т.п. Для нетворкинга или просто если сидеть дома некомфортно. В общем удалёнка наша всё. Ну, а что, Саша потом про это целую книгу напишет. И опыт удалёнки у него был и до студии.

В общем приключение началось. И длится до сих пор. Дальше можно будет рассказать про разные ситуации и рабочие моменты. Проекты опять-таки почти все за NDA и в формате студии. Ставьте 🔥, вам же не жалко, а мне приятно.

#приключения
🔥49
This media is not supported in your browser
VIEW IN TELEGRAM
Прикольная аниме игра
https://80.lv/articles/check-out-this-indie-anime-high-school-action-brawler

Инди студия показала экшн-ролевую игру Project Sugar для ПК и консолей. Игра рассказывает о переведенной ученице, сталкивающейся с враждебностью и преследованиями в новой школе.

Выглядит симпатично и стилистка забавная.

#новости
🔥51
Как сделать паззл
https://github.com/shamim-akhtar/jigsaw-puzzle/tree/main

Забавный репозиторий с механикой пазла и видео разбирающим как его сделать. Автор явно не ищет лёгких путей. Тут у нас нарезка кривыми безьё и честно говоря для такой непрожорливой механики очень сложный код. В образовательных целях я бы сказал "скорее полезно". Как продакшен решение — "зачем так сложно".

Типа как некое общее инженерное решение конечно "попрёт". Но игры должны быть визуально привлекательными, и эту привлекательность классно, когда можно достичь без боли. Тут скажем партикл эффект при правильной установке одного кусочка будет сделать — прям сложно. Если нет необходимости в супер гибкой генерации я предпочитаю делать пазлы проще. Берём меш с нужным нам соотношением сторон. Берём моделлера. Нарезаем меш на пазл (в нескольких вариациях). Запоминаем изначальные позиции наших мешей. Вуаля — пазл практически готов. И рисуется всё это в один дроу кол. И перекраску, 3д моушен кусочков при драге и т.п. можно делать без пляски с бубном.

Не, расчётные стыки пазла — это цель конечно достойная. Тут как бы каждый развлекается как ему нравится. Но там в коде тайла какая-то пляска с лайн рендерерами. Если делать даже всё таким гибким и генерируемым, я бы всё равно взял бы меш генерацию. Просто сделал бы операции exclude и include для объединения мешей в Unity и вырезания дырок. Сделал бы нужной формы "стыки". И сначала бы нарезал поле на квадраты, а потом в рандомные стыки грида расставил бы такие ушки.

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

#новости
1
Гриша-бизнесмен: Студия есть, а кейсов нет

Ну чтож — продолжим. Вот у нас есть студия. Даже есть один сотрудник. Даже мы сделали несколько проектов. Но нет ни одного кейса, который можно показывать. А как в таком случае продавать? На самом деле для продажи вообще никаких материалов не надо. С материалами просто в разы проще. Понятие сейлзбука и того, как вообще составлять довольно полезные общие маркетинговые презентации я узнал пару лет назад. Когда уже студии как студии не существовало.

Как же мы тогда продавали? Ну во-первых всё ещё бренд эксперта штука довольно удобная. Правда не совсем бизнесовая что ли. Я был известен как человек, который сделает любую сложную вундервафлю со сложными технологиями за адекватные деньги. Pose estimation стенд аля Just Dance — пожалуйста. Распознавание лиц чтобы запускать ролики — держите. 1 миллион полигонов в дополненной реальности на Vuforia — да изи вообще. В общем с этого канала мы делали много кейсов со всевозможными видами трекинга. И многое сейчас просто, а в 2019 — это было не прям уж тривиальной задачей. Даже помню как я читал статьи саенс дирректа про трекинг глаз и про такое явление как саккады глаз.

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

Как говорится — это и увеличивает эффективность продажи. И при этом можно потом использовать в портфолио с контекстом "вот такое мы знаем и можем сделать". Вот несколько примеров:
https://foxsys.pro/jagex-concept
https://foxsys.pro/beringia-concept
https://foxsys.pro/3z-vr-concept

Так потихоньку начало заполняться портфолио из проектов, которых по сути не было. Но мы всегда с уверенностью могли сказать: "вот так мы можем". И в целом это как-то работало. Я привлёк Мишу. Мы вместе работали на одной из прошлых работ, и он взял на себя весь арт-дирекшн. И собственно до сих пор работаем вместе с ним, уже на протяжении 5 лет получается. Ещё наняли 3д моделлера и по-моему ещё одного дизайнера. И вот нас стало 5 человек. Проекты делались, штат рос, компания потихоньку росла. Разрабатывал я пока всё ещё самостоятельно все проекты.

Но потом начались новые проблемы. И о них я расскажу в следующих сериях. Ставьте 🔥, ну вы в курсе.

#приключения
🔥38
Появилась забавная задачка в голове на основе этого

Представим что у нас есть прямоугольник произвольного разрешения. Каким образом нам разделить его на минимальное число одинаковых квадратов? И узнать их разрешение.

Допустим мы собираем как раз пазл и хотим, чтобы все кусочки были квадратными. С усложнением сохранив одинаковый размер всё просто. Делаем скажем сабдивижн нашего наименьшего числа квадратов (каждый квадрат делим на 4 квадрата), и получаем в 4 раза больше кусочков.

Задачка не сложная, но ответ засуну под спойлер для тех, кто захочет подумать.

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

Люблю математику. Её знание позволяет в разы меньше думать :)

#мысли
6🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Лазер пронзающий меши
https://80.lv/articles/laser-cutting-meshes-in-unity-with-shader-graph-c/

Этим самым буром лазером ты, Симон username, пронзишь небеса меши! Красивый и классный эффект разрезания мешей лазером. Выглядит круто. Хотя пока оно не умеет перестраивать по честному сетку — это не особо сложно. Просто красивое оформление маски, но сделано качественно — кайф.

#новости
🔥13