Математическое руководство по созданию компьютерных игр. Справочник - страница 18

Шрифт
Интервал


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

К счастью для нас задачу с плотностью объектов и взаимным их расположением уже давно решили в другой области. Для кристаллических решеток давно придуманы понятия точечных групп, решеток Браве, пространственных групп и сингоний. Чтобы не запутаться в кристаллографии мы просто представим себе, что у нас игроки расположены в вершинах правильных треугольников для плоского случая задачи и в вершинах правильных тетраэдров для объёмного случая. Таким образом в плоском случае у нас получаются равные шаги трансляций под углом 120° и ромбовидная элементарная ячейка, а во втором случае мы не будем использовать углы, а просто сразу по характеристикам правильного тетраэдра вычислим объём элементарной ячейки. На рисунках 5а и 5б показаны примеры для обоих случаев размерностей задачи.

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