Вы здесь

Математическое руководство по созданию компьютерных игр. Справочник. Единицы измерения расстояний или необъятные просторы (Алексей Патрашов)

Единицы измерения расстояний или необъятные просторы

Внутри игры нет физических расстояний как таковых, а есть только координаты. В связи с этим возникает закономерный вопрос: а как быть с понятием расстояния? Понятия времени в игре и вне игры достаточно хорошо совпадают, но с расстояниями всё обстоит гораздо сложнее. Можно привязать расстояния к сеткам координат, но это будет внутреннее расстояние и увидеть его будет никак нельзя. Более понятно выглядит понятие расстояния между двумя точками из расчёта времени перемещения между ними в игре с эталонной скоростью.

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

Каким бы ни был игровой мир, но по нему можно перемещаться. И сразу же возникает вопрос: а как долго? Размер игрового мира имеет далеко не самое последнее значение и скрывает в себе серьёзное противоречие. Если игровой мир слишком большой, то игра может проходится медленно, а если наоборот, то слишком быстро. Правильный выбор где-то посередине потому, что играть хочется достаточно долго, а игру пройти хочется достаточно быстро.

Что понимать под размером игрового мира? В чём измеряется площадь игрового мира? И если измеряется, то как? Ответим на эти вопросы. Ранее мы приняли, что расстояния в игре измеряются секундами, минутами или часами. Точно так же площадь игрового мира измеряется в часах или квадратных часах или минутах и квадратных минутах. Если игровое пространство больше похоже на поле, то его размер измеряется в квадратных часах, а если больше напоминает лабиринт, то в часах. В случае трёхмерного игрового пространства его размер будет измеряться в кубических часах. За длину ширину и высоту игрового пространства принимается время преодоления каждого размера его протяженности с эталонной скоростью.

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

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

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


для двухмерного и


для трёхмерного мира.


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