Прежде чем перейти к анализу игры, стоит поговорить про ее технологии. Потому как Wolfenstein 3D совершила техническую революцию: на медленных компьютерах появилось псевдо-3D на скоростях, сравнимых с консолями. Что значит «псевдо-3D»? Если вы посмотрите на геймплей Wolfenstein 3D, она покажется вам трехмерной: можно крутить головой на все 360 градусов, видны пол и потолок, враги двигаются в пространстве во все четыре стороны – как и вы.
Wolfenstein 3D и ее псевдотрехмерный движок Wolfenstein 3D Engine стали, по сути, точкой отсчета графических технологий в шутерах от первого лица. Поэтому на этом примере мы и разберем базовые важные термины и вообще работу графики в играх прошлого тысячелетия.
Итак, Wolfenstein 3D Engine построен на системе сетки из тайлов и рейкастинга. Представьте себе лист бумаги в клеточку. Каждая клеточка – это тайл, единица пространства, которая может быть, например, маленькой комнаткой. Тайл содержит информацию: с какой стороны стоят стены и как они выглядят, есть ли внутри какой-нибудь предмет или существо. Три тайла в ряд, ограниченные по сторонам стенами, становятся длинным коридором, а четыре, расположенные квадратом 2 × 2, – просторной комнатой. На системе таких клеточек построены все классические компьютерные ролевые игры про исследование подземелий.
По этому листу бумаги перемещается ваш персонаж. С каждым кадром игры от его позиции исходят «лучи», которые ударяются об объекты на тайлах. Встретив препятствие (например, стену), лучи собирают о нем информацию и выводят его на экран в виде двухмерного рисунка, который за счет манипуляций с перспективой кажется объемным. Эта технология так и называется – «бросание лучей», или ray casting. Она позволила Wolfenstein 3D работать быстрее обычных тайловых игр, потому что при любом изменении картинки на экране компьютер обрабатывает заново лишь поле зрения героя, а не весь уровень целиком.
В современных по-настоящему трехмерных видеоиграх персонаж, сделанный в 3D-графике, представляет собой сложную объемную конструкцию: скелет модели для анимирования, полигоны, поверх них текстуры. В 2D же есть понятие «спрайт» (sprite) – этакая плоская «картонка», которая двигается по экрану и изображает персонажа или объект. Чтобы создать иллюзию объема, рисуют несколько вариаций спрайта в разных ракурсах. Когда монстр поворачивается к вам боком, его картинка «анфас» меняется на картинку «профиль» по принципу покадровой анимации в мультфильмах.
В силу ограничений технологий тех лет пространство в Wolfenstein 3D – это однооэтажные казематы, собранные из одинаковых по высоте и форме комнат-тайлов. Игрок не может перейти этажом выше в рамках уровня или помещения – как и присесть, подпрыгнуть, посмотреть вниз или вверх. Все стены сочленяются с полом и потолком под прямым углом. По факту, любой уровень Wolfenstein 3D – это такой примитивный мышиный лабиринт с квадратными изгибами и переходами. И при этом чудовищно однообразный: в игре нет перепадов освещения (все помещения яркие, будто залитые студийным светом), нет движущихся элементов – разве что открываемые двери и фальшивые стены, – и крайне мало декоративных объектов вроде мебели или картин.
Стоит заметить, что в игре-ровеснице Ultima Underworld: The Stygian Abyss (1992), RPG в псевдотрехмерном пространстве, все перечисленные фишки присутствовали. В плане имитации 3D она обгоняла игры id Software: потолки разных высот появятся только в DOOM (1993), а прыжки