byaka/WarThunderTacticalScreen_discuss

Приоритеты и порядок добавления фич

Opened this issue · 4 comments

Что должно быть на экране. Что важно сделать сразу, что можно отложить, а что вообще опционально.

  1. Маркеры врагов и союзников
  2. Для авиации показания авионики (что должно быть, скажут пилоты)
byaka commented

как я понял тут речь про функционал, а не про движок и архитектуру.

пока просто накидаю список функций

  • архетиктура клиента
  • отображение основных слоев карты (фон с сеткой + эффекты, статичные метки (авиабазы, точки захвата), динамические метки (техника)
  • вычисление для каждого обьекта на карте угла поворота
  • вычисление для каждого обьекта на карте примерной горизонтальной скорости (нужен следующий пункт)
  • поскольку обьекты не имеют идентификаторов, необходимо какимто образом отслеживать их, чтобы иметь возможность связать только что пришедшие с апи данные с данными предыдущей итерации. для тесных скоплений обьектов пропускать этот шаг и ждать, пока они "разлетятся"
  • (под вопросом, невозможно без предыдущего пункта) сбор градиента координат, скоростей и траекторий для каждого обьекта (под градиентом понимается дискретизация изменения этих параметров во времени с какимто минимальным шагом, чтобы отсечь незначительные колебания и уменьшить обьем этих самых данных)
  • определение, за какую технику играет пользователь и переключение режима отображения (режим наземки, режим авиации). Если удастся распознавать более детально (класс техники например) будет вообще супер, отдельные настройки для сау и бомбера могут быть весьма полезны
  • полноценная система зума\панорамирования карты с автоцентрированием, автомасштабом и прочими вкусностями
  • система прогнозирования траекторий (с отображением на карте) и отрисовка пройденного пути (в виде короткой пунктирной линии) для обьектов
  • сбор и отображение данных приборов
  • несколько режимов компановки экрана (в виде плавающих виджетов, в виде худа поверх карты)
  • хранение настроек пользователя локально
  • система алертов (алерт вешается на какоето событие, например при появлении врага в определенном радиусе). Неясно, как они должны выглядеть чтобы не мешать игровому процессу. Позже вынесу это в отдельную тему
  • поиск добровольцев для тестирования "командного режима", в котором несколько приложений смогут обмениваться данными друг с другом
  • командный режим с абстрактным протоколом взаимодействия (для примера скорее всего будет использовано взаимодействие через собственный сервер)

Лучше сразу разбить по группам приоритета. Чтобы начать с малого и не увязнуть в фичах.

byaka commented

отредактировал список фич, Пометил выполненные