Академический Документы
Профессиональный Документы
Культура Документы
Графика с первой PlayStation - как она была устроена и как добиться такого же эффекта · XYZ Media
Графика с первой PlayStation - как она была устроена и как добиться такого же эффекта · XYZ Media
75 3
Разбираемся, какая специфика была у «железа» консоли и почему у старых игр именно такая графика.
На фоне общего повального увлечения ретро всё сильнее набирает популярность стилизация графики под пятое
консольное поколение. А именно — под первую PlayStation, с её грубыми моделями и «дрожащей» картинкой.
Современные инди-авторы и даже целые студии подражают такой графике, а также создают демейки
современных игр.
Ностальгия по низким полигонам не заканчивается на графике одной лишь PS1. Похожая картинка была в играх
для Nintendo 64, Sega Dreamcast, Nintendo DS и некоторых PSP-тайтлах.
В этом тексте мы расскажем о том, как разрабатывались игры для PS1, с какими ограничениями сталкивались
создатели, а также как современные разработчики воссоздают ретро-графику в своих проектах.
Специфика PS1
Все особенности графики PS1 упираются в аппаратные ограничения. При довольно скромном железе — у PS1 был
всего один мегабайт памяти — консоль могла обрабатывать 360 тысяч полигонов в секунду или 12 тысяч на один
кадр, если учесть, что игра работает при 30 fps. Однако из-за общей нагрузки на железо более 10 тысяч полигонов
в кадре разработчики старались не использовать. Видеочип выдавал картинку в разрешении от 256x224 до
640x224 (224p).
Silent Hill
Игры для PS1 распространялись на CD-дисках, размером всего 700 мегабайт. Если игра занимала больше места,
разработчикам приходилось искусственно уменьшать размер образа. Поэтому многие проекты записывались на
диски в 15-битном цвете (32768 цветов) вместо заявленных 32 бит (16 миллионов цветов).
Когда количество цветов уменьшалось, в играх возникали так называемые полосы Маха. Это оптическая
иллюзия, из-за которой еле различимые оттенки одинаковых цветов при соприкосновении друг с другом
становились ярче.
Эффект полос Маха в одной картинке
Чтобы избавиться от этих полос, разработчики использовали дизеринг. Он подмешивал шум в картинку, который
создавал иллюзию высокой детализации при очень низкой глубине цвета. Таким образом полосы Маха
сглаживались и не так сильно бросались в глаза.
Сейчас дизеринг широко используется в современных мобильных играх для уменьшения объёма передаваемых
данных, а Лукас Поуп сделал его важной частью визуальной составляющей детектива Return of the Obra Dinn
(2018).
Return of the Obra Dinn
8.29 s SD
1.1K views
Также из-за видеопамяти разработчикам приходилось сильно экономить на массовке и детализации окружения,
часто используя плоские низкодетализированные спрайты.
Star Wars Episode I: The Phantom Menace
Ещё разработчикам нужно было уменьшать дальность обзора и детализацию. На отрисовку большого количества
моделей с высокой детализацией мощности не хватало. Так создатели Spider-Man просто разместили здания в
воздухе и скрыли пустоту за туманом:
А в Pepsiman уровень подгружался прямо на ходу, за петляющим горизонтом:
1X SD
1.3K views
Ну и известный на весь мир туман из первой Silent Hill появился как решение проблемы с прорисовкой:
Современные игры требуют вплоть до 16 гигабайт ОЗУ. У PS1 было всего 2 мегабайта оперативной памяти, и
разработчикам приходилось придумывать хитрый код, который быстро удалял пройденные игроком участки
уровней и на ходу подгружал новые куски.
По словам Дэйва Бэггета из Naughty Dog, в первой Crash Bandicoot каждый из уровней весит по 10 мегабайт, и
весь этот объём нужно было по частям подгружать и выгружать незаметно для глаза игрока. В итоге
разработчикам пришлось написать специальный файл подкачки, который делил контент на страницы по 64
килобайта.
Система по мере прохождения уровня подгружала и выгружала страницы с материалами из памяти консоли. Для
этого авторам пришлось задействовать самые разные методы оптимизации, включая высокоуровневый
менеджмент памяти и управление физическим расположением байтов на диске. Это позволяло консоли даже
при скорости в 300 килобайт в секунду успевать подгрузить все нужные участки уровня.
Crash Bandicoot
В силу технических ограничений персонажи в играх с PS1 — низкополигональные. Обычно игры того времени
держались жёсткого правила — 500-600 треугольников на важных персонажей для среднестатистической игры
от третьего лица.
Например, персонажи JRPG Vagrant Story состоят примерно из 500 треугольников, а главные персонажи первой
Metal Gear Solid — из 650. Сейчас в играх используют гораздо больше полигонов. Например, в Uncharted 4 модель
Нейтана Дрейка состоит из более 80 тысяч треугольников, а модель Биг Босса из Metal Gear Solid 5 — из 18 тысяч.
Модели персонажей Vagrant Story без текстур
Также во времена PS1 многие разработчики создавали 3D-модели героев из разных частей. Яркий пример —
Metal Gear Solid. Руки персонажей сделаны как отдельные объекты и прикреплены к туловищу:
Эта хитрость позволяла создать более детальную и сложную анимацию, расширяя диапазон движений. Правда,
иногда это смотрелось странно.
1.36 s SD
957 views
Часто художники размещали все текстуры на одном атласе, а прямые линии на нём отображаются как прямые
линии на моделях. Это делали для того, чтобы облегчить развёртку текстур в трёхмерном пространстве.
Опять же, в силу ограничений приставки при создании окружения разработчики тоже хитрили. Например, в
большинстве игр для экономии ресурсов вместо глобального источника света использовали запекание
освещения — имитацию игры света благодаря размещённых поверх моделей текстурам. Свет рисовался на
отдельном слове, поэтому каждый раз рисовать новую текстуру не было необходимости.
Обратите внимание, что большая часть освещения и лучей в Silent Hill нарисованы поверх текстур
Crash Bandicoot
В качестве примера можно взять часть окружения из Vagrant Story. В текстурах декораций нет запечённого
освещения. Иллюзия света сделана как раз благодаря цвету вершин.
В Spyro the Dragon вертексы используются не только для имитации освещения декораций, но и для освещения
скайбокса:
А разработчики Animal Crossing для Nintendo 64 и вовсе отрисовали весь ландшафт как одну большую текстуру с
нарисованными поверх неровностями и ямами. Эффекта объёма достигли иллюзией, при этом сама текстура —
полностью плоская. Художники не использовали карты нормалей.
Animal Crossing
Текстура создана в очень низком разрешении 64x64, при этом в ней использовано всего 9 цветов. Она
многократно повторяется, однако благодаря разным мелким деталям это не бросается в глаза. Таким образом
разработчики сильно сэкономили ресурсы системы.
В переводе с английского слово «demake» является полной противоположностью слова «remake». Если ремейк
подразумевает переделку, обновление и переосмысление чего-то старого, то демейк — намеренное «ухудшение»
нового.
Демейк — переработка современной игры, попытка фанатов представить, как бы она смотрелась в девяностых
или двухтысячных, на железе винтажной консоли, вроде PS1, Dreamcast или Game Boy. Обычно это нишевые
домашние проекты, которые создаются в первую очередь для души.
If Uncharted was made in 1998
Многие современные разработчики выросли на играх с PS1 и стилизация для них — своего рода любовное
письмо и способ выразить восхищение играми детства. Среди самостоятельных проектов, использующих
стилизованную ретро-графику — Paratopic, Postal: Brain Damage, Vaccine, Back to 1995, Night of the Consumers,
HROT и многие другие.
Воссоздание атмосферы
Современные разработчики, занимающиеся играми с ретро-стилизацией, для воссоздания различных эффектов
из эпохи PS1 используют различные инструменты и ухищрения. Это нужно не только для стилизации визуальной
части, но и для создания необходимого настроения.
Такааки Итидзё, создатель ретро-хоррора Back in 1995 и экшена Demolition Robots K.K, серьёзно подходит к делу,
изучает технические спецификации и воссоздаёт все возможные графические недочёты игр девяностых. Только
так, по его мнению, можно перенести необходимую атмосферу в свой проект.
Demolition Robots K.K
Такааки использует уже готовые шейдеры для движков, которые продаются в контент-шопах Unity и Epic.
Например, шейдер Retro 3D для Unity. Он самостоятельно стилизует картинку под PS1 и не требует глубоких
настроек. Также Retro 3D легко может адаптировать изображение под специфику движков Id Tech 1 и Id Tech 2.
А для Unreal Engine 4 разработчик советует использовать плагин Oldskooler. Он работает примерно также как и
Retro 3D — позволяет за пару кликов создать необходимую ретро-стилизацию и выбрать нужные эффекты.
С подходом Такааки согласен и Тони Кортелати, автор психоделического хоррора OK/NORMAL. При создании
своих проектов он опирается лишь на геймплейные механики и дизайн старых игр. Именно в этих двух аспектах
содержится львиная доля атмосферы.
Back in 1995
В Back in 1995 Такааки пошёл на хитрость и сделал фальшивые экраны загрузки между комнатами. Во времена
PS1 такие переходы были практически в каждом хорроре, так как у консоли был двухскоростной привод, и для
чтения данных с диска ей нужно было несколько секунд. Чтобы замаскировать загрузку, воспроизводился ролик
— как, например, в первой Resident Evil, где открывалась дверь.
Но этот приём не только скрывал переход между локациями, но и работал на атмосферу — за дверью могло
таиться что угодно, и это вызывало у игроков стресс. Сейчас подобных ограничений уже не существует, однако
Такааки понял, что загрузки — важная часть атмосферы.
Ещё один приём заключается в том, чтобы создавать ролики игр в формате Motion JPEG — ведь именно в нём
записывались пререндеренные кат-сцены для игр девяностых. Разрешение таких роликов — 320x240 (30 кадров
в секунду) или 640x240 (15 кадров в секунду).
Tekken 3 intro (HD)
Если вам нужно сжать видео и превратить его в Motion JPEG, Такааки советует использовать этот шейдер.
Back in 1995
Именно воссоздание мелочей, по мнению Такааки, сделает картинку достоверной и разбудит внутреннего
ребёнка внутри игрока.
Обычно соблюдают лимит в 600 треугольников и убирают все лишние детали, которые ничего не добавляют к
дизайну и силуэту персонажа. Подобным принципом пользуются уже несколько десятилетий, даже в играх для
более мощных приставок. Например, в Metal Gear Solid: Peace Walker для PSP персонажи состояли из 1500
треугольников. Каждый из них важен в общем дизайне модели.
Модель героя из Metal Gear Solid: Peace Walker
Когда лоуполи модель полностью готова, к ней рисуют текстуры. Сейчас все привыкли к HD-текстурам и 4K,
однако при стилизации используют низкие разрешения, а также фильтрацию. Она сглаживает крупные пиксели.
Текстуры для основных персонажей рисуют в разрешении 256x256 (100-120 цветов на весь атлас), а
второстепенных — в 128x128.
Модели героини Dino Crisis
Тони Кортелати в статье для Gamesradar рассказал о своём пайплайне создания стилизованных ретро-моделей.
Он использует стандартный текстурный лист. Такой-же, например, брали за основу разработчики оригинальной
Resident Evil.
В разных частях атласа располагаются разные части тела персонажа. Тони ищет текстуры в сети — скриншоты и
фото, которые потом обрабатывает в Photoshop. Например, для создания выжившего из Fallout 4 он использовал
скриншоты напрямую из игры Bethesda, нарисовав поверх лишь волосы. Разрешение такой текстуры — 256x256.
Тони перекодировал готовую текстуру из RGB в индексированный цвет без сглаживания — так делали в
девяностых. Подобные манипуляции, по словам Тони, делают текстуру винтажнее.
Тони создаёт ролики-демейки, воображая, как бы выглядели современные игры, если бы они вышли в конце
девяностых. Так, основами для его видео послужили уже упомянутая Fallout 4, Uncharted и Outlast. После
создания персонажей автор помещает их в специальные декорации, созданные для роликов:
А вот большой и подробный стрим с поэтапным созданием стилизованного Сэма Бриджеса из Death Stranding:
Поделиться:
Нет комментариев
Войти Войди, чтобы оставить комментарий
24 0 6 марта в 12:46
Новое
Валентин Шакун Разработка
Pavel Tiupa
14 2 5 марта в 21:27
Эмоциональный нарратив. Как в Sky:
Children of the Light добились
реиграбельности через сообщество.
Pavel Tiupa Разработка
3 0 12 марта в 11:07
Валентин Шакун
2 0 Сегодня в 4:03
Недельный геймдев: #7 — 28 февраля,
2021
7 0 5 марта в 17:03
Юрий Кулагин Разработка
27 2 18 февраля в 17:51
Валентин Шакун
В этом выпуске: вышел Blender 2.92 и бесплатная версия UModeler Lite, Houdini
Engine для Unreal и Unity теперь бесплатен, Epic Games поделились примером DMX
Артемий Леонов
проекта, а разработчикам игр для Steam тепе…
Курс «Менеджмент игровых проектов»
от XYZ School
7 0 5 марта в 17:03
0 0 24 февраля в 21:44
Anheym
13 0 25 февраля в 22:14
Опрос для любителей визуальных
новелл
1 0 23 февраля в 18:16
16 0 11 февраля в 20:05
Андрей Апанасик
Недельный геймдев: #5 — 14 февраля,
Ефим Гугнин Разработка 2021
фантастика?
Больше нового
12 3 12 февраля в 20:40
10 0 24 февраля в 14:33
Показать еще
Мы в бета-версии
Нам очень важен любой фидбэк. Всплыли баги? Непонятно, куда нажимать? Есть идея, как улучшить сайт?
Пишите в форму обратной связи.
Написать
Игры
Разработка
Дизайн уровней
Полезное
Обо всём
Разработано в