Григорий Дядиченко
Відкрити в Telegram
Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR. 100+ проектов за 5 лет. https://whitelabelgames.ru По вопросам сотрудничества писать: @it_bizdev
Показати більше2 752
Підписники
+124 години
-157 днів
-3530 день
Архів дописів
2 751
Визуальное программирование
https://habr.com/ru/articles/783060/
Любопытная статья, хотя на мой вкус в ней немного не хватает прикладной части. То есть описания функциональной части фреймворка не просто так, а через какой-то пример. Но всё равно почитать думаю полезно.
Я не фанат визуального программирования. Если даже относится к нему, как к инструменту для геймдизайнеров. Конечно можно сказать, что геймдизайнер вообще логику трогать не должен, но это не так, так как даже в модах обычно есть какое-то базовое «программирование» на том же lua. Обычно мне не нравится в визуальном программировании две вещи: скорость реализации чего либо и возможности пакетной обработки.
Со скоростью всё просто. Мне проще говорить на примере шейдеров. Любой не одноклеточный шейдер, если это не творческий поиск, я быстрее соберу кодом, чем буду таскать ноды графа.
С пакетной обработкой чуть сложнее. Так как когда-то я был геймдизайнером, тогда я услышал шутку: «У вас есть проблема. Вы решили написать регулярное выражение для решения этой проблемы. Теперь у вас две проблемы.» Нам нередко нужно было править кучу конфигов просто заменой в них какого-то текста. И это в графовых нодовых системах я себе слабо представляю.
Вообще удобно, когда у геймдизайнера есть билд, когда правки можно доставлять на лету конфигами, по сути система для геймдизайнеров в игре, если не всё отдаётся на откуп разработчикам в плане реализации = система для мододелов в будущем. Поэтому в таком контексте инструменты типа FlowCanvas и Bolt я не понимаю, так как там создание уровней будет всегда в рамках движка. А чтобы потом дать этот функционал игрокам можно будет с ума сойти. Но кстати, проведём опрос :)
#новости
2 751
Регулирование рекламы в играх
https://t.me/app2top_gamedev_breaking/3959
Любопытная новость. Для меня больше всего она любопытна тем, что с рекламой сейчас начали такое количество геморроя создавать, что немного диву даёшься. Допустим если даже рассказываешь про что-то своё в виде рекламы нужно помечать пост «саморекламой» и регистрировать это дело. Что как бы вообще немного бред. Ну да ладно.
Я бы сказал, что бедные гк, но учитывая схему монетизации игр, юридическую обвязку сейчас и так далее + прибыль с рекламы в разных странах — думаю гк вообще наплевать на эту новость. Так как юр. лицо у разработчиков гк наверное будет в казахстане, от выручки рф даёт незначительную долю, так что опасение «убийства ГК» — ну вряд ли.
То ли дело яндекс игры и подобные платформы. Я конечно вообще не представляю зарабатывают ли там деньги и можно ли там на стандартных f2p получить хотя бы ощутимую выручку. Но по сути реально это будет работать скорее с этими играми.
А так хочется задать вопрос: «Где реклама трогала тебя? Покажи на кукле»
#новости
2 751
А да, совсем забыл сказать про бусты https://t.me/dev_game?boost Вы можете ещё поддержать канал таким образом. Вдруг в будущем это даже что-то даст. Сейчас это даёт возможность выкладывать стори от канала, но зачем мне нужны стори я пока вообще не придумал XD Но раз уж есть какая-то система очков — я же геймер как никак. Больше бустов богам бустов :)
2 751
Тут уже 2500 человек собралось
Я который день слежу как цифра прыгает с 2500 до 2498 каких-нить. И вот уже подсобралось народу с небольшим люфтом, так что цифра 2500 можно считать пройдена. Спасибо всем кто читает канал. У меня конечно писать получается наплывами, когда есть время или когда я нахожу что-то на мой взгляд интересное. На этой неделе ещё по плану дописать статью про рычаги. Так как код готов, осталась часть с тем, как это всё делается и работает написать :)
Постараюсь в следующем году вести канал чуть более системно. Хотя на следующий год у меня в целом планы наполеоновские. Так что главное чтобы на всё хватило времени. В целом надо бы сделать снова опрос по интересующим темам, так как опыта меня много. Бизнес, продажи, фриланс, менеджмент, переговоры, разработка, устройство на работу, продюсирование проектов и так далее. Хоть курсы записывай, но тогда пора писать не адекватные посты, а в стиле "как заработать свой первый миллион на играх" XD Каждый раз это воспринимается как мем на уровне с девушками и эскортом, только тут я и инфобиз XD
Ну и скоро новый год, а новый год — это время подарков. Так что сейчас запущу небольшой розыгрыш подписок на премиум. Так как подписки на год интереснее (на месяц для меня звучит как какая-то замануха), то лучше думаю с ними. На месяц можно было бы взять конечно больше, но лучше кому-то сильно повезёт. Верно же?
А рабочий год ещё что удивительно не совсем закончился, хотя как мне кажется уже пора нарядить ёлки, начать готовить салаты или хотя бы придумать "и как мы будем праздновать". Я вот пока всё ещё не придумал XD
#новости
2 751
Про 2023 год
Итак, конец года. Он конечно ещё не кончился, но потихоньку уже начинается время "давайте после праздников". Я в целом люблю подводить некоторый итог в свой день рождения и в новый год. Между ними конечно не ровно пол года, но тем не менее как такие отсечки как и что идёт. В общем этот пост больше для себя + наконец-то введу хештег, который проще будет искать, чтобы потом вспоминать "ох уж этот 2023". Ещё одни будут короткие про блог. А сейчас про работу.
Начну я пожалуй с ожиданий от года. В первую очередь рабочих. Я думал, что год будет сильно хуже. Изначально я предполагал, что показатели в общем упадут, что будет меньше проектов и так далее. Но по итогу год прошёл довольно неожиданно.
Мы с ребятами сделали 25 проектов. Какие-то совсем мелкие, какие-то крупные, плюс в проекты у меня ещё относится мой консалт (которых в этом году было 3). Вообще забавный год. В 2022 я подумал, что больше переориентируюсь на промо-игры. И в целом получилось. В этом году у меня по проектам было:
3 консалта
9 рекламных игр
3 рекламных стенда
3 игры до стадии MVP
6 AR проектов
1 VR проект
Ещё была всякая мелочёвка, но её я не считаю. По показателям выручки и прибыли получилось даже немного вырасти в сравнении с прошлым годом. Так что год прям хороший в плане работы :)
Плюс у меня была задача — поиск новых клиентов. Мне в 2022 не понравилось то, что 90% выручки составляли клиенты, с которыми я уже работаю много лет. То есть я чёт с 2019 года вообще забил на привлечение, маркетинг, перестал куда-то ходить. В этом году этот показатель снизился до 70%. Было много новых обсуждений и новых проектов. Хотя основной план у меня по "выходу в свет" стоит на 2024 год. К этому так сказать надо было подготовиться. Задача не столько снизить этот процент. Просто 90% показывает, что я вообще не парился над такой вещью как продажи в 2022 году :) Шло как шло. А бизнес не та вещь, где стоит сильно расслабляться.
В общем в плане работы почти все задумки получились. Новые есть. Работаем. Главное чтобы это было ещё и весело :)
В личном я очень много летал в этом году. По сути я сделал 16 перелётов, что для меня небольшой рекорд. Плюс наконец-таки получил штамп в загран паспорте слетав в Дубай на несколько дней (не мой город, но приключение забавное). В следующем году думаю построю свои перелёты так, чтобы прилетать на конфы и выставки. Надо только составить список чего-то интересного и полезного.
В общем как говорится "У самурая нет цели, есть только путь". Работаем дальше. А по блогу сделаю итоги года попозже. Какие-то цели на следующий год:
1. Больше выходить в свет. Мероприятия, митапы, конфы
2. Меньше брать проекты класса "это невозможно". Скоро 30 лет, здоровье надо беречь. И денег они приносят много, но не спать неделю — это уже тяжко.
3. Больший упор сделать на классический маркетинг и в целом продвижение
4. Сделать так, чтобы следующий год тоже считался хорошим :)
#итогигода
2 751
Как использовать циклы в апдейте
https://giannisakritidis.com/blog/Looping-Inside-Update/
Короткий ответ — не использовать циклы в апдейте XD Вообще чаще всего если вы считаете, что вам нужен цикл в апдейте, он вам не нужен. Особенно такой, который может что-то там зафризить. Перебор 10 элементов не в счет. Но тем не менее в статье неплохой разбор разных техник с эвейтерами, с корутинами, с индексами, как проходить цикл за несколько кадров, чтобы геймплей не фризился. И иногда это полезно, а знать об этих способах полезно.
Я не видел только моего любимого, но он подходит не для всего. Когда у меня стало слишком много задач с парсингом конфигов, или с расчётами сложных математических алгоритмов (один из моих любимых проектов был связан с укладкой графа в трёхмерном пространстве). Я полюбил паттерн DirtyFlag. Выносишь тяжеловесные расчеты, которые не зависят от UnityEngine неймспейса в отдельный поток, а потом после окончания помечаешь, что расчёт окончен — обнови визуализацию. Очень удобно.
Бесит иногда только, что приходится писать прокси-структуры, так как юнити мне кажется переборщили с защитой от дурака в плане многопоточности, и не дают юзать в другом потоке юзать некоторые классы, с которыми я даже понять не могу в чём может быть в теории проблема. Была бы галочка unsafe multithreading, я был бы рад. Где «заблокировал поток, ну сам дурак, ты расписался тут галочкой, что понимаешь что делаешь и почему PhysX нельзя вызывать вне мейн треда» :)
#новости
2 751
Симулятор рыбок — теперь со снежинками
https://80.lv/articles/unity-powered-wip-goldfish-simulator-gets-a-winter-update/
Мне так нравится этот проект. Выглядит мило и автор целеустремлённо вытачивает такую забавную задачу, как сделать аквариум. Прям если бы у меня было время на подобный пет проект, который можно в мелочах крутить аля сад камней, я бы тоже чёт такое поделал. Но позже, иначе и так с моим числом дел в сутках зарядов маховика времени может не хватить.
#новости
2 751
Как сделать свою игру
https://youtube.com/shorts/B0X3xburLxo?si=BzGKqU_6F2Z7ukue
Видео быстро объясняет о чем сайт, а вот основной сайт https://develop.games/ Парень который с 2004 года в игровой индустрии (начинал с работы над World of Warcraft) рассказывает о том, что нужно чтобы сделать свою игру. И в целом с ним во всём можно согласиться.
#интересное
2 751
Изучение чего либо
Вообще забавно. Недавно я начал учить Китайский. Кстати говоря всем 你好, и понял что несколько лет ничего не изучая системно, с репититором, я чутка забыл как строится процесс обучения. Ну такой, не хаотичный которым мы занимаемся все, а планомерный. Просто хочется написать по шагам, чтобы как напоминалка для самого себя было под рукой тут.
0. Сбор информации (при самостоятельном изучении)
Чтобы что-то выучить нужен план. Как мы будем следовать всем пунктам, что будут ниже. По сути если у вас нет преподавателя, который сделает эту работу за вас, то лучше самостоятельно составить план.
1. Изучение основ
Или пресловутая теория. Фундаметальные знания и так далее. В общем чтобы изучить что-то лучше понимать теорию которая за этим стоит, суть и предпосылки. В том же китайском это произношение и история иероглифов. Очень любопытно и голову прокачивает в целом.
2. Практика
Решение практических задач по теме. Получили теорию, закрепили примерами. И что в языках, что в разработке, что в гуманитарных знаниях, на мой взгляд это работает одинаково. Понимаешь суть. Пользуешься сутью разобрав много примеров. Запоминаешь её на всегда.
3. Разбор чужих работ
Это в большей степени относится к практическим навыкам. Типа разработки той же, геймдизайна, рисования, то есть к ремёслам. Хотя я сейчас решил освежить в голове маркетинг и продажи (как подготовку к следующему году) и там это работает так же. Ищем чужие примеры. Разбираем почему так сделано, ищем косяки, находим решение как подправить.
4. Учитель
Вообще я бы даже сказал тут наверное не так важна большая экспертность, хотя это безусловный плюс. Тут больше нужен чисто даже внешний взгляд, чтобы понимать суть и проблемы разносторонне.
5. Много источников по одной и той же теме
Проблема естественных языков, что они редко описывают всё однозначно. Чтобы сгладить этот недостаток, лучше читать про одно и тоже написанное разными словами. В не особо формальных областях так в разы проще понять суть того или иного факта, техники или явления.
Ну и вернёмся под конец к шагу 0. По сути план обучения составляется из сбора видео, литературы и т.п. по теме + поиска источников практики. Упражнений которые можно спокойно сделать самостоятельно. При наличии бюджета учитель (хороший) — это всегда плюс. Но главное лучше подходить к этому процессу системно. Не потому что по-другому не получится. Может получиться и если просто учить "как идёт". Но системно результат всегда будет получен быстрее. И да, всё это кажется элементарным. Но я с удивлением обнаружил, начиная заниматься с репетитором и смотря на то, как моё обучение идёт, что я про эту элементарщину просто забыл.
#мысли
2 751
Как работает (большинство) 3д игр - Перспективная проекция
https://www.youtube.com/watch?v=U0_ONQQ5ZNM
Я обожаю разбираться в сути вещей. Понимая принцип, а не изучая миллиард конкретных решений, в разы проще пользоваться знанием. То есть зная фундаментально теорию графов проще строить или кастомизировать игровой ИИ или всякие алгоритмы поиска пути под свои цели. Однажды мне нужна была взвешенный Astar и в разы проще было дописать веса в чужую реализацию, чем найти в открытом доступе Astar с весами. Хотя конечно я всё равно считаю, что современная разработка на 90% состоит из разработки интеграций фреймворков и готовых модулей.
В видео для меня ничего нового, информация для тех кто занимается графикой базовая, но мне понравилась подача. Просто объяснение сути перспективной проекции. Красивые картинки, понятные примеры. А так как лучше разбираться в сути, чем учить 1000 примеров конкретных решений, то советую посмотреть. Фундаментальные знания лишними бывают редко.
#интересное
2 751
Наносите урон весело
https://www.youtube.com/watch?v=S4pHJN8YclE
Прикольный туториал. Но вообще в играх любая реакция на действия пользователей, когда она ярко выраженная и гипертрофированная — выглядит круто. Некоторые игры вообще целиком построены на этом эффекте. Поэтому об этом всегда нужно помнить.
#новости
2 751
Разрушаемость в Unity
https://80.lv/articles/red-faction-style-destruction-system-made-in-unity-for-a-game/
Инди разработчик Zombie1111 продемонстрировал на Reddit систему разрушения окружения для своей будущей игры. Выглядит довольно красиво.
#новости
2 751
Speech to Text в Unity
https://github.com/yasirkula/UnitySpeechToText
Тоже что-то, что выглядит довольно полезным. В играх в голосовое управление я не верю, но вот в индустриальных историях оно вполне используется. И иметь под рукой голосовые команды для Unity часто бывает полезным.
#интересное
2 751
Vertical Beam Attack
https://www.youtube.com/watch?v=eYzihHPtGJE
Люблю туториалы от Гэбриэла. Да и в целом полезно разбирать такие туторы и чужой VFX, чтобы стало ясно как он делается, и как делается что-то своё.
#новости
2 751
Бесплатные скайбоксы
https://hdrmaps.com/freebies/free-hdris/
Ещё один сайт с бесплатными HDRI картами. Большую часть из них конечно как скайбоксы использовать нельзя и смысла нет. Но вот в качестве карты отражений в фотореалистичном окружении — очень полезно. Вообще я замечал, что много у кого не получается красивый фоторил в AR, так как они в качестве источника отражений юзают или дефолтный скайбокс (что уж совсем мрак) или какие-то странные скайбоксы. В 2016 году у меня даже идея была для выставок, для AR кейсов приходить и фоткать локацию выставки на 360 камеру, чтобы отражения на AR объектах были достовернее, и объекты лучше вписывались в пространство :)
#интересное
2 751
Как сделать простые реплеи
https://giannisakritidis.com/blog/Input-Replay-System/
Я бы не сказал, что это запись инпута. Это скорее статья про самое частое и классическое применение паттерна команда. Просто главное помнить, что такие реплеи — это условно архитектурная поддержка и в целом неплохой подход, так абстрагировать инпут через команды в геймплее где это возможно. А возможно это почти везде, где не слишком большой объём записываемых команд ввода. Но учитывая что всё можно свести к "нажал клавишу" и "отпустил клавишу" — записей будет немного. Или всё же нельзя писать чисто клавиши?
В статье описаны логические команды. Не учитывая состояние мира (но допустим у нас изменяет мир только игрок), такой подход как-то работает. Но при неаккуратном обращении с концепцией — она вообще не работает. Точнее работает для чего-то очень простого. Прикол в том, что чтобы работала сигнальная логика записи команд и т.п. Всё в игре должно быть дискретным (особенно если писать сигналы клавиш). То есть не бывает так, чтобы команды работали и при этом значения у нас были float, потому что будут проблемы с округлением. Тоже самое с зависимостью от фреймрейта и так далее. То есть продумывая такую систему нужно понимать много нюансов. Так как кажется логичным "просто запишем что нажимал пользователь и повторим", но в реальности это работает только в весьма специфично построенных системах.
Если у мира есть своя жизнь и своё состояние, то появляется зависимость от фреймрейта. Поэтому я бы считал этот пример иллюстративным примером по использованию паттерна команда, а не что-то, что можно как использовать систему реплеев. У меня была когда-то мысль, что в разы проще чем писать видео для реплея — просто запоминать инпуты. И попробовав разок я понял, что чтобы поддержать эту фичу, нужно чтобы вся архитектура приложения системно её обслуживала. Для тестирования и воспроизведения багов такая система — это конечно сказка) Всегда есть прямой репродьюс) Но это сильно усложняет разработку.
А кстати, кто-то ещё пробовал замрочиться с такой системой в своей игре? Я понял, что такое элементарно делается в головоломках и пошаговом геймплее, где состояние игры легко воспроизводить на любом шаге. А вот в реалтайм геймплее я чисто для тренировки попробовал сделать систему реплеев аналогичным способом, и плюнул, так как понял что поддерживать это прям дорого.
#интересное
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
