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

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

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

Физика для мобильного PvP шутера и как мы подружили её с ECS

Время на прочтение26 мин
Количество просмотров10K
Всем привет! В этой статье мы расскажем про личный опыт работы с физическими движками для мультиплеерного шутера и главным образом сфокусируемся на взаимодействии физики и ECS: на какие грабли мы наступили в процессе работы, чему научились, почему остановились на конкретных решениях.


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

Горячие клавиши Unreal Engine, которые сделают жизнь левел-дизайнера проще

Время на прочтение6 мин
Количество просмотров62K
Горячие клавиши используют все. Банальные Ctrl+C и Ctrl+V, а сколько раз выручал Ctrl+Z? Ну а Alt+F4? А если вспомнить количество негативных отзывов, когда в новых MacBook Pro добавили тачбар и вырезали ряд командных клавиш?

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


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

Как и почему мы написали свой ECS

Время на прочтение13 мин
Количество просмотров37K
В прошлой статье я описал технологии и подходы, которые мы используем при разработке нового мобильного fast paced шутера. Т.к. это была обзорная и даже поверхностная статья — сегодня я копну глубже и подробно расскажу, почему мы решили написать собственный ECS-фреймворк и не стали использовать существующие. Будут примеры кода и небольшой бонус в конце.

Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии48

Как мы развивали бэкенд War Robots, в процессе заDDoSив самих себя — и чему научились после этого

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

Привет! Меня зовут Андрей Михеев, я занимаюсь развитием бэкенда War Robots (это мобильный PvP-шутер, в котором с помощью больших роботов можно выяснить, кто круче). Игре уже почти 9 лет, и за это время мы повидали всякого.

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

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

Расширяем возможности UObject в Unreal Engine 4

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

Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами.

Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, такими как классы UObject, но их функциональность изначально урезана, что может создать сильные рамки. В этой статье я расскажу о том, как активировать различные функции в базовом классе UObject в Unreal Engine 4.



На самом деле, статью я написал скорее как справочник. Большую часть информации крайне сложно найти в документации или сообществе, а тут можно быстро открыть ссылку и скопировать нужный код. Решил заодно поделиться и с вами! Статья ориентирована на тех, кто уже немного знаком с UE4. Будет рассмотрен С++ код, хотя знать его не обязательно. Можете просто следовать инструкциям, если вам нужно то, о чем пойдет речь. Более того, не обязательно копировать все, вы можете вставить код из раздела с нужными свойствами и он должен работать.

Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии7

Минус уши или как не испортить звук в игре с самого начала

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


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

В то время мы хотели быстро протестить идею, что сказывалось не только на архитектуре или коде, но и звуке. Потом метрики проекта резко пошли вверх и первые решения уже не могли поддерживать такой бурный рост. Команда срочно взялась за критические моменты, а работу над саунд-дизайном пришлось отложить. Сейчас мы активно развиваемся и в этом направлении, хотя многих проблем можно было избежать с самого начала. Каких именно — расскажу далее.
Всего голосов 34: ↑34 и ↓0+34
Комментарии18

Создаем концепт игры без навыков программирования: как мы проводили первый PixJam в компании

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


— А у тебя какая идея игры?
— Хочу, чтобы все офигели, передать ощущение скорости, которая нарастает, пока у тебя мясо от костей не начнёт отлетать, и ты уже не понимаешь, сможешь ли с ней совладать, но все равно продолжаешь пушить как сумасшедший!
— Матч-3 что ли?
— Ага.

Из разговоров на PixJam.
Провели внутри компании первый Jam по созданию концепций новых игр и хотим поделиться впечатлениями. Идея заключалась в том, чтобы раздвинуть рамки и «заразить» креативом как можно больше сотрудников (в независимости от скилла в программировании или гейм-дизайне). Идея провести подобное мероприятие в формате Jam'a возникла у Игоря Клюкина — нашего СОО. Как показывает практика, такой формат в целом хорошо подходит для решения креативных задач.

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

Для финалистов мы привлечем маркетологов, проведем реальное исследование и узнаем, насколько их идеи окажутся востребованы. Тогда уже можно будет браться за разработку.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Удаленка ― круто. Может, остаться навсегда?

Время на прочтение12 мин
Количество просмотров30K
В марте 2020 года многие компании перевели своих сотрудников на режим дистанционной работы, и Pixonic не стала исключением. По итогам первых двух месяцев можно сделать вывод, что переезд из офиса по домам просадкой в работе не обернулся, и все дедлайны соблюдаются исправно. Отсюда возникает резонный вопрос: самоизоляция когда-нибудь закончится, но раз все так хорошо, может, отказаться от офиса совсем и продолжить работать дистанционно? Тенденция к такому переходу уже существует: например, руководство Twitter разрешило желающим среди своих сотрудников навсегда остаться на удаленке.

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


Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии371

Как улучшить геймдизайн с помощью оптимальных стратегий

Время на прочтение9 мин
Количество просмотров20K
Как бы ни старались геймдизайнеры, в любой игре можно найти механику или контент, которые страдают от недостаточно детального продумывания. Последствия — от мелких эксплойтов до ненужных или даже вредных фичей.

В помощь геймдизайнерам придумана масса инструментов: форматы ГДД, различные чек-листы, юзерстори, портреты, агенда и так далее. И все равно этого не хватает.

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

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

Как мы делаем корпоративное радио для своих

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


Когда-то нашему саунд-дизайнеру пришла идея крутить в офисном туалете свою музыку (прям как в барах). Решили протестировать, поставили первый сетап: в ящике лежал смартфон с плейлистом в AIMP, который подключался к трансляционному усилителю, а сам плейлист закачивался на карту памяти с компа. Костыли, но зато всё заработало моментально. Треки всем зашли, и стали развивать идею до внутреннего радио. Расскажу, какую статью на Хабре мы взяли за основу, что поменяли и бонусом покажу комикс — презент от коллег за музыку.
Читать дальше →
Всего голосов 47: ↑40 и ↓7+33
Комментарии23

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

Время на прочтение11 мин
Количество просмотров18K
Выкладываю второй доклад с нашего первого митапа, который провели в сентябре. В прошлый раз можно было почитать (и посмотреть) про использование Consul для масштабирования stateful-сервисов от Ивана Бубнова из BIT.GAMES, а сегодня поговорим про CICD. Точнее расскажет об этом наш системный администратор Егор Панов, который отвечает за доступность инфраструктуры и сервисов в Pixonic. Под катом — расшифровка выступления.


Всего голосов 33: ↑33 и ↓0+33
Комментарии1

Клиент-серверное взаимодействие в новом мобильном PvP-шутере и устройство игрового сервера: проблемы и решения

Время на прочтение10 мин
Количество просмотров18K
В предыдущих статьях цикла (все ссылки в конце статьи) о разработке нового fast paced шутера мы рассмотрели механизмы основной архитектуры игровой логики, базирующейся на ECS, и особенности работы с шутером на клиенте, в частности, реализация системы предсказания локальных действий игрока для повышения отзывчивости игры. В этот раз подробнее остановимся на вопросах клиент-серверного взаимодействия в условиях плохого соединения мобильных сетей и способы повышения качества игры для конечного пользователя. Также вкратце опишу архитектуру игрового сервера.


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

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

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

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

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

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

Внутри материнской платы: анализ технологий, лежащих в основе компонентов ПК

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

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

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

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

Трассировщик лучей с нуля за 100 строчек Python

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

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

Примечание: Эта статья ни в коем случае не является полным руководством/объяснением трассировки лучей, поскольку эта тема слишком обширна, а скорее просто введением для любопытствующих.

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

Ampere — новейшая игровая архитектура NVIDIA. Самое важное из вайт пейпера

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


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

A100, первый графический процессор с архитектурой NVIDIA Ampere, был выпущен в мае 2020 года. Он обеспечивает колоссальное ускорение для обучения ИИ, высокопроизводительных вычислений и анализа данных. В основе A100 лежит чип GA100 — чисто вычислительный и, в отличие от GA102, еще не игровой.

Графические процессоры GA10x основаны на архитектуре графических процессоров NVIDIA Turing. Turing — первая архитектура в мире, предлагающая высокопроизводительную трассировку лучей в реальном времени, графику с ИИ-ускорением и профессиональный рендеринг графики — все в одном устройстве.

В этой статье мы разберем основные изменения в архитектуре новых видеокарт NVIDIA по сравнению с предшественницей.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии16

Облачный гейминг: сравниваем производительность Google Stadia и NVIDIA GeForce NOW

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


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

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

По сути, вам понадобится только устройство, способное воспроизводить видеопоток. Легко настроить, легко играть, не о чем беспокоиться — кроме разве что интернет-соединения.

Здесь мы поговорим о двух сервисах стриминга игр, наиболее часто находящихся на слуху, — это NVIDIA GeForce NOW и Google Stadia. Вкратце обсудим их требования, архитектуру, производительность и, как итог, упомянем про будущее.

Сразу заметим, что речь пойдет о работе стриминговых сервисов (и, в частности, релевантности результатов тестов) для США, где проживает автор оригинального текста. Эта информация может дать представление о состоянии стриминговых сервисов на основных для них рынках, но не отображает текущую картину в России. У нас GeForce NOW (GFN.ru) запущен через партнеров, а Stadia официально не поддерживается. Если вас интересуют исследования локальных стриминговых сервисов — напишите об этом в комментариях, и, если мы увидим интерес, обязательно рассмотрим и этот аспект.
Всего голосов 32: ↑32 и ↓0+32
Комментарии36

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

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


Привет, я Никита Брижак, серверный разработчик из Pixonic. Сегодня я хотел бы поговорить о компенсации лагов в мобильном мультиплеере.

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

Используем ее и мы в своем мобильном мультиплеерном шутере Dino Squad.

В этой статье моя цель ― не повторить то, что было написано уже тысячу раз, но рассказать, как мы внедряли лагкомпенсацию в нашу игру с учетом нашего технологического стэка и особенностей кор-геймплея.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии5

GDC-2020: чего ожидать от одной из крупнейших выставок по игровой разработке

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

С 16 по 20 марта 2020 года в Сан-Франциско пройдёт ежегодная конференция разработчиков игр — GDC. Основная миссия мероприятия направлена на обмен опытом, идеями и интересными кейсами различных компаний, вовлечённых в геймдев-индустрию: от небольших инди-студий до AAA-гигантов.

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

Ну а для тех, кто не собирается ехать, но всё равно интересуется происходящим, стоит упомянуть про GDC Vault — платное онлайн-хранилище всех важных докладов участников GDC разных лет, которым пользуемся и мы сами.

UPD. Из-за вспышки коронавируса Covid-19 на конференцию отказались ехать Kojima Productions, Electronic Arts, Sony, Facebook, Unity, Microsoft, Epic Games и Oculus, однако компании заверили, что все материалы тем или иным образом будут опубликованы в сети.

Update 29.02.2020. Конференцию перенесли на лето.

Update 25.03.2020. Список всех онлайн-лекций с GDC-2020 по ссылке.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии10

Общая игровая логика на клиенте и сервере

Время на прочтение16 мин
Количество просмотров15K
На Pixonic DevGAMM Talks выступал еще наш DTO Антон Григорьев. Мы в компании уже говорили, что работаем над новым PvP-шутером и Антон поделился некоторыми нюансами архитектуры этого проекта. Он рассказал, как построить разработку, чтобы изменения в игровой логике клиента появлялись на сервере автоматически (и наоборот), и можно ли не писать код, но при этом минимизировать трафик. Ниже — запись и расшифровка доклада.

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