Да - "риалтайм" базу расстояний от каждого объекта КОТОРЫЙ ХОЧЕТ ИСПОЛЬЗОВАТЬ СФЕРУ ОТСЕЧЕНИЯ до каждого т.е. таблица с колич-вом записей В КРАЙНЕМ СЛУЧАЕ равной квадрату кол-ва всех объектов.Сообщение от grun
Т.е. массив например 256*256 =65536 ячеек * 2 байта(целое число)/1024 = 128 Кбт (надеюсь не напутал). В памяти сервера этот массив спокойно уместится.
Далее для каждого кто хочет использовать сферу отсечения анализируем только одну строчку массива содержащую расстояния до всех объектов в игре.
Причем априори считаем что расстояния уменьшаются на 1 км в сек.
Т.е. от расстояния в таблице отнимаем 1, затем если расстояние между получателем пакета и анализируемым объектом больше чем радиус отсечения +1 км анализ прекращаем сведения о анализируемом объекте получателю не посылаем переходим к анализу след. объекта.
Если после вычитания расстояние <= сфера отсечения вычисляем расстояние. Если оно меньше сферы отсечения инфу об этом объекте получатею посылаем.
Не думаю что этот алгоритм как то уж очень сильно нагрузит совеременный процессор/сервер.
Особенно если дополнительно будут реализованы фильты на события. Например: без вопросов отказываюсь от каких то событий: взрывы бомб и наземки, выброска парашютистов и пр.