В мире "Эхо" есть три фракции - Nova, Verda и Sango. У каждой свой характер, визуальный язык и ощущение технологий. В цифровой игре хочется, чтобы выбор фракции чувствовался не только по портрету или цвету рамки. Но если для каждой стороны строить отдельный интерфейс с собственной логикой, поддержка проекта быстро станет втрое сложнее.
Различать нужно характер, а не механику интерфейса
Игрок не должен заново учиться пользоваться меню только потому, что выбрал другую фракцию. Кнопка подтверждения остается кнопкой подтверждения, ресурс остается ресурсом, а навигация должна вести себя предсказуемо.
Поэтому мы разделяем функциональную структуру и визуальную идентичность. Основа компонентов одна, а фракция меняет набор визуальных правил: цвета, поверхности, декоративные элементы, характер света, акценты и часть графических мотивов.
Общая компонентная база удерживает продукт целым
Если у каждой фракции появятся собственные версии карточек, кнопок и панелей, даже небольшое изменение придется повторять три раза. Через несколько итераций реализации начнут расходиться. В одной теме появится новое состояние, в другой забудут обновить адаптив, в третьей останется старый размер.
Гораздо надежнее иметь единый компонент и разные темы. Тогда функциональное изменение происходит один раз, а визуальная система продолжает придавать фракциям собственный характер.
Тема должна менять больше, чем один акцентный цвет
Простой перекрас интерфейса редко создает ощущение отдельной культуры. Различия могут проявляться в сочетаниях поверхностей, степени контрастности, типе декоративных линий, форме световых акцентов, плотности деталей и характере фоновой графики.
При этом важно не разрушить читаемость. Визуальная идентичность существует внутри общих правил контраста, иерархии и доступности элементов. Фракционный стиль не должен мешать понимать интерфейс.
Design tokens становятся мостом между стилем и системой
Именно здесь особенно полезны семантические токены. Компонент может использовать surface.panel, text.primary, accent.main и border.subtle, не зная, какие конкретно значения стоят за ними. Тема Nova подставляет один набор, Verda - другой, Sango - третий.
Так можно экспериментировать с визуальным языком фракции, не переписывая структуру продукта. А если выяснится, что определенная роль работает плохо во всех темах, ее можно исправить системно.
Различия должны поддерживать лор
Для нас важно, чтобы оформление не превращалось в декоративный скин. Цвет и пластика интерфейса должны продолжать логику фракции, ее отношение к технологии, материалам и миру. Тогда визуальные различия становятся частью повествования.
Это не означает, что каждую кнопку нужно превращать в артефакт вселенной. Напротив, чем спокойнее базовый UI, тем сильнее работают несколько действительно характерных элементов.
Мы хотим, чтобы Nova, Verda и Sango ощущались разными системами внутри мира "Эхо", но не тремя разными приложениями. Общая архитектура дает предсказуемость, а темы и визуальные правила дают идентичность. Именно баланс этих двух уровней делает фракционный интерфейс масштабируемым.