История жанра FPS, часть 1. Кармак и Ко. Становление id
Первый «стэлс»


Гитлер капут
Просто «Вульф», Wolf 3D, «Вольвэгза» (от wolf.exe – игра вышла под DOS) – как вам больше нравится. Быстро разойдясь по миру и собрав армии поклонников, «Вульф» в 1994-ом был запрещен в Германии: понимаете ли, свастика, фрицев режут, овчарок немецких отстреливают. Со стороны id была предпринята попытка уладить конфликт выпуском специальной версии, в которой псов заменили на здоровенных крыс, символику нехорошую убрали, а кровь заменили безобидной водой, но позиция «оскорбленного» государства не претерпела изменений.
Культовый прародитель жанра (Spasim, пожалуй, вспоминать не имеет смысла) пошел в тираж как shareware: в первую главу, состоящую из десяти уровней для затравки, игрока запускали совершенно бесплатно, но следующие пятьдесят «миссий» можно было получить лишь за честно заработанные и вечнозеленые. На одном дыханий пробежав Escape from Wolfenstein (та самая первая глава), геймеры по всему миру охотно расставались с деньгами и продолжали свою миссию в роли БиДжея – лихого офицера, на которого мордой лица в дальнейшем будет чрезвычайно похож герой Doom.
Уильям Блажкович – БиДжей – выбирается из нацистского укрепления, после чего ввязывается в операцию Eisenfaust по уничтожению мутантов. Умело орудуя ножом, пистолетом «Парабеллум» и автоматом Томпсона, а также МР-40 и пулеметом Гатлинга, БиДжей преодолевает все препятствия и на финишной прямой встречает самого Адольфа Гитлера… Ну, и убивает. Не сказать, что сюжет чрезвычайно замысловат, но тогда в этом не было и необходимости. Джон Кармак заметил как-то, что сюжет для компьютерной игры по сути то же, что и сторилайн порнофильма – он есть и быть должен, но не имеет значения.
Формально являясь первым 3d-action’ом, «Вульф» не был полностью трехмерным. Само игровое пространство действительно было примитивно-объемным, но предметы и враги создавались из спрайтов (плоских рисунков) и незамысловато анимировались. В отличие от «двигуна» UU:TSA, в Wolf 3D отсутствовало освещение и наклонные плоскости, но сам по себе движок получился мощнее, надежнее и быстрее. Плюс ко всему и требовал от железа совсем немного, только представьте: платформа 286 20 МГц, DOS 5.0, полмегабайта ОЗУ и три мегабайта свободного пространства на жестком диске. Плюс, разумеется, поддержка VGA. Игра вышла на одиннадцати платформах и схлопотала от ESRB рейтинг Mature 17+.


«Где же все данные?!»


Big F*cking Game


Продолжение следует
Проблемы старых игр жанра FPS
Начну с достаточно распространённой проблемы старых, и не только, шутеров которая заключается во врагах, которые впитывают пули словно губка. Этой проблемой страдают многие игры, среди которых есть даже и популярные экземпляры. Как вот например Doom или Quake, в которых добрая половина врагов впитывает все ваши боеприпасы аки губка и им этого оказывается мало. И самое тупое что данная проблема списывается на сложность, якобы это делает игру сложнее чтобы поставить против игрока достойных врагов. Однако этот аргумент быстро сводится на нет, когда в том же Quake выстрел из ракетницы по обычному рядовому врагу требует аж до троих, а то и семи, попаданий, что не есть правильно, ведь это же ракетница, а не какой-нибудь пуклет. Соответственно ракетница должна убивать врага с одного попадания, а особенно если это рядовой враг а не босс. Но увы, всё списывают на челейндж забыв при этом о справедливости по отношению к игроку.
2. Поиск ключей для открытия двери!
Вторая проблема является довольно очевидной и банальной, но в то же время раздражающей и устаревшей, и это поиск ключей для открытия очередной разноцветной двери. И казалось бы, в чём тут проблема? А проблема в том что этот поиск ключей замедляет продвижение по игре вперёд, искусственно растягивая игровой процесс и замедляя таким образом игрока на дольше чем это могло бы быть. Но какое же тогда решение? А решение заключается в интересном левелдизайне! Ведь, если игроку будет интересно исследовать локации, находить что-то полезное для него, то никакие ключи ни для каких дверей не понадобятся. И ведь оно так и есть, так как игрока реально можно удержать только одним лишь интересным левелдизайном и поиском действительно полезных предметов, типа патронов, боеприпасов или даже секретов. Ведь какой толк от тех же ключей? Ну откроете вы ими очередную цветную дверь, а дальше что? Эти ключи исчезнут, и на другом таком же уровне вам нужно будет повторить ровно то же самое, что довольно скучно и надоедливо.

3. Узкие комнаты заполненные врагами!
4. Ловушки которых меньше всего ждёшь!
В некоторых играх жанра FPS для «разнообразия» разработчики из тех или иных студий умудряются вставлять так называемые ловушки, в виде каких-нибудь шипов из пола, лазеров со стен или пола, который раздвигается скидывая вас в лаву с которой выбраться нельзя. И опять же вопрос: Почему же это проблема? А ответ будет банальным и я его уже пару раз выше дал, и это искусственное растягивание игрового процесса. Ведь когда вы менее всего ожидаете подвоха и проигрываете то вас отбрасывает назад на чекпоинт, или место сохранения, если игра предусматривает быстрое сохранение, заставляя вас пройти этот момент ещё раз. А если у вас не получится то вам снова и снова придётся проходить одно и то же место, и так до победного. Это и есть растягивание игрового процесса, и всё ради банального удержания игрока возле монитора. Да, я знаю что моя писанина с этой банальной проблемой уже надоела, но что я могу поделать если всё к этому ведёт? Не могу же я описать растягивание игрового процесса как-то по другому.

И последняя проблема на моей памяти это левелдизайн. Видите ли, во множестве старых игр жанра FPS левелдизайн не самый лучший, а в некоторых так и вообще оставляет желать лучшего. Это я могу отнести к двум из четырёх эпизодов Ultimate Doom и доброй половины, или даже больше, Doom 2. А про Doom TNT Evilution и Plutonia Experiment я вообще молчу. То же самое касается и множества других игр типа Quake, Duke Nukem 3D, Shadow Warrior и тому подобных игр. Все они страдают от доброй половины, или целиком всего левелдизайна который сводится к одному вопросу: Куда мне идти и что мне делать? Или, проще говоря, левелдизайн в большинстве из них не интуитивен, и если, например первые два эпизода Ultimate Doom я прохожу без проблем, или оригинальный Quake, то вот другие эпизоды к Doom, включая даже Doom 2, или два дополнения для Quake, заставляют меня изрядно так заскучать. Ведь, когда ты бегаешь по одной и той же комнате и тех же коридорах, которые выглядят одинаково, в поисках очередного ключа а затем и выхода на следующую локацию, и не можешь понять куда нужно идти, ведь всё везде одинаковое, то это точно вызывает усталость и желание выключить игру, с последующим отдыхом от неё. И это, на мой взгляд, есть не правильно, ведь игры должны развлекать игрока, чтобы он не уснул, но вместо того некоторые из них, если не большинство, заставляют зевать после очередного 20 минутного забега по одинаковым коридорам. Это кстати и послужило причиной тому что я не прошёл оригинальный Wolfenstein 3D. Ведь из-за своего левелдизайна он тупо вызывает скукоту, с последующей усталостью и уходом на боковую.

А по итогу получается та самая пословица: Не всё то золото что блестит! Безусловно, я не говорю что Quake или Doom, включая другие популярные старые игры серии, плохие но выше перечисленные их проблемы заставляют не столько наслаждаться игровым процессом, сколько выйти из игры и пойти спать. Ещё они, по всё тем же проблемам, могут изрядно потрепать вам нервы, что тоже не есть хорошо и вредит вашему здоровью, ведь нервные клетки не восстанавливаются. Благо развитие не стоит на месте и в большинстве современных шутеров, или шутеров в олдскульном стиле, от этих проблем избавились. Тот же DUSK или WRATH: Aeon of Ruin не имеют таких проблем описанных выше (не всех конечно, но всё же), из-за чего в них интересно играть. Посему вывод напрашивается сам собой. Эти игры хороши в основном благодаря ностальгическим чувствам, но откинь их в сторону и начни смотреть на них глазами взрослого человека и ваше восприятие этих игр быстро изменится, и явно не в лучшую сторону.
Что такое «частота кадров в секунду»? В чем разница между 24, 30 и 60 FPS
Частота кадров в секунду — ключевая метрика для любого геймера при оценке мощности ПК. Зачастую покупки дорогостоящих видеокарт и процессоров направлены именно на улучшение этого параметра. Разбираемся, от чего зависит и на что влияет кадровая частота в играх, кино и мультипликации.
Кадровая частота (англ. frame rate) — это количество кадров, сменяющих друг друга за секунду. В кино, анимации или видеоиграх термин зачастую используют, чтобы пояснить, насколько изображение получилось «плавным». Единица измерения такой частоты тоже есть — это буквально кадры в секунду (англ. frame per second, или FPS). Чем их больше, тем «плавнее» изображение: если для фильмов норма — 24 кадра в секунду, то в разговорах про игры обычно упоминают цифры от 30 до 60.
Это, впрочем, не предельные значения. Так, в классических мультфильмах Уолта Диснея кадровая частота — 12 FPS, но картинка всё равно достаточно «плавная», чтобы не раздражать зрителей, — всё благодаря приёмам аниматоров. А вот профессиональный киберспортсмен, играя на самом современном компьютере, вполне может увидеть до 300 кадров в секунду. Рассказываем, откуда такой разброс и что в этом «фреймрейте» важного.
24 кадра в секунду
24 FPS — стандарт в кинематографе. Показатель, наиболее комфортный для зрителя.
Впервые частоту киносъёмки осознанно выбрали пионеры кинематографа — братья Люмьер. Она тогда составляла 16 кадров в секунду. Это был строгий расчёт — расход 35-миллиметровой киноплёнки составлял ровно один фут (0,3048 метра) в секунду.
Во времена немого кинематографа скорость показа фильма нередко превышала частоту съёмки. Киномеханик, который вращал ручку проектора, подбирал темп в зависимости от настроения фильма и «темперамента» публики — от 18 до 30 кадров в секунду.
Ситуация изменилась с появлением звукового кино. Поскольку разная скорость воспроизведения меняла частоту звука и голоса становились выше, американские кинокомпании задумались о стандарте фреймрейта. В 1926 году таким стандартом стал показатель в 24 FPS — создатели кино выбрали его как компромисс между «плавностью» картинки, расходом плёнки и возможностями техники. Как раз с этой частотой мы смотрим фильмы по сей день. Хотя исключения тоже бывают.
Кто-то снимает быстрее?
Современные режиссёры иногда проводят эксперименты с увеличением кадровой частоты, чтобы сделать изображение «плавнее» и тем самым усилить погружение. Один из самых известных примеров — «Хоббит» Питера Джексона, снятый с частотой 48 FPS.
Другой пример — фильм «Гемини» Энга Ли, снятый с частотой и вовсе 120 кадров в секунду.
Правда, чтобы увеличить в фильме кадровую частоту, вовсе не обязательно снимать его с высоким фреймрейтом — порой достаточно и современного телевизора с функцией «сглаживания движения» (англ. motion smoothing).
Дело в том, что частота обновления экрана у нынешних ТВ превышает общепринятую кадровую частоту кино — это может быть и 50 Гц против 24 FPS, и даже 120 Гц против тех же 24 кадров. Иногда это приводит к тому, что изображение начинает дёргаться и дрожать. Чтобы решить проблему, изобрели «сглаживание движения» — эта технология анализирует движение объектов и создаёт дополнительные кадры, будто бы заполняя ими «пустые» места.
Звучит здорово, однако на деле motion smoothing только портит изображение. Резкость картинки заметно увеличивается, порой возникают артефакты изображения, а естественная «смазанность» сцены, специально созданная режиссёром, становится едва заметной, сбивая фокус. И в результате возникает «эффект мыльной оперы».
По этой причине режиссёры и актёры выступают против технологии, называя её проклятием кинематографа. Хорошо, что пока это лишь опция, которую при желании можно просто отключить.
А что с кадрами в мультфильмах?
Сегодня во время съёмок кино оператор выставляет на камере нужную частоту. Всё сложнее, если речь идёт о мультипликации, ведь каждый кадр необходимо нарисовать вручную. По кадровой частоте анимация делится на несколько видов:
Чтобы снять 20 минут мультфильма в анимации вида 1s, необходимо нарисовать порядка 28 000 уникальных рисунков. Это весьма непростая задача, и потому мультипликаторы идут на всевозможные уловки, чтобы зритель не заметил недостающих кадров. Так, анимацию 1s чаще всего применяют только в активных сценах — например, если персонаж бежит.
Постепенно в создании анимации появились новые секреты. Первым работу мультипликаторов оптимизировал Уолт Дисней: ведущие художники сперва рисовали основные кадры (англ. keyframes), а после этого в дело вступали художники-фазовщики — они рисовали «промежуточные фазы движения» (англ. in-between) и доводили анимацию до финального вида. Эти термины остаются актуальными для аниматоров и сегодня.
Для экономии кадров художники идут и на другие хитрости. Скажем, рисуют фон и на статичный рисунок накладывают прозрачные целлулоидные плёнки с подвижными элементами. А ещё аниматоры зацикливают кадры или же «раскладывают» персонажей и объекты в несколько слоёв — например, анимируют только губы на неподвижном лице.
В японской анимации — аниме — художники для упрощения своих задач зачастую пропускают промежуточные рисунки — фазовки. Из-за этого эмоции на лице персонажа меняются моментально.
В аниме также существует термин sakuga — это моменты, когда качество картинки возрастает и доходит до стандарта 1s. Приём используют для заставок, сюжетных поворотов или экшн-сцен.
Сколько кадров в видеоиграх?
Оптимальный фреймрейт в играх выше, чем в кино, — он начинается с 30 кадров в секунду. С точки зрения технологий кадровая частота в игровой индустрии работает иначе, нежели в кино, однако суть та же — чем больше FPS, тем лучше. Кроме того, именно счётчик FPS — главный показатель производительности той или иной игры.
Частота в 60 FPS обеспечивает куда более «плавное» изображение. Впрочем, важнее стабильная производительность. Высокий фреймрейт, который время от времени неожиданно «падает» до 35–45 кадров, игрок воспринимает хуже, чем стабильные 30 FPS. Любой такой сбой воспринимается как лаг, ведь мозг игрока «настраивается» на определённую кадровую частоту.
Кадровая частота игры во многом зависит от того, на какой платформе она запущена. Так, на ПК единственное ограничение в большинстве случаев — мощность «железа», которое может быть очень разным. Зачастую это вызывает дополнительные проблемы при оптимизации игры: сделать так, чтобы она работала одинаково на всех компьютерах, попросту невозможно — комбинаций «железа» слишком много.
При создании версий для игровых приставок, где установлены фиксированные комплектующие, ситуация немного проще — оптимизировать игру приходится под тот или иной «стандарт» (в зависимости от конкретной приставки). В этом случае, правда, возникает другая проблема: нередко мощности устройства не хватает для частоты в 60 кадров, и тогда разработчики искусственно ограничивают фреймрейт на отметке в 30 FPS. Это компромисс — низко, зато стабильно.
Правда, с появлением консолей нового поколения — Xbox Series X и PlayStation 5 — многие компании и студии при разработке стали целиться именно в 60 FPS, поскольку «железо» позволяет. По крайней мере, пока. Если верить рекламе, новые консоли способны выдавать и 120 FPS, но это, конечно, касается относительно «лёгких» с точки зрения графики игр.
«Мы никогда не пытались ограничить разработчиков в том, чего они пытаются добиться на нашей платформе, будь то 60 FPS на Xbox 360 или 4K и 60 FPS на Xbox One X. Мы хотим дать им инструменты для того, чтобы они создавали свои игры на любой из наших платформ. В поколении Xbox One X мы уже достигли момента, когда игры выглядят потрясающе, но у нас есть простор для того, чтобы сделать их ещё лучше. Я хочу, чтобы игры ощущались столь же здорово, как и выглядят. Думая о будущем, мы хотели сосредоточиться не только на количестве пикселей, но и на ощущениях от игр, которые обеспечивает высокий фреймрейт».
Похожего мнения придерживаются и разработчики, которые сотрудничают с Sony.
«Разрешения 4K достаточнo, его хватит надолгo. Но мне хочется вместо того, чтобы оставаться на уровне 60 кадров в секунду, поднять частоту до 120 или даже 240 кадров в секунду. Я думаю, это то, что изменит игры».
И если в одиночных играх кадровая частота играет роль важную, но всё-таки не принципиальную, то в киберспорте высокий показатель FPS — залог успеха.
И не только он: ещё при подборе техники для соревнований профессиональные игроки учитывают частоту обновления экрана монитора. От неё зависит, как часто и быстро обновляется изображение на дисплее каждую секунду. Так, при частоте 60 Гц кадр меняется каждые 16 миллисекунд, при 144 Гц — каждые 6 миллисекунд.
Когда монитор обновляется с такой скоростью, разница не видна глазу, всё дело в мелкой моторике. После нескольких лет тренировок киберспортсмен в той же Counter-Strike: Global Offensive использует лишние 10 миллисекунд для более точного наведения прицела. Для реализации своего потенциала профессиональным игрокам необходима техника с максимальными характеристиками, даже несмотря на то, что упомянутая Counter-Strike — не слишком требовательная к «железу» игра.
Ещё один пример — Call of Duty: Black Ops — Cold War. Компания NVIDIA, которая выпускает видеокарты, в 2019 году провела исследование «фликшотов» — этим термином обозначают ситуации, когда игрок в шутере очень резко целится во врага и метко стреляет. В случае с Black Ops частота обновления 360 Гц улучшает качество стрельбы на 4% — по сравнению с монитором на 240 Гц. И этот небольшой перевес может оказаться решающим во время соревнования.
Стоит ли беспокоиться о низком фреймрейте в играх и фильмах?
О низком фреймрейте в фильмах беспокоиться точно не стоит — как мы отметили выше, 24 FPS — общепризнанный стандарт, наиболее комфортный для зрителя. С играми сложнее, особенно если вы играете на ПК и разрабатываете для этой платформы. Добиться максимально комфортной кадровой частоты — это в первую очередь задача разработчиков. А игрокам о ней заботиться нужно в последнюю очередь.
Почему производительность в играх — это не просто средний FPS

Я работаю в игровой индустрии уже более 8 лет. В Wargaming решаю весьма широкий круг вопросов: от анализа патчей до решения различных внутренних проблем. Так вышло, что проблема комфорта и производительности попала в поле моего зрения. После общения с разработчиками World of Tanks, тестировщиками и исследователями поведения игроков у меня сложилось видение вопроса, которое я оформил в виде этой статьи. Я не специалист в области компьютерной графики или разработчик графического движка, не провожу UX-тесты на людях. Но надеюсь, собранная информация и мой непредвзятый взгляд на вопрос натолкнут вас на прогрессивные мысли и стимулируют к творческому поиску решения проблемы производительности в игре.
Что такое производительность?
Обычно под производительностью понимают средний уровень FPS в игре за определенный отрезок времени. Из этого вытекает предположение, что высокий FPS означает высокую производительность и наоборот.
Эта упрощенная картина скрывает некоторые важные детали. Например, то, что для различных по динамике игр требования к уровню FPS могут отличаться. Восприятие шутера от первого лица гораздо более чувствительно к производительности, чем RTS. Даже эффективность выполнения тех или иных действий в одной игре (перемещение, стрельба, нахождение в ангаре) может выдвигать различные требования к уровню FPS.
График влияния FPS на эффективность действий в игре. Сплошной линией показано движение, пунктирной — стрельба. По вертикальной оси отложена нормализованная эффективность. Видно, что эффективность стрельбы сильнее зависит от FPS, чем перемещение. Источник: On frame rate and player performance in first person shooter games. Kajal Claypool and Mark Claypool
В тех случаях, когда средний уровень FPS остается неизменным, кратковременные провалы (от 15 сек и более), задержки (лаги) и подергивания способны испортить впечатление об игре и серьезно снизить эффективность действий игрока. Но этот вывод справедлив далеко не для всех игровых ситуаций; тем более он не распространяется на все игры.
Таким образом, производительность является многогранным явлением, и ее восприятие сильно зависит от правил игры и технических условий. Одинаковый уровень FPS в разных случаях может восприниматься как низкий или высокий. Высокий средний уровень FPS с провалами может восприниматься хуже, чем низкий, но стабильный.
Факторы, влияющие на производительность
Конфигурация ПК. Тут все очевидно: мощное «железо» означает более высокую производительность.
Клиентское ПО, включая ОС. Основным источником проблем с производительностью в играх являются антивирусы, торрент-клиенты и другие фоновые программы и службы, обращающиеся к диску во время игры. Важным моментом здесь является отсутствие осознания пользователем источника проблемы — всегда виновата игра.
Сетевые проблемы. К этой категории относятся все причины плохого функционирования сети на участке между сервером и устройством пользователя. Некачественное сетевое оборудование, низкий уровень сигнала Wi-Fi или большое количество беспроводных клиентов, проблемы на стороне провайдера, неоптимальный сетевой маршрут доставки трафика. В общем, все что создает проблемы доставки пакетов.
Скорость работы приложения. Разные игровые движки потребляют разное количество ресурсов, в зависимости от качества архитектуры и поддерживаемых эффектов.
Помимо движка, некоторую нагрузку создают элементы интерфейса. Как мы увидим позже на примере модов, части интерфейса могут быть сложными программными компонентами, потребляющими значительную часть ресурсов компьютера.
Настройки графики. Более половины наших пользователей настраивают графику вручную. Далеко не всегда эти настройки оптимальны.
Автоматическое определение пресета также небезупречно. Спектр конфигураций клиентских машин находится в пределах нескольких поколений, а количество пресетов ограничено здравым смыслом. Высополигональные модели требуют наличия текстур высокого разрешения, красивых эффектов и динамических теней. Нелогично отключать одно и оставлять другое. В один пресет могут попадать устройства с очень разной производительностью.
Моды. Результаты недавних тестов, проведенных нашим отделом QA, объективно показывают, что моды отрицательно влияют на производительность. Сторонние модификации клиента не только снижают средний fps, но и создают резкие провалы в тех случаях, где чистый клиент работает стабильно.
График fps в течение боя. Синяя линия — клиент без модов, красная — с модами.
Видно, что моды способны вызывать серьезные провалы производительности в тех местах, где их нет на «чистом» клиенте.
Графический движок — это лишь один из факторов (не считая настроек), влияющих на производительность, который находится под прямым контролем разработчиков. Следовательно, нельзя сделать однозначных выводов о производительности игры в реальных условиях на основании тестов движка в идеальных условиях.
Методы измерения производительности
Комфорт игры
Таким образом, рассуждения о производительности неизбежно приводят нас к необходимости ввести такое понятие, как «комфорт игры». В этом случае комфортная игра означает такой уровень производительности, при котором пользователь не ощущает ее недостаток: картинка обновляется с достаточной частотой, нет приостановок видеопотока и задержек между командами пользователя и реакцией игрового мира.
Очевидно, что при стабильном уровне производительности 60 FPS, отсутствии фризов и задержек комфорт игры будет максимальным. При уровне 10 FPS крайне затруднительно играть практически в любую современную игру. Все остальные промежуточные случаи невозможно трактовать однозначно.
Исследования, проведенные специалистами нашей компании, показывают, что для всей совокупности пользователей связь между метриками производительности и комфортом достаточно слабая.
Диаграмма зависимости между восприятием комфорта и средним уровнем FPS. При росте производительности в 3 раза, % игроков, считающих игру комфортной, увеличивается всего на треть.
Распределения среднего FPS у игроков c разным уровнем комфорта отличаются незначительно. Видно, что области распределений почти полностью совпадают.










/https://hb.bizmrg.com/cybersportru-media/b7/b7f60cdce433bf7b3619e7a521c1df47.gif)
/https://hb.bizmrg.com/cybersportru-media/e9/e96810a1fd038b9701a73e5922fd6b3f.gif)
/https://hb.bizmrg.com/cybersportru-media/ec/ecb39e74aa543aa3a719ab37b9f3a063.gif)



/https://hb.bizmrg.com/cybersportru-media/24/244f93eb340c6d43bad6528c481238c2.jpg)
/https://hb.bizmrg.com/cybersportru-media/81/81ce9f62da0c9bfcd56731674c091e0a.jpg)






