Игры
Windows 8.1 можно использовать на большом количестве разнообразных устройств — от сенсорных и перьевых планшетов с современными датчиками до ноутбуков с высоким разрешением и настольных компьютеров. Это разнообразие дает издателям игр уникальную возможность разрабатывать события для различных сценариев. В этой статье вы узнаете, как применить в игре принципы Windows и руководства по взаимодействию с пользователем, улучшив взаимодействие и сделав приложение более привлекательным.
Для игр особенно важны несколько новых возможностей Windows 8.1:
- Живые плитки и уведомления— игры могут привлекать и удерживать внимание игроков активными плитками, отображающими на начальном экране счет, достижения, вызовы, а также приглашения от других игроков. Уведомления во время игры и действия других пользователей могут побудить игроков быстрее и чаще возвращаться к вашей игре.
- Контракты отправки данных— соглашения между приложениями позволяют вашей игре подключаться к другим приложениям, уже установленным в системе, доступным в Магазине Windows или в Интернете, делая взаимодействие пользователя с игрой более социальным.
- Поддержка различных вариантов взаимодействия с пользователем— Windows 8.1 обеспечивает поддержку сенсорного экрана, пера, клавиатуры, мыши и внешних игровых устройств.
- Датчики— Windows 8.1 обеспечивает поддержку современных датчиков, таких как датчик освещения, гироскоп, акселерометр и датчик местоположения.
- Поддержка различных конструктивных параметров и размеров экрана— в игры можно играть на устройствах с различными конструктивными параметрами: и на компьютерах с большим экраном, и на планшетах. Для обеспечения оптимального взаимодействия элементы управления игрой могут отображаться в различных вариантах макета в зависимости от размера окна или экрана.
- Магазин Windows— Магазин Windows предлагает разработчикам приложений новые возможности по распространению, рекламе и продаже игр и дополнительных компонентов к ним. В Магазине Windows вы легко можете предложить пользователям бесплатную пробную версию. Для этого не нужно писать специальный код.
Прочитав эту статью, вы узнаете о влиянии описанных в ней возможностей на проектирование и разработку игр для Windows 8.1. Эти принципы будут продемонстрированы на примере следующих игр: Cut the Rope, "Косынка" (Майкрософт), Tankster, PuzzleTouch и Cannon Ball.
Определение самых привлекательных сторон продукта
Перед началом проектирования игры определите наиболее привлекательные стороны своего продукта, включая перечень элементов взаимодействия, которые вы хотите предоставить своим пользователям. По каким позициям ваша игра лидирует и какие преимущества она имеет перед конкурентами? С учетом самых привлекательных сторон продукта в ходе проектирования и принятия решений определите, какие сценарии и компоненты стоит добавить в игру.
Наиболее сильной стороной Cannon Ball является простой и захватывающий игровой процесс, позволяющий создавать музыку, проводя мяч через ряд платформ и собирая монеты. В ходе планирования игры данная формулировка влияла на принятие решений по поводу сценария. Чтобы провести мяч и собрать монеты, пользователь должен изменить угол расположения платформ. Для использования этого сценария были реализованы такие элементы управления вводом, как касание, клавиатура и мышь. Принятие решения о том, какие сценарии не использовать, также базировалось на данной формулировке. Например, было решено, что приложение не будет поддерживать сценарий сохранения музыки, созданной во время игрового процесса. Возможность сохранения музыки не была добавлена и реализована в игре.
Живые плитки, вспомогательные плитки и уведомления
В играх могут использоваться живые плитки для вовлечения пользователей в процесс игры с начального экрана. Используйте живую плитку для отображения сведений о последних счетах игроков, их достижениях в игре или состоянии их игры. Если вы обновили игру новым содержимым, таким как игровые объекты или уровни, то вы можете отобразить эти сведения на живой плитке, чтобы вовлечь пользователей в обновленную игру.
Если в процесс вашей игры входит сложное прохождение или несколько ведущихся одновременно игр (например, пошаговая игра, в которой участвуют несколько друзей), разрешите пользователям закреплять сохраненные игры или отдельные матчи на начальном экране в виде вспомогательных плиток. Это позволит пользователю сразу перейти в интересующую его игру. Подробнее о живых плитках: Руководство и контрольный список для плиток и индикаторов событий.
Дополнительным способом удерживать пользователей в игре, пока они заняты другими делами, являются всплывающие уведомления, которые оповещают пользователей об их очереди ходить или о том, что их друг набрал больше очков. При реализации всплывающих уведомлений следуйте инструкциям, представленным в разделе Руководство и контрольный список по всплывающим уведомлениям.
Рекомендуется позволить пользователям выбирать размер плитки (маленькая, средняя, большая и широкая). Чем более привлекательными будут визуальные элементы или данные на плитке, тем более вероятно, что пользователь выделит для нее больше места на экране. Поэкспериментируйте с размером, цветом и содержимым плитки, чтобы подобрать лучшее сочетание для своей игры. Объявите нужный размер плитки в манифесте приложения, а также укажите ресурсы для других размеров плитки. Подробнее о размере плитки в манифесте приложения см. в разделе DefaultTile. Подробнее об обновлении плитки см. в разделе Схема плитки.
Рисунок 1. Живая плитка для Cannon Ball использует шаблон TileWideImageAndText02. Этот шаблон плитки позволяет разработчику показывать цветное изображение в игре и предоставлять актуальные сведения о рекордах пользователя и количестве собранных сокровищ. Сведения о других форматах плиток см. в разделе Каталог форматов плиток.
Экраны-заставки и элементы управления "Ход выполнения"
Первое, что увидит целевая аудитория при запуске игры, — это экран-заставка. Он служит плавным переходом от загрузки игры к состоянию, когда можно играть. Многие игры загружаются более 3 секунд из-за большого объема ресурсов, которые они используют. Если это касается и вашей игры, добавьте расширенный экран-заставку с фоновой музыкой или кольцевым индикатором выполнения, чтобы сообщить пользователю о том, что игра активно загружается. Подробнее об экранах-заставках см. в разделе Руководство и контрольный список для экранов-заставок.
Расширенный экран-заставка также полезен во время игры, когда приложению необходимо получить ресурсы: например, при загрузке нового уровня или подготовке к воспроизведению видеофрагмента. Если игра не будет отвечать дольше 0,5 секунды, следует показать пользователям индикатор хода выполнения. Это сообщит им, что приложение продолжает обработку, а не завершилось аварийно.
Чтобы сделать процесс загрузки приложения более привлекательным, вы также можете воспроизводить фоновую музыку и включить параллельную анимацию с фирменной символикой игры.
Макет и навигация
В отношении навигации и команд игры могут включать сложные стратегии, которым требуются многоуровневые меню для размещения огромного количества параметров и возможностей; но игры также бывают примитивными, такими как упрощенные игры-головоломки, которые могут вообще не иметь каких-либо меню или параметров. Некоторые игры представляют экраны достижений, оценки игроков, группы сетевых игроков и многое другое — в то время как другие взаимодействуют с пользователем только в игре как таковой. Непременная отличительная черта первоклассной игры для Windows 8 — быстрая и динамичная навигация между различными типами взаимодействия. Используемый шаблон навигации должен основываться на типах взаимодействий, поддерживаемых приложением. Вам следует рассмотреть иерархический шаблон навигации и шаблон одноуровневой навигации и разобраться в них. Часто не сама игра, а другое включенное в нее содержимое помогает определить, какая нужна структура навигации.
Если вы включаете в игру сложное взаимодействие с пользователем, выходящее далеко за рамки самой игры, то ей подойдет иерархический шаблон, который поможет вывести все необходимое содержимое на верхний уровень. Не прячьте содержимое в многоуровневых меню. Благодаря этому все тщательно продуманные элементы взаимодействия находятся во время игры у пользователя перед глазами. Однако если единственным взаимодействием с пользователем является сам игровой процесс, используйте плоский шаблон, который позволит быстро перемещаться между несколькими сеансами игры (например, между несколькими играми один на один с друзьями).
Справочные сведения по выбору оптимального шаблона навигации для конкретного приложения см. в разделе Шаблоны навигации.
См. шаблон одноуровневой навигации и иерархический шаблон навигации в нашей серии демонстраций Возможности приложения от начала до конца.
Иерархический шаблон
Иерархический шаблон позволяет расположить все содержимое перед глазами пользователя на основной центральной странице, обеспечивая приятное и полное впечатление от игры. На главной странице вы можете расположить как точки входа в саму игру (например, "Выбор уровня", "Новая игра" или "Продолжить игру"), так и последние достижения, списки друзей и другое содержимое. Все это можно разместить на одной поверхности с горизонтальной прокруткой. Это позволяет предоставлять пользователям обновленное содержимое при каждом просмотре, обеспечивая динамичность, даже когда пользователи не играют. Каждая область способна представлять содержимое, с которым пользователи могут взаимодействовать напрямую. Используйте заголовки раздела в качестве точек навигации, чтобы добиться более подробного вида содержимого для этой категории. Вы также можете использовать главную страницу для придания игре некоторой индивидуальности и передачи фирменной символики. Например, если пользователь выбирает конкретный уровень, фон страницы разделов может меняться с учетом выбранного уровня.
Microsoft Solitaire Collection (Коллекция пасьянсов от Microsoft) использует иерархический шаблон, чтобы пользователь мог переходить от одного расклада к другому.
Всегда должен быть способ вернуться из игры на центральную страницу. Часто он предоставляется посредством кнопки "Назад" в заголовке. Суть в том, чтобы у пользователей было ощущение, что процесс навигации по содержимому игры намного естественнее, чем поиск по меню. Рассмотрите реализацию семантического масштабирования, чтобы позволить пользователям без труда перемещаться между разделами. Пользователь, находящийся в определенном разделе центральной страницы, может выполнить контекстное уменьшение и быстро вернуться к другим разделам меню.
Microsoft Solitaire Collection (Коллекция пасьянсов от Microsoft) использует контекстное масштабирование, чтобы пользователь мог быстро переходить между разделами главной страницы.
Иерархический шаблон должен давать пользователям возможность перемещаться от одного элемента взаимодействия к другому в контексте игры. Данный шаблон является прекрасным решением для игр с множеством различных параметров процесса игры или для игр со множеством дополнительных элементов взаимодействия.
Плоский шаблон
Плоский шаблон позволяет удерживать сюжет игры в центре переднего плана. Это удобно для игр, в которых нет автономных элементов взаимодействия. Помимо плоского шаблона, используйте верхнюю панель приложения как начальную навигационную страницу вместо того, чтобы отсылать пользователя на разреженную главную страницу. Здесь должны отображаться различные сеансы пользователя и обеспечиваться простые переходы между ними. Если перед началом игры есть предварительное состояние или игра может быть приостановлена, попробуйте добавить экран с фирменной символикой игры, который будет служить "домашней страницей" для игры. Не нужно показывать верхнюю панель приложения при запуске игры. Например, Internet Explorer направляет пользователей на веб-страницу, где они были в последний раз, и предполагает, что они задействуют панель приложения для перехода между вкладками.
Следующий рисунок показывает игру, которая не предлагает каких-либо элементов взаимодействия вне игровых сессий, а также средств перехода между ними. Вместо того чтобы создавать главную страницу с парой функций, в игре используется плоский шаблон, который позволяет расположить все содержимое перед пользователем и дать ему возможность быстро и уверенно перемещаться между элементами.
Дополнительные рекомендации относительно расположения: Приложения должны поддерживать однонаправленную прокрутку. Если центральная страница прокручивается в горизонтальном направлении, то все поля приложения также должны прокручиваться горизонтально. Областей с вертикальной прокруткой быть не должно. Например, если у вас есть длинная таблица лидеров, которая традиционно располагается по вертикали, сверните ее содержимое так, чтобы оно отображалось в виде колонок. Если вас беспокоит длинный перечень сведений, предусмотрите возможность применения контекстного масштабирования для перехода из одного конца длинного списка в другой.
Взаимодействия в процессе игры
Сенсорный ввод. Прямая манипуляция настоятельно рекомендуется для управления игрой. Windows 8.1 поддерживает мощный механизм мультисенсорного ввода (до 5 операций ввода), что позволяет пользователям осуществлять сдвиг или масштабирование и одновременно выполнять команду или же перемещать игрока либо игровую камеру и одновременно стрелять. При проектировании игры предусмотрите возможность взаимодействия с любыми пользователями, в том числе теми, чьи устройства не поддерживают сенсорный ввод, чтобы они могли играть с помощью мыши и клавиатуры.
Использование виртуальных элементов управления (таких как виртуальная крестовина для управления движениями персонажей или скольжение пальца влево и вправо для управления автомобилем) позволяет избежать загромождения холста кнопками и элементами управления и оставить достаточно места для игрового процесса. Клавиши W, A, S, D и клавиши со стрелками — это традиционные способы навигации с клавиатуры, и их можно поддерживать параллельно с виртуальной крестовиной. Если вы размещаете на игровом холсте крестовину или кнопки, дайте пользователю возможность настраивать размер и положение элементов управления либо задайте их расположение относительно точек касания экрана пальцами. Не существует универсальных расположения и размера, которые подошли бы всем пользователям. Предусмотрите расположение виртуального джойстика по умолчанию в том месте, где находится большой палец пользователя, держащего планшет.
Проверьте, может ли пользователь во время сенсорного ввода случайно запустить нежелательное действие, например переключиться в другое активное приложение с левой стороны экрана или открыть панель чудо-кнопок. Команды игры и элементы взаимодействия с ними всегда должны находиться на расстоянии не менее 20 пикселей от краев экрана, чтобы не пересекаться с элементами пользовательского интерфейса, например чудо-кнопками или панелями приложения. Попробуйте добавить некий визуальный разделитель, который не даст пользователю проводить пальцем по экрану около краев, либо измените элементы управления так, чтобы избегать случайного скольжения пальцем около краев. Также необходимо отказаться от использования игровых команд, которые требуют от пользователя перемещения мыши по углам экрана, поскольку система использует углы для открытия чудо-кнопок и переключения в другие активные приложения с помощью мыши. Если в игре для управления виртуальной камерой используются элементы управления, напоминающие работу с мышью, рекомендуется следовать подходу, описанному в разделе Разработка элементов управления для мыши.
Несколько режимов ввода. Игры должны поддерживать сенсорный ввод, а также клавиатуру, мышь, игровое устройство управления и перо. Чтобы взаимодействие было удобным на компьютерах любых конструкций, игры должны поддерживать все возможные механизмы ввода, а схема элементов управления, независимо от режима ввода, должна быть универсальной и единообразной по стилю. Переключение между способами ввода должно выполняться динамически в реальном времени. Например, если обнаружено касание, то должны появляться элементы управления, которые применяются для сенсорного ввода, а если зарегистрирован щелчок мышью, то элементы управления, используемые только для сенсорного ввода, должны исчезать. Сделайте переключение между методами ввода как можно более динамичным. Не реализуйте параметры, в которых пользователи будут вручную включать или выключать сенсорные элементы управления либо выбирать определенный режим ввода. Не спрашивайте пользователя, какой метод ввода он предпочел бы в данной игре, и не подсказывайте метод. В идеале игра должна поддерживать все режимы управления в равной степени и бесперебойно, причем без переключения между режимами.
Команды панели приложения. По возможности проектируйте игру так, чтобы пользователь мог манипулировать содержимым на холсте напрямую, а не с помощью специальных команд. Если требуются дополнительные команды или элементы управления навигацией, то пользователи ожидают найти их на панели приложения. Игры с несколькими страницами могут использовать команды навигации, которые обычно размещаются на верхней панели приложения, и вспомогательные команды, которые обычно помещаются на нижней панели приложения. Команды, которые доступны всегда, такие как запуск новой игры, должны располагаться справа на нижней панели приложения. Слева добавьте контекстные команды, которые зависят от положения пользователя на центральной странице или от того, что выбрано на этой странице. Например, если на центральной странице ролевой игры есть список сохраненных игр, то пользователь, скорее всего, выберет одну из них и вызовет нижнюю панель приложения, ожидая, что слева на нижней панели появится команда удаления.
Чтобы определить, должен ли тот или иной элемент управления находиться на полотне или на нижней панели приложений, ответьте на два вопроса:
- Часто ли пользователю требуется использовать этот элемент управления?
- Необходим ли этот элемент управления для игры?
Если ответ хотя бы на один из этих вопросов утвердительный, то рекомендуется разместить этот элемент управления на полотне. Это гарантирует, что пользователи не будут раздражаться из-за того, что им постоянно приходится вытаскивать панель приложений лишь для того, чтобы продвинуться в игре.
На следующем рисунке показан холст без элементов управления. Пользователи играют с помощью прямых манипуляций. Пользователь поворачивает платформы касанием или мышью, чтобы провести мяч по пути с монетами. Однако когда он проводит пальцем от нижнего края экрана или щелкает правой кнопкой мыши, игра приостанавливается и появляется панель приложения, позволяющая пользователю сменить оружие.
Когда игра поставлена на паузу, пользователь может вытянуть наверх панель приложения, чтобы перезапустить уровень.
Также можно поместить на экране значок переключателя "игра/пауза" для возобновления игры.
В игре Cut the Rope достаточно важна кнопка "Отменить" для сворачивания пространства на полотне. Она доступна в верхнем правом углу, поскольку в этой игре данное действие используется часто.
Вы можете слегка стилизовать панели приложений, кнопки и индикаторы выполнения, чтобы они отражали торговую марку или индивидуальность игры. Элементы могут быть любой формы, цвета и размера.
Подробнее о размещении элементов управления на панели приложения: Шаблоны команд.
Датчики
Интеграция датчиков в Windows 8.1 представляет новое поколение возможностей взаимодействия для игр и интерактивных развлечений. Доступ к акселерометру, компасу, гироскопу, датчикам освещенности и многим другим устройствам позволяет сделать процесс игры максимально динамичным и обладающим эффектом присутствия. Windows 8.1 также предлагает сочетание различных датчиков, чтобы повысить точность ориентации и определения расположения, что можно использовать в играх.
При разработке игр с активацией датчиков предусмотрите использование их возможностей и определите, что поддерживают ваши основные сценарии. Убедитесь, что выбрали правильный датчик для данного задания.
- Акселерометры можно использовать для управления автомобилями или поворотными игровыми элементами.
- Вы можете распознавать движения устройств для вращения персонажа или камеры.
- Встряхивание устройства может быть захватывающим методом защиты от врагов или сброса доски для игры в головоломке.
- Датчик освещенности можно использовать для смены настроения или освещения в визуализации игры, чтобы усилить эффект присутствия.
- Вы можете использовать микрофон или даже камеру, чтобы интегрировать реалистичные элементы среды в игру.
- Достичь эффекта расширенной реальности можно посредством интеграции камеры, сочетания различных датчиков и секретных элементов визуализации в игре со скрытыми объектами.
Возможности достаточно широки, и пока нет смысла использовать в играх все датчики. Подойдя к задаче творчески, можно заменить множество меню или команд простым жестом или движением. Дополнительные сведения о датчиках, которые можно использовать, см. в публикации Придание динамичности приложению c помощью определения местоположения и датчиков.
Контракты
Используйте контракты для расширения возможностей взаимодействия вашей игры и подключения к остальным элементам взаимодействия Windows 8.1. Подробнее о контрактах см. в разделе Контракты и расширения приложений. Ниже приведены некоторые примеры полезных контрактов, которые можно реализовать.
Поиск. В игры можно включить несколько интересных сценариев поиска. Продумайте, что может искать пользователь в разных эпизодах игры. Например, реализуйте поиск достижений или статистики друзей, поиск друга для совместной игры или поиск приобретенного игрового элемента. В этих случаях следуйте существующим рекомендациям по использованию поля поиска. Подробнее о поиске см. в руководстве по поиску.
Общий доступ. Контракт отправки данных позволяет подключать пользователя к другим пользователям, средствам массовой информации или друзьям, давая пользователю возможность предоставлять общий доступ к конкретным достижениям, статусу или даже снимкам экрана и коротким клипам процесса игры. Также этот контракт можно использовать для предоставления играм общего доступа к данным, например чтобы послать другу определенный элемент, созданный для ролевой игры, или индивидуальную головоломку.
При выборе объектов общего доступа продумайте, как вы будете отражать торговую марку, чтобы стилизовать общедоступную информацию. Общий доступ можно предоставлять к самым различным форматам (через URL-адреса, почту, социальные приложения и облачные службы), причем пользователи смогут предоставлять общий доступ друзьям, у которых может не быть вашей игры или которые работают на других платформах. Эффективная реклама торговой марки в любом информационном пространстве с общим доступом может привлечь еще больше пользователей к игре.
Если ваша игра может использовать данные из других приложений и выполнять их интересные преобразования, стоит подумать об использовании контракта получателя данных. Например, игровое приложение PuzzleTouch получает фотографию от приложения Photos и преобразует ее в головоломку с учетом предпочтений пользователя. Подробнее об общем доступе см. в разделе Руководство и контрольный список по элементу "Общий доступ".
Устройства. Здесь пользователи могут подключить игровые приставки и другие периферийные устройства при подготовке к игре и получить возможность отображать игру на более крупном устройстве. Пользователи также могут печатать с помощью чудо-кнопки "Устройства".
Настройки и параметры
Необходимо обеспечить доступ ко всем настройкам, параметрам, политике конфиденциальности, информации об игре и авторах и содержимому справки через чудо-кнопку "Параметры". Чудо-кнопка "Параметры" объединяет все настройки и параметры приложений Магазина Windows, поэтому естественно, что пользователь будет обращаться к ней, если захочет настроить звуковые эффекты игры или изменить какие-либо настройки. Доступ к параметрам игры не должен происходить на игровой поверхности или на панели приложения, если игра не предусматривает частое обращение к параметрам. Пользователи будут знать, что для вызова настроек надо нажать чудо-кнопку "Параметры", поэтому не должно быть дополнительных меню, дублирующих функции этой кнопки, или каких-либо элементов пользовательского интерфейса, которые служат только для вывода области параметров.
Windows 8.1 поддерживает глобальное управление громкостью, но некоторым играм требуются собственные, более сложные параметры воспроизведения звука (например, отдельные ползунки громкости для музыки, звуковых эффектов и речи, которые пользователи могут настраивать независимо). Используйте метку, чтобы было понятно, что параметры звука относятся к игре. Ползунки и кнопки параметров должны давать обратную связь в реальном времени, а не требовать дополнительных действий, таких как нажатие кнопок "Принять" или "ОК" для подтверждения изменений.
Если в игре есть начальное обучение или справка (учебники), сделайте эту информацию доступной через чудо-кнопку "Параметры". Как вариант, вы можете сделать учебники частью процесса игры. В примере, приведенном на следующем рисунке, обучение является частью начального этапа игры Cut the Rope.
Подробнее о предоставлении справки и руководств в приложении: Руководство по обучению работе с пользовательским интерфейсом.
Учетные записи игроков
Учетные записи игроков полезны для отслеживания продвижения игрока в игре, обеспечения связи игрока с социальными сетями и реализации моделей доходов. Поддержка учетных записей игроков позволит создать более увлекательное взаимодействие, которое позволяет играть с друзьями и удерживать интерес пользователя.
Вход пользователя в систему. Если вход пользователя важен для взаимодействия с игрой, как, например, в случае игр для социальных сетей, где необходим доступ к данным и социальным связям пользователя, разместите на целевой странице форму входа, а не предлагайте игру, в которую невозможно играть. По возможности старайтесь использовать для входа данные учетной записи Майкрософт пользователя, сохраненные в кэше с предыдущего сеанса игры.
Если в игру можно играть без формы входа, но ее использование настоятельно рекомендуется (например, модель дохода от игры предполагает рекламу скачиваемого содержимого, которого у пользователя, возможно, еще нет), форму входа можно разместить на главной или целевой странице игры. Если она занимает место на главной странице, то игра должна четко сообщать пользователям, что они не выполнили вход в систему. После того как пользователь войдет в игру, полностью удалите форму входа либо замените ее индивидуальным содержимым пользователя. Если в игре форма входа находится на целевой странице игры, у пользователя должна быть возможность пропустить вход. Если пользователь не захочет входить в игру, приложение должно уважать его решение и не возвращать пользователя на эту страницу в начале последующих сеансов игры. В этих случаях можно использовать пространство на главной странице для выполнения входа в систему.
Если форма входа желательна, но не обязательна, расположите ее на чудо-кнопке "Параметры". Панель настроек может быть открыта в тот момент, когда приложение начинает помогать пользователю найти элемент взаимодействия "Вход в систему".
Во всех случаях вход в систему должен быть доступен из области "Параметры" панели управления учетными записями.
Управление учетными записями и выход из системы. Размещайте сценарии управления учетными записями, например обновление почты пользователя или изменение пароля, на чудо-кнопке "Параметры". Выход из игры также должен быть расположен на чудо-кнопке "Параметры" вместе с другими настройками.
Приостановка игры
Поддержка приостановки обязательна не для каждой игры. Например, игры со сменой хода, как правило, не предусматривают приостановки. Сюда стоит добавить игры, целиком управляемые пользователем, на которые не влияют какие-либо внешние факторы, такие как таймер или часы. Приостановка в таких играх не имеет смысла. В таких случаях нет необходимости приостанавливать игру, когда пользователь переходит от нее к другим делам. Когда пользователь вернется к игре, она должна быть в том же состоянии, что и до выхода из нее. Если это невозможно (например, при завершении сеанса игры с несколькими игроками), приложение должно четко сообщить пользователю, в каком состоянии находится игра.
В играх, где имеются значимые сценарии приостановки, необходимо регистрировать потерю фокуса и приостанавливать игру, когда пользователь проведет пальцем от левого, нижнего или правого края экрана или когда появится системное диалоговое окно. Если ваша игра динамичная или в ней ведется отсчет времени, то приостановка должна происходить при изменении размера окна или макета. Затем пользователь должен получить возможность возобновить игру с новым размером окна или макетом, если они поддерживаются. Приостановка игры не должна определяться исключительно событием потери фокуса. Рекомендуется добавить в игру кнопку, которая позволит пользователям приостановить игру и переключиться на другие задачи. Определите расположение команды приостановки аналогично тому, как это описано в разделе Взаимодействия в процессе игры этой статьи.
Сообщение о состоянии приостановки. Сообщайте пользователю, когда игра находится в приостановленном состоянии. Это можно реализовать в виде накладки или экрана с сообщением о приостановке. Для таких игр, как головоломки, стратегии или игры с отсчетом времени, во время приостановки затемняйте холст игры, чтобы пользователи не получали преимущества нечестно — за счет приостановки и изучения доски для игры.
Вернуться к игре должно быть так же легко, как и включить приостановку. Как наложение, так и экран с сообщением о приостановке должны содержать какой-то элемент, позволяющий вновь запустить игру. Если пользователь перейдет на центральную страницу, позаботьтесь о приостановке игры. Когда пользователь вернется к игре или отменит приостановку, игра должна продолжиться из того же самого состояния.
Когда пользователь возвращается к игре, дайте ему пару секунд, чтобы сориентироваться, прежде чем возобновлять действие. Это удобно реализовать с помощью обратного отсчета.
Игры, где есть элементы управления скоростью времени —например, игра в строительство города—, могут "приостанавливать" течение времени, но это не то же самое, что приостановка игры. Приостановка — это полное прекращение взаимодействия пользователя с игрой, хотя некоторая фоновая визуализация может продолжаться, чтобы обеспечить работу анимации.
Изменение ориентации и размера окна
Пользователь может изменять размер приложения от полного экрана до минимальной ширины, может поворачивать экран или устройство из альбомной ориентации в книжную и размещать несколько приложений рядом на экране. Игра должна поддерживать изменения размера окна и ориентации экрана. Внимательно следите за состоянием игры при изменении размера окна, чтобы взаимодействие с игроком было плавным и непрерывным. Переход от альбомной к книжной ориентации не должен переносить пользователя на начальный экран. Лучше всего показать измененную по размеру версию страницы, на которой он уже побывал.
Игра должна поддерживать минимальную ширину 500 пикселей, однако поддержка минимальной ширины 320 пикселей может сделать игру более привлекательной. В игру должно быть возможно играть при любом размере вплоть до выбранной минимальной ширины. Она просто должна менять свое представление в зависимости от имеющегося пространства.
Вы можете адаптировать игру к окну меньшей ширины. Способ адаптации может определяться особенностями игры.
Изменение размера и киноформат. Сохраняйте пропорции, а при уменьшении ширины применяйте для игры киноформат. Этот метод лучше всего подходит для игр, в которых содержимое жестко закреплено и не может динамически подстраиваться под окна другого размера. Вместо черных полос по краям для киноформата можно использовать подходящий цвет или узор из игры. Этот метод применяется в игре Cut the Rope, как показано на следующем изображении.
Сдвиг, обрезка и масштабирование. Разрешите пользователю играть в некоторые фрагменты игры в сдвинутом, обрезанном или масштабированном представлении. Этот метод применяется в игре PuzzleTouch, как показано на следующем изображении.
Адаптация. Изменяйте макет содержимого игры таким образом, чтобы пользователь мог продолжить игру в другом макете. Вы можете включить в представление несколько экранов или страниц игры, чтобы максимально эффективно использовать доступную ширину окна. Например, разместите сверху игровой экран, а снизу — списки лидеров и достижения. Этот метод применяется в игре "Косынка" (Майкрософт), как показано на следующем изображении.
Если фокус смещается от игры к другому приложению на экране, то игра должна соответственно адаптироваться (или приостанавливаться).
Возможность играть в узких окнах позволяет использовать механизм многозадачности, чтобы пользователь продолжал игру и одновременно занимался другими делами в системе, дольше оставаясь вовлеченным в игровой процесс. Этот подход особенно актуален для простых развлекательных игр, которые могут удерживать внимание пользователя, не занимая весь экран. Например, в узком окне пользователь может продолжать решать головоломку, делать ход в пошаговой игре или играть в настольную игру. Если в игре доступны дополнительные действия (например, чат с друзьями или просмотр карты), то они должны работать и в узком окне.
В следующем примере игра Cannon Ball работает в узком окне. Элементы игры накладываются друг на друга, меняют порядок и размер, чтобы уместиться в узком окне, а страница масштабируется, чтобы пользователь мог больше увидеть на этом уровне.
Продумайте, как будет работать сенсорный ввод при изменении размера окна на более узкий. В небольшом окне пользователи могут нечаянно запустить действия на краях экрана. Продумайте, как можно изменить элементы управления, чтобы избежать случайных скольжений пальцем по краю экрана. Также важно продумать расположение команд. Не исключено, что некоторые команды не поместятся на панели приложения, когда приложение будет отображаться в узком окне. В таком случае сгруппируйте команды или обеспечьте более специализированное взаимодействие, которое требует меньше команд. Помните, что подписи значков на стандартной панели приложения по умолчанию скрыты, если окно слишком узко для их отображения, поэтому постарайтесь подобрать значки, которые легко идентифицировать.
Если в игру нельзя играть при малом размере окна или в какой-то момент для продвижения необходим полноэкранный режим, то игра должна приостановиться и сообщить пользователю, что дальнейшие действия невозможны, пока ширина окна приложения не будет увеличена. При приостановке или изменении размера окна игра не должна утрачивать свое состояние или контекст. Когда пользователь возвращает увеличенный размер приложения, он должен иметь возможность без труда продолжить игру. Подробнее о размерах окон: Руководство по размерам окон и Руководство по изменению размеров окон для высоких и узких макетов.
Важно продумать, как игра будет масштабироваться для экранов с разным разрешением и числом точек на дюйм. Обычно растяжение или сжатие плохо сказываются на игре, поскольку ее ресурсы могут размываться или терять пропорции. Вместо непосредственного масштабирования реализуйте макет, который адаптирует изображение в зависимости от разрешения. На большом экране можно отобразить больше содержимого, например показать большую часть уровня, а не просто растягивать представление. Подробнее о масштабировании в зависимости от экрана: Руководство по масштабированию в зависимости от размера экрана.
Управление состоянием и сохранение
Игра должна следовать модели состояния приложений Магазина Windows. Она должна запоминать свое последнее состояние и возвращать к нему пользователя при активации.
Любая остановленная игра должна быть до этого приостановлена, если это не игра без режима приостановки. Если в приложении нет режима приостановки, при возвращении приложение вводит пользователя непосредственно в игру.
В случае непрерывной игры с несколькими игроками по окончании сеанса, в котором находился пользователь, приложение должно отобразить экран окончания игры или каким-либо другим способом сообщить пользователю, что сеанс игры завершен.
Это руководство по управлению состоянием не имеет отношения к принципу "контрольных точек", "файлов сохранения" или к сохранению нескольких игр в рамках игрового приложения. Оно относится только к обработке жизненного цикла в Windows 8.1. Подробнее об управлении состоянием см. в разделе Руководство по приостановке и возобновлению работы приложений.
Перемещение в облако
Реализуйте независимое от устройства взаимодействие с пользователем, перемещая данные о состоянии и параметрах игры. Тогда при подключении с любого другого устройства пользователь сможет продолжить игру с прерванного момента. Сохраняйте настройки и состояния с помощью перемещения, чтобы пользователю было удобно обращаться к вашей игре где угодно: дома, на работе или со своего планшета. Подробнее см. в разделе Руководство по перемещаемым данным приложения.
Специальные возможности
Среди пользователей Windows могут быть люди с ограниченными возможностями. Если игру можно пересмотреть так, чтобы в нее могли играть люди с ограниченными возможностями, то адаптируйте игру для них. Люди с ограниченными возможностями смогут использовать функции поиска доступных приложений, чтобы найти вашу игру, если вы заявите о поддержке в ней специальных возможностей при отправке в Магазин Windows. Если ваше приложение имеет специальные возможности, это обеспечит вам более широкий круг пользователей и позволит привлечь больше клиентов. Компоненты специальных возможностей легко включаются в приложения Магазина Windows, особенно если предусмотреть это на раннем этапе проектирования. Добавление компонентов специальных возможностей сделает игры более привлекательными для всех пользователей. Например, если элементы управления игрой можно было бы повторно сопоставить или размещать, принимая во внимание те места, где пользователь располагает руки, то это позволило бы как правшам, так и левшам играть наиболее удобным для них образом.
При проектировании специальных возможностей существуют несколько важных сценариев, которые необходимо продумать.
Проектирование для слабовидящих. Слепые или слабовидящие пользователи задействуют программы чтения с экрана для улучшения ментальной модели пользовательского интерфейса игры. Для работы программы чтения с экрана необходимо, чтобы элементы пользовательского интерфейса в игре включали в себя имя, роль, описание, состояние, положение, а также другие важные сведения. Следует продумать внешний вид пользовательского интерфейса при включении специальных возможностей, таких как "Увеличить все элементы на экране", или режима высокой контрастности. Возможно, вам потребуется создать другие ресурсы для режима высокой контрастности или добавить дополнительный код, чтобы настраивать визуальные элементы игры, когда пользователь включает системный режим высокой контрастности. Используйте удобную цветовую схему для страдающих цветовой слепотой. Если в игре есть фрагменты, где для передачи информации используются цвета, убедитесь, что эта информация продублирована иным способом, например с помощью текста, фигур или значков.
В игру Cannon Ball можно играть в режиме высокой контрастности. Чтобы включить этот режим, разработчики создали альтернативный набор ресурсов, которые вызываются при переходе системы в режим высокой контрастности.
Проектирование специальных возможностей клавиатуры и альтернативных элементов ввода. Клавиатура весьма важна для использования устройства чтения с экрана, а также для пользователей, которые применяют альтернативные механизмы ввода, например контроллеры переключения или устройство отслеживания направления взгляда. Убедитесь, что между всеми элементами пользовательского интерфейса можно перемещаться с помощью клавиши табуляции и клавиш со стрелками. Элементы пользовательского интерфейса должны активироваться с помощью клавиши пробела и клавиши ВВОД. Доступ к командам и элементам управления должен производиться с помощью сочетаний клавиш. Продумайте, как можно играть в вашу игру с помощью одной только клавиатуры. Например, в игре Cannon Ball платформы можно поворачивать с помощью клавиш со стрелками, поэтому для игры достаточно одной клавиатуры.
Проектирование для людей с дефектами слуха. Если игра использует аудиоинформацию или речь для передачи информации, то необходимо обеспечить субтитры для глухих и слабослышащих пользователей. Должны быть визуальные заменители всех звуковых элементов, а настроение и смысл игры должны передаваться даже без звука. Если в игре одновременно используется несколько различных звуков, например звуковые эффекты и диалог, реализуйте отдельные элементы управления громкостью для каждого из них, чтобы пользователь смог их понять.
Проектирование для лиц с нарушениями когнитивных функций. Игра по возможности должна иметь широкий диапазон уровней сложности и скоростей. Продумайте, как пользователи с нарушенной способностью к обучению и нарушением когнитивных функций будут играть в вашу игру. Сможет ли играть в нее тот, кто еще только учится читать? Для пользователей с ограниченной подвижностью или нарушенной способностью к обучению по возможности предусмотрите учебно-экспериментальную среду или свободный режим игры без отсчета времени.
Краткое заключение
Игры предлагают самое разнообразное содержимое, с которым пользователь может взаимодействовать, и в хорошей игре для Windows 8.1 это содержимое доступно пользователю сразу, минуя все излишние элементы пользовательского интерфейса. Следуя приведенным здесь советам и рекомендациям, вы сможете приспособить каждый компонент игры для наилучшего игрового взаимодействия.
Связанные разделы
Знакомство с приложениями Магазина Windows
Рекомендации по взаимодействию с пользователем для приложений Магазина Windows