Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11634
Последний выпуск: 19.06.2015

Алгоритмы используемые в играх.

Стандартный имитатор представляет собой вид из кабины некоего движущегося устройства - самолета, автомобиля, подводной лодки и т.д. В самой кабине расположены различные органы управления - руль, штурвал, рычаги и разнообразные приборы сигнализации и настройки параметров - пульт выбора оружия, переключения скорости, спидометр, сигнальные лампочки противорадарной защиты, высотомер и многое другое. Из кабины виден окружающий мир, меняющийся либо по двум измерениям, как в наземных имитаторах, либо по трем, как в имитаторах самолетов и космических кораблей. В современных программах дополнительно предоставляются возможности “взгляда со стороны” на движущиеся объекты - с земли, с воздуха, сзади, сверху и во множестве других ракурсов.

Сразу отметим, что алгоритм отображения трехмерных объектов на двумерный экран, расположенный под различными углами к координатным осям, в определенной степени стандартен. Его проходят во всех строительных и архитектурных институтах под названием “Начертательная Геометрия” в ее различных ответвлениях. Да, та самая легендарная Начерталка, о крутизне преподавателей которой у студентов всех вузов ходят легенды типа того, что некий преп любил помечать погрешности в сложных чертежах красной авторучкой, после чего всю работу приходилось переделывать полностью.

Сегодня исходные тексты подобных процедур публикуются в различных компьютерных журналах и книгах, поэтому условимся, что фирма, производящая имитатор, имеет библиотеку, преобразовывающую трехмерные объекты в их плоский вид на экране.

Каждый объект окружающего пространства описывается в таких программах, как массив фиксированного количества многогранников или частей шаров конкретного цвета. Так представлены самолеты, пирамиды, дома в многих имитаторах, например, “LHX”.

Кроме того, существует второй тип объектов, отличающийся тем, что их образ на экране получается не математическим преобразованием поверхностей, а просто рисуется на экране спрайтом. Это могут быть изображения танков, боевых машин, четко вырисованных пальм и других деталей окружающего пространства, которые невозможно быстро создать с необходимой степенью детализации в динамике. Таких спрайтов одного объекта может быть достаточно много, до 50, для представления объекта с разных ракурсов и с различного расстояния. Этот подход требует достаточно большого расхода дисковой памяти, но позволяет быстро выводить картинки с очень подробными деталями, что недостижимо в реальных преобразованиях.

Плохо здесь то, что объекты меняются не непрерывно, а дискретно. Правда, при разрешении экрана 320х200 это практически незаметно. Современные фирмы-создатели имитаторов постоянно совершенствуют свои алгоритмы визуализации, повышая скорость матричных преобразований, создавая новые математические методы и добиваясь удивительных эффектов. Новые игры на этом рынке отличаются использованием режимов более высокого разрешения и очень точной имитацией реальности. Примером здесь может служить Microsoft Flight Simulator.

Создание игр данного типа начинается с разработки сценария и карты боевых действий. В некоторых играх объекты появляются в процессе движения случайно, но это касается, как правило, не военных имитаторов. Такой прием используется в наземных имитаторах типа “Test Drive”, когда появляющиеся на шоссе машины подчиняются случайному закону, что естественно для реальной жизни. Также это возможно в полуимитаторах - играх типа “убей их всех” для любителей просто пострелять во все, что движется. Но в большинстве военных игр этого жанра расстановка объектов - танков, пирамид, домов, полей, рек и аэродромов - задается заранее разработчиком игры. Способ хранения образа каждого отдельного объекта мы не будем рассматривать. Он привязан к конкретным библиотекам трехмерной графики и не представляет здесь интереса.

Каждый из игровых объектов имеет специальную структуру, полностью идентифицирующую этот объект - самолет, танк, пирамиду и т.д., которая позволяет отображать его на экране. Кроме того, в эту структуру включается как математическое описание, допустим, дома, так и его характеристики - название, тип (человек, пушка) и т.п.

[ Назад ] [ Оглавление ] [ Далее ]

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог