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

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

Open in Telegram

Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR. 100+ проектов за 5 лет. https://whitelabelgames.ru По вопросам сотрудничества писать: @it_bizdev

Show more
2 680
Subscribers
No data24 hours
-37 days
-2230 days
Posts Archive
Я пытаюсь объяснить геймдизайну, почему нам сложно добавить лук в шутер за один день. P.S. Я просто обожаю эту картинку, и он
Я пытаюсь объяснить геймдизайну, почему нам сложно добавить лук в шутер за один день. P.S. Я просто обожаю эту картинку, и она мне снова на глаза попалась :) #мем

Про тестирование в геймдеве У меня тут с утра возникло обсуждение с другом бекендером собственно про тесты. Энтерпрайс бекенд в целом всё старается покрыть тестами и это нормально. Там другие сроки разработки, другие масштабы проектов, банально другое число абстракций и интеграций. В геймдеве же тесты не так распространены. И вопрос нужны ли тесты в геймдеве? До этого хочется написать, а зачем вообще нужно покрытие тестами? Одна из основных задач тестов "контроль работоспособности абстракций". В любом коде так или иначе возникает некоторый набор абстракций. Возьмём простой пример (писать так точно не надо) У нас идёт игра Moba. У нас есть понятие Ability. От него идут Fire Ball Ability, Frost Bolt Ability и так далее. И в базовом классе описан метод Launch, который проверяет количество маны персонажа и делает всякие другие проверки. Для запуска нужен таргет. Мы создаём тест, в котором у нас должен умирать противник с такими-то характеристиками по настройкам баланса. То есть пускаем мок скилл в мок таргет. И так со всеми скиллами. Результат теста — все таргеты всегда мертвы. И при заданных характеристиках скилл вообще запущен. Такой тест позволит отслеживать что "скиллы не сломались за счёт изменений" той же базовой реализации метода Launch в 100 скиллах. Классно, удобно и так далее. Но вот вопрос. А сколько таких мест в средней игре, что у нас есть какая-то абстракция на реализацию которой опирается 100 конкретных реализаций. Игры в разы конкретнее и несут (да и должны нести) в разы меньше сложных абстракций нежели возникает в серверной разработке. То есть потребность в тестировании сильно зависит от игры. Можно подобрать примеры типа WoW (хотя там опять таки больше бекенд чем клиентские разрабы обложатся тестами). Поэтому любопытно, а как вы считаете насколько необходимо автотестирование в играх? Именно в клиентской части. Ток не на уровне "религии" — оно надо, потому что мне так сказали. А какие проблемы оно решает, чем полезно, чем удобно, чтобы как же тот же Test Driven Development стоил того, чтобы с ним морочиться. #мысли

Красивый пак моделей в стиле древнего Рима https://80.lv/articles/roman-temple-ruins-asset-pack-for-unity/ На этой неделе настолько ничего не происходит, что последую примеру lvl80 и опубликую новость о том, что вышел пак моделей. Не, пак конечно красивый, но неделя до удивительного скучная в плане каких-то инфоповодов. Юнити пишет про ревардед видео и ещё что-то на мой взгляд неинтересное в своём блоге. Вышедшие видео на ютуб в большинстве своём какие-то странные. В общем под кофеёк с утра даже почитать нечего (да, у меня только сейчас началось утро при том, что я в мск) :) #новости

Я не люблю программирование Знаете — пора признаться. Я не особый фанат программирования. Внезапно, не правда ли в блоге по сути на 90% посвящённому программированию? Стоит наверное уточнить в каком смысле. Где-то в 26, когда я ещё читал мануалы процессоров, изучал ассемблер и низкий уровень, ковырялся в IL который генерит шарп. В общем изучал глубокую базу и т.п. — мне это надоело. Сейчас мне не особо интересно такое понятие как — идеальный код. Я понял, что я люблю в первую очередь решать задачи бизнеса. Конечно как разраб влезть в какой-нить бесполезный холивар на 4 часа обсуждения — это святое. Но я не люблю поиски идеальных решений, идеального кода и так далее. Я привык решать задачи "достаточно хорошим решением". Я замечал что многие любят преждевременные оптимизации, углубляться на тему того, что вот тут то можно было бы написать лучше и удобнее. И так далее. Мне это как-то стало в определённый момент неинтересно. Решение прикладных задач в контексте бизнес требований достаточными инструментами — это быстрее и эффективнее. При этом не надо путать. Достаточно хорошее решение != плохое решение или первое попавшееся. Это решение подходящее в контексте задачи. Я считаю, что самый важный вопрос который нужно научиться задавать ко всему в жизни "зачем". Понимая зачем что-то делается можно определить достаточность и необходимость того или иного решения. В общем мне интереснее делать игры, делать проекты, делать визуализации данных и прочее, чем искать тот самый one piece идеальный код. Но это не значит что мой подход и моё мнение "правильное". Это просто один из подходов к работе и к разработке в целом. Как говорится "Данные мысли не являются инвестиционной рекомендацией". #мысли

Подборка интересных каналов Посоветую несколько полезных каналов, в основном для тестировщиков. Наверняка кому-то пригодится. Каналы авторские и интересные. @qa_studio Шаг за шагом рассказываем, как стать Junior QA. Подборки вакансий без опыта каждую неделю, аналитка по рынку вакансий раз в месяц, интенсивы по тестированию и, конечно, мемчики. @juniors_qa Лайв канал про будни джунов-тестировщиков. Пишем в подробностях как тестируем сайты, мобилки и API. @qadictionary Авторский канал от QA в Wildberries. Это сборник квизов с терминами и их пояснение на понятном языке. Более 90% из них постоянно встречаются в работе! Отлично подойдет тем, кто хочет быть незаменимым тестировщиком. Подпитывай свои знания вместе со мной! @qa_and_it Канал для тестировщиков. Как для новичков, так и для бывалых. Ежедневно делимся материалами по тематике: авторские посты и мысли автора, интересные статьи, обучающие видео, новости, ИТ-юмор и опросы @datamisha Авторский канал от data engineer’а в сбере. Рассказываю про data технологии (data engineering, data science, data analytics) и об it в целом. Можно почитать какой выбрать язык программирования и про SQL @ProQuality_Community Сообщество специалистов, интересующихся современными технологиями и трендами в области обеспечения качества! Мы делимся полезной информацией для QA, проводим развлекательно-обучающие квизы и многое другое. #интересное

Про антиалиасинг https://habr.com/ru/articles/343876/ Перед тем как писать статью на какую-то тему лучше поискать, а вдруг кто-то уже написал чёт хорошее. По тем же текселам многие статьи мне показались правильными, но абсолютно не понятными без большого опыта в рендере. А вот тут отличная статья и всё в ней хорошо. Рекомендую к прочтению, если ещё не читали. #интересное

Сканирование пространства https://www.youtube.com/watch?v=9DshpqhKDz0 Эффект сканирования пространства в Unity Shader Graph. #новости

Оптимизация симуляции жидкости https://www.youtube.com/watch?v=9M72KrGhYuE Вторая часть видео про симуляцию жидкости. Если кому-то была интересна первая, то вторую тоже стоит посмотреть, чтобы понимать принципы таких оптимизаций. #новости

ПРАКТИКON https://t.me/justGameDesign/465 Коллеги по цеху делают марафон по созданию игр в жанре платформер. Там вы сможете: • Узнать ключевые особенности платформера и историю жанра • Научиться основам работы в игровых движках • Опубликовать проект на itch.io • Получить поддержку от экспертов и комьюнити • Добавить готовый проект в своё портфолио • Набрать баллы и потратить их на классный мерч и книги! Зарегистрироваться можно тут. А почитать подробнее в этом посте. #новости

Антиалисинг шаг в Shader Graph https://www.youtube.com/watch?v=YYHl2ebt_oE Алиасинг или знаменитая лесенка, которая всех бесит. В целом есть много способов борьбы с алиасингом. И вот один из них. За одну минуту быстро и довольно понятно. Вообще если стоит разобрать что такое алиасинг, какой он бывает и какие методы борьбы с ним существуют ставьте ❤️‍🔥. Так как это не только лесенка в спрайтах, а как на примере стилизации выше в тенях. Так же есть огромная проблема под названием Specular Aliasing и прочее, которое играет большую роль в VR играх. Выше пример красивый, но да пока это только демка, так как рябь на потолке, лесенка в тенях, правильная отрисовка тонких контуров на отдалении — это всё решаемые проблемы. И если в такой стилистике оно ещё и рябить перестанет, то это будет просто пушка. #интересное

Хоррор в стиле манги https://80.lv/articles/a-work-in-progress-horror-game-with-manga-like-art-style/ Классная стилистика в игре, а в статье ещё lvl80 подобрали туториалы, чтобы такой стилистики добиться. В целом подобные стилизации шейдерами всегда выглядят довольно залипательно. #новости

ИИ в Sims https://youtu.be/9gf2MT-IOsg Разбор принципа работы ИИ в Sims. По сути это GOAP. Видео классное, и думаю будет полезно и для тех кто мало проектировал ИИ, и для тех кто этим уже занимался, как отличный пример принципа работы хорошего ИИ. #интересное

Интересные патрули в игре и цепи Маркова https://leanrada.com/notes/dynamic-patrol-stealth-games/ Любопытная статья про испол
Интересные патрули в игре и цепи Маркова https://leanrada.com/notes/dynamic-patrol-stealth-games/ Любопытная статья про использование цепей маркова для создания динамических патрулей. В целом цепи маркова и нужны для моделирования случайных событий. Так что если патрули в игре должны быть интересные и не такие предсказуемые описанный способ неплохо для этого подходит. #интересное

Учимся игровой разработке https://github.com/notpresident35/awesome-learn-gamedev Большой список обучающих материалов в сфере геймдева. Практически по любой специальности. Такое нам надо. #интересное

Сделано в Unity — Июнь https://blog.unity.com/news/made-with-unity-monthly-june-2023-roundup Люблю эти посты в блоге Unity. Всегда интересно посмотреть, что другие делают с Unity. #новости

Пятничная сказка Жили-были корпорации. И в корпорациях были менеджеры. И менеджеры в корпорациях думали что они умеют считать. Подрядчик принёс им смету где стоимость разработки дизайна экранов + моушен дизайна стоило 120к рублей со сроками в 2 недели (80 часов). И они подумали, что у нас же есть дизайнер Вася получающий 100к рублей, то есть в неделю он получает 25к рублей. То есть они дизайн лучше сделают сами. Ах если бы они умели считать, то тогда понимали бы, что реальная ставка этого Васи где-то 5к рублей в час. Так как ему оплачивается офис, рабочее место, отпуск, печеньки, мед страховка, спортзал, налоги и многое другое. То есть Васина работа даже по базовой оценке за 80 часов работы стоит 400к рублей. И при этом его нельзя заставить работать по выходным, внеурочно, соблюдать жёсткие сроки и в целом делать всё то, что делают аутсорс команды. Но при этом менеджеры показали как они сэкономили бюджет на проект, выделили себе в связи с этим премии и жили счастливо. P.S. Иногда я просто хочу пойти на работу и нести такой же уровень ответственности. #мысли

Радужный кристалл с реймаршингом и SDF https://varun.ca/ray-march-sdf/ Это конечно не про Unity, но мне очень понравилось оформление статьи. Плюс важно помнить, что шейдеры они и в африке шейдеры. Чуть может меняться синтаксис и доступные инструкции + оформления инпута и аутпута. Но суть и логика одинакова и на чистом GLSL и в шейдерлабе. Шейдерлаб это просто упрощение с компиляцией под разные платформы по сути. Но шейдеры даже чисто для js полезно разбирать и изучать используемые в них подходы. А в данной статье ещё и разбирается физика процесса с иллюстрациями и пошаговая интерактивная инструкция. В общем кайф. #новости

Взвешенная вероятность https://gist.github.com/Nox7atra/3611b5dc0ccd45906010987b694bd43a Простенький пример реализации взвешенной вероятности. Вдруг кому пригодится. По работе понадобилось сейчас набросать, а это очень полезная техника для многих игр. Generic реализация позволяет так конфигами контроллировать что это будет с разной вероятностью выпадать лут или что-то ещё. В общем сохраните себе, если вдруг не знали как такое пишется. #сниппет

Unity 2023.1 Tech Stream теперь доступен https://blog.unity.com/engine-platform/2023-1-tech-stream-now-available Чуть не пропустил эту новость. а там много любопытного. Конечно LTS то не всегда стабильны, так что такое можно посмотреть только чтобы ознакомиться. Но фичи интересные. Правда по большей части для HDRP, которым я не пользуюсь :) Сначала скажем о главном Multiplayer Play Mode — экспериментальная фича что боже мой наконец-то в редакторе можно открыть несколько плей модов. Как же бесит в тестировании мультиплеера пользоваться разного рода костылями на эту тему. Если они это наконец-то сделают — моё почтение. А теперь просто об интересном для меня: Screen Space Lens Flares — классный постпроцесс эффект, который позволяет делать эффект бликов света на линзах камеры. Adaptive Volume Probes — классная фича для проб, которую отлично презентовали на GDC. Global Illumination – New Light Baking Architecture — возможно теперь печь можно будет мне в Unity, а не в максе. VFX Graph – Volumetric Fog Output — туман штука полезная добавляет атмосферы. Дальше всё для HDRP: Доработки воды — пена, динамическое добавление водоворотов, волн, деформаций. Доработки прозрачных объектов и подповерхностного рассеивания — стекло теперь выглядит более реалистичным. Доработки волос и кожи для персонажей — улучшение перфоманса и всякие правки увеличивающие достоверность этого дела. Апи рейттрейсинга и ряд фич HDRP вышли из превью. #новости

Урок по Dissolve шейдерам в URP https://www.youtube.com/watch?v=QNtexvXRMD0 Каждый кто начинает писать шейдеры первым пишет Dissolve. Ну или почти первым. В общем неплохой урок который в простой форме рассказывает про шейдерграф и про то, как написать эффект растворения. Я когда-то выкладывал в на гитхаб каустику, если брать ещё классические полезные эффекты. Вдруг тоже кому пригодится. #новости