Interested Article - Wolfenstein 3D engine
- 2021-08-18
- 1
Wolfenstein 3D engine — псевдотрёхмерный игровой движок , разработанный для игры Wolfenstein 3D , вышедшей 5 мая 1992 года. Движок разрабатывался преимущественно Джоном Кармаком , главным программистом компании id Software .
С 1995 года исходный код движка доступен по лицензии GNU GPL , вместе со всей игрой Wolfenstein 3D .
Технические характеристики
Движок Wolfenstein 3D engine обладает не самыми революционными для своего времени возможностями, но является специально оптимизированным под более низкие
системные требования
компьютера.
Он реализует
VGA
графику
(
рейтранслитинговая
), звук (
WAV
и
IMF
),
физику
и управление.
Написан на
Си
и
ассемблере
x86
.
Особенности:
- Все объекты отображаются в виде спрайтов .
- Текстурированные стены.
- Для отсечения невидимых стен и их граней используется рейкастинг .
- VGA графика
- Возможность использования звуковой карты вместо встроенного динамика
Ограничения:
- Большинство ограничений связаны с тем, что игровая карта размещалась на двухмерной сетке, то есть фактически была двухмерной.
- Невозможно движение по вертикали (в третьем измерении).
- Не поддерживается различие геометрической высоты.
- Не поддерживаются различия в освещенности.
- Стены могут быть ориентированы только как «север-юг» или «запад-восток».
- Невозможны наклонные поверхности.
Описание работы
Для отрисовки сцен используется метод Ray casting
Мир в Wolfenstein 3D построен на квадратной сетке из стен однородной высоты и ровных сплошных полов и потолков. Для отрисовки игрового уровня из области наблюдения «выпускается» луч, который проходит через каждый столбец пикселей на экране. Далее алгоритм проверяет, не пересёк ли луч стену, и если пересёк, то в соответствии с этим выбирает и масштабирует текстуру стены согласно тому, где на уровне луч «столкнулся» со стеной и насколько далеко он распространился до этого. Далее создается одномерный буфер, в котором располагаются масштабированные спрайты, которые изображают врагов, бонусы и предметы.
Создание уровней, основанных на сетке, преследовало две цели — столкновения луча и стены могут быть найдены более быстро, так как потенциальные столкновения становятся более предсказуемыми и сокращается потребление памяти. Однако обработка открытых пространств становится затруднительной.
Игры, использующие движок Wolfenstein 3D
После Wolfenstein 3D на этом движке были выпущены следующие игры:
- Blake Stone: Aliens of Gold
- Blake Stone: Planet Strike
- Operation Body Count
- Corridor 7
- Sonic’s Schoolhouse
- Spear of Destiny
- Super 3D Noah's Ark
- Rise of the Triad (с модификацией движка)
- Shadowcaster (использует движок промежуточный между Wolfenstein 3D engine и id Tech 1 )
Ссылки
- 2021-08-18
- 1