Современная игровая графика достигла невероятного фотореализма. Если сравнить скриншот из современной игры и реальную фотографию, может возникнуть сомнение, какое изображение настоящее, а какое — компьютерное. И это заслуга не только мощного железа, которое может выдать такую картинку, но и опытных специалистов, которые отлично знают оптические особенности реального мира и понимают ограничения технологий.
Игровая графика прошла длинный путь от абстрактных геометрических фигур до современных высокополигональных моделей. Очевидно, что ключевое место в улучшении графики сыграло постепенное развитие железа, но от этого зависело далеко не всё. Параллельно художники искали и пробовали разные стили: вдохновлялись мультипликацией, комиксами, упрощали 3D-модели, добавляли видеовставки, а иногда и уходили и ностальгический даунгрейд. И аудитория поддерживала разработчиков в их поисках.
В тексте мы разберём основные вехи развития графики в видеоиграх, опишем технологии, которые влияли на этот процесс, а также расскажем о трендах, появившихся в инди-индустрии.
С чего всё начиналось: из лабораторий в аркадные залы и гостиные
Первые прототипы игр появились ещё в ранние годы существования компьютеров. У них не было экранов, поэтому информация выводилась с помощью лампочек. Примерно так работала одна из первых компьютерных игр в истории — Nimatron, созданная в начале 1940-х годов на основе правил настольной игры «ним».
В 40-е и 50-е годы компьютеры не выходили за пределы научно-исследовательских лабораторий и выставок, поэтому у игр не было ни единого шанса стать массовым развлечением. Но постепенно технологии совершенствовались, и средства вывода информации всё больше стали напоминать привычные экраны.
Важным шагом на этом пути стала игра «Крестики-нолики», которая выводила информацию с помощью электронно-лучевой трубки — она формировала игровое поле размером 35*15 точек. Игра появилась в 1952 году, но никто за пределами Кембриджа её не увидел.
Через шесть лет, в 1958 году, появилась игра «Теннис для двоих», экраном которой выступал осциллограф. Функция экрана в игре была предельно утилитарной: ни одного лишнего элемента — только поле и сам «мячик». Даже ракетки не отображались.
Следующим заметным шагом стала игра Spacewar! (1962) для компьютеров PDP-1. На первый взгляд кажется, что графика мало изменилась по сравнению с предшественницей, но это не совсем так. ЭЛТ-дисплей мог отображать до 20 тысяч точек в секунду, что позволяло не только показать главные игровые элементы, но и добавить побочные. Например, фон из звёзд, который не влияет на геймплей, но создаёт антураж космического сражения. Именно Spacewar! стала одной из первых игр, в которых графика — это выразительное средство, поддерживающее фантазию игроков, а не просто функциональный инструмент вывода информации.
Начиная с 1970-х годов, игры постепенно становились более доступными. Появились первые коммерческие игровые приставки и аркадные автоматы. Большим прорывом стала приставка Magnavox Odyssey, которая подключалась к телевизору. Но графика на ней оставалась предельно простой — это всё ещё было монохромное изображение, состоящее из нескольких геометрических фигур.
Несмотря на скудность графики, разработчики постарались обойти эти ограничения внешними приспособлениями. Так, поверх экрана телевизора можно было повесить пластиковые накладки, которые добавляли игровое поле — были варианты с полем для хоккея, футбола, бейсбола, игры в «Кошки-мышки» и так далее.
Несмотря на то, что до 3D-графики играм ещё было далеко, разработчики стремились сделать хотя бы имитацию объёмного мира. Одной из первых таких игр стала Maze War (1973) — первый шутер от первого лица, в котором была воссоздана линейная перспектива, а игрок мог свободно перемещаться по окружению.
Были версии Maze War как для векторных экранов, так и для растровых. Разница между этими типами двумерной графики заключается в следующем.
Двумерная растровая графика работает на основе сетки «растров» — пикселей, каждый из которых обладает своим цветом, насыщенностью и яркостью. Из этих пикселей, как из мозаики, можно собрать полноценное изображение. Но недостаток подхода заключается в «лесенках», которые образуются на границах каждого растрового объекта. Именно этот тип графики лежит в основе 8- и 16-битных игр, например, Pac-Man (1980), Super Mario Bros. (1985) и других.
Двумерная векторная графика устроена иначе: можно сказать, что в её основе лежат геометрические примитивы — точки, прямые, окружности, прямоугольники. Каждый вектор обозначается координатами двух точек — X и Y. Векторные объекты выглядят аккуратнее и «качественнее», чем растровые.
Пионеры 3D-графики использовали векторные линии, чтобы показывать упрощённые объёмные объекты. Хороший пример — игра Spasim (1974), в которой объекты состоят из «3D-каркасов».
Эпоха цветных спрайтов
Другим важным рубежом стало появление цветной графики. Ранние компьютеры имели совсем небольшие объёмы оперативной памяти, поэтому графическая информация не должна была занимать слишком много места. Для монохромных игр было достаточно одного бита, для 16 цветов — четырёх битов, а восемь бит позволяли увеличить количество цветов сразу до 256.
В конце 70-х и начале 80-х персональные компьютеры всё ещё были роскошью. Зато подскочила популярность аркадных автоматов. Там же появились и первые цветные игры, потому что у автоматов хватало памяти для отображения цвета.
Появление цветной графики стало очередным витком развития игр. Дело было не только в эстетике: это влияло на весь игровой процесс. Например, в Pac-Man каждый призрак обладал уникальным поведением, а цвет помогал отличать одного от другого.
Для создания движущихся объектов в играх применялись спрайты — двумерные изображения. В Pac-Man сам герой и его противники — это спрайты. Сейчас такие изображения можно рисовать в разных графических редакторах. Но 40 лет назад разработчикам приходилось идти на всевозможные ухищрения, чтобы перенести рисунок в цифровой формат.
Например, изображения для Super Mario Bros. приходилось сперва рисовать на целлулоиде, раскрашивать, а лишь затем оцифровывать. Если для этой игры размеры листов были средними, то для Punch Out!! (1983) приходилось использовать листы размером со стол.
Сканеры использовались далеко не везде: отсканированные изображения занимали слишком много места на жёстких дисках, которые в то время были слишком дорогими. Также сканеры не могли корректно передать цвета, поэтому художникам приходилось оцифровывать только контуры и общие черты изображения, а затем полноценно отрисовывать его на компьютере.
Другая проблема возникала с самим использованием компьютеров — это были сложные устройства, поэтому даже художники должны были обладать навыками программистов. Например, при создании Solomon’s Key (1986) приходилось использовать шестнадцатеричную кодировку для оцифровки каждой клетки спрайта.
С развитием технологий и ростом популярности видеоигр стали появляться более мощные игровые приставки. Сперва на рынок вышли 8-битные консоли, поддерживающие до 64 цветов, а следом и 16-битные консоли с палитрой из 512 цветов. Несмотря на такое развитие, технические ограничения давали о себе знать. К примеру, на игровой консоли SNES из 512 доступных цветов одновременно на экране можно было использовать только 64.
Вместе с этим в играх начали появляться разные визуальные эффекты. Super Speed Racer (1979) привнесла скроллинг, благодаря которому окружение перемещалось сверху вниз и создавало ощущение движения. Эффект параллакс-скроллинга в двумерной Moon Patrol (1982) делал так, чтобы при движении объекта дальний план передвигался медленнее переднего, из-за чего возникала иллюзия глубины пространства и корректной перспективы. А Zaxxon (1982) показала, какими могут быть изометрические игры с иллюзией свободного передвижения по трёхмерному пространству.
Одновременно с традиционными способами создания графики существовали и альтернативные подходы. Один из них — ASCII-графика, в которой использовались текстовые символы для отрисовки элементов. Простота метода позволяла создавать удивительные экспериментальные игры. Например, в Rogue (1980), родоначальнице жанра roguelike, использовалась ASCII-графику, чтобы случайным образом генерировать локации. Благодаря этому каждое прохождение игры было уникальным.
Другой путь — интерактивное кино, в котором использовались заранее записанные фрагменты кино или анимации. В Astron Belt (1983) игрок управлял космическим кораблём, который бороздил космос и вступал в перестрелки с противниками. При этом корабль изображался с помощью спрайта, а фон был записанным заранее видео.
Dragon’s Lair (1983) была полноценным интерактивным мультфильмом — если игрок нажимал на правильную кнопку, включался новый фрагмент анимации и пользователь продвигался вперёд. Если же игрок допускал ошибку, то включался фрагмент, в котором главный герой погибал.
Но основная масса игр использовала именно спрайты, которые со временем становились всё более детализированными и сложными. Взгляните на пример из Street Fighter II (1991): персонаж — это не просто набор пикселей, в котором угадываются черты героя, а полноценное проработанное изображение с множеством деталей и собственными тенями. Постепенно таких игр становилось всё больше и больше.
Но это не значит, что все игры были однообразными и похожими друг на друга. Были разные способы выделиться на фоне остальных проектов. Один из них — анимация.
Анимирование объектов происходило по тому же принципу, что и в мультипликации — художник рисовал несколько кадров с разным положением отдельных частей, а затем кадры последовательно выводились, что создавало иллюзию движения. Обычно игровые художники самостоятельно отрисовывали кадры, но некоторые разработчики применяли технику ротоскопинга — они записывали видео движения объекта, а затем покадрово отрисовывали его. Благодаря этому в Prince of Persia (1989) настолько плавная и визуально приятная анимация.
А в Mortal Kombat (1992) в качестве спрайтов персонажей использовались оцифрованные кадры, и поэтому графика выглядела намного реалистичнее, чем в остальных файтингах того времени.
- Освойте профессию геймдизайнера с нуля
- Разработайте прототип и проведите балансировку собственной игры
- Научитесь составлять полный комплект проектной документации
Популяризация 3D
В первой половине 90-х стало появляться всё больше 3D-игр. Первые трёхмерные проекты возникли ещё в середине 70-х, но тогда они не стали популярными. Со временем ситуация изменилась.
В основе 3D-моделей лежит полигональная сетка — набор треугольников, которые определяют форму объектов. Если закрасить треугольники, то получится непрерывная поверхность. Затем на получившуюся форму можно «натянуть» текстуру — изображение, пиксели которого привязываются к вершинам полигонов.
Если взглянуть на устройство 3D-моделей более абстрактно, можно сказать, что они представляют собой пустое пространство, ограниченное полигональной сеткой. Это очень легко заметить из-за багов — если камера случайно провалится сквозь объект, то там будет лишь пустота.
В I, Robot (1983) 3D-объекты наконец утратили каркасный вид — полигоны были заполнены цветом, и игроки уже видели не абстрактные линии, а полноценные объекты. Кроме того, в игре присутствовало освещение, поэтому на объектах была собственная тень. Но 3D-игры всё ещё были редкостью, так как требовалось по-настоящему мощное железо, чтобы поддерживать их.
Значимым шагом для популяризации 3D-графики стал релиз Wolfenstein 3D (1992) и Doom (1993). Несмотря на то, что они позиционировались, как трёхмерные игры, это было не совсем так. Пользователь мог перемещаться по объёмному окружению, но все объекты были сделаны с помощью двумерных спрайтов.
Особенность движка этих игр заключалась в том, что он использовал метод рейкастинга, что позволяло рассчитывать только те поверхности, которые видны пользователю. Это позитивно сказывалось на производительности, поэтому Wolfenstein 3D и Doom могли запускаться на самых разных компьютерах.
В играх начала 90-х нередко совмещались 2D- и 3D-элементы. Например, в Alone in the Dark (1992) окружение состояло из плоских изображений, а подвижные элементы — из полигонов. Это позволяло экономить вычислительные ресурсы компьютеров.
Для создания реалистичной картинки важна корректная модель освещения. Но у ранних компьютеров не хватало на это вычислительных ресурсов, поэтому разработчики искали другие способы решения проблемы. Например, они «запекали» освещение в текстурах — тень создавалась не в реальном времени, а уже была «нарисована» на модели.
Со временем технология динамического освещения эволюционировала. Уже в Quake (1996) летящие снаряды освещали окружение в реальном времени.
Во второй половине 1990-х, как и в любое другое время, развитие графики не шло по какому-то одному пути. Многое зависело от технологий, которые были в распоряжении у компаний. Если на персональных компьютерах графика развивалась плавно и постепенно, то на консолях этот процесс происходил рывками — поколения приставок обновлялись раз в несколько лет. Именно поэтому некоторые визуальные особенности присущи только определённым консолям. Например, в играх на PlayStation у всех 3D-объектов было специфическое «подёргивание» при любых движениях или смене ракурса.
Появление новых технологий в области 3D
Постепенно в индустрии появлялись новые технологии, которые улучшали отдельные аспекты графики. Многие из них актуальны и сейчас, поэтому часто появляются в современных играх.
В начале 2000-х широкое применение получил метод затенения по Фонгу, при котором грани полигонов сглаживаются, а на некоторых поверхностях появляются блики.
Появилась технология антиалиасинга, которая сглаживает «лесенки» на краях объектов.
Стало применяться рельефное текстурирование. Оно визуально усложняет строение объектов и имитирует неровности, но при этом не добавляет полигонов.
К 2007 году появилась модель затенения ambient occlusion, улучшающая освещение. С её помощью можно рассчитать интенсивность света, доходящего до поверхности.
Разработчики начали применять технологию HDR, которая расширяет диапазон яркости — на экране одновременно отображаются как очень тёмные, так и очень светлые участки сцены.
В 2000-х стали популярны эффекты, придающие изображению реалистичности с помощью постобработки.
В 2010-х года прогресс в развитии графики замедлился: если раньше прорывы случались раз в пару лет, то сейчас это происходит значительно реже. Качество картинки в крупных высокобюджетных играх стало по-настоящему впечатляющим и приблизилось к фотореализму, хоть скриншоты до сих пор и сложно перепутать с реальными фотографиями.
Последнее поколение консолей вывело стандарты графики на новый уровень, пусть и не настолько сильно, как в предыдущие годы. Так как качество графики в ААА-играх поднялось примерно до одного уровня, студии переключили внимание на проработку отдельных аспектов, улучшающих общее впечатление от графики.
Например, всё чаще стала использоваться система частиц, которая важна для создания впечатляющих визуальных эффектов.
Для создания моделей и текстур начали применять метод фотограмметрии — разработчики фотографируют реальный объект с нескольких ракурсов, соединяют в программе, а затем из получившегося облака точек создают модели.
Последний наиболее значимый прорыв в области графики — появление видеокарт, которые поддерживают трассировку лучей. Эта технология позволяет имитировать реальное поведение лучей света, отражающихся от объектов.
Альтернативные пути
Игровая индустрия разнообразна и многогранна, поэтому далеко не все разработчики стремятся к реализму. Иногда это касается эстетических взглядов, а иногда — финансовых ограничений. В середине 2000-х появились удобные цифровые магазины, через которые независимые студии могли продавать свои игры.
Это стало огромным толчком для развития инди-сцены. У маленьких студий, состоящих из одного или нескольких человек, не было ресурсов для разработки игр с реалистичной графикой. Поэтому они начали экспериментировать с визуальным стилем. Этим же занимались и более крупные студии.
Во второй половине 2000-х стали популярны игры, выполненные в стилистике пиксель-арта. Её преимущество заключается в том, что для получения качественной и эстетически приятной графики не нужны продвинутые художественные навыки. Другая причина популярности — ностальгия по играм 80-х годов.
В условиях ограниченных ресурсов некоторые разработчики пошли по пути упрощения. Игры в стиле low-poly используют простые низкополигональные объекты.
Также стали применяться некоторые непопулярные и практически забытые техники. Например, в основе всех объектов в Minecraft (2009) лежат не полигоны или спрайты, а воксели — объёмные пиксели, из которых можно собирать целые игровые миры. Если в обычных 3D-объектах полигоны окружают пустое пространство, то воксельные объекты буквально состоят из вокселей, как из кирпичей. Эта особенность легла в основу геймплея Minecraft, потому что она позволила всячески менять окружение — разрушать объекты и строить что-то новое.
В 2000-х для стилизации под комиксы и мультфильмы разработчики начали использовать технику cel-shading. Игры с таким стилем отличаются чистыми цветами без градиентов, отсутствием плавного затенения, а также обводкой на контурах объектов. Но соответствие всем этим критериям — не обязательное правило.
Поиск необычных визуальных стилей продолжается и сейчас. Приведём несколько примеров игр с интересной графикой.
Отсутствие большого бюджета — это ещё не приговор. С помощью современных инструментов даже один человек может создать игру с реалистичной графикой. Хороший пример — независимый разработчик Цзэн Сяньчэн и его игра Bright Memory: Infinite (в процессе разработки).
Например, вместо того, чтобы вручную анимировать мимику персонажей, он отсканировал собственное лицо и использовал её в игре. А для создания деревьев с листвой Цзэн применял специализированную программу SpeedTree, в то время как студии обычно отрисовывают детали с нуля.
Знание разных инструментов и вдумчивый подход помогли разработчику-одиночке создать впечатляющую графику, которая может тягаться с некоторыми высокобюджетными играми.
В будущем качество графики будете постепенно расти, хоть и не настолько быстро, как на рубеже XX и XXI веков. Будет увеличиваться поддерживаемое разрешение, а также количество и качество визуальных эффектов. Скорее всего, трассировка лучей распространится повсеместно — новое поколение консолей уже должно поддерживать эту функцию.
Традиционно с развитием технологий растёт и количество полигонов в объектах — чем мощнее железо, тем больше информации оно может обрабатывать. Нет сомнений в том, что этот процесс продолжится и дальше, но, вероятно, и его ждут изменения.
Например, в этом году компания Epic Games анонсировала новую версию своего движка — Unreal Engine 5. Как говорят в Epic, он позволит работать именно с тем количеством полигонов, которое нужно. Разработчикам не придётся оптимизировать высокополигональные модели, снижать их качество и разбираться с уровнем детализации. Компания уже продемонстрировала сцену, в которой используется более 16 миллиардов полигонов.
Гонка за фотореализмом, скорее всего, будет длиться вечно. Но важно понимать, что далеко не всем играм необходима реалистичная графика. Есть множество проектов с уникальной эстетикой, которая появилась в результате творческих поисков и необычного видения авторов. Важность реалистичной графики неоспорима, но есть некоторые вещи, которые не зависят от количества полигонов и качества освещения.
Читать также
Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.