Wolfenstein 2004

Материал из SpeccyWiki
Перейти к: навигация, поиск
Wolfenstein 2004.png

Wolfenstein 2004 - игра в жанре 3D-action для ZX Spectrum. Разрабатывалась Дмитрием Быстровым (Alone Coder) при участии разных людей с 1996 года, выпущена в 2004 году. Заняла первое место среди четырёх работ в Game Compo на Chaos Constructions 2004.

Игровой процесс аналогичен ранним 3D-action на других системах. Сама игра в целом напоминает Wolfenstein 3D от ID Software. Имеется поддержка кэша, Kempston mouse, Covox, SounDrive (для музыки в меню).

Игра содержит 17 уровней. Музыкальное оформление представлено 20 композициями для AY-3-8910 и 4 цифровыми. Часть музыки является ремиксами.

История разработки

Первая демо-версия игры была опубликована в приложении к электронному журналу ZX-Guide #1 в конце ноября 1998 года. В ней было реализовано отображение стен с текстурами и перемещение по лабиринту. Объекты, оружие и противники отсутствовали. Для прохождения демо-версии требовалось найти выход из лабиринта. Вывод шёл атрибутами на полный экран, с разрешением 64x24 точки (одна точка - половинка знакоместа) и частотой обновления экрана около 30 кадров в секунду.

Вторая демо-версия была опубликована в приложении к ZX-Guide #3. Внешний вид и вывод графики чанками, появившиеся в этой версии, сохранились до релиза (которому предшествовала ещё одна демоверсия, отличавшаяся только графикой и наличием шариков из ракетницы). Появились разные виды оружия и объекты, но противники не двигались. В создании версии принял участие T(c)S, написавший процедуру определения наличия кэша.

Технология

Движок игры использует рейкастинг с некоторыми отличиями от классического алгоритма. Так, стенки представляют собой не "кубы" с одинаковой текстурой на всех гранях, а "перегородки" между двумя клетками. Графика выводится чанками 2x2 пикселя. Текстуры имеют разрешение 32x32 пикселя с 8 градациями яркости (большинство текстур нарисованы в цвете, но в игре цвета отображаются штриховкой).

Частота обновления экрана на стандартном Pentagon 128K с тактовой частотой процессора 3.5 МГц составляет около 8 раз в секунду. При более высокой тактовой частоте повышается частота обновления экрана, при этом скорость игрового процесса не изменяется (движение становится плавнее). Присутствует возможность изменения размера экрана, а также точности трассировки лучей, что влияет на скорость работы игры.

Примерные затраты процессорного времени:

  • Рейкастинг: <10% (около 50000 тактов на каждое построение экрана) в среднем качестве
  • Обсчёт объектов: <10% (около 50000 тактов на каждое построение экрана)
  • Масштабирование: >50% (около 300000 тактов на каждое построение экрана)
  • Вывод чанков на экран: <15% (около 75000 тактов на каждое построение экрана)
  • Искусственный интеллект: >10% (порядка 10000 тактов каждый фрейм)
  • Музыка и звуки: 4% (порядка 3000 тактов каждый фрейм)

В сентябре 2007 года на бумаге разработаны более быстрые алгоритмы масштабирования и вывода чанков на экран, требующие больше памяти. Кроме того, большие потери времени в игре происходили из-за того, что искусственный интеллект вызывался 50 раз в секунду — для сравнения, в Ball Quest 25 раз в секунду.

Авторы

Ссылки