Григорий Дядиченко
Open in Telegram
Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR. 100+ проектов за 5 лет. https://whitelabelgames.ru По вопросам сотрудничества писать: @it_bizdev
Show more2 680
Subscribers
No data24 hours
-37 days
-2230 days
Posts Archive
2 680
Я пытаюсь объяснить геймдизайну, почему нам сложно добавить лук в шутер за один день.
P.S. Я просто обожаю эту картинку, и она мне снова на глаза попалась :)
#мем
2 680
Про тестирование в геймдеве
У меня тут с утра возникло обсуждение с другом бекендером собственно про тесты. Энтерпрайс бекенд в целом всё старается покрыть тестами и это нормально. Там другие сроки разработки, другие масштабы проектов, банально другое число абстракций и интеграций. В геймдеве же тесты не так распространены. И вопрос нужны ли тесты в геймдеве?
До этого хочется написать, а зачем вообще нужно покрытие тестами? Одна из основных задач тестов "контроль работоспособности абстракций". В любом коде так или иначе возникает некоторый набор абстракций. Возьмём простой пример (писать так точно не надо) У нас идёт игра Moba. У нас есть понятие Ability. От него идут Fire Ball Ability, Frost Bolt Ability и так далее. И в базовом классе описан метод Launch, который проверяет количество маны персонажа и делает всякие другие проверки. Для запуска нужен таргет. Мы создаём тест, в котором у нас должен умирать противник с такими-то характеристиками по настройкам баланса. То есть пускаем мок скилл в мок таргет. И так со всеми скиллами. Результат теста — все таргеты всегда мертвы. И при заданных характеристиках скилл вообще запущен.
Такой тест позволит отслеживать что "скиллы не сломались за счёт изменений" той же базовой реализации метода Launch в 100 скиллах. Классно, удобно и так далее. Но вот вопрос. А сколько таких мест в средней игре, что у нас есть какая-то абстракция на реализацию которой опирается 100 конкретных реализаций. Игры в разы конкретнее и несут (да и должны нести) в разы меньше сложных абстракций нежели возникает в серверной разработке. То есть потребность в тестировании сильно зависит от игры. Можно подобрать примеры типа WoW (хотя там опять таки больше бекенд чем клиентские разрабы обложатся тестами).
Поэтому любопытно, а как вы считаете насколько необходимо автотестирование в играх? Именно в клиентской части. Ток не на уровне "религии" — оно надо, потому что мне так сказали. А какие проблемы оно решает, чем полезно, чем удобно, чтобы как же тот же Test Driven Development стоил того, чтобы с ним морочиться.
#мысли
2 680
Красивый пак моделей в стиле древнего Рима
https://80.lv/articles/roman-temple-ruins-asset-pack-for-unity/
На этой неделе настолько ничего не происходит, что последую примеру lvl80 и опубликую новость о том, что вышел пак моделей. Не, пак конечно красивый, но неделя до удивительного скучная в плане каких-то инфоповодов. Юнити пишет про ревардед видео и ещё что-то на мой взгляд неинтересное в своём блоге. Вышедшие видео на ютуб в большинстве своём какие-то странные. В общем под кофеёк с утра даже почитать нечего (да, у меня только сейчас началось утро при том, что я в мск) :)
#новости
2 680
Я не люблю программирование
Знаете — пора признаться. Я не особый фанат программирования. Внезапно, не правда ли в блоге по сути на 90% посвящённому программированию? Стоит наверное уточнить в каком смысле. Где-то в 26, когда я ещё читал мануалы процессоров, изучал ассемблер и низкий уровень, ковырялся в IL который генерит шарп. В общем изучал глубокую базу и т.п. — мне это надоело. Сейчас мне не особо интересно такое понятие как — идеальный код. Я понял, что я люблю в первую очередь решать задачи бизнеса.
Конечно как разраб влезть в какой-нить бесполезный холивар на 4 часа обсуждения — это святое. Но я не люблю поиски идеальных решений, идеального кода и так далее. Я привык решать задачи "достаточно хорошим решением". Я замечал что многие любят преждевременные оптимизации, углубляться на тему того, что вот тут то можно было бы написать лучше и удобнее. И так далее. Мне это как-то стало в определённый момент неинтересно. Решение прикладных задач в контексте бизнес требований достаточными инструментами — это быстрее и эффективнее.
При этом не надо путать. Достаточно хорошее решение != плохое решение или первое попавшееся. Это решение подходящее в контексте задачи. Я считаю, что самый важный вопрос который нужно научиться задавать ко всему в жизни "зачем". Понимая зачем что-то делается можно определить достаточность и необходимость того или иного решения.
В общем мне интереснее делать игры, делать проекты, делать визуализации данных и прочее, чем искать тот самый one piece идеальный код. Но это не значит что мой подход и моё мнение "правильное". Это просто один из подходов к работе и к разработке в целом. Как говорится "Данные мысли не являются инвестиционной рекомендацией".
#мысли
2 680
Подборка интересных каналов
Посоветую несколько полезных каналов, в основном для тестировщиков. Наверняка кому-то пригодится. Каналы авторские и интересные.
@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, проводим развлекательно-обучающие квизы и многое другое.
#интересное
2 680
Про антиалиасинг
https://habr.com/ru/articles/343876/
Перед тем как писать статью на какую-то тему лучше поискать, а вдруг кто-то уже написал чёт хорошее. По тем же текселам многие статьи мне показались правильными, но абсолютно не понятными без большого опыта в рендере. А вот тут отличная статья и всё в ней хорошо. Рекомендую к прочтению, если ещё не читали.
#интересное
2 680
Сканирование пространства
https://www.youtube.com/watch?v=9DshpqhKDz0
Эффект сканирования пространства в Unity Shader Graph.
#новости
2 680
Оптимизация симуляции жидкости
https://www.youtube.com/watch?v=9M72KrGhYuE
Вторая часть видео про симуляцию жидкости. Если кому-то была интересна первая, то вторую тоже стоит посмотреть, чтобы понимать принципы таких оптимизаций.
#новости
2 680
ПРАКТИКON
https://t.me/justGameDesign/465
Коллеги по цеху делают марафон по созданию игр в жанре платформер. Там вы сможете:
• Узнать ключевые особенности платформера и историю жанра
• Научиться основам работы в игровых движках
• Опубликовать проект на itch.io
• Получить поддержку от экспертов и комьюнити
• Добавить готовый проект в своё портфолио
• Набрать баллы и потратить их на классный мерч и книги!
Зарегистрироваться можно тут.
А почитать подробнее в этом посте.
#новости
2 680
Антиалисинг шаг в Shader Graph
https://www.youtube.com/watch?v=YYHl2ebt_oE
Алиасинг или знаменитая лесенка, которая всех бесит. В целом есть много способов борьбы с алиасингом. И вот один из них. За одну минуту быстро и довольно понятно. Вообще если стоит разобрать что такое алиасинг, какой он бывает и какие методы борьбы с ним существуют ставьте ❤️🔥. Так как это не только лесенка в спрайтах, а как на примере стилизации выше в тенях. Так же есть огромная проблема под названием Specular Aliasing и прочее, которое играет большую роль в VR играх.
Выше пример красивый, но да пока это только демка, так как рябь на потолке, лесенка в тенях, правильная отрисовка тонких контуров на отдалении — это всё решаемые проблемы. И если в такой стилистике оно ещё и рябить перестанет, то это будет просто пушка.
#интересное
2 680
Хоррор в стиле манги
https://80.lv/articles/a-work-in-progress-horror-game-with-manga-like-art-style/
Классная стилистика в игре, а в статье ещё lvl80 подобрали туториалы, чтобы такой стилистики добиться. В целом подобные стилизации шейдерами всегда выглядят довольно залипательно.
#новости
2 680
ИИ в Sims
https://youtu.be/9gf2MT-IOsg
Разбор принципа работы ИИ в Sims. По сути это GOAP. Видео классное, и думаю будет полезно и для тех кто мало проектировал ИИ, и для тех кто этим уже занимался, как отличный пример принципа работы хорошего ИИ.
#интересное
2 680
Интересные патрули в игре и цепи Маркова
https://leanrada.com/notes/dynamic-patrol-stealth-games/
Любопытная статья про использование цепей маркова для создания динамических патрулей. В целом цепи маркова и нужны для моделирования случайных событий. Так что если патрули в игре должны быть интересные и не такие предсказуемые описанный способ неплохо для этого подходит.
#интересное
2 680
Учимся игровой разработке
https://github.com/notpresident35/awesome-learn-gamedev
Большой список обучающих материалов в сфере геймдева. Практически по любой специальности. Такое нам надо.
#интересное
2 680
Сделано в Unity — Июнь
https://blog.unity.com/news/made-with-unity-monthly-june-2023-roundup
Люблю эти посты в блоге Unity. Всегда интересно посмотреть, что другие делают с Unity.
#новости
2 680
Пятничная сказка
Жили-были корпорации. И в корпорациях были менеджеры. И менеджеры в корпорациях думали что они умеют считать. Подрядчик принёс им смету где стоимость разработки дизайна экранов + моушен дизайна стоило 120к рублей со сроками в 2 недели (80 часов). И они подумали, что у нас же есть дизайнер Вася получающий 100к рублей, то есть в неделю он получает 25к рублей. То есть они дизайн лучше сделают сами.
Ах если бы они умели считать, то тогда понимали бы, что реальная ставка этого Васи где-то 5к рублей в час. Так как ему оплачивается офис, рабочее место, отпуск, печеньки, мед страховка, спортзал, налоги и многое другое. То есть Васина работа даже по базовой оценке за 80 часов работы стоит 400к рублей. И при этом его нельзя заставить работать по выходным, внеурочно, соблюдать жёсткие сроки и в целом делать всё то, что делают аутсорс команды.
Но при этом менеджеры показали как они сэкономили бюджет на проект, выделили себе в связи с этим премии и жили счастливо.
P.S. Иногда я просто хочу пойти на работу и нести такой же уровень ответственности.
#мысли
2 680
Радужный кристалл с реймаршингом и SDF
https://varun.ca/ray-march-sdf/
Это конечно не про Unity, но мне очень понравилось оформление статьи. Плюс важно помнить, что шейдеры они и в африке шейдеры. Чуть может меняться синтаксис и доступные инструкции + оформления инпута и аутпута. Но суть и логика одинакова и на чистом GLSL и в шейдерлабе. Шейдерлаб это просто упрощение с компиляцией под разные платформы по сути. Но шейдеры даже чисто для js полезно разбирать и изучать используемые в них подходы. А в данной статье ещё и разбирается физика процесса с иллюстрациями и пошаговая интерактивная инструкция. В общем кайф.
#новости
2 680
Взвешенная вероятность
https://gist.github.com/Nox7atra/3611b5dc0ccd45906010987b694bd43a
Простенький пример реализации взвешенной вероятности. Вдруг кому пригодится. По работе понадобилось сейчас набросать, а это очень полезная техника для многих игр. Generic реализация позволяет так конфигами контроллировать что это будет с разной вероятностью выпадать лут или что-то ещё. В общем сохраните себе, если вдруг не знали как такое пишется.
#сниппет
2 680
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 вышли из превью.
#новости
2 680
Урок по Dissolve шейдерам в URP
https://www.youtube.com/watch?v=QNtexvXRMD0
Каждый кто начинает писать шейдеры первым пишет Dissolve. Ну или почти первым. В общем неплохой урок который в простой форме рассказывает про шейдерграф и про то, как написать эффект растворения. Я когда-то выкладывал в на гитхаб каустику, если брать ещё классические полезные эффекты. Вдруг тоже кому пригодится.
#новости
