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

Теперь несколько слов об угле (Ang). Если вы внимательно следите за ходом изложения, то уже дважды должны были заметить (один раз - в функции SpawnMapThing, а другой - в CreateThingForPlayer), что угол преобразуется во внутренний формат. Что это за преобразованйе и зачем оно нужно? Дело в том, что в игре трудно оперировать с углами, выраженными в градусах. Поэтому в DOOM’e приняты следующие соответствия:

Оград. -0;

90 град. -0x40000000;

180 град - 0x80000000;

270 град - ОхсООООООО;

Кроме того, следует отметить, что углы в игре фактически имеют только 12 старших значащих разрядов. Остальные 20 разрядов значения практически не имеют. Нетрудно подсчитать, что всего при этом будет 4096 градаций углов. Почему, спросите вы, нельзя использовать целиком 32-разрядное число или нельзя ли хотя бы увеличить число градаций? На первый вопрос ответ очевиден. Дело в том, что при перемещении всех объектов в пространстве активно используются две таблицы: Cosine[4096] и Sine[4096], которые представляют собой, соответственно, косину с и синус утла поворота. Значения в этих таблицах представлены в формате с фиксированной точкой в диапазоне от -1 до 1. Всего таких значений в каждой таблице - 4096. Т.е. на один градус поворота приходится чуть больше 11 значений в каждой таблице (4096/360= 11.3(7)). Практика показала, что этого достаточно (это ответ на второй вопрос). В DOOM’e направление на восток (угол равен 0) соответствует перемещению по координате X в положительном направлении. Следовательно, значение в таблице Cosine по нулевому' смещению должно быть близко к 1 (Cosine[0] = Oxfffi), а значение в Sine по этому' смещению близко к нулю (Sine[0] = 0x19). Таким образом, эти таблицы необходимы для преобразования внешнего воздействия во внутренние координаты в зависимости от угла поворота игрока. Поясним... Когда вы нажимаете клавишу вперед или назад, то для вас это всегда перемещение вдоль координаты Y. На самом деле это перемещение зависит от угла поворота в плоскости. При этом реальные, фактические приращения координат объекта рассчитываются через данные таблицы в зависимости от управляющего воздействия и угла поворота:

Новости
Создатели Might & Magic работают над симулятором выживания на Марсе
505 Games анонсировала симулятор выживания с открытым миром. Проект получил название Memories of Mars.
Автор Sonic the Hedgehog присоединился к Square Enix
Сегодня известный геймдизайнер Юдзи Нака объявил в своём твиттере, что в январе этого года он присоединился к команде студии Square Enix и будет работать над новыми играми.