Wolfenstein 2004 — различия между версиями
Alone (обсуждение | вклад) |
Zxdn (обсуждение | вклад) (→Технология) |
||
Строка 14: | Строка 14: | ||
Движок игры использует рейкастинг с некоторыми отличиями от классического алгоритма. Так, стенки представляют собой не "кубы" с одинаковой текстурой на всех гранях, а "перегородки" между двумя клетками. Графика выводится [[чанк]]ами 2x2 пикселя. Текстуры имеют разрешение 32x32 пикселя с 8 градациями яркости (большинство текстур нарисованы в цвете, но в игре цвета отображаются штриховкой). | Движок игры использует рейкастинг с некоторыми отличиями от классического алгоритма. Так, стенки представляют собой не "кубы" с одинаковой текстурой на всех гранях, а "перегородки" между двумя клетками. Графика выводится [[чанк]]ами 2x2 пикселя. Текстуры имеют разрешение 32x32 пикселя с 8 градациями яркости (большинство текстур нарисованы в цвете, но в игре цвета отображаются штриховкой). | ||
− | Частота обновления экрана на стандартном | + | Частота обновления экрана на стандартном [[Pentagon]] 128K с тактовой частотой процессора 3.5 МГц составляет около 8 раз в секунду. При более высокой тактовой частоте повышается частота обновления экрана, при этом скорость игрового процесса не изменяется (движение становится плавнее). Присутствует возможность изменения размера экрана, а также точности трассировки лучей, что влияет на скорость работы игры. |
Примерные затраты процессорного времени: | Примерные затраты процессорного времени: |
Версия 16:21, 22 июня 2008
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 раз в секунду.
Авторы
- Код, дизайн, уровни, часть графики: Alone Coder
- Часть графики: Nikphe
- Процедура определения кэша: T(c)S
- Редактор уровней, часть графики: Shiru
- Музыка для AY-3-8910: Alone Coder, Cj.Echo, Dissonator, John Silver, Event, Basil, Macros
- Цифровая музыка (Chip Tracker): Moran