[recovery mode] История игровой графики: от нескольких лампочек до миллиардов полигонов

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

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

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

С чего всё начиналось: из лабораторий в аркадные залы и гостиные


Первые прототипы игр появились ещё в ранние годы существования компьютеров. У них не было экранов, поэтому информация выводилась с помощью лампочек. Примерно так работала одна из первых компьютерных игр в истории — Nimatron, созданная в начале 1940-х годов на основе правил настольной игры «ним».

e6gndl2zghgcqf_1t1ce2oo0uak.png


Схема и изображение Nimatron

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

Важным шагом на этом пути стала игра «Крестики-нолики», которая выводила информацию с помощью электронно-лучевой трубки — она формировала игровое поле размером 35×15 точек. Игра появилась в 1952 году, но никто за пределами Кембриджа её не увидел.

xdoevholjtmkirftkclpblie4eu.png


«Крестики-нолики»

Через шесть лет, в 1958 году, появилась игра «Теннис для двоих», экраном которой выступал осциллограф. Функция экрана в игре была предельно утилитарной: ни одного лишнего элемента — только поле и сам «мячик». Даже ракетки не отображались.


Tennis for Two — The Original Video Game

Следующим заметным шагом стала игра Spacewar! (1962) для компьютеров PDP-1. На первый взгляд кажется, что графика мало изменилась по сравнению с предшественницей, но это не совсем так. ЭЛТ-дисплей мог отображать до 20 тысяч точек в секунду, что позволяло не только показать главные игровые элементы, но и добавить побочные. Например, фон из звёзд, который не влияет на геймплей, но создаёт антураж космического сражения. Именно Spacewar! стала одной из первых игр, в которых графика — это выразительное средство, поддерживающее фантазию игроков, а не просто функциональный инструмент вывода информации.


Restored PDP-1 Demonstration

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

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


1972 Magnavox Odyssey promotional film

Несмотря на то, что до 3D-графики играм ещё было далеко, разработчики стремились сделать хотя бы имитацию объёмного мира. Одной из первых таких игр стала Maze War (1973) — первый шутер от первого лица, в котором была воссоздана линейная перспектива, а игрок мог свободно перемещаться по окружению.

kpi1nll8jlqmvvjku0mtnyisl3q.png


Maze War. Игроки перемещались по абстрактному лабиринту и сражались друг с другом. Несмотря на простоту графики, она отлично справлялась с главной задачей — созданием трёхмерного виртуального пространства

Были версии Maze War как для векторных экранов, так и для растровых. Разница между этими типами двумерной графики заключается в следующем. 

Двумерная растровая графика работает на основе сетки «растров» — пикселей, каждый из которых обладает своим цветом, насыщенностью и яркостью. Из этих пикселей, как из мозаики, можно собрать полноценное изображение. Но недостаток подхода заключается в «лесенках», которые образуются на границах каждого растрового объекта. Именно этот тип графики лежит в основе 8- и 16-битных игр, например, Pac-Man (1980), Super Mario Bros. (1985) и других.

Двумерная векторная графика устроена иначе: можно сказать, что в её основе лежат геометрические примитивы — точки, прямые, окружности, прямоугольники. Каждый вектор обозначается координатами двух точек — X и Y. Векторные объекты выглядят аккуратнее и «качественнее», чем растровые. 

Пионеры 3D-графики использовали векторные линии, чтобы показывать упрощённые объёмные объекты. Хороший пример — игра Spasim (1974), в которой объекты состоят из »3D-каркасов».

m7admidligiemlbyjzctuk139cu.png


Spasim. Из-за каркасного строения игроки могли видеть даже обратную сторону объектов. Всё изменилось, когда появилась возможность закрашивать полигоны

Эпоха цветных спрайтов


Другим важным рубежом стало появление цветной графики. Ранние компьютеры имели совсем небольшие объёмы оперативной памяти, поэтому графическая информация не должна была занимать слишком много места. Для монохромных игр было достаточно одного бита, для 16 цветов — четырёх битов, а восемь бит позволяли увеличить количество цветов сразу до 256. 

В конце 70-х и начале 80-х персональные компьютеры всё ещё были роскошью. Зато подскочила популярность аркадных автоматов. Там же появились и первые цветные игры, потому что у автоматов хватало памяти для отображения цвета. 

Появление цветной графики стало очередным витком развития игр. Дело было не только в эстетике: это влияло на весь игровой процесс. Например, в Pac-Man каждый призрак обладал уникальным поведением, а цвет помогал отличать одного от другого. 

kroudzrhp0gc1vzrp8tpltainxc.png


Pac-Man

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

hek-bvhab5hqqoewil943dnzlq4.png


Пример отрисовки спрайтов на бумаге для Pac-Man

Например, изображения для Super Mario Bros. приходилось сперва рисовать на целлулоиде, раскрашивать, а лишь затем оцифровывать. Если для этой игры размеры листов были средними, то для Punch Out!!! (1983) приходилось использовать листы размером со стол.

het81z3opifrem1t6jd9ylct-bo.png


Пример отрисовки спрайтов Марио на целлулоиде

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

Другая проблема возникала с самим использованием компьютеров — это были сложные устройства, поэтому даже художники должны были обладать навыками программистов. Например, при создании Solomon«s Key (1986) приходилось использовать шестнадцатеричную кодировку для оцифровки каждой клетки спрайта.

mzhydxxlc5ohlumskg0968dkbsw.png


Solomon«s Key

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

Вместе с этим в играх начали появляться разные визуальные эффекты. Super Speed Racer (1979) привнесла скроллинг, благодаря которому окружение перемещалось сверху вниз и создавало ощущение движения. Эффект параллакс-скроллинга в двумерной Moon Patrol (1982) делал так, чтобы при движении объекта дальний план передвигался медленнее переднего, из-за чего возникала иллюзия глубины пространства и корректной перспективы. А Zaxxon (1982) показала, какими могут быть изометрические игры с иллюзией свободного передвижения по трёхмерному пространству.

vsuemdzzns7o6jkpr8lxvc-kdpy.png


Zaxxon

Одновременно с традиционными способами создания графики существовали и альтернативные подходы. Один из них — ASCII-графика, в которой использовались текстовые символы для отрисовки элементов. Простота метода позволяла создавать удивительные экспериментальные игры. Например, в Rogue (1980), родоначальнице жанра roguelike, использовалась ASCII-графику, чтобы случайным образом генерировать локации. Благодаря этому каждое прохождение игры было уникальным.

ve0yg0sx4v1aofohoo_l32_0pk0.png


Rogue

Другой путь — интерактивное кино, в котором использовались заранее записанные фрагменты кино или анимации. В Astron Belt (1983) игрок управлял космическим кораблём, который бороздил космос и вступал в перестрелки с противниками. При этом корабль изображался с помощью спрайта, а фон был записанным заранее видео.

Dragon«s Lair (1983) была полноценным интерактивным мультфильмом — если игрок нажимал на правильную кнопку, включался новый фрагмент анимации и пользователь продвигался вперёд. Если же игрок допускал ошибку, то включался фрагмент, в котором главный герой погибал.

ojrm26yhehibzo8y2-ufol_gxdg.png


Dragon«s Lair

Но основная масса игр использовала именно спрайты, которые со временем становились всё более детализированными и сложными. Взгляните на пример из Street Fighter II (1991): персонаж — это не просто набор пикселей, в котором угадываются черты героя, а полноценное проработанное изображение с множеством деталей и собственными тенями. Постепенно таких игр становилось всё больше и больше.

2krenqeamj0soi28d6hvbta95ku.png


Street Fighter II

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

Анимирование объектов происходило по тому же принципу, что и в мультипликации — художник рисовал несколько кадров с разным положением отдельных частей, а затем кадры последовательно выводились, что создавало иллюзию движения. Обычно игровые художники самостоятельно отрисовывали кадры, но некоторые разработчики применяли технику ротоскопинга — они записывали видео движения объекта, а затем покадрово отрисовывали его. Благодаря этому в Prince of Persia (1989) настолько плавная и визуально приятная анимация.

А в Mortal Kombat (1992) в качестве спрайтов персонажей использовались оцифрованные кадры, и поэтому графика выглядела намного реалистичнее, чем в остальных файтингах того времени. 

osrmkyq6gpkw1oi8llf5kttghru.png


Mortal Kombat

Популяризация 3D


В первой половине 90-х стало появляться всё больше 3D-игр. Первые трёхмерные проекты возникли ещё в середине 70-х, но тогда они не стали популярными. Со временем ситуация изменилась. 

В основе 3D-моделей лежит полигональная сетка — набор треугольников, которые определяют форму объектов. Если закрасить треугольники, то получится непрерывная поверхность. Затем на получившуюся форму можно «натянуть» текстуру — изображение, пиксели которого привязываются к вершинам полигонов. 

Если взглянуть на устройство 3D-моделей более абстрактно, можно сказать, что они представляют собой пустое пространство, ограниченное полигональной сеткой. Это очень легко заметить из-за багов — если камера случайно провалится сквозь объект, то там будет лишь пустота.   

В I, Robot (1983) 3D-объекты наконец утратили каркасный вид — полигоны были заполнены цветом, и игроки уже видели не абстрактные линии, а полноценные объекты. Кроме того, в игре присутствовало освещение, поэтому на объектах была собственная тень. Но 3D-игры всё ещё были редкостью, так как требовалось по-настоящему мощное железо, чтобы поддерживать их.

2slsogz037y1pi2sxnb_9-co8d4.gif

Значимым шагом для популяризации 3D-графики стал релиз Wolfenstein 3D (1992) и Doom (1993). Несмотря на то, что они позиционировались, как трёхмерные игры, это было не совсем так. Пользователь мог перемещаться по объёмному окружению, но все объекты были сделаны с помощью двумерных спрайтов. 

Особенность движка этих игр заключалась в том, что он использовал метод рейкастинга, что позволяло рассчитывать только те поверхности, которые видны пользователю. Это позитивно сказывалось на производительности, поэтому Wolfenstein 3D и Doom могли запускаться на самых разных компьютерах.

hh47o_inl7bbvxlbexjkkdxwclk.png


Wolfenstein 3D

В играх начала 90-х нередко совмещались 2D- и 3D-элементы. Например, в Alone in the Dark (1992) окружение состояло из плоских изображений, а подвижные элементы — из полигонов. Это позволяло экономить вычислительные ресурсы компьютеров.

8c0kmwqgiognokll1nxjesznslm.png


Alone in the Dark

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

Со временем технология динамического освещения эволюционировала. Уже в Quake (1996) летящие снаряды освещали окружение в реальном времени. 

tcnfc0bi_3vgxc66k-6vxlhrlug.png


Metal Gear Solid (1998). Все тени здесь статичные и зафиксированы прямо в текстурах. Единственное исключение — под персонажами находятся тени, которые выглядят как тёмные пятна и всюду следуют за ними

Во второй половине 1990-х, как и в любое другое время, развитие графики не шло по какому-то одному пути. Многое зависело от технологий, которые были в распоряжении у компаний. Если на персональных компьютерах графика развивалась плавно и постепенно, то на консолях этот процесс происходил рывками — поколения приставок обновлялись раз в несколько лет. Именно поэтому некоторые визуальные особенности присущи только определённым консолям. Например, в играх на PlayStation у всех 3D-объектов было специфическое «подёргивание» при любых движениях или смене ракурса.

Появление новых технологий в области 3D


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

В начале 2000-х широкое применение получил метод затенения по Фонгу, при котором грани полигонов сглаживаются, а на некоторых поверхностях появляются блики.

zhoiaj0nqlfsqpn7c1n8zjg0d0k.png


На этом скриншоте из Planet Harriers (2000) на костюме героя видны блестящие элементы

Появилась технология антиалиасинга, которая сглаживает «лесенки» на краях объектов.

inbn-0arey5dbfl7x-4p8gkg4r8.png


Пример из Half-Life 2 (2004). Слева изображение без сглаживания, а справа — с ним

Стало применяться рельефное текстурирование. Оно визуально усложняет строение объектов и имитирует неровности, но при этом не добавляет полигонов.

orzrho1otnvvnypoligk7f2j0mm.jpeg


Doom 3 (2004). Стены выглядят объёмными из-за рельефного текстурирования. Этот эффект не везде выглядит хорошо

К 2007 году появилась модель затенения ambient occlusion, улучшающая освещение. С её помощью можно рассчитать интенсивность света, доходящего до поверхности. 

4srzr8zsi3kt9tprwxhjom6g8ww.png


Crysis (2007)

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

l3vj8o2dbyrxssvhuaexkoepbim.png


Half-Life 2: Lost Coast (2005).

В 2000-х стали популярны эффекты, придающие изображению реалистичности с помощью постобработки. 

uikgyhxe3oo56gs2jrtzwngeyxk.png


Эффект motion blur «смазывает» изображение при движении. Need for Speed: Most Wanted (2005)

vbrmr0pgsrwc4wfetc8typxmaz8.png


Эффект bloom добавляет свечение самым ярким участкам кадра. Также вокруг них появляется ореол, что делает изображение кинематографичнее. Пример из Gears of War (2006)

6njhgrcqt9dfci3lncbshafv9sc.png


Эффект depth of field (глубина резкости) размывает объекты, находящиеся не в фокусе. Это позволяет сконцентрировать внимание на самой важной части сцены. Пример из Silent Hill 3 (2003)

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

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

Например, всё чаще стала использоваться система частиц, которая важна для создания впечатляющих визуальных эффектов. 

2twfkig_b_l0vj2_it1w7xemzsw.png

 
InFamous: Second Son (2014)

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

jjdocydnzymgdxpja8_mxhwacsa.png


В Star Wars: Battlefront (2015) с помощью фотограмметрии создавались естественные объекты окружения

fsyvyrgrwqjlu_risvl5c3e5iyq.png


В Red Dead Redemption 2 (2018) разработчики уделили особое внимание влиянию погоды и облаков на освещение в игровом мире

pz_rjxya1pkdc3fdw95iye_zpkk.png


Detroit: Become Human отличается проработанной системой отражения света у кожи. Взгляните на ухо андроида: оно просвечивает, из-за чего выглядит красноватым. Разработчики специально добавили этот эффект для реалистичности

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

ivvhrn8atjnu5cccsdww2dkt7kw.png


Слева скриншот с трассировкой лучей, а справа — без. Разница в отражениях очевидна. Пример из Control (2019)

Альтернативные пути


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

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

Во второй половине 2000-х стали популярны игры, выполненные в стилистике пиксель-арта. Её преимущество заключается в том, что для получения качественной и эстетически приятной графики не нужны продвинутые художественные навыки. Другая причина популярности — ностальгия по играм 80-х годов. 

l9kmdqmqbby0joold-vvkw6so3u.png


Undertale (2015)

В условиях ограниченных ресурсов некоторые разработчики пошли по пути упрощения. Игры в стиле low-poly используют простые низкополигональные объекты. 

0lhxkgwjgeh3uvmap4c0zrunwpo.png


Grow Home (2015)

Также стали применяться некоторые непопулярные и практически забытые техники. Например, в основе всех объектов в Minecraft (2009) лежат не полигоны или спрайты, а воксели — объёмные пиксели, из которых можно собирать целые игровые миры. Если в обычных 3D-объектах полигоны окружают пустое пространство, то воксельные объекты буквально состоят из вокселей, как из кирпичей. Эта особенность легла в основу геймплея Minecraft, потому что она позволила всячески менять окружение — разрушать объекты и строить что-то новое. 

afmlyovmiu64ayrrvryofkrridu.png


Minecraft
На основе вокселей можно создать мир с продвинутыми разрушаемостью и физикой. Пример из Teardown (в процессе разработки)

В 2000-х для стилизации под комиксы и мультфильмы разработчики начали использовать технику cel-shading. Игры с таким стилем отличаются чистыми цветами без градиентов, отсутствием плавного затенения, а также обводкой на контурах объектов. Но соответствие всем этим критериям — не обязательное правило.

bqguuak8pur1zjkohgreq3c360y.png


Техника cel-shading в Okami (2006)

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

6hthathpdlz-epnyawlwpb4z8ka.png


Superhot (2016):  стильная и минималистичная low-poly графика с интуитивно понятной цветовой индикацией игровых объектов

xs71ua3tac8og-3mdpniqnpmg2e.png


Cuphead (2017): графика игры создавалась под влиянием работ аниматоров 1930-х годов

td4jjcdywsbp4ge-qe-mknmgdmu.png


Limbo (2010): чёрно-белая эстетика, напоминающая театр теней

ey_41wlbl5zh89frwhaxi3lsrws.png


Ape Out (2019): минимализм и отсутствие деталей, а также имитация напечатанного изображения и плакатной графики

g7pihcpp-lppaj3nt0rs0tms8xw.png


Monument Valley (2014): простая изометрия, которая позволила реализовать главную особенность игры — невозможную геометрию и оптические иллюзии

Отсутствие большого бюджета — это ещё не приговор. С помощью современных инструментов даже один человек может создать игру с реалистичной графикой. Хороший пример — независимый разработчик Цзэн Сяньчэн и его игра Bright Memory: Infinite (в процессе разработки). 

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

0avzyxe1xy6gmtu92arvw8bk5hs.png


Bright Memory: Infinite

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

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

Например, в этом году компания Epic Games анонсировала новую версию своего движка — Unreal Engine 5. Как говорят в Epic, он позволит работать именно с тем количеством полигонов, которое нужно. Разработчикам не придётся оптимизировать высокополигональные модели, снижать их качество и разбираться с уровнем детализации. Компания уже продемонстрировала сцену, в которой используется более 16 миллиардов полигонов.

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

Материал подготовил Владимир Семыкин.

Освоить профессию с нуля можно на курсе «Геймдизайнер» в Нетологии.

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

© Habrahabr.ru