Как стать автором
Обновить

Компания Pixonic временно не ведёт блог на Хабре

Сначала показывать

Пересаживаем высоконагруженный игровой проект с Photon на кастомные решения

Время на прочтение5 мин
Количество просмотров5.6K


Photon — это целый ворох решений для создания многопользовательских игр. Они позволяют тратить меньше времени на разработку типичных вещей вроде матчмейкинга и балансировки и сосредоточиться на геймплее.

Но, как это часто бывает, с развитием продукта универсальные решения требуют обработки напильником. А ведь War Robots существует уже почти восемь лет — инфраструктура серверов за это время менялась неоднократно по мере масштабирования проекта, который сейчас уже перешагнул через порог 200 млн установок.

В нашем случае такая обработка вылилась в собственные реализации тех или иных компонентов. Матчмейкинг и социальные фичи перекочевали в отдельные сервисы, новые игровые механики реализовывались на сервере для лучшей согласованности. В итоге от Photon остался транспорт, прослойка PUN на стороне клиента и некоторые сопутствующие расходы в виде лицензии, привязки к Windows и .Net Framework и чрезмерных аллокаций на клиенте.

Стало понятно, что затраты на фреймворк превышают его ценность, и надо тiкать.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии3

2022 год для мобильного геймдева (и не только): чего ждать и к чему готовиться

Время на прочтение6 мин
Количество просмотров20K

2021 год подходит к концу. И сегодня хочется о том, какой фундамент он заложил на год грядущий в разрезе разработки мобильных игр и геймдева в целом — какие тенденции начали прослеживаться уже сейчас, которые наверняка возымеют долгоиграющий эффект на происходящее в индустрии.

О дефиците железа, IDFA и 5G, влиянии пандемии и статистике в цифрах — обо всем этом подробнее под катом.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Укрощение батчинга за счет оптимизации масок UI

Время на прочтение8 мин
Количество просмотров5.8K

Часто мы сталкиваемся с задачей оптимизации интерфейсов, и приходится отлаживать то, что давно работает, но периодически усложняется. На таких экранах проблемы могут нарастать как снежный ком — до тех пор, пока не станут заметны невооруженным глазом. И когда придет время улучшить производительность, придется выбирать: либо переделывать все заново и сразу хорошо, либо решать проблемы по очереди.

В какой-то момент мы в War Robots столкнулись с необходимостью оптимизировать экран акций: обнаружилось, что для отрисовки этого экрана Unity совершала более 300 батчей. Для сравнения: куда более сложный экран ангара, содержащий 3D-сцену, 3D- и 2D-интерфейсы, эффекты и анимации, рисовался примерно за 100 батчей.

В этой статье я расскажу о том, как нам удалось починить динамический батчинг, упростить иерархию и поднять FPS в интерфейсе.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии2

Слон в посудной лавке, или как сохранить сроки производства в эпоху перемен

Время на прочтение10 мин
Количество просмотров3.2K

В геймдеве только и разговоров, что о ремастерах. Уже на протяжении долгого времени мы рассказываем о том, как они создаются, на примере своего опыта с War Robots: о разных аспектах от препродакшна до внешних тестов и нового пайплайна разработки карт. Логично предположить, что изменение в стеке технологий требует совершенствования и внутренних процессов. 

Именно на тему организации рабочего процесса внутри команды я и хочу сегодня поговорить: о том, как мы меняли подход к процессам на стыке начала работ над ремастером и уходом на удаленку. И поскольку я сам являюсь 3D-художником окружения, то и речь пойдет преимущественно о том, что происходило в это время с левел-дизайном в нашей компании.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Метод проб и ошибок: как мы создавали кастомный импортер в Unity3D для текстурных массивов

Время на прочтение10 мин
Количество просмотров4.6K

Основной контент в играх — это почти всегда текстуры, поэтому нужно особенно внимательно следить за ними в целом, их размерами и сжатием. 

Раньше на проекте  War Robots у нас был устоявшийся и вполне рабочий пайплайн по импорту текстурных массивов, на выходе которого мы получали массивы в конечном формате (ASTC, ETC2), отлично удовлетворяющие нашим требованиям для мобильных платформ. С этим все у нас было хорошо — до поры. Проблемы начались тогда, когда возникла необходимость релиза на ПК. 

В этой статье мы поговорим о проблемах, с которыми мы столкнулись и какие нам пришлось преодолеть: о проблеме специфической поддержки текстурных массивов Unity и о проблеме разных форматов под разные платформы. Наконец, расскажем о работе ScriptedImporter, который помог нам решить обе: как делать нельзя и как нужно.

Читать далее
Всего голосов 24: ↑23 и ↓1+22
Комментарии2

Релизы без выгорания и овертаймов: как мы меняли процессы работы над крупными игровыми фичами

Время на прочтение7 мин
Количество просмотров7.3K

Выстраивание производственных процессов — распространенная боль в IT-разработке. Это большая и комплексная задача, с которой неизбежно приходится сталкиваться на проектах, чтобы доставить фичу в срок. Однозначного и единственно правильного решения здесь нет. Зато есть множество маркеров: кранчи, выгорание, фичекат, — указывающих на то, что что-то вы все-таки делаете не так.

Изменение воркфлоу — процесс, способный растянуться не на один год, и, конечно, не обойдется без собственных набитых шишек. Ниже я расскажу об опыте команды War Robots: с чего мы когда-то начинали и каких результатов добились сейчас. И, поверьте, для нас это того стоило.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии15

Декомпозиция света: как работает освещение в играх

Время на прочтение7 мин
Количество просмотров13K

Освещение в играх напрямую влияет на наше восприятие происходящего на экране — и даже может являться основой геймплея. Как и в реальном мире, это понятие комплексное, едва ли реализуемое при помощи одного метода. 

Пожалуй, ближе всего к этому смогла приблизиться трассировка лучей — простая по своей концепции, но требовательная к вычислительным ресурсам системы. И та получила свое развитие в игровой индустрии сравнительно недавно, с началом эпохи RTX. А ведь геймдев развивается гораздо дольше — и к сегодняшнему дню разработан уже не один метод симуляции распространения света в игровой сцене.

О методах реализации глобального освещения в играх (которые мы, кстати, используем и в своих проектах) и о том, что это вообще такое — далее в статье.

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии10

Обучение на частного пилота в России. Личный опыт

Время на прочтение18 мин
Количество просмотров107K

На Хабре уже было несколько статей про то, как люди нашли свой путь в небо через частную малую авиацию, а точнее — авиацию общего назначения (АОН). Обучались авторы тех статей чаще всего за рубежом. Информации из первых рук о том, как стать частным пилотом в России, сравнительно мало, и большая ее часть уже успела устареть.

В этой статье я постараюсь в общих чертах, по верхам, но от начала до конца и с опорой на собственный опыт пройтись по всему процессу обучения на частного пилота в РФ. Статья в первую очередь будет полезна тем, кто потенциально интересуется авиацией, но не знает, с чего начать свой путь в небо, и слабо представляет, через что ему предстоит пройти на пути к заветной лицензии. А пройти есть ради чего.

Читать далее
Всего голосов 127: ↑126 и ↓1+125
Комментарии150

Кровавое легаси: как в одиночку раздробить монолитный сервис и не сойти с ума

Время на прочтение9 мин
Количество просмотров8.5K

Было раннее утро понедельника. Я проснулся раньше времени из-за грохота грома за окном. Подойдя к окну, я увидел, как по небу плыли свинцовые тучи, безжалостно заливая дождем все вокруг. Казалось, что еще чуть-чуть — и наступит второй всемирный потоп. Как будто Вселенная всеми способами пыталась мне намекнуть, что надвигается что-то ужасное, но я даже не представлял, что меня ждет.

Натянув на себя черный плащ, я отправился на работу, прорываясь через ветер и дождь, словно через поле боя. Казалось, что весь мир был против меня. И вот я стоял перед восьмиэтажным, потрепанным жизнью зданием, увешанным ржавыми кондиционерами, словно бородавками. Там находился офис конторы, где я работал.

Лифта рано утром, как всегда, было не дождаться, и я отправился на четвертый этаж по лестнице, любуясь местными красотами и оставляя за собой мокрый шлейф на полу. Я оказался в офисе первым и чувствовал себя королем мира. Сделав себе чай и расположившись в кресле, я принялся доделывать очередную фичу. Казалось, что настали покой и умиротворение.

Команда постепенно стала подтягиваться в офис, и в 10 часов начался ежедневный митап, где мы обменивались статусом о том, что сделали вчера и чем будем заниматься сегодня. После наших отчетов настала пора говорить руководителю, и за окном вдруг отчетливо послышалась стройка, звуки которой пробивались в офис даже сквозь стеклопакеты. Создавалось ощущение, будто дятел сидел у тебя на плече и пытался пробить череп до самого мозга.

В воздухе чувствовалось нарастающее напряжение. Руководитель заговорил, и я почувствовал себя, словно на гильотине. 

Произошло действительно страшное: мне предстояло путешествие по удивительному миру legacy-кода в старом корпоративном сервисе.

Читать далее
Всего голосов 33: ↑28 и ↓5+23
Комментарии12

Тестовое задание — крышка гроба или ступенька вверх по карьерной лестнице?

Время на прочтение13 мин
Количество просмотров17K

Привет! Меня зовут Евгений Судак, и я два с половиной года руководил отделом геймдизайна в Pixonic. Сегодня я хотел бы поговорить о тестовых заданиях.

Каждый, кто искал работу в игровой индустрии и не только, так или иначе сталкивался с тестовыми заданиями. Разнообразие их не перестает поражать воображение. Короткие, длинные, общие или специфические. Все они объединены общим знаменателем: это тот момент, где соискателю предлагается продемонстрировать навыки и знания в безопасной тестовой среде. 

В этой статье я разберу ТЗ для геймдизайнеров, которое я создал почти два года назад. Но кроме этого хотел бы поговорить о ситуации с тестовыми заданиями при трудоустройстве в целом.

Начнем?
Всего голосов 31: ↑30 и ↓1+29
Комментарии36

Apple Keynote 2021: четыре iPhone 13, клавиатура в Apple Watch и другие анонсы

Время на прочтение3 мин
Количество просмотров12K

14 сентября Apple провела традиционную сентябрьскую конференцию, на которой анонсировала обновления своих флагманских продуктов. Новые iPhone, редизайн iPad mini и Apple Watch — что еще нового? В основном — эволюционные, а не революционные улучшения, но обо всем по порядку.

Читать далее
Всего голосов 27: ↑23 и ↓4+19
Комментарии33

Unity — самый популярный игровой движок? Обзор движков, на которых делают игры для Steam

Время на прочтение7 мин
Количество просмотров22K

Какие движки наиболее популярны в 2021 году — да и вообще в последнее десятилетие? Очевидно, по всем параметрам лидирует Unity. Unreal, в свою очередь, — пожалуй, наиболее очевидный выбор для AAA. О таких выводах догадаться несложно, даже не имея на руках никаких численных данных. Но что, если все-таки попытаться их собрать?

Сайт gamedatacrunch.com максимально приблизился к реализации этой задачи, и его основатель Ларс Дусе на днях выкатил анализ движков paid-игр в Steam, выпущенных с 2010 года. В этой статье по нему мы тоже пройдемся, но и вспомним о том, какие еще движки сейчас в обиходе (и не только в Steam).

Читать далее
Всего голосов 30: ↑29 и ↓1+28
Комментарии27

Как работает трассировка лучей в Quake II

Время на прочтение10 мин
Количество просмотров12K

Когда-то Кристоф Шид разработал проект Q2VKPT — мод для Quake II с поддержкой рейтрейсинга и в то же время унифицированное решение для симуляции и фильтрации всех типов переноса света для лучшего изучения того, что уже возможно, а что еще предстоит сделать в разрезе трассировки лучей в игровой графике.

Появление графических процессоров с возможностями трассировки лучей открывает новые возможности в этой области, но все еще не делает действительно хорошую трассировку лучей тривиальной задачей, ведь сама по себе технология не является панацеей и не дает реалистичных изображений автоматически. Для этого используются такие алгоритмы, как трассировка путей, реалистично моделирующие траектории, по которым свет распространяется и рассеивается в сцене. Однако такая наивная трассировка оказывается крайне дорогой и требует длительных расчетов для получения стабильных изображений.

Поэтому Q2VKPT имеет множество вариаций, в которых мы вкратце и разберемся.

Читать далее
Всего голосов 24: ↑23 и ↓1+22
Комментарии2

У меня нет руки, но я играю в шутеры и action/RPG

Время на прочтение6 мин
Количество просмотров10K

Привет! Меня зовут Андрей Квасов, и я работаю заместителем технического директора по административным вопросам в Pixonic. 

Я всегда был заядлым геймером, но пару лет назад попал в аварию и первое время после этого думал, что моя геймерская жизнь на этом закончилась: в лучшем случае осталось играть в стратегии, но никак не в Destiny 2 и soulslike-игры. Но технологии развиваются, так что вскоре я обнаружил, что найти подходящее мне устройство для гейминга — не такая уж и большая проблема. 

Сейчас на рынке хватает девайсов, которые дают полноценный игровой опыт даже людям, которые не могут играть, как большинство. Ведь если у тебя есть две руки, ты и так спокойно можешь играть, специальные девайсы тебе не нужны. Но если ты получил серьезную травму, то надо что-то придумывать, искать, и не всегда это получается делать успешно.

В этой статье я составил подборку именно таких устройств. Отмечу, что этот список не охватывает всех проблемных зон и подойдет, например, людям, имеющим проблемы, схожие с моими: отсутствие левой руки и большого пальца на правой. Что-то из этого я уже успел опробовать сам и активно использую в жизни, что-то — приглядел себе на будущее.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии13

Альтернативы CDN: наша система доставки контента напрямую из стора в игру

Время на прочтение13 мин
Количество просмотров4.6K

War Robots всегда была игрой, насыщенной контентом, а потому места в памяти девайсов занимала немало. Раньше эти цифры колебались в районе 800 МБ, но масштабная переработка графики в ремастере игры, как бы ни хотелось, не смогла бы оставаться в тех же пределах и наверняка бы привела к увеличению размера приложения в несколько раз. Что и случилось в нашем случае: вес клиента достиг 2,3 ГБ — в три раза больше «ванильной» версии. В то же время мы понимали, что HD-пресет потянет далеко не каждый мобильный телефон, а значит — нет смысла заставлять игроков качать ненужные гигабайты и тем самым ломать себе воронку конверсий.

Выход? Базовое качество скачивать по умолчанию и выбирать при первом запуске, а HD-пресет предлагать пользователю позже — и только если устройство его поддерживает. 

Все это подстегнуло нас на активное внедрение такой технологии в нашу игру.

Читать далее
Всего голосов 19: ↑17 и ↓2+15
Комментарии4

Как за неделю до релиза переобуться и сократить размер билда в 3 раза

Время на прочтение8 мин
Количество просмотров6.3K

Современные AAA-тайтлы уже давно стали весить больше 100 ГБ, а их апдейт еще на 20 ГБ считается обычным делом. Тот же тренд разрастания билда постепенно просачивается в мидкорные и хардкорные мобильные игры. Впрочем, к тому, что уже не удивляет ПК- и консольных юзеров, мобильные геймеры все еще довольно чувствительны.

Размер игры на релизе может оказаться гораздо больше необходимого, такое бывает. И даже тогда, когда кажется, что в билде осталось все только нужное, всегда найдется то, что можно оптимизировать и сократить. 

Читать далее
Всего голосов 34: ↑33 и ↓1+32
Комментарии5

Проблемы скорости сборки, или что делать, если время сборки игрового билда увеличивается в 10 раз

Время на прочтение8 мин
Количество просмотров5K

Разработка игр с многотысячной пользовательской базой и постоянно накатывающимися обновлениями — комплексный процесс. Он включает в себя не только работу над новым контентом и фичами, но и оптимизацию процессов, чтобы все происходило гладко, и разработчики, аналитики, QA-инженеры постоянно получали новые билды. 

DevOps — это и есть набор методов, благодаря которым можно сократить время разработки и ускорить выпуск обновлений. А CI/CD, или непрерывная интеграция и доставка — это не сколько технология, сколько целая культура, позволяющая чаще и надежнее производить небольшие изменения в игре с частыми коммитами, доставлять модули проекта в разные отделы и автоматизировать их тестирование. Все это представляет собой целый пласт работ — эдакий невидимый игрокам фронт.

Изначально, до старта работ над War Robots Remastered, у нас уже был выстроенный пайплайн CI/CD для всех проектов, и оригинальная War Robots не была исключением. Сам проект тогда в среднем собирался 40-100 минут. Но чем дальше продвигалась работа над ремастером, чем больше накапливалось проблем со скоростью сборок. Спустя полгода проект стал собираться от 3-х часов и больше с периодическими зависаниями, которые могли доходить до 7-10 часов. Это становилось совсем неприемлемым: QA в динамике не могли проверять билды, разработчикам тоже приходилось тратить время на ожидание, чтобы посмотреть результат или начать профилировать. Пришлось серьезно подумать над тем, как все это чинить и возвращать время сборок к исходному значению.

Читать далее
Всего голосов 22: ↑21 и ↓1+20
Комментарии6

Что, если не Intel и не AMD? Альтернативные архитектуры центральных процессоров

Время на прочтение8 мин
Количество просмотров44K

Когда речь заходит о процессорах, какие марки вам сразу приходят на ум? Конечно, в первую очередь Intel и вновь набирающая популярность AMD. В разрезе потребительских ЦП борьба обычно происходит именно между ними, хотя и ARM-чипы в последнее время пытаются не отставать. Но это вовсе не значит, ими пространство ЦП и ограничивается.

От высокопроизводительных ARM для ПК до специализированных правительственных чипов — в мире существует еще множество производителей ЦП, о которых обычно мы редко слышим. Кто они? Какими характеристиками обладают их процессоры? Для чего предназначены? Сейчас и разберемся.

Читать далее
Всего голосов 86: ↑85 и ↓1+84
Комментарии63

Декомпозируем игровую графику: технологии под капотом современных игр

Время на прочтение19 мин
Количество просмотров8.6K

С момента релиза War Robots прошло уже более 7 лет. В 2014 году мобильный игровой рынок был гораздо скромнее, чем сейчас, а девайсов, которые могли без проблем тянуть трехмерную игровую графику, — и того меньше. Несмотря на то, что уже случилась шейдерная «революция», и на замену графического конвейера с фиксированным функционалом (fixed-function pipeline) пришли вершинные и фрагментные шейдеры, возможностей для создания качественной картинки уровня настольного компьютера было явно недостаточно.

На старте разработки оригинальной игры фактически единственным среди графических API на мобильных платформах (Android, iOS) был OpenGL ES 2.0. Результат его эволюционного развития, OpenGL ES 3.0, был только-только утвержден, и на рынке даже не было устройств, которые бы его поддерживали. Таким образом, графика в Walking War Robots была основана на технологиях и возможностях, предоставляемых именно OpenGL ES 2.0. 

У War Robots тех времен был вполне себе типичный графический стек, поддерживающий один направленный источник света и способный рассчитать от него затенение с учетом весьма простой системы материалов. Со временем графика в игре улучшалась и совершенствовалась, но довольно быстро ее развитие стало упираться ограничения OpenGL ES 2.0. Наступил момент, когда потенциал эволюционного развития был достигнут, и без комплексного революционного подхода рывок в графике уже не представлялся возможным. В тот момент мы и приняли решение, что игре нужен ремастер.

Читать далее
Всего голосов 26: ↑25 и ↓1+24
Комментарии14

18-летний ЭЛТ-монитор — лучший для PlayStation 5 и Xbox Series X? Сравниваем с современными OLED

Время на прочтение4 мин
Количество просмотров28K

Когда-то ЭЛТ-мониторы были на пике популярности. Но некоторые из них могут  конкурировать с современными OLED-экранами до сих пор — а где-то по качеству изображения их даже превзойти. 

Sony GDM-FW900 — монитор уже, считай, культовый. Это один из лучших ЭЛТ в мире: люди до сих пор готовы отдавать за него огромные деньги.

Что делает его таким особенным? Sony максимально эффективно использует технологию Trinitron с 24-дюймовым экраном с соотношением сторон 16:10, который может обрабатывать разрешение до 2560x1600 при частоте кадров 60 Гц. Кроме того, их можно варьировать: уменьшая разрешение, тем самым увеличивать частоту, и наоборот.

Минусы? По современным меркам, 24 дюйма — это очень мало. А FW900, к тому же, — здоровенный монстр весом 42 кг, которого не так-то просто передвинуть.

Заметим, что пусть далее речь пойдет преимущественно о FW900, в той или иной степени те же выводы и рассуждения можно перенести на любой другой ЭЛТ-монитор — они просто могут не поддерживать те же частоты смены кадров или разрешения, что и он, но суть останется той же.

Читать далее
Всего голосов 31: ↑25 и ↓6+19
Комментарии82
Изменить настройки темы