Wolfenstein 3D engine
| Wolfenstein 3D engine | |
|---|---|
| Игрока атакуют: слева — немецкая овчарка, справа и впереди — простой солдат с пистолетомИгрока атакуют: слева — немецкая овчарка, справа и впереди — простой солдат с пистолетом | |
| Тип | Игровой движок (Список) |
| Разработчик |
|
| Ключевой программист | Джон Кармак |
| Часть серии движков | id Tech |
| Следующий движок серии | Doom engine |
| Аппаратная платформа | IBM PC-совместимые компьютеры |
| Поддерживаемая ОС | DOS |
| Написан на языках | C, x86-совместимый язык ассемблера |
| Лицензия | свободная, GNU GPL |
| Первая игра на движке | Wolfenstein 3D / 5 мая 1992 года |
| Последняя игра на движке | Rise of the Triad / 21 декабря 1994 года |
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)
Интересные факты[править]
Согласно словам Джона Кармака, игровой движок был создан под вдохновением от технологической демоверсии компьютерной ролевой игры от первого лица Origin/Looking Glass Studios — Ultima Underworld: The Stygian Abyss в 1991. Кармак утверждал, что сможет создать более быстрый визуализатор, в чём и преуспел.[источник не указан 2684 дня]