Компьютерные игры. Как это делается

       

Используйте движок, управляемый данными


Ядро игры должно, насколько это возможно, работать на основе данных. Вместо того чтобы корпеть над каждым отдельным эпизодом игры, предоставьте программе самой подобрать нужную комбинацию элементов. Например, космические корабли в Wing Commander: Prophecy в основном создавались как элементы данных. Программисты определяют общие свойства кораблей: двигатель, пушки, ракеты, щиты и максимальное ускорение. Затем дизайнеры собирают файл данных корабля, который описывает его внешний вид, свойства и статистику. Этот файл будет позже прочитан с жесткого диска и проинтерпретирован программой. Лишь иногда программа ищет конкретный корабль для применения специальных эффектов, но в идеале и эти случаи следует убрать из кода, чтобы все корабли могли обладать теми или иными свойствами.

Еще один способ представить движок на основе данных - это система триггеров, привязанных к карте. Главный герой Crusader: No Remorse - десантник далекого будущего, бегающий по изометрической карте и расстреливающий врагов. Карта заполнена объектами, с которыми наш морпех может взаимодействовать, - телепортерами, дверями, выключателями и мониторами. Система позволяет дизайнеру выбрать определенный триггер (например переключатель) и присоединить к нему команду, например «открыть дверь №21». Эта связь сохраняется в файле карты и интерпретируется программой во время выполнения. Если система триггеров создана правильно, она позволит активизировать множество действий, в том числе и те, которые не были изначально запланированы.

Миссии тоже, по возможности, должны управляться данными. Программа не должна знать, какие конкретно миссии используются в сюжете, ей достаточно иметь каркас, позволяющий дизайнеру создавать сценарии кампаний и отдельных миссий, - то, с чем имеет дело конечный пользователь, игрок. Проектировщик миссий и сюжета Wing Commander: Prophecy позволяет дизайнерам создавать файлы «сериалов», которые содержат указатели общего сюжета, наборы миссий и древовидную структуру, связывающую все миссии воедино. Такая система чрезвычайно гибка и надежна, она позволяет создавать разные типы ветвей дерева и условий, что приводит к многообразию сюжетов.



Содержание раздела