Хонич А.
Как самому создать трехмерную игру
стр. 102

thin, которыми этот объект определен.

При определении анимации объектов в структуре thin мы использовали указатели на некоторые функции. Об этих функциях конкретно и подробно мы поговорим, когда речь пойдет об обработке объектов. А сейчас мы объясним весь принцип работы данной системы. Дело в том, что вы получили сразу слишком много информации, и переварить всю эту информацию без подкрепления какими-то конкретными примерами очень сложно. Здесь мы не будем приводить примеры конкретных функций. Как мы уже сказали, конкретный разговор об этом пойдет при обработке объектов. Здесь мы лишь объясним алгоритм. Этот алгоритм для всех объектов одинаковый. И в этом заключается основное преимущество технологии DOOM’a - практически абсолютная универсальность обработки объектов. В этом вы могли убедиться сами, когда видели, что в структуре sprites для двух разных монстров на определенных этапах поведения вызываются одни и те же функции. Но не будем забегать вперед. Итак..

В самом начале монстр находится в состоянии покоя (ofThinQuiet) При этом он может находиться либо без движения (как летающая голова), либо просто переставляет ноги (как демон). Но неизменно одно - монстр при этом не перемещается в пространстве. Как мы видели выше, в состоянии покоя для всех демонов вызывается функция RestEnemy. Эта фу нкция в основном не*'6ходима, чтобы определить фактор, который бы вывел монстра из состояния покоя.

Этих факторов несколько:

-    шум выстрела (если монстр не глу хой);

-    вид игрока: если монстр увидит игрока, то выходит из состояния покоя (разумеется, сзади глаз у монстров нет, и увидеть игрока он может только находясь к нему лицом. Сам же игрок необязательно находится к монстру лицом);

-    и еще один фактор - монстр активизируется, если в него попадет снаряд или пуля (при этом неважно, кто в иего выстрелил, свой или чужой).

Последний фактор в ряде случаев приводит монстра ие в активное состояние, а в состояние смерти, но об этом позже. Когда моистр активизиру ется (ofThinActiv), он издает восклицание, или вопль (кому как больше нравится), которое напрямую связано с полем S InitSpr в структуре sprites. В активном состоянии у монстра в голове присутствует только одна мысль: как бы “замочить” игрока. И в этом ему помогает функция ActiveEnemy, которая постоянно вызывается в активном состоянии. Эта функция определяет уровень интеллекта монстра, если так можно выразиться. В активном состоянии монстр при помощи функции ActiveEnemy постоянно ищет игрока, преследует его и, если последний обнаружен, то атакует его. Для разных монстров методы атаки различны. Некоторые используют только ближний бой (ofNearAttack), как

Новости
Авторы Hellblade: Senua’s Sacrifice удивлены количеству игроков на ПК
В октябре прошлого года студия Ninja Theory рассказала, что продажи Hellblade: Senua's Sacrifice оказались выше, чем ожидали сами разработчики, а уже через месяц они достигли полумиллиона копий.
Хождение по Аду в Agony отнимет у игроков 12 часов
Напомним, что Agony поступит в продажу на PC, PS4 и Xbox One 29 мая. После релиза игры авторы намерены заняться VR-режимом.