Как стать автором
Обновить
25
0
Павел Зинов @mrguardian

Игровой разработчик, техлид

Отправить сообщение

Создаем новое ключевое слово в C++

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

C++ - один из языков, который можно назвать "легендарным". Его история насчитывает несколько десятилетий, принципы программирования на нем революционным образом менялись не раз, а черновик стандарта уже разросся до 1800+ страниц мелкого шрифта.

На C++ есть много хороших библиотек. Но нередко изменения в самом языке делали неактуальными большие куски кода, потому что они становились менее надёжными и быстрыми по сравнению с функционалом в самом языке. Правки в стандарт имеют несоизмеримо более сильное влияние, чем любая библиотека.

В этой статье мы в учебных целях напишем для C++ поддержку нового ключевого слова defer, которое будет работать во многом аналогично такому в языках Go и Swift. Это будет сделано через правку исходного кода Clang.

Создать!
Всего голосов 64: ↑62 и ↓2+87
Комментарии43

Технология Google повышает разрешение изображений до 16 раз без потери качества

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

Исследователи Google из команды Brain Team поделились своими достижениями в области масштабирования изображений.

Результаты, мягко говоря, поражают...

Читать далее
Всего голосов 37: ↑31 и ↓6+33
Комментарии72

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Делаем сервер из Android-телефона

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

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


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


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат
Всего голосов 99: ↑98 и ↓1+128
Комментарии97

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

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

С момента релиза 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. Наступил момент, когда потенциал эволюционного развития был достигнут, и без комплексного революционного подхода рывок в графике уже не представлялся возможным. В тот момент мы и приняли решение, что игре нужен ремастер.

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 23: ↑17 и ↓6+19
Комментарии82

Комьюнити как соавтор игрового контента, или создаем карту вместе с игроками

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

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

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

Именно так мы разработали последнюю из вышедших в игре карт — Abyss.

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

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

Время на прочтение6 мин
Количество просмотров25K
Это NVIDIA GeForce RTX 3080 — видеокарта настолько редкая, что если вы ее сейчас и найдете, то за цену, за которую едва ли решите покупать.



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



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

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

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

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

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

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

Читать далее
Всего голосов 19: ↑18 и ↓1+20
Комментарии13

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как и зачем Morrowind перезапускала оригинальный Xbox во время экрана загрузки

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

Оригинальный Xbox известен тем, что имел всего 64 мегабайта оперативной памяти, чего даже в то время не всегда хватало играм. В недавнем подкасте о слиянии Bethesda и Xbox директор Bethesda Game Studios Тодд Говард рассказал о том, что именно из-за нехватки памяти и для ее освобождения Morrowind иногда перезагружала Xbox незаметно для пользователя. Долгие внутриигровые загрузки — это как раз то, о чем идет речь. 

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

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность