Привет, Хабр! В блоге MY.GAMES мы объединяем экспертизу более десятка игровых студий, входящих в компанию, и рассказываем о внутренней кухне нашей экосистемы. В ноябре блогу исполнился год, и мы решили вспомнить 10 собственных статей, которые вызвали наибольший интерес у сообщества Хабра.
Unity «Best» Practices
Старший программист в студии IT Territory Макар Осокин, основываясь на собственном опыте, собрал советы для комфортной работы с игровым движком Unity. В своей статье он рассказал:
что такое AssetPostprocessor;
чем Animation отличается от Animator;
почему не стоит доверять OnTriggerExit;
зачем нужен CanvasGroup;
чем хорош GameObject.Find;
чем полезны Property.
Этот текст будет особенно интересен новичкам, которые уже познакомились с движком, но еще не знают о подводных камнях.
Какие технологии, процессы и решения мы используем при разработке на Unreal Engine 4 — опыт Allods Team
Team Lead в Allods Team Виктор Щепкин рассказал об особенностях работы с Unreal Engine, а также подробно описал, какие решения и процессы его команда использует при разработке проектов:
как они применяют Unreal Engine Modules и Plugins;
про cross-sharing технических решений;
про стандартизацию и валидацию данных;
и многое другое.
Из этого материала можно почерпнуть знания о том, как команде оптимизировать совместные процессы и упростить обмен наработками.
QA без рутины: как мы автоматизировали регрессионное тестирование
Тестировщик из студии Nord Александр Мастюгин рассказал, как команда решила минимизировать рутину в своем рабочем процессе при помощи автоматизации самого скучного и однообразного этапа — регрессионного тестирования.
Этот материал можно использовать в качестве легкого туториала для создания подобной автоматизированной системы в своей команде.
Как протащить верблюда сквозь игольное ушко, или обновление компилятора С++ на проекте старше 10 лет
Разработчик клиентской части проекта Allods Online Колосов Денис из студии IT Territory в своем тексте подробно рассказал, как его команда решились обновить среду разработки и компилятор с Visual C++ 2010 на 2019.
Денис перечислил причины такого шага, описал процесс сборке вендерских библиотек и окружения, а также поделился кастомными проблемами, с которыми столкнулась команда.
Случайные блуждания и цепи Маркова в гейм-дизайне
Гейм-дизайнер из Whalekit Лев Кобелев в своей статье поспорил с убеждением, что гейм-дизайнерам не требуется знание высшей математики и достаточно школьной программы. Он описал несколько задач, в решении которых пригодятся знания цепей Маркова и случайных блужданий.
На этих примерах можно понять, в каких ситуациях можно использовать эти математические подходы, и как гейм-дизайнерам применять их в своей работе.
Как мы удерживали нагрузку десятков тысяч подключений для Warface
Старший программист в Allods Team Алексей Капустин подробно описал, как устроена серверная архитектура Warface:
как она организована изнутри;
как команда пришла к кроссплатформенному мультиплееру;
как обстоят дела с метагеймом в игре;
как все это масштабируется.
Если вас интересует серверная составляющая Warface, то из этого материала можно узнать, как во время игровой сессии сервер связывается с клиентом, какое время отклика считается нормальным для шутера, и как вообще работает матч-мейкинг.
Что такое ECS и с чем его компилят
Андрей Боронников из команды экспериментальных проектов студии IT Territory в своей статье рассказал о подходе Entity Component System. Он рассказал, куда в целом движется Unity и зачем там Data Orientation System.
Но особое внимание Андрей уделил описанию принципа работы ECS — зачем он нужен и кто его использует. Также он на практических примерах показал наиболее популярные реализации ECS в играх.
Stevedore — открытая, бесплатная и быстрая альтернатива Docker Desktop
Ведущий программист в Allods Team Марат Радченко поделился историей того, как долго мучился с Docker-контейнерами под Windows, которые медленно запускаются, ломаются после каждого обновления и работают только при помощи сторонних инструментов. В итоге автору все это надоело, и он решил написать собственное решение, которое позволяет упростить работу с контейнерами.
В своей статье Марат рассказал, как пришел к этому, с чем именно ему надоело мириться, и как он решил основную часть проблем. Если вы тоже устали от взаимодействия с Docker-контейнерами, то в этой статье сможете найти решение своих проблем.
Как вести дизайн-документацию, чтобы ваша команда понимала, что она делает
Основную часть рабочего времени гейм-дизайнер не придумывает игры, а ведет документацию своего проекта. Это нужно для коммуникации с командой и создания коллективной памяти.
Гейм-дизайнер студии Whalekit Мария Аксютина подробно рассказала, как вести гейм-дизайн документацию, чтобы она была наглядной, понятной и полезной для остальной команды.
Если вы начинающей гейм-дизайнер и только вникаете в совместную работу с другими специалистами, то сможете почерпнуть из этого материала немало полезного.
Как мы выбирали корпоративный мессенджер и почему остановились на Discord
Team Lead в Allods Team Виктор Щепкин рассказал, как его команда искала рабочий мессенджер и в итоге остановилась на Discord. При этом он подробно описал, как устроен сервер, какие функции оказались наиболее полезными для совместной работы и какими ботами пользуется команда.
В будущем мы не собираемся сбавлять обороты и продолжим публиковать тексты для разработчиков игр. Мы ценим ваши отклики и рады делиться собственным опытом и экспертизой. Спасибо, что читаете!