Григорий Дядиченко
Открыть в Telegram
Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR. 100+ проектов за 5 лет. https://whitelabelgames.ru По вопросам сотрудничества писать: @it_bizdev
Больше2 746
Подписчики
-324 часа
-137 дней
-4130 день
Архив постов
2 732
Я думаю над частотой публикаций и может часть новостей проходит мимо вас и стоит замедлиться. Хотя частота всё равно в том числе зависит от того, как я натыкаюсь на что-то интересное. Сколько постов удобно читать? А то вдруг остаётся завал непрочитаного.
2 732
Интересное ограничение FL
Каждый день узнаёшь что-то новое. Сегодня я узнал что на FL нельзя ввести в цену проекта больше 999 999р О_о Ну как бы кейс для fl конечно наверное не самый частый, но интересно зачем так ограничено. Проекты бывают разные и бюджет больше 1кк — это не то чтобы супер редкость. Хотя с fl я не помню чтобы такие были конечно, но любопытно.
#фриланс
2 732
Туториал «Сапёр» от Catlike Coding
https://catlikecoding.com/unity/tutorials/prototypes/minecomb/
У кэтлайк много прикольных туториалов, но этот я не до конца понял «зачем?». Какой смысл? NativeArray, ComputeBuffer, кастомный шейдер чтобы сделать не особо замороченную версию игры сапёра на 6-угольной сетке с названием статьи «прототипы». Прототипы обычно делаются проще с в разы меньшей степенью оптимизации. Возможно мне не хватило в начале статьи «цели этой статьи». Потому что иначе не совсем понятно зачем по воробьям стрелять из BFG.
#новости
2 732
Математический разбор: Инвёрсная Кинематика
https://blog.littlepolygon.com/posts/twobone/
Ну вы меня знаете. Я человек простой. Вижу интересную математику — публикую. Классный разбор того, как работает инвёрсная кинематика.
#новости
2 732
22 342 кратное ускорение загрузки геометрии в Unity
https://habr.com/ru/post/719224/
Хорошая статья разбирающая путь оптимизации. В целом можно посмотреть как рассуждать, когда оптимизируешь какой-то проект. Но вот правда в контексте задачи есть способы ещё быстрее. Ну с писать в текстуру под пк, когда у тебя есть компьют шейдеры — это любопытное мероприятия. Так как зачем, если у тебя есть ComputeBuffer для этой задачи и много чего ещё, где это делается по-человечески. На мобилке можно так извращаться, а на десктопе ни к чему.
Ну и по поводу парсинга. Разбирается только группа ReadAll.. методов, а если шарить за парсинг в шарпе и за сахар есть замечательный File.ReadLines который работает с итератором и это наверное самый быстрый способ парсить obj как и любой построчный текстовый формат. Быстрее только хитрости с фиксированным бинарным буффером, но это пишется руками и там есть немного шаманства. Я так когда-то оптимизировал делая асинхронную загрузку подобных вещей. Хотя если совсем упарываться, то нужно сразу делать бинарный формат.
А так решение интересное, размышления прикольные, но подход не самый оптимальный. Но в целом статья кул, и думаю много кому будет полезна для того, чтобы посмотреть как можно упарываться в оптимизацию :)
#новости
2 732
Роадмап для разработчика
https://roadmap.sh/
Бродя по просторам интернета нашёл прикольный сайт описывающий роадмапы изучения программирования для разных разработчиков. Для игровых там нет, надо будет чёт подобное составить по игровой разработке и по VFX.
#интересное
2 732
Понимание FFT и логики сигналов
https://www.youtube.com/watch?v=gGEBUdM0PVc
В коментах к этому посту Остапа (то есть меня) понесло. Неиронки не серебряная пуля и не надо ими всё решать. Ну я уже говорил про это, а в комментах можно почитать почему в предложенной задаче они вероятнее всего не будут работать. Но сама задачка интересная. Если в пк играх это неважно, то вот уже мобилках иногда идёт война за мегабайты. Я нашёл неплохой видос по применению FFT в компрессии одного изображения. Но на самом деле когда у вас есть пачка картинок, то открывается в разы больше вариантов и возможностей.
Зная логику того что такое сжатие любого сигнала вы можете на пачку применить уже дельта сжатие, методы которые применяются в стандарте MPEG-4 и т. п. То есть если в вашей игре много текстур, но вы знаете уже конкретно каких, то в них можно найти зависимости и с помощью логики сигналов подобрать интересное сжатие не для одной текстуры, а для всех. Например привести к ряду весов аналитических функций или к преобразованию Фурье каждый пиксель каждой картинки. Конечно сжимать оно будет долго, но зато распаковка элементарная. И так далее.
#мысли
2 732
Путь в фриланс игрового разработчика — Процесс работы
Давно не писал ничего про фриланс. Можно продолжить эту замечательную серию. Ставьте 🔥 если это интересно, ну всё как обычно.
В фрилансе я провел 4 года и был относительно в нём успешен. Ну результат х2 от зарплаты на прошлой офисной работе звучит неплохо. А как выглядит день фрилансера? Какие инструменты, как строится удобная работа?
В работе на фрилансе можно выделить три основные части:
1. Привлечение клиентов
2. Ведение клиентов
3. Процесс разработки
Про привлечение по хештегу можно найти прошлые посты, там много написано.
Про ведение, там всё просто. Я всегда за системность в подходах и в мышлении. Поэтому у меня в первый же год появилась CRM. По ней можно легко отслеживать какие проекты в работе, какие бюджеты обсуждались, кому можно написать и напомнить о себе. Плюс анализировать средний заработок за год и так далее.
Процесс разработки/или работы. Это личный таск трекер. Почему личный? Не все заказчики умеют в процессы продакшена, и удобнее видеть все задачи по текущим проектам, а не по одному конкретному. Так как фрилансил я относительно давно, то тогда я пользовался трелло. Сейчас бы скорее рекомендовал Notion.
Дальше работа строится довольно просто. Так как фриланс про самодисциплину нужно выстраивать ритм работы. У меня это было всегда по стандартному сценарию. Проснулся и поехали:
1. Проверить все биржи на предмет чего-то нового и интересного
2. Посмотреть ближайшие мероприятия (онлайн или в моём городе) где можно найти новых клиентов и контакты
А дальше деление в зависимости о числа активных проектов. Если проектов много - то:
3. Чекнуть сроки и даты показов
4. Сформировать пул задач на сегодня по проектам
5. Начать отрабатывать задачи
6. К 17 часам отправить результат на показ заказчикам
7. Окончить рабочий день
Если же проектов нет, или мало, то в распорядок добавляется.
3. Посмотреть кому из заказчиков не писал давно (у меня это было 2-3 месяца) и написать «как дела, может есть работа?»
4. Подготовка маркетинговых материалов (оформление портфолио, письма для рассылки, статьи, концепции и так далее)
5. Самообучение (видео уроки, научные статьи и так далее)
Что есть работа, что нет работы, всегда есть что поделать чтобы она была. И в данном случае можно выстроить ритм как в офисе. 5/2 по 8 часов. Так и всё будет в порядке с дисциплиной и с отдыхом. И такой набор действий как показывает практика рано или поздно приводит к неплохому результату. Без ритма и работая в хаосе результатов добиваться трудновато.
А в остальном, как говорил величайший: «Ты спрашиваешь почему босс такой богатый? Работать надо ***, работать» @ Big Russian Boss
#фриланс
2 732
История AI арта
https://www.alanzucconi.com/2023/02/11/the-rise-of-ai-art/?
Классная статья про историю и развитие ИИ арта. Интересное лёгкое чтиво, как раз для выходных.
#новости
2 732
Улучшение перфоманса Job System
https://blog.unity.com/engine-platform/improving-job-system-performance-2022-2-part-1
Короткий пост в блоге Unity про то, как строится параллельное программирование и работа Job System.
#новости
2 732
Классный скайбокс шейдер
https://80.lv/articles/procedural-stylized-sky-clouds-set-up-in-unity/
Крутой шейдер сделанный с помощью Amplify Shader Editor в Unity. Выглядит очень залипательно.
#новости
2 732
Magic Battle Arena
Про проект: это пошаговая стратегия, где основная задача - победить команду противника. Поле для перемещения состоит из пятиугольников (в стиле боевки героев). У тебя и противника 3 героя, у каждого героя свои уникальные способности.
Способности делятся на 2 типа: легкие и тяжелые. Легкие - баффы, усиления, хилы, применяются до фазы перемещения. Тяжелые - стан, обездвиживание и все что наносит урон, применяются после перемещения.
Бой состоит из раундов, в каждом раунде 2 фазы: планирование и отыгрыш. Сам отыгрыш всегда идет в порядке: легкие заклинания, перемещение, тяжелые заклинания, применение наложенных эффектов, обрушение игрового поля.
Есть множество режимов игры: аля кампания, где финал - босс Кольша, игры с друзьями и хаос режим с разными картами.
Не много про технику:
Проект сделан на 2021 LTS'e, бэк на netcore3.1(но скоро будем переезжать на net6). У нас свой можно сказать фотон, который гоняет трафик по сети максимально эффективно. Компрессия, пулы памяти для всех моделей, кодогенерация моделей.
Сам бэк завернут в docker контейнер и автоматически деплоится в управляемый google k8s. Это позволяет вертикально и горизонтально масштабировать сервера для распределения нагрузки.
Клиент по сути ничего не считает, только занимается рендером и хранением ассетов.
Базенка на pgsql с автоматическим шардированием, бэкапами, failover'ом, короче полный фарш чтобы данные всегда были доступны. На случае отказа базы, она разделена на 3 части на 3 разных сервера в разных дата центрах. Есть одна master база, на запись и чтение и 2 slave'а на readonly, которые в случае отказа мастера сами станут мастером и заменят его.
Это проект, который можно сказать что полностью сделан на свои средства. Идея принадлежит моему партнеру и мы уже чуть меньше года активно его пилим, а сейчас ищем seed раунд для дальнейшего развития и продвижения нашего проекта.
Сейчас готовим обновление 2.6.0, в котором будет полностью переработан UI.
AppStore: https://apps.apple.com/app/magic-battle-arena/id1640036968
GooglePlay: https://play.google.com/store/apps/details?id=games.silverfox.mba
Весь фидбэк можно смело в любой форме отправлять на contact@silverfox.games, прикрепляя свой id в игре, чтобы мы могли помочь (если нужно) оперативно.
Контакт: @vangogih
Коммент от меня: Прикольная пошаговая игра. Я правда прошёл только туториал и играю в другой формат игр. Из важного, за что у меня зацепился взгляд. Я бы затенил карту. Может после туториала все карты потемнее, но мне не хватает контраста между активными и не активными элементами. Персонажи, интерфейс и т.п. сливаются с ареной, а должны по хорошему быть от неё отбиты, чтобы удобно было смотреть что где.
#проектыподписчиков
2 732
Интересное из мира Unity #4 (17.02.23 — 23.02.23)
https://habr.com/ru/post/718836/
Новая неделя — новый дайджест. Сегодня правда попозже, так как в ночи я залип в Orcs Must Die 3 с другом и недавно только подошёл к компу. Как работает Behavior Tree, Asperite получил поддержку Unity, ракеты из аниме, и многое другое в нашем пятничном дайджесте. Плюс бонусная рубрика. Если вы что-то пропустили за неделю можете наверстать в нём. Ну кроме моих размышлений на разные темы. Их я в дайджесте понятное дело не публикую.
Проекты подписчиков тоже будут идти в дайджесты. Думаю никто не против. Так что не забываем присылать мне интересные проекты. Как — можно прочесть в этом посте. И всем хороших выходных! Хотя у многих они со вчера наверное.
#дайджест
2 732
Новый фишки в физике
https://blog.unity.com/technology/physics-changes-in-unity-2022-2
Пост в блоге Unity о том какие улучшения нас ждут в физике в 2022.2. Теперь будет возможность настроить больше 32 слоёв, улучшится обработка хитов и прямой доступ к массиву контактов.
#новости
2 732
Pure Reflex
https://vk.com/video-213308003_456239078
Pure Reflex - сессионная мультиплеерная игра, над которой работает команда энтузиастов Echpochmak Games. Представляет собой соревновательный 2д экшн платформер, с красивейшей кибер-космической графикой и нелинейным сюжетом.
Отличительная фишка - это то, что все персонажи умирают с одного удара, но благодаря своим уникальным способностям они могут избежать урон и нанести контратаку.
Платформа: Кроссплатформенная (В первую очередь ПК - windows, mac)
Жанр: 2D Action (Fighting), PvP, PvE, Online
Дата релиза: 2023
Ссылка на проект: https://vk.com/eg_purereflex
Контакт: @justemptiness
Коммент от меня: Прикольная сессионочка. С такой маленькой картой я бы может ускорил анимации чисто для динамики, но нужно играть, а не смотреть видео, чтобы понять точнее.
#проектыподписчиков
2 732
Закат программирования?
https://youtu.be/e3Tz9SLaBVE
Забавное видео, правда не совсем отражающее реальность. Логика верная, но всё не так печально. Рынок просто корректируется, но есть нюансы и детали. Поэтому я приложил график зарплаты и не из РФ. И я скажу так. Упавшие зарплаты это частности. Что они перестают расти — да, так как рынок сейчас падает в целом, и то что зарплаты держаться на одном уровне — это очень хороший показатель.
Во всех волнах увольнений всех кладут в одну гребёнку. И большая часть там не программисты, а айтишники. То есть те, кто не имеют отношения к разработке, а просто из департаментов.
Да, конечно когда рынок рос всё было проще и джунам было просто пройти. И это логично. Я просто не люблю такие разборы, так как они проводятся без «сравнения». Если вы когда-то пытались искать работу не программистом, а скажем менеджером или экономистом, вы должны понимать одно. В сравнении любой скажет, что программисты зажрались. Так как ну откликов на сеньора от компаний теперь не 10 в неделю, а 3. Но я знаю много не айти спецов, которые рады одному раз в две недели. Поэтому — без паники, я думаю ближайшие 10-15 лет картинка не изменится кардинально :)
#мысли
2 732
Математика ракет из аниме
https://habr.com/ru/post/718018/
Отличный разбор того, как математические трюки позволяют делать крутые эффекты. И в данном случае это в разы проще, чем это анимировать. Ну а я человек простой. Вижу любопытное применение математики — лайк автоматом.
#новости
2 732
Сила таймлайнов
https://youtu.be/Q8tJay8Zz1o
Интересный разбор от Unity кат сцены с применением таймлайнов.
#новости
2 732
UI Tutorial Fade
https://assetstore.unity.com/packages/tools/gui/ui-tutorial-fade-230845
Описание: UI Tutorial Fade эта плагин для Unity позволяющий быстро и удобно создавать мягкие "хайлайты" для туториалов. Я проработал во многих студиях, но нигде не нашел нормального создания подобных хайлайтов, всегда это либо спрайты, которые размещаются на экране (а в таком случае они не работают с хайлайтом более одного объекта или пересекающимися формами), либо вообще какие-то любые костыли через sprite mask. Кроме того, все эти решения не позволяют создавать "мягкие" маски и как-то удобно и элегантно с точки зрения кода блокировать инпут. Я много думал над этой проблемой и нашел элегантнейшее решение, которое блокирует инпут для всех объектов, кроме выделенных, создает мягкие маски которые могут пересекаться и которых может быть сколь угодно много.
Так как Unity Asset Store сейчас почти никак не работает с Россией, и в нем невозможном купить ассет, я предлагаю писать мне в телеграм или на почту, чтобы получить доступ к репозиторию и ассету.
Контакт: @Akinato56
#проектыподписчиков
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
