Принцип дизайна: Фэнтези-игра, работающая на невидимой магии. VIZ блокчейн — это физический движок: необходимый, но никогда не в фокусе.
Лэндинг сообщает три вещи мгновенно: это фэнтезийный мир, он живой прямо сейчас, и ты можешь войти за секунды.
Живописное фэнтези-арт. Лунная башня, светящиеся руны, дуэлянты-маги, гильдейские знамёна. Никаких монет, графиков, иконок кошельков, hex-строк, "токеномики".
Герой-секция — "Живой Мир":
Анимированная фэнтезийная сцена на весь экран. Частицы, парящие угольки, руны. В центре — мерцающий портал. Текст появляется как будто невидимая рука пишет:
"В Мире Виз слова обладают истинной силой. Каждое заклинание формирует мир. Каждое волшебство оставляет след навечно. Твоя история начинается с одного слова."
Одна кнопка с мягким золотистым свечением:
[ Начни Свою Легенду ]
Ниже: "Уже есть маг? Продолжи свою историю →"
Пульс Мира — живая лента:
Горизонтальная прокрутка реальных on-chain событий, переведённых в нарратив:
"🔥 Пиромант Ashveil одолел Полого Призрака в Терновом Лесу..." "⚔️ Рунописец Kael вызвал Stormcaller Dex на дуэль — и победил!" "🏰 Круг Пепла принял 50-го участника..."
Каждое событие — реальная блокчейн-транзакция, переведённая в нарратив.
Три карточки фич:
"Охота" — Быстрые бои с монстрами и поиск сокровищ. "Дуэль" — PvP на предсказании, а не на скорости нажатия. "Хроника" — Впиши свою историю в Мир и будь запомнен.
Заверения: Бесплатный старт. Для быстрых мобильных сессий. Играй один или вступи в гильдию.
НЕ говорить: "Без кошелька", "Без газа", "На блокчейне", "Владей активами". Эти фразы всё ещё крипто-маркеры.
После нажатия CTA первый экран — НЕ: стена логина, экран кошелька, страница баланса, маркетплейс, длинный туториал. Это "Создай своего Мага".
На поверхности — игрок создаёт фэнтези-персонажа, выбирает класс, проходит первый квест. Под капотом — система создаёт VIZ-аккаунт, назначает начальные SHARES, учит блокчейн-операциям через игровые действия.
Игрок никогда не должен почувствовать шов между этими слоями.
VIZ-имена имеют ограничения формата. Никогда не навязывать их игроку.
- Имя Мага (отображаемое): "Ashveil Отважный"
- Аккаунт цепи (авто): создан молча —
ashveil-bold-7
Игрок видит: Имя Мага, портрет, гильдию. Игрок никогда не видит: raw-имена, адреса, публичные ключи.
Тёмный экран. Точка света расширяется:
"Ты призван в Мир Виз. Но сначала... ты должен вспомнить кто ты."
Одно поле ввода, стилизованное под разворачивающийся свиток:
"Как Мир будет тебя называть?"
Валидация (всегда в мире):
- Свободно: "Мир узнаёт это имя. Он ждал тебя." ✨
- Занято: "Другой маг уже носит это имя. Попробуй добавить титул."
- Некорректно: "Древние руны не могут сформировать это имя."
Accessibility:
- Input:
aria-label="Выбери имя мага" - Валидация:
aria-live="polite" - Анимации с поддержкой
prefers-reduced-motion
"Древние пути магии лежат перед тобой. Каждый даёт разные силы. Выбирай мудро — но знай, что каждый маг может открыть новые пути со временем."
Последняя строка критична — убирает страх "неправильного" выбора.
Четыре карточки классов:
🛡️ СТРАЖНИК (Stonewarden) "Стой твёрдо. Ничто тебя не сломит." Большой щит. Тебя трудно сбить. Отлично для новичков. Сложность: ● ○ ○ Легко Стартовое заклинание: Каменная Стена — блокирует входящий урон
🔥 ИСКРОВЕРЖЕЦ (Embercaster) "Бей сильно. Бей быстро. Ничего не оставляй." Швыряет огромные огненные заклинания. Побеждает быстро, но и получает быстро. Сложность: ● ○ ○ Легко Стартовое заклинание: Огненный Снаряд
🌙 ЛУНОБЕГ (Moonrunner) "Быстрый и скрытный. Лучшая атака — та, которую не увидели." Мастер уклонения и неожиданных ударов. Сложность: ● ● ○ Средне Стартовое заклинание: Теневой Шаг
🌿 ЦВЕТОМУДР (Bloomsage) "Исцеляй, защищай, плети лозы-ловушки." Контролирует поле боя. Отлично в группе. Сложность: ● ● ○ Средне Стартовое заклинание: Связующая Лоза
Accessibility: Карточки как role="radiogroup" с aria-label="Выбери путь магии". Полное описание — в accessible label.
Кратко: стиль портрета, цвета, плащ/капюшон. Глубокая кастомизация — позже.
Создание VIZ-аккаунта платное, поэтому нужен один из путей:
Путь A — Инвайт от другого игрока (основной): Игрок пришёл по ссылке от друга → инвайт-код уже содержит VIZ на создание аккаунта + начальные SHARES. Игрок видит:
"Маг [Имя] призвал тебя в Мир! Свиток Призыва активирован." Аккаунт создаётся автоматически.
Путь B — Внешний сервис регистрации: Игрок пришёл сам, без инвайта. Используется внешний сервис (типа start.viz.plus):
"Для пробуждения мага нужен Свиток Призыва." [ Получить Свиток ] — перенаправляет на сервис регистрации, стилизованный под игру [ У меня есть код ] — ввод инвайт-кода вручную [ Попросить Свиток у гильдии ] — список гильдий, выдающих инвайты новичкам
Путь C — Уже есть VIZ-аккаунт:
"У тебя уже есть магическая сила? Войди." Ввод логина + пароля (или импорт ключа)
"Хроника переворачивает новую страницу. Маг восстаёт..."
10-20 секунд нарратива прикрывают:
- Завершение создания аккаунта через инвайт/сервис
- Генерацию ключей и безопасное хранение на устройстве
- Начальные SHARES из инвайта
- Привязку реферала
Наставник NPC — Мудрец Орин — в лесной поляне:
"Новый маг пробуждается! Добро пожаловать в Поляну Первого Света. Я приготовил для тебя сумку."
Игрок получает Академическую Сумку, открывает, экипирует стартовое оружие.
Учит: основы инвентаря, экипировка в одно нажатие, сравнение предметов. Показывает простые дельты: "Дубовый Жезл → Жезл Пепла: Сила +3, Скорость +1"
"Видишь тренировочного вичпа? Сосредоточь намерение и атакуй!"
Кнопка заклинания: [ 🔥 Огненный Снаряд ] (стоит 1 Ману)
Нажатие → анимация (2-3 сек, покрывает подтверждение блока) → урон → вибрация → победа.
Враг почти непобедим для проигрыша. Цель — научить ритму, а не фрустрировать.
Что под капотом: Каждый каст = custom_sequence операция. 3-секундный блок покрывается анимацией. Optimistic rendering — результат мгновенно, chain тихо подтверждает.
ПОСЛЕ первой победы, когда игрок уже дорожит прогрессом.
Сохрани своего мага Сохрани прогресс, чтобы маг следовал за тобой на любое устройство.
Опции:
- Продолжить через Apple (passkey)
- Продолжить через Google (passkey)
- Продолжить через Email (зашифрованный бекап)
- Сделать позже (всегда разрешено)
Игрок думает что сохраняет игровой прогресс, а не управляет блокчейн-кошельком.
При необходимости (глубоко в настройках): "Магическое Слово" — пароль аккаунта, из которого генерируются ключи. Подан как секретная фраза для восстановления мага на новом устройстве.
Ключевой момент! Commit-reveal должен ощущаться естественно.
Мудрец Орин: "Ты сражался с безмозглым духом. Но что насчёт другого мага? В Мире маги бьются Запечатанными Заклинаниями. Оба выбирают одновременно. Никто не видит выбор другого. Потом оба раскрываются."
Три выбора для мгновенного понимания:
🔥 Удар — Бьёт сильно. Побеждает Защиту, проигрывает Фокусу. 🛡️ Защита — Блокирует урон. Побеждает Удар, проигрывает Фокусу. ⚡ Фокус — Накапливает силу. Побеждает Защиту, проигрывает Удару.
Камень-ножницы-бумага с заклинаниями — мгновенно понятно.
Фаза 1 — ЗАПЕЧАТАТЬ (Commit): Игрок нажимает → карта переворачивается с анимацией восковой печати + звук штампа:
"Заклинание запечатано! Ни один маг не может изменить выбор."
Короткая пауза (1-3 сек, commit идёт в блокчейн).
Фаза 2 — РАСКРЫТИЕ (Reveal):
"Печати ломаются!" Обе карты переворачиваются одновременно с драматичной анимацией. Звук разбивающегося стекла.
"Ты выбрал: Удар 🔥" "Мудрец Орин выбрал: Защиту 🛡️" "Твой Удар разбил Защиту Орина! Победа!"
Вся механика commit-reveal работает реально, но игрок видит только "Выбрал → Запечатал → Раскрытие → Результат".
Accessibility для дуэли:
- Фазы объявляются: "Фаза печати. Выбери заклинание."
- Заклинания:
role="radiogroup" - Отличительные звуки для каждой фазы
- Таймер объявляет оставшееся время
Мудрец Орин: "В этом Мире слова имеют вес. Оставь свой первый след в Хронике."
Три варианта (не принуждать к open-ended сразу):
- Выбрать стартовую строку ("Огонь помнит." / "Я иду тихо, но не боюсь.")
- Написать своё
- Пропустить
Потом наставник получает "Благословение" — игрок учится социальной механике.
"Магическое Ядро пробуждено. Оно будет расти по мере исследования Мира."
Новый раздел на экране персонажа: Сила Ядра: 10
Подсказка: "Больше Силы Ядра — сильнее долгосрочная магия и быстрее восстановление Маны."
Как игрок получил первые SHARES (не зная):
| Метод | Имя для игрока | Опыт |
|---|---|---|
| Инвайт-код (основной путь) | Свиток Призыва | "Маг [Имя] призвал тебя. Свиток содержит начальную силу." |
| Внешний сервис регистрации | Свиток из Академии | "Академия пробуждает твоё Ядро" |
| Покровительство гильдии | Покровительство | Ветеран делегирует SHARES новичку |
| Благословения от других | Дары Мира | Накопление наград от award-операций других игроков |
НЕ показывать всё сразу. Предотвратить "шок дашборда".
| Триггер | Разблокировка |
|---|---|
| Туториал завершён | Дом, Охота, Персонаж, Сумка |
| После первой охоты | Глубина экипировки, набор заклинаний |
| После зеркальной дуэли | PvP Дуэли |
| После Хроники | Лента Хроники |
| Уровень 3 | Базар (маркетплейс) |
| Уровень 4 или приглашение гильдии | Зал Гильдии |
| Уровень 8 | Контроль территорий |
Первый каст заклинания — менее 2 минут. Первая значимая награда — менее 4 минут. Весь онбординг — менее 7 минут. Прохождение — более 80%.
| Петля | Действие | Награда | Почему кайфово |
|---|---|---|---|
| Охота | Охота → лут → экипировка → охота дальше | Сильнее снаряжение | Чёткий рост |
| Дуэль | Читай противника → выбирай тайно → раскрытие → ранг | Титулы, хвастовство | Мастерство |
| Ядро | Копи Силу Ядра → долгосрочное усиление | Быстрее регенерация | Вложение в идентичность |
| Базар | Торгуй → улучшай билд | Специализация | Игроцкая экономика |
| Социальная | Хроника → Благословляй → гильдия → инвайты | Признание, общность | Привязка |
0-1 минута: Открыл → Дашборд:
- Мана полная, 1 дуэль ждёт, прогресс гильдейского квеста
- Ежедневное Пророчество: "Одолей 2 существ в Терновом Лесу"
- Статус маны
1-3 минуты: Основное действие:
- Быстрая Охота (30-60 сек бой → лут)
- Принять дуэль (запечатать → 5 сек → раскрытие → результат)
- Собрать награды
3-5 минут: Социальная проверка:
- Лента Хроники: достижения гильдии
- "Благословить" ✨ достижение гильдейца
- Закрыть с ощущением прогресса
Фаза 1 (0-5 мин): Подготовка — экипировка, набор заклинаний, доска гильдии. Фаза 2 (5-15 мин): Подземелье — 3-5 боёв с нарастающей сложностью, нарративные выборы между боями. Фаза 3 (15-25 мин): PvP Арена или гильдейские активности. Фаза 4 (25-30 мин): Крафт и экономика.
Ежедневно: Пророчество, регенерация маны, ожидание дуэлей, гильдейские новости. Еженедельно: Тематические события, рейтинг арены, гильдейские миссии. Ежемесячно: Нарратив, сезонный контент, мировой босс. Долгосрочно: Перманентность ("легенда навечно"), социальные связи, стратегическая глубина.
За 3 секунды игрок знает: что важно и что делать дальше.
- Сводка персонажа (имя, класс, уровень, XP бар, мана)
- Ежедневное Пророчество с прогрессом
- 6 больших кнопок-плиток (мин. 48×48dp): Охота, Дуэль, Гильдия, Сумка, Карта, Хроника
- Лента Хроники внизу
- Нижняя навигация: Дом, Персонаж, Карта, Хроника (макс. 4-5)
- Аватар с экипировкой (5 слотов: голова, руки, тело, обувь, аксессуар)
- Имя, класс, уровень, гильдия
- Статы: Сила, Защита, Скорость, Дух (простые бары)
- Магическое Ядро: Сила Ядра числом + регенерация маны
- Заклинания: экипированные (3/5 слотов)
- Достижения
Секция "Магическое Ядро" (абстракция SHARES):
| Игрок видит | Что на самом деле |
|---|---|
| Сила Ядра: 1,247 | 1,247 SHARES (свои + делегированные) |
| Регенерация Маны: 8.3/час | SHARES дают bandwidth |
| Кнопка "Усилить Ядро" | Способы получить больше SHARES |
"Усилить Ядро" → варианты:
- "Направить Эссенцию" — конвертировать заработанное
- "Принять Покровительство" — получить буст от гильдии/ментора
- "Настроиться на Мир" — долгосрочный стейкинг
- "Призвать Ученика" — инвайт
Тернбейзд (НЕ commit-reveal для PvE). Простые ходы.
- Имя/HP/статусы врага
- HP/Мана игрока
- 4 кнопки заклинаний (каждая с уроном и стоимостью маны)
- Каждый раунд: 3-5 секунд
Результат: XP, лут с "Экипировать сейчас", "Охотиться снова" или "Домой".
Модель: Выбрал → Запечатал → Раскрытие. Вся концепция.
Перед дуэлью: Оба мага, уровни, формат (лучший из 3), ставки.
Раунд:
- "Запечатай Заклинание" — 4 варианта, таймер 15 сек
- Нажал → анимация печати → "Заклинание запечатано! Ни один маг не может изменить."
- "Печати ломаются!" — обе печати центрируются, светятся, разбиваются одновременно
- Результат с подсказкой: "Kael использовал Контрзаклинание. В следующий раз попробуй другую тактику."
Система Озарений: Отслеживает паттерны противника (из on-chain истории дуэлей) и показывает подсказки. Награждает наблюдательность.
Асинхронная поддержка: Игрок может запечатать ход и выйти. Push-уведомление когда раскрытие готово.
- Вкладки: Экипировано, Сумка, Материалы, Расходники
- Тап на предмет → Экипировать/Использовать/Продать/Обменять
- Сравнение: "Сила +4, Скорость -1"
- [Э] бейдж = экипировано
- Редкость = цвет + текст + звёзды: Обычный ⚪, Необычный ✦ 🟢, Редкий ✦✦ 🔵, Эпический ✦✦✦ 🟣, Легендарный ✦✦✦✦ 🟡
- Валюта показана inline, НЕ в отдельном "кошельке"
Иллюстрированная фэнтезийная карта. НЕ 3D мир.
Тап на локацию → существа, ресурсы, лор, сложность. Разблокированные — мгновенное перемещение (1 Мана). Территории гильдий — цветные знамёна.
Всегда доступен list-mode: зоны как заголовки с описанием. Карта НИКОГДА не должна быть единственным способом навигации.
Фэнтезийный рынок, НЕ торговый терминал.
Покупка: Тап "Купить" → "Купить Клинок Пламени за 45 Печатей Мира?" → Подтвердить → анимация ("Торговец заворачивает покупку..." 2-3 сек, покрывает escrow) → "Вы получили: Клинок Пламени!"
Продажа: Выбрать предмет → рекомендованная цена → установить цену → push-уведомление при продаже.
Прямой обмен: "Защищённый Обмен" — обе стороны кладут предметы в общий сундук, оба нажимают Готово, сундук открывается. Никогда не говорить "escrow."
- Баннер гильдии, девиз, участники, уровень
- Доска Квестов Гильдии с прогрессом
- Территории: контролируемые / под атакой
- Список участников с рангами (👑 Глава, ⭐ Офицер, 🧙 Участник)
- Доска Объявлений
- Кнопки: Рекрутинг, Казна, Журнал, Настройки
"Усилить" (Empower) новых участников — делегирование SHARES, подано как "разделение магической энергии для ускорения роста новичка."
Вкладки: Все / Гильдия / Друзья / Мир
Каждая запись: событие + ❤️ счётчик + 💬 комменты + [Благословить ✨]
Кнопка "Благословить" — элегантнейшая абстракция блокчейна:
Нажатие:
- Игрок видит: анимация искорок, +1 к счётчику
- На самом деле: award операция (1-2 bp) отправляется автору
- Автор видит: "Ashveil благословил ваше достижение! +1 Фрагмент Эссенции"
- Никаких упоминаний транзакций или блокчейна
"Слова Создают Миры" — периодические промпты:
- "Назови шторм над Железной Топью"
- "Выбери слово, которое сформирует лес на этой неделе: Терн, Туман или Пепел"
Топ-благословлённые слова именуют события, зоны, реликвии.
| Техническое (VIZ) | Для Игрока | Контекст |
|---|---|---|
| SHARES | Сила Ядра | "Сила магической связи с Миром" |
| Energy (bandwidth) | Мана | "Тратится при кастах. Восстанавливается." |
| VIZ liquid token | Печати Мира | Торговая валюта |
| Staking | Настройка / Усиление Ядра | "Вложи Силу Ядра для бонусов" |
| Delegation | Покровительство | "Поделись энергией с союзником" |
| Award operation | Благословение | "Даруй малый дар силы" |
| Transaction | (не называть) | Каждое действие — игровое |
| Block confirmation | (скрыто) | Покрывается анимациями |
| Private key | (скрыто) | Управляется аутентификацией устройства |
| Public key / address | (не показывать) | Только Имена Магов |
| Account creation | "Пробуди Мага" | Онбординг |
| Invite operation | "Свиток Призыва" | "Приведи друга в Мир" |
| Escrow | Защищённый Обмен | "Предметы в безопасности до готовности обеих сторон" |
| Commit (commit-reveal) | Запечатай Заклинание | "Выбери и зафиксируй" |
| Reveal | Раскрытие Печатей | "Оба заклинания раскрыты!" |
| custom_sequence | (полностью невидимо) | Никогда не упоминать |
| Blockchain | (никогда) | Слово не появляется в UI |
| Wallet | (никогда) | Предметы в инвентаре, валюта на экране персонажа |
| Пароль + логин (генерация ключей) | Магическое Слово | "Секретное слово для восстановления мага" |
| Block explorer | Архивы Мира | Настройки → Дополнительно. Для продвинутых |
| NFT | (никогда) | Предметы — это просто предметы |
| Web3 / Decentralized | (никогда) | "Мир принадлежит всем его магам" |
- Активный залог: "Ты кастуешь Огненный Снаряд"
- Обращение на "ты": "Твоя Мана полна"
- UI-текст — макс. 15 слов. Лор может быть длиннее.
- Никогда не объяснять механизм: "Заклинание действует", НЕ "Транзакция подтверждена"
- Конкретные фэнтезийные существительные: "Печати Мира", не "токены"
| Техническая ошибка | Сообщение игроку |
|---|---|
| Insufficient energy | "Маны мало. Подожди восстановления или используй Зелье Маны." |
| Account not found | "Мага с таким именем нет в Мире." |
| Network timeout | "Связь с Миром мерцает. Переподключение..." |
| Insufficient SHARES | "Ядру не хватает силы. Сначала усиль Ядро." |
| Escrow failure | "Защищённый Обмен не состоялся. Предметы возвращены." |
| Reveal timeout (PvP) | "Печать противника не сломалась вовремя. Ты побеждаешь по умолчанию!" |
| State conflict | "Другой маг успел первым. Печати Мира возвращены." |
Viz Magic разработан для полной игры через скринридеры (TalkBack, VoiceOver, NVDA/JAWS), клавиатуру и switch-управление. Accessibility — не оверлей, а ядро дизайна.
Ведущий разработчик использует TalkBack:
- Каждая фича — screen-reader-first, визуал добавляется вторым
- Если фичу нельзя сделать доступной — редизайн
- Тестирование accessibility — непрерывное и первоочередное
Критерий приёмки: Незрячий тестер с TalkBack/VoiceOver должен без зрячей помощи: создать мага, пройти туториал, экипировать снаряжение, завершить охоту, пройти раунд дуэли, благословить запись Хроники, вступить в гильдию и торговать на Базаре.
Семантическая структура каждого экрана:
<h1>Заголовок экрана</h1>
<h2>Секция</h2>
<h3>Подэлемент</h3>Landmarks на каждой странице:
<nav role="navigation" aria-label="Основная навигация">
<main role="main">
<aside role="complementary" aria-label="Лента Хроники">Каждый интерактивный элемент:
- Видимый label для зрячих
aria-labelилиaria-labelledbyдля скринридеров- Правильный
role - Видимый индикатор фокуса (никогда
outline: none)
Примеры насыщенных лейблов:
- Кнопка Охоты: "Охота в Терновом Лесу. Стоит 2 Маны. Лёгкая сложность."
- Карта дуэли: "Удар. Побеждает Защиту, проигрывает Фокусу. Не выбрано."
- Предмет: "Жезл Пепла. Необычное оружие. Сила 12, Скорость плюс 2. Не экипирован."
PvE: При активном скринридере — текстовый бой. Анимации не фокусируются. Результаты через aria-live:
- "Раунд 2."
- "Ты использовал Огненный Снаряд."
- "Полый Призрак получает 12 урона. Здоровье: 26 из 50."
- "Полый Призрак атакует Теневым Когтем. Ты получаешь 5 урона."
PvP: Фазы объявляются:
- "Фаза печати. Выбери заклинание. Осталось 15 секунд."
- "Заклинание запечатано: Удар. Ждём раскрытия. Примерно 5 секунд."
- "Фаза раскрытия. Печати ломаются."
- "Ты бросил Удар. Kael бросил Контрзаклинание. Контрзаклинание Kael'а отменило твой Удар."
Правила:
- Нет механик на время
- Не нужно смотреть анимации для понимания результата
- Кнопка "Повторить последний раунд" всегда доступна
- Читаемый боевой лог
Опция "Боевой Рассказчик": Тоггл: "Боевой Рассказчик — слушай подробные описания событий боя." При включении: голосовое описание в реальном времени как "радио-драма":
"Ты бросаешь Огненный Снаряд в Полого Призрака. Прямое попадание! Двенадцать урона..."
Звук — первоклассная система, не послесловие.
UI-звуки:
| Действие | Звук |
|---|---|
| Тап кнопки | Мягкий кристаллический клик |
| Переход экрана | Вжух + перезвон |
| Экипировка предмета | Металлический щелчок + искры |
| Выбор заклинания | Превью стихии (треск огня, скрежет камня) |
| Трата маны | Мягкий нисходящий тон |
| Ошибка | Низкий диссонансный хлопок |
| Успех | Восходящая фанфара |
| Благословение отправлено | Тёплый перезвон |
| Благословение получено | Тёплый колокол + эфирная нота |
Звуки PvP дуэли:
| Фаза | Звук |
|---|---|
| Начало дуэли | Боевой рог + магический дрон |
| Заклинание запечатано | Штамп восковой печати + шелест пергамента |
| Ожидание раскрытия | Нарастающий дрон напряжения |
| Раскрытие печатей | Звон разбитого стекла + магический всплеск |
| Раунд выигран | Фанфара победы |
| Дуэль проиграна | Торжественный, но достойный аккорд |
Вибрация (мобильный):
| Событие | Паттерн |
|---|---|
| Обычный выбор | Лёгкий тап |
| Успешное действие | Средний пульс |
| Запечатывание | Твёрдый двойной тап |
| Раскрытие | Двойной пульс + нарастание |
| Получение урона | Три быстрых пульса |
| Редкий лут | Длинный праздничный паттерн |
Пространственное аудио (стерео):
- Действия врага: верх/центр
- Действия игрока: низ/центр
- Награды: справа
- Оповещения: слева
Контроль плотности звука:
- "Минимальный" — только ключевая обратная связь (рекомендовано для скринридера)
- "Стандартный" — обратная связь + атмосфера + музыка
- "Насыщенный" — всё, включая окружение
Правила: все аудио-сигналы имеют текстовые эквиваленты. Музыка приглушается когда скринридер говорит. Отдельные слайдеры: Музыка, Эффекты, Рассказчик, Вибрация.
| Клавиша | Действие |
|---|---|
| Tab / Shift+Tab | Цикл интерактивных элементов |
| Стрелки | Навигация внутри групп |
| Enter / Space | Активировать / выбрать |
| Escape | Закрыть / назад |
| 1-5 | Выбрать слот заклинания в бою |
| H | Дом |
| C | Персонаж |
| B | Сумка |
| M | Карта |
| G | Гильдия |
| ? | Показать горячие клавиши |
Видимый focus ring на каждом фокусируемом элементе.
- Цвет никогда не единственный индикатор
- Контраст: WCAG 2.1 AA минимум (4.5:1)
- Текст: мин. 16px на мобильном, масштабируется с системным Dynamic Type
- Без текста в изображениях
prefers-reduced-motion: анимации → мгновенные переходы- Карта всегда имеет list-mode
- Каждый экран проектируется как ARIA-документ сначала, визуал — потом
- Каждый UI-PR включает заметки тестирования TalkBack
- Ежемесячный полный обход: TalkBack, VoiceOver, NVDA
- Пользовательское тестирование с незрячими игроками на каждом этапе
- Автоматизация (axe-core) в CI на каждом билде
- Минимальная зона касания: 48×48dp (WCAG 2.5.5 AAA)
- Кнопки заклинаний в бою: мин. 80×80dp
- Минимальный отступ между целями: 8dp
- Основные действия — в нижней зоне большого пальца
- Нижняя навигация: иконка + текстовая подпись
- Portrait-first, играбельно одной рукой
- Нет обязательных жестов перетаскивания или pinch-to-zoom
| Метрика | Цель |
|---|---|
| Запуск → интерактивность | <3 сек (cold start) |
| Переход экрана | <300мс |
| Действие в бою → визуальный ответ | <500мс (optimistic rendering) |
| Подтверждение цепи | <3 сек (один блок) |
| Размер бандла | <5MB (web), <30MB (native) |
Работает оффлайн: Просмотр персонажа, инвентаря, заклинаний; кэшированная Хроника; карта; боевой лог; планирование экипировки.
Требует подключения: Бой, маркетплейс, социальные взаимодействия.
Очередь действий: Экипировка оффлайн → показано мгновенно с индикатором "⏳ Ожидание синхронизации" → при подключении → "✓ Синхронизировано"
Язык оффлайна:
- "☁️ Связь с Миром дремлет. Некоторые действия недоступны."
- "✨ Связь с Миром восстановлена!"
Управляемые по категориям. Всё в мире. Только важное.
| Событие | Уведомление |
|---|---|
| Вызов на дуэль | "⚔️ [Имя] вызывает тебя на дуэль!" |
| Территория под атакой | "🏰 [Территория] под атакой!" |
| Мана восстановлена | "✨ Мана полностью восстановлена. Мир ждёт." |
| Предмет продан | "💰 Твой [Предмет] куплен!" |
| Мировое событие | "🌙 Ледяная Луна восходит через час..." |
Генерация привлекательных карточек для соцсетей:
Карточка Победы в Дуэли:
⚔️ VIZ MAGIC ⚔️
🏆 ASHVEIL ОТВАЖНЫЙ 🏆
победил Kael'а в дуэли
2-1 в 3 раундах
🔥→🛡️ Победа
🛡️→🔥 Поражение
⚡→🌀 Победа!
Сможешь победить меня?
vizmagic.com/play
Каждая карточка: фэнтези-стилистика, имя мага, инвайт-ссылка, alt-текст.
Меню → "Призвать Ученика":
"Призови друга в Мир! Он прибудет как твой Ученик, и вы оба получите награды по мере его роста. Уровень 5: 50 Фрагментов + Знак Ментора Уровень 10: 100 Фрагментов + Редкий предмет Уровень 20: 200 Фрагментов + Легендарный материал"
Создать → поделиться через OS share sheet.
Под капотом: генерируется VIZ инвайт-код, содержащий VIZ-токены на создание аккаунта + начальные SHARES. Стоимость инвайта списывается у приглашающего. Друг получает ссылку, переходит, аккаунт создаётся из средств инвайта.
- Зал Чемпионов: еженедельные рейтинги
- Рейтинг Гильдий: территории, миссии, PvP
- Система Соперничества: после 3+ дуэлей → "Соперники" с отслеживаемым счётом
1. ЧУДО (Открытие) "Этот мир удивителен и я хочу его исследовать." Лор никогда не объясняется целиком; подсказки и фрагменты разбросаны.
2. МАСТЕРСТВО (Развитие Навыков) "Я становлюсь лучше и это приятно." Commit-reveal PvP имеет реально высокий потолок скилла.
3. ПРИНАДЛЕЖНОСТЬ (Социальная Связь) "Я часть чего-то большего." Благословение создаёт позитивные циклы. Менторство механически вознаграждается.
4. АГЕНТНОСТЬ (Значимый Выбор) "Мои решения имеют значение. Я формирую этот мир." Commit-reveal = результат выбора. Маркетплейс с реальным спросом/предложением.
Нарративно: магия работает через слова. Механически: каждое действие записывает в цепь. Игра буквально ЕСТЬ написание мира.
- Критический Каст (5% шанс) — экран трясётся, усиленные эффекты
- Фрагменты Лора — коллекционные фрагменты, собирающие историю
- Цепочка Благословений — бонус за благословение других
- Возвратный Дар — после отсутствия "Мир скучал по тебе" + сундук
В UI Viz Magic НИКОГДА не должны появляться:
| Запрещено | Замена |
|---|---|
| "Blockchain" | Ничего. Мир — это Мир. |
| "Token" / "Cryptocurrency" | "Печати Мира" / "Фрагменты Эссенции" |
| "Wallet" / "Connect Wallet" | Инвентарь / автоматическое управление |
| Адреса кошельков (0x...) | Только Имена Магов |
| "Transaction" / "TX" | Полностью скрыто |
| "Confirming..." / "Pending..." | Анимации синхронизированы с блоками |
| "Gas fee" | Ничего. Действия просто работают. |
| Пароль аккаунта | "Магическое Слово" (глубоко в настройках) |
| "Private key" | Скрыто от обычных игроков |
| "Staking" / "Delegation" | "Настройка" / "Покровительство" |
| "NFT" | Предметы — это предметы |
| "Web3" / "Decentralized" | "Мир принадлежит всем его магам" |
Перед выпуском каждый экран проходит:
"Если показать этот экран 13-летнему, который никогда не слышал про блокчейн — он поймёт это как фэнтези RPG или что-то его смутит?"
Дополнительно:
- "Есть ли тут текст, которого не было бы в обычной RPG?" → Убрать.
- "Игрок ждёт чего-то не покрытого анимацией?" → Добавить.
- "Может ли игрок описать эту игру другу без крипто-термина?" → Если нет — именование неправильное.
Некоторые игроки откроют блокчейн-слой. Для них — тихий путь:
- "Архивы Мира" — в Настройки → Дополнительно → стилизованный обозреватель блоков
- "О Магии Мира" — в Об игре, написано полу-нарративно:
"Мир Виз построен на магическом субстрате — открытом, бесплатном распределённом леджере, записывающем каждое событие навечно. Персонаж, предметы и достижения хранятся в этой цепи и по-настоящему принадлежат вам."
Принцип: блокчейн обнаруживаем для ищущих, невидим для остальных.
Лэндинг, создание аккаунта, выбор класса, туториал, домашний дашборд, PvE бой (3 типа существ), экран персонажа, инвентарь, базовая accessibility (скринридер + клавиатура), UI-звуки.
PvP commit-reveal, Арена + лидерборд, Хроника Мира, система Благословений, push-уведомления, оффлайн чтение, Боевой Рассказчик + пространственное аудио.
Создание/управление гильдией, доска гильдии, квесты, базовые территории, Покровительство (делегирование), Свитки Призыва (инвайт).
Маркетплейс (escrow-торговля), крафтинг, расширение карты, сезонные события, карточки для шеринга, продвинутое управление гильдией.
Войны территорий, сезонный нарратив, престижные классы, продвинутое зачарование, инструменты для комьюнити-контента.
| Метрика | Цель |
|---|---|
| Первый каст заклинания | < 2 минуты |
| Первая значимая награда | < 4 минуты |
| Прохождение онбординга | > 80% |
| Блокчейн-терминов в UI | 0 |
| WCAG 2.1 AA | 100% |
| Незрячий тестер проходит все flow | Да |
| Игроки в гильдиях к 7 дню | > 40% |
| Ретеншн 7 дней | > 30% |
"Мир ждёт своих первых магов. Построим его правильно."