Pull to refresh
5
0
Илья @igorskikh

Lead Developer

Send message

Менеджер качества, или как не спалить лоу-энд девайсы ультра-графикой

Reading time12 min
Views4.3K
Всем привет, сегодня мы расскажем о том, как мы делим качества и какие инструменты для этого используем в проекте War Robots.

Релиз War Robots состоялся еще в 2014 году, и за 7 лет существования проекта графическая часть в нем постоянно развивалась. Но в то же время команда постоянно сталкивалась с ограничениями из-за минимальных требований к девайсам. Оперируя таким большим проектом, у которого немало устройств входит в low-end сегмент, нельзя просто взять и запилить крутой современный графен, не потеряв при этом часть аудитории.

image

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

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

На тот момент билд War Robots под Android со всеми ресурсам весил порядка 700 МБ и включал сотни единиц контента. У нас было 13 карт, 81 мех, более ста пушек, десяток дронов и еще куча всякой мелочи. Не то, чтобы все это было категорически необходимо в проекте, но если уж начал пилить контент, то иди в своем увлечении до конца.

И второе — нам нужно этими качествами как-то управлять и предоставлять пользователю то качество, которое будет оптимально для его девайса.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments1

RTX 3080 для ноутбуков — насколько это реально RTX 3080?

Reading time6 min
Views25K
Это NVIDIA GeForce RTX 3080 — видеокарта настолько редкая, что если вы ее сейчас и найдете, то за цену, за которую едва ли решите покупать.



А это игровой ноутбук XMG NEO 17, в состав которого входят: видеокарта RTX 3080, восьмиядерный процессор AMD Ryzen 5000, память NVMe и дисплей с разрешением 1440p и высокой частотой обновления.



У ноутбуков, как и у настольных ПК, есть свои плюсы и минусы, но важно отметить, что RTX 3080 в том и другом случае — совсем не то же самое.

Продолжим рассматривать XMG NEO 17. Надо сказать, что это, конечно, просто зверь среди ноутбуков. Но основное внимание мы уделим его видеокарте.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments13

Xcode Cloud, SharePlay, Focus — самое важное с Keynote WWDC21

Reading time6 min
Views7.7K

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

Выжимка самого важного из того, что объявили во время keynote-презентации — в этом материале.

Читать далее
Total votes 19: ↑18 and ↓1+20
Comments13

Тримы, тайлы и террейн: как происходит ремастеринг игровых карт

Reading time12 min
Views14K

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

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

Иными словами, нам нужно было:

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

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments4

Лаги, джиттер и потеря пакетов: откуда берутся проблемы с неткодом и как их решать

Reading time11 min
Views67K

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

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

Читать далее
Total votes 27: ↑27 and ↓0+27
Comments20

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

Reading time15 min
Views53K

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

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

Читать далее
Total votes 29: ↑28 and ↓1+32
Comments22

Ремастеринг игрового контента, или как создать 800 единиц контента за семь месяцев

Reading time7 min
Views4.1K

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

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

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments2

Как работает рендеринг в 3D-играх: сглаживание

Reading time13 min
Views25K

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

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

Читать далее
Total votes 25: ↑24 and ↓1+29
Comments13

Как Thief: The Dark Project чуть не осталась без механики стелса

Reading time6 min
Views6.3K

Начиная с Ultima Underworld и System Shock, Looking Glass Studios всегда стремилась создавать глубоко иммерсивные игры. Ее основатель Пол Нейрат с детства любил обследовать всякие здания, в том числе и те, где его быть не должно — но тяга к исследованиям была сильнее. 

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

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

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments6

Препродакшн игровых проектов: как оценить объем работ на старте и не сгореть к дедлайну

Reading time8 min
Views4K

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

Эта статья ― начало нашего большого цикла о том, как делаются ремастеры. В ней мы расскажем, как правильно оценить объем работы, которую никто раньше не делал, о риск-менеджменте и управлении неопределенностью.

Читать далее
Total votes 14: ↑12 and ↓2+11
Comments0

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

Reading time7 min
Views8.7K

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

Сегодня мы расскажем, как в геймдеве делаются тени — в реальном времени и статичные. В своих проектах War Robots и Dino Squad мы используем сразу несколько техник — им и уделим особое внимание.

Читать далее
Total votes 27: ↑26 and ↓1+30
Comments11

Nodens: создание лавкрафтианского робота для мультиплеерного шутера от идеи до релиза

Reading time13 min
Views5.1K

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

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

Читать далее
Total votes 15: ↑14 and ↓1+16
Comments8

От int main() до BeginPlay: как происходит инициализация Unreal Engine под капотом

Reading time16 min
Views18K

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

Но когда вы пишете игровой код на Unreal Engine, вы не имеете дело с игровым циклом напрямую. Вы не начинаете работать сразу с основной функцией — сначала вы определяете подкласс GameMode и переопределяете функцию под названием InitGame. Или пишете одноразовые классы Actor и Component и переопределяете их функции BeginPlay или Tick для добавления собственной логики. Это самый минимум того, что вам нужно сделать: обо всем остальном движок позаботится за вас.

Unreal Engine также предлагает вам как программисту мощный и гибкий инструментарий: конечно, он имеет открытый исходный код, но также возможно и расширение несколькими другими способами. Даже если вы только начинаете работать с этим движком, было бы не лишним получить представление о его GameFramework: о таких классах, как GameMode, GameState, PlayerController, Pawn и PlayerState.

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

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments2

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

Reading time16 min
Views24K

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

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

Читать далее
Total votes 31: ↑29 and ↓2+32
Comments14

NVIDIA Ampere против AMD RDNA 2: битва архитектур

Reading time21 min
Views23K

Спустя два года после запуска Turing в сентябре 2020 года NVIDIA сменила архитектуру своих видеокарт на Ampere. AMD не осталась в стороне и вскоре после этого тоже обновила архитектуру RDNA до второй версии.  

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

Но что насчет чипов, лежащих в их основе? Какой из них лучше?

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments39

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

Reading time11 min
Views16K

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

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

Читать далее
Total votes 22: ↑21 and ↓1+25
Comments10

Как всего одна игровая механика навсегда изменила Diablo

Reading time8 min
Views39K

«Игра всегда называлась именно так», — вспоминает Дэвид Бревик, ведущий программист оригинальной Diablo 1997 года. — «Diablo — это название горы в районе залива Сан-Франциско, у подножия которой я тогда жил. Когда я об этом узнал, помнится, я сказал: «Да, когда-нибудь это станет отличным названием для видеоигры».

Своеобразная анти-RPG того времени, Diablo многие заложенные в нее решения получила не благодаря, а вопреки. «Посмотри, как делают другие, и сделай ровно наоборот», — примерно по такому принципу и разрабатывалась ее философия.

Но одна из знаковых для игры механик все-таки не была заложена в нее изначально.

Читать далее
Total votes 52: ↑48 and ↓4+56
Comments85

Apple M1 хорош, но насколько он хорош в трассировке лучей?

Reading time12 min
Views26K

Чип Apple M1, доступный в новых MacBook Air, MacBook Pro и Mac Mini, уже стал предметом множества обсуждений, статей о бенчмарках и публикаций в блогах. И производительность его действительно впечатляет, особенно если говорить о производительности на ватт.

Но конкретно сейчас мы остановимся подробнее на трассировке лучей — в частности, на трассировке лучей через API Metal, анонсированный на WWDC-2020.

Для тестов в данной статье использовались Mac Mini и интерактивный трассировщик пути ChameleonRT, а сравнение проводилось с DirectX, Vulkan, OptiX и Embree.

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments74

Ста-ста-статтеринг, или откуда в игре берутся микрофризы и как с ними бороться

Reading time10 min
Views69K
Представьте себе: вот вы ждете новую часть вашей любимой игры и, наконец, она выходит. Специально под это дело вы обновили свой ПК: установили новейшие ЦП и ГП, увеличили объем оперативки и даже заменили жесткий диск на SSD. Теперь игра должна запускаться у вас гладко, как шелк, с первого же экрана загрузки и до самого конца.

Вот вы скачиваете себе ранее оплаченный предзаказ. Завершается установка, вы запускаете игру. Все идет хорошо: игра «летает» с частотой кадров 60 FPS. Или, во всяком случае, так говорит вам счетчик кадров в оверлее вашего ГП. Но что-то идет не так. Вы водите мышкой туда-сюда и замечаете, что игра… фризится.

Как это возможно? Какие еще фризы при 60 FPS?

Это может казаться смешным до тех пор, пока не столкнешься с этим сам. Если вы встречались с такими фризами, то наверняка уже успели их возненавидеть.

Это не лаги. Не низкий фреймрейт. Это статтеринг. При высоких FPS и идеальной сверхбыстрой конфигурации.

Что это такое, откуда взялось и есть ли способ от него избавиться? Сейчас разберемся.

image
Total votes 26: ↑26 and ↓0+26
Comments29

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

Reading time13 min
Views7.8K

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

Стоит заметить, что термин «честность» здесь более уместен, чем «баланс», ведь последний чаще можно истолковать неверно. Честность подразумевается в том смысле, что опыт игроков должен быть выдержанным и правдоподобным. Честный геймплей должен быть приятным и увлекательным, даже если он не совсем четко сбалансирован. Идеальный баланс, в свою очередь, может сделать игру более скучной. По словам ведущего дизайнера Overwatch Джеффа Каплана:

Восприятие баланса гораздо важнее, чем сам баланс.

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

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

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

Читать далее
Total votes 23: ↑22 and ↓1+26
Comments12

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity