Разработка игры центрально-осведомленная игра
Добавление Игровой поддержки Центра требует больше, чем простые изменения кодирования. Игровой Центр налагает определенные требования к проекту Вашей игры. Например, для реализации списков лидеров игра должна иметь способ количественно измерить производительность проигрывателя. Но больше, чем это, Игровые изменения Центра, как Вы разрабатываете и тестируете свою игру. Вы просто не добавляете код к своему приложению; Вы также конфигурируете активы, используемые Игровым Центром. Эти активы сконфигурированы отдельно от Вашего комплекта приложений, но глубоко связываются к коду в Вашей игре. Необходимо протестировать эти части, чтобы гарантировать, чтобы все части работали правильно вместе.
Для создания Игры Центрально-осведомленная игра необходимо понять эти основы, прежде чем Вы начнете писать код.
Поддержка игрового центра в пользовательском интерфейсе
Когда Вы добавляете, что Игровой Центр поддерживает к Вашей игре, частям Игрового содержания Центра экранов интерфейса пользователя Вашей игры. Часть этого содержания, такого как аутентификация проигрывателя, требуется. Другие элементы пользовательского интерфейса, такие как списки лидеров, являются дополнительными, но часто ожидаются проигрывателями.
Рисунок 1-1 показывает модель в качестве примера для пользовательского интерфейса игры, показанного как серия экранов и переходов между ними. Не все игры используют эту точную организацию экранов интерфейса пользователя, но она обеспечивает полезную начальную точку для обсуждения того, как добавление Игрового Центра могло бы изменить пользовательский интерфейс Вашей игры.
Когда эта демонстрационная игра запускается, первой вещью, которую видит проигрыватель, является загружающийся экран. Игры часто требуют больших, интенсивно использующих память изображений, 3D моделей, звуков и игровых данных. В то время как игра работает, к этим ресурсам нужно получить доступ быстро. Часто, для выполнения этого игра загружает критические ресурсы, когда сначала запущенный и сохраняет их в памяти, пока не завершается приложение. Типичная информация об отображениях на экране загрузки об игре или Вашей компании, вместе с индикатором выполнения или анимированным пользовательским интерфейсом, в то время как загружается содержание.
После того, как игра загрузила достаточно ресурсов, она переходит к экрану меню. Как правило, это - первый интерактивный экран, который видит проигрыватель. Экран меню имеет серию кнопок что использование проигрывателей для запуска геймплея или других функций игры. Например, к любым из следующих функций обычно получают доступ от экрана меню:
Режим воспроизведения сингла
Многопользовательский режим воспроизведения
Игровые параметры конфигурации
Службы социальной сети
Используя экранный поток, показанный на рисунке 1-1, касаясь кнопки воспроизведения сингла, позволяет пользователю выбирать цвет их команды и тип транспортировки, которую они будут использовать в игре. Цель этого экрана состоит в том, чтобы предоставить проигрывателю опции о том, как они хотят играть в игру. В зависимости от проекта Вашей игры этот процесс конфигурации мог быть простым интерфейсом на единственном экране или сложной серии экранов интерфейса пользователя. Например:
Игра в шахматы, позволяющая проигрывателю выбор цвета.
Головоломка, позволяющая проигрывателю выбирать определенную проблему для игры.
Ролевая игра, имеющая серию экранов, позволяющих проигрывателю конфигурировать символ.
Экран геймплея - то, где выполняется объем Вашей игровой логики. Эта часть Вашего проекта включает код рендеринга, взаимодействия пользовательского интерфейса и игровую логику, выполняющую понятие Вашей игры. В зависимости от типа игры Вы реализуете, геймплей Вашего приложения может быть единственным экраном или серией многократных экранов с переходами между ними.
После того, как проигрыватель завершает игру, экран эпилога, кажется, говорит проигрыватель, как они сделали. Например, игра, включающая механизм выигрыша, может показать проигрыватель, как был вычислен их счет. Как только проигрыватель отклоняет этот экран, игровые переходы назад к главному меню.
Рисунок 1-2 показывает игру в качестве примера, измененную для слияния Игрового Центра.
Все Игровые приложения Центра должны аутентифицировать проигрыватель. Аутентификация обычно начинается, как только пользователь запускает Вашу игру. В то время как экран заголовка выведен на экран, в демонстрационной игре начинается процесс аутентификации. Если проигрыватель в настоящее время не регистрируется к Игровому Центру, экран заголовка временно заменяется Игровым экраном аутентификации Центра. Этот экран остается вплоть до проигрывателя, завершает процесс аутентификации или отмены. Любой возвраты проигрыватель на экран заголовка. Если проигрыватель уже регистрируется в Игровую учетную запись Центра, то экран аутентификации никогда не выводится на экран. Вместо этого баннер кратко выведен на экран для приветствия проигрывателя назад, не оставляя главное меню.
Экран меню теперь включает кнопки для отображения содержания Центра Гэйма. Когда проигрыватель нажимает одну из этих кнопок, игра выделяет, инициализирует и представляет один из классов пользовательского интерфейса Гэйма Кита. Когда отклонено, управление возвращается назад к экрану заголовка.
Игра, показанная на рисунке 1-2, была также изменена для обеспечения многопользовательского игрового режима. Как с режимом одиночной игры, игра представляет серию экранов для конфигурирования желаемого соответствия. Некоторые из этих экранов являются определенными для игры и используются для конфигурирования опций игры. Другие экраны выводят на экран встроенный matchmaking пользовательский интерфейс. Обратите внимание на то, что экраны конфигурации Вашей собственной игры могут появиться и прежде и после экрана matchmaking. Выбор, сделанный перед экраном matchmaking, появляется, обычно выбор, влияющий на опыт matchmaking. Например, проигрыватель может выбрать определенную карту для игры на, так, чтобы они могли быть соответствующими проигрывателям, заинтересованным той же картой. Экраны конфигурации, появляющиеся после matchmaking, завершены, используются, чтобы позволить плееры, теперь подключенные в соответствие, принять другие решения относительно того, как сыгран матч. Оба набора экранов включают данные конфигурации соответствия, которые должны синхронизироваться со всеми проигрывателями в соответствии.
Наконец, Игра, Центрально-осведомленная игра может быть запущена, потому что проигрыватель получил уведомление нажатия, связанное с Игровым Центром — например, когда проигрыватель был приглашен присоединиться к соответствию. Если Ваша игра была запущена в результате уведомления нажатия, она может сразу перейти непосредственно в экраны matchmaking после того, как завершается процесс аутентификации. В этом случае экран заголовка появляется только в течение краткого промежутка времени.
В то время как внимание рисунка 1-2 на новые экраны содержания для отображения содержание на существующих экранах может измениться также, или задачи, которые Вы выполняете на тех экранах, могут измениться. Например, в конце соответствия, у Вас может быть свой игровой отчет счет, который это выводит на экран к Игровому списку лидеров Центра. Точно так же во время геймплея, поскольку проигрыватель делает успехи к достижению, Ваша игра отправляет обновленный прогресс Игровому Центру.
Важно, чтобы Вы помнили, что это - только один возможный способ разработать пользовательский интерфейс Вашей игры. Необходимо рассмотреть другие альтернативы при создании пользовательского интерфейса и выбрать тот, имеющий большую часть смысла для игры. Например, много игр используют специализированный графический дизайн с непротиворечивой артистической темой. В этом случае стандартные классы пользовательского интерфейса Центра Игры не будут соответствовать тему Вашей игры. Так, один вопрос, который необходимо задать, состоит в том, хотите ли Вы использовать стандартный пользовательский интерфейс (который берет мало усилия добавить), или хотите ли Вы включить свой собственный пользовательский интерфейс. Если Вы решаете создать настроенный пользовательский интерфейс, необходимо далее решить, создать ли тот пользовательский интерфейс как отличные экраны содержания или включить содержание в существующие интерфейсы, такие как экран меню игры.
Адаптация Вашего игрового дизайна
Каждая функция в Игровом Центре налагает требования к Вашему игровому дизайну. Например, счет списка лидеров является представлением численного значения, как хорошо проигрыватель сделал, играя в Вашу игру. Для реализации списка лидеров в игре игровой дизайн должен включать механизм игры и вычислить счет на основе того, как хорошо проигрыватель сделал. Требования и ограничения для каждой функции Game Center описаны в подробных главах позже в этом документе. Таблица 1-1 суммирует соответствующие характеристики.
Функция | Требования | Ограничения | Активы |
---|---|---|---|
Список лидеров | Выигрыш механизма | Максимальное количество списков лидеров, параметров форматирования для очков списка лидеров | Строки, сортировка списка лидеров, иллюстрации |
Наборы списка лидеров | Список лидеров | Максимальное количество списков лидеров и наборов позволяется. Все приложения в группе должны или иметь наборы или не иметь наборы. | Строки, группировка списка лидеров, иллюстрации |
Достижение | Отслеживание кода для наблюдения то, что проигрыватель делает в игре | Максимальное количество достижений на игру, максимум указывает на выделение. | Строки, иллюстрации |
Проблемы | Необходимо реализовать или списки лидеров или достижения | — | — |
Matchmaking | Многопользовательский игровой дизайн | Число игроков, размер пакетов данных, объединяясь в сеть | Пользовательский звук приглашения |
Настройка игровых звуков центра
Можно измениться, Игровой Центр по умолчанию звучит как использование GKInvite
. Например, когда проигрыватель получает приглашение, Игровой Центр играет звук для объявления о приглашении. Ваша игра может вместо этого обеспечить пользовательский звук, который будет играться, когда получены приглашения для нее. Чтобы сделать это, включайте звуковой файл в свой комплект приложений. Все Игровые звуки Центра по умолчанию могут быть изменены с помощью пользовательского звукового файла. Файл должен быть в также caf
, aif
, или wav
формат и быть названным GKInvite
плюс надлежащее расширение файла.
Создание и управление игровыми ресурсами центра
Создание игры, поддерживающей Игровой Центр, отличается от создания не делающей игры. Все игры имеют ресурсы, такие как изображения, модели и звуковые файлы, раньше представляли пользовательский интерфейс игры. Однако также необходимо создать определенные ресурсы для поддержки Игрового пользовательского интерфейса Центра. Путем Вы обеспечиваете, эти активы отличается, чем в стандартном приложении. Рисунок 1-3 показывает процесс для стандартного приложения.
Вы разрабатываете и тестируете свое приложение на Вашей собственной машине разработки. Ресурсы приложений встраиваются в комплект приложений, Вы создаете использование XCode. Процесс создания Вашего приложения включает эти ресурсы в заключительный пакет, где они загружаются двоичным файлом Вашего приложения во время выполнения.
Когда Ваше приложение завершено, Вы представляете комплект приложений для анализа путем копирования его в Подключение iTunes. Одновременно, Вы создаете запись в Подключении iTunes с помощью того же пакета ID в качестве того в комплекте приложений. Эта запись включает метаданные, описывающие приложение; большинство этих данных используется для описания приложения в App Store. После того, как представленный, Apple рассматривает Ваше приложение, и это или утверждено или отклонено.
После того, как Ваше приложение утверждено, Вы выбираете, когда оно публикуется. После того, как опубликованный, комплект приложений и метаданные копируются от Подключения iTunes до App Store. Там, пользователи обнаруживают и покупают приложение. После того, как купленный, комплект приложений загружается на устройство пользователя.
Рисунок 1-4 показывает дополнительные требуемые шаги и процесс при создании Игровых активов Центра. Несмотря на то, что этот шаг не показан, Ваш комплект приложений и метаданные представлены Подключению iTunes как прежде.
Вот некоторые изменения в процессе разработки:
Первоначально, когда Вы были готовы представить приложение для анализа, запись Подключения iTunes создавалась в конце процесса разработки. При создании Игры Центрально-осведомленная игра Вы создаете запись Подключения iTunes, как только Вы готовы реализовать и протестировать Ваши функции Game Center. Запись Подключения iTunes необходима, чтобы разрешить Вашу игру получать доступ к службе Game Center.
Активы, которые Вы создаете в Подключении iTunes, автоматически копируются в специальную тестовую среду, предоставленную Apple. Эта среда подражает регулярной службе Game Center, но является частной разработчикам. Сборки разработки Вашей игры автоматически загружают активы из тестовой среды.
Когда Ваша игра публикуется, Игровые активы Центра копируются в службу Game Center таким же образом, что Ваша игра копируется в App Store. Эти сборки Вашей игры загружают активы из живых Игровых серверов Центра.
Как только Ваши активы публикуются к живым серверам, некоторые активы становятся более трудными измениться, потому что они уже используются проигрывателями и активными версиями Вашей игры. Например, очки списка лидеров отформатированы с помощью активов списка лидеров, которые Вы создали. Если бы Вы изменили свой механизм выигрыша и изменили Ваши активы списка лидеров для соответствия, то более старые очки были бы все еще отправлены на Игровом Центре и были бы противоречивы с более новыми очками. Поэтому некоторые активы, которые Вы создаете, не могут быть изменены после версии Вашей игры, использующей те поставки активов. Необходимо установить процесс разработки, чтобы гарантировать, что активы (и связанный код) экстенсивно тестируются перед представлением игры для анализа так, чтобы изменения в этих активах не были необходимы.
Game Groups
Game Groups является дополнительной функцией в Подключении iTunes, которые позволяют Вам связывать многократную Игру Центрально-осведомленные игры в единственную связанную группу, совместно использующую некоторую часть Вашего Игрового содержания Центра. Каждая игра в игровой группе является отличной игрой на Подключении iTunes с его собственной записью. Однако некоторые активы совместно используются.
Преимущество игровой группы - то, что можно поставить многократные отличные версии игры на App Store, но все еще позволить этим играм действовать, как будто они - единственная игра онлайн. Например:
У Вас есть отдельный iOS и версии OS X Вашей игры.
У Вас есть бесплатные и платные версии Вашей игры.
Две отличных формы группировки возможны в Подключении iTunes:
Совместно используемые игровые активы. Вы создаете общий пул списков лидеров и активов достижения, совместно использующихся всеми версиями Вашей игры. Если проигрыватель имеет обе версии Вашей игры, элементы, заработанные в одной версии, видимы в другом.
Совместимость Matchmaking. Это позволяет Вам указывать, какие версии Вашей игры могут сформировать соответствия. Вы гарантируете, чтобы все игры в группе совместимости совместно использовали тот же сетевой код. matchmaking группа может даже быть сформирована между различными версиями игры, поставляющей с единственным пакетом ID. Например, при поставке четырех версий игры (1.0, 1.1, 2.0, 3.0), Вы могли указать, что версия 1.0 и версия 1.1 игры могли играть вместе, потому что ничто в версии 1.1 не изменило сетевую реализацию.
Game Groups налагает дополнительный процесс наверху на Ваш игровой дизайн. Теперь, вместо того, чтобы просто иметь необходимость иметь дело с синхронизацией выходит между Вашим игровым кодом и активами, которые Вы создаете в Подключении iTunes, теперь также необходимо синхронизировать любые изменения реализации между различными игровыми реализациями. Посмотрите Группы в Игровом Руководстве по конфигурированию Центра для Подключения iTunes для получения информации о том, как создать и управлять игровыми группами в Подключении iTunes.
Слияние игрового центра в игру
Вот разумный процесс для следования при разработке игры, поддерживающей Игровой Центр:
Решите, какие функции Game Center Вы планируете поддерживать.
Определите свою игровую механику, имея в виду требования и ограничения Игрового Центра.
Реализуйте свой игровой механизм, игнорируя Игровой Центр на данный момент. Внимание на разработку других аспектов Вашей игры, таких как Ваш игровой механизм и геймплей. Вы делаете это, чтобы избежать должным быть создать Подключение iTunes записывает ранее, чем Вы должны.
Когда необходимо реализовать Игровой Центр:
Создайте запись Подключения iTunes для своей игры, с помощью пакета игры ID. Включите Игровой Центр в записи Подключения iTunes; установка этого флага в записи Подключения iTunes разрешает службу Game Center позволять Вашей игре соединяться с ним.
Создайте явное Приложение ID с помощью пакета игры ID.
Включите Игровой Центр в этом Приложении ID; это разрешает приложение на устройстве связываться с Игровыми серверами Центра.
Создайте новый профиль настройки с помощью этого нового явного Приложения ID.
Тест, чтобы гарантировать Вам может создать и подписать Вашу игру с помощью этого профиля.
Добавьте платформу Гэйма Кита к своему проекту.
Импортируйте
GameKit/GameKit.h
заголовок.
Если Ваша игра требует Игрового Центра, добавьте ключ Game Center к списку возможностей, которых Ваше приложение требует от устройства. Посмотрите Игровой Центр Требования в Своей Игре (только iOS).
Если Ваша игра не требует Центра Гэйма, необходимо установить слабую ссылку от игры до платформы Гэйма Кита. Затем когда Ваша игра запускается, тест, чтобы удостовериться, что поддерживается Центр Гэйма. Посмотрите Дополнительно Поддерживающий Центр Гэйма в Своем Гэйме.
Аутентификация реализации.
Реализуйте другие опции Game Center.
Протестируйте свои функции Game Center с помощью Игровой среды разработки Центра.
Требование Игрового Центра в Игре (только iOS)
Если Ваша игра требует, чтобы Игровой Центр функционировал (например, многопользовательская игра, требующая, чтобы Игровой Центр соответствовал проигрыватели), Вы хотите гарантировать, что только устройства, поддерживающие Игровой Центр, могут загрузить Вашу игру. Чтобы гарантировать, что Ваша игра работает только на поддерживаемых устройствах, добавьте gamekit
ключ к списку возможностей выбранного устройства в Вашей игре Info.plist
файл. Посмотрите Связанные с приложением Ресурсы.
Дополнительно поддерживающий игровой центр в Вашей игре
Если Вы хотите, чтобы Ваша игра использовала Центр Гэйма, но Ваша игра не требует, чтобы Центр Гэйма функционировал должным образом, Вы можете слабая ссылка Ваша игра к платформе Гэйма Кита и тестировать на ее существование во время выполнения. Посмотрите Руководство по совместимости SDK.