Предлагаю писать в таком формате:
- Название идеи, формулировка предложения
- Краткое описание
- Профит игроков и/или разработчиков
- Полное (детальное) описание
1. Поиск и прокладка маршрута по направлению маркера.
2. Ставим на карте маркер, дальше маршрут начинает просчитываться не во все стороны, а в направлении маркера в некоторых пределах.
3. Будет значительно проще рассмотреть на карте маршрут и не будет необходимости постоянно выверять направление, в котором прокладываешь маршрут. Мне как человеку летящему строго в одном направлении длительное время это крайне актуально. И, возможно, по плотным скоплениям звёзд будет проще построить маршрут (это вопрос сложности алгоритма). По-моему сейчас работа с картой какая-то ну прям вырвиглазная, если честно.
4. Как я это вижу - отмечаю звезду в галактике (кнопка select или новая подобная). После чего карта начинает строить маршрут примерно по такому алгоритму:
- Берёт вектор от местоположения до маркера как нулевой вектор
- Из ближайших допрыгабельных систем берёт те, вектор прыжка до которых не отклоняется от нулевого более чем на 20 градусов
- От выбранных систем так же берёт нулевыой вектор к маркеру (от каждой по нулевому вектору) и выбирает следующий набор систем
- Далее это "дерево" сортируется, фильтруется и цикл повторяется заново с заменой местоположения на полученные системы (повтор предыдущего пункта).
Основной смысл - ограничение в отклонении от нулевого вектора. Если перестраивать нулевые вектора, то получится что-то вроде цилиндра с паутинкой возможных маршрутов (сейчас сфера), центральная ось которого и будет соответствовать первому нулевому вектору (от местоположения). Разработчики вроде научились фильтровать пересечение множеств (из моих наблюдений за планировщиком на карте) - не думаю, что это более сложный в реализации алгоритм.
В качестве упрощения можно не строить нулевые вектора от каждой промежуточной звезды, а всегда сравнивать с начальным нулевым вектором, но тогда будет пропорционально возрастать количество вычислений от дальности конечных систем.
Сообщение отредактировал Ubivalnik: 14 January 2015 - 12:53