Об игровом центре
Люди любят играть в игры. Игры на App Store не являются никаким исключением — игры продолжают быть самой популярной категорией приложений на iOS. Игры являются по сути общественной деятельностью. Иногда, это социальное взаимодействие является частью самой игры, такой как тогда, когда игра обеспечивает конкурентоспособный или совместный многопользовательский геймплей. Но даже для игр, предназначенных для опыта сингла, проигрывателям нравится видеть и совместно использовать их выполнения.
Поскольку социальные игры являются такой важной частью опыта ведения игры, Apple поддерживает его непосредственно со службой Game Center. Игровой Центр позволяет устройствам проигрывателя соединяться со службой Game Center и обмениваться информацией.
Каждый проигрыватель выполняет различные действия, но все они взаимодействуют с Игровым Центром:
Боб использует Игровое приложение Центра, предоставленное Apple для просмотра его очков, заработанных в игре, поддерживающей Игровой Центр. Игровое приложение Центра показывает и очки Боба и очки, заработанные другими проигрывателями. Даже при том, что очки выведены на экран Игровым приложением Центра, данные счета и форматирование предоставлены для Игрового Центра игрой.
Джо играет в игру приключения, поддерживающую достижения. Он просто обнаружил элемент для поисков, которые он хочет завершить. Игра отправляет сообщение Игровому Центру для обновления прогресса, сохраненного там.
Мэри, Элис и Чарли играют в игру, поддерживающую Игровой matchmaking Центра. Игровой Центр позволяет этим трем устройствам проигрывателей находить и соединяться друг с другом. Игра обменивается данными между участниками через Игровые серверы Центра.
Сара играет в другую многопользовательскую игру также с помощью Игрового matchmaking Центра. Игра Сары поддерживает основанную на повороте игру, и Сара получила уведомление нажатия, что это - ее очередь действовать.
Сразу
Игровой Центр лучше всего просматривается как набор соединенных компонентов, предоставляющих функции и разработчикам игр и конечным пользователям:
Служба Game Center является онлайновой частью Игрового Центра. Игровые серверы Центра хранят проигрыватель и игровые данные и продают данные и другие службы к Mac и устройствам на iOS.
Платформа Гэйма Кита обеспечивает классы, которые разработчики используют для добавления поддержки Центра Гэйма к их играм. Гэйм Кит является доступным запуском в iOS 4.1 и OS X v10.8.
Игровое приложение Центра обеспечивает централизованное приложение что использование проигрывателей для получения доступ к Игровым функциям Центра.
Для проигрывателей для использования в своих интересах Игрового Центра в игре — и для игры, чтобы быть видимыми в Игровом приложении Центра — необходимо явно добавить поддержку Игрового Центра к игре. Вы делаете это путем реализации аутентификации и затем по крайней мере одной другой функции Game Center.
Некоторые игровые ресурсы предоставлены во время выполнения игровой службой центра
Все приложения включают изображения и локализованный текст в его пакете, которые используются для отображения пользовательского интерфейса приложения. Загрузки приложения эти ресурсы от пакета по мере необходимости. При разработке Игры Центрально-осведомленная игра некоторые ресурсы, которые Вы создаете, не сохранены в пакете. Вместо этого те ресурсы загружаются на службу Game Center во время разработки Вашей игры. Во время выполнения Ваша игра загружает ресурсы с Игрового Центра. Главная причина для хранения этих ресурсов на Игровом Центре состоит в том, что те ресурсы также используются Игровым приложением Центра. Например, когда Игровые отображения приложения Центра один из списков лидеров Вашей игры, это загружает ресурсы, Вы обеспечили так, чтобы это вывело на экран данные счета тот же путь как Ваша игра.
Требование, что некоторые Ваши ресурсы быть предоставленным для Игрового влияния Центра, как Вы разрабатываете, разработайте и протестируйте свою игру.
Ваша игра выводит на экран игровые элементы пользовательского интерфейса центра
Игровой Набор обеспечивает много классов, представляющих полноэкранные пользовательские интерфейсы проигрывателю. Стандартные классы предоставлены для отображения списков лидеров, достижений и экранов matchmaking. Например, GKGameCenterViewController
класс обеспечивает самый простой способ вывести на экран Игровое содержание Центра в Вашей игре.
В iOS они предоставлены как контроллеры представления. Контроллер представления в Вашей игре представляет один из этих контроллеров представления при необходимости. На OS X используются те же классы, но Игровой Центр обеспечивает инфраструктуру, требуемую вывести на экран их в окне.
Игровой Набор также предоставляет поддержку для баннеров. Баннер, кажется, в течение короткого времени выводит на экран сообщение к проигрывателю. Игровой Набор автоматически представляет некоторые сообщения баннера проигрывателю, когда определенные события имеют место, но Ваша игра может использовать GKNotificationBanner
класс для отображения собственных сообщений.
Игровые функции центра требуют аутентифицируемого проигрывателя
Все Игровые функции Центра требуют аутентифицируемого проигрывателя на устройстве, известном как местный игрок. Прежде чем Ваша игра использует любые функции Game Center, она должна успешно аутентифицировать местного игрока. Большинство Игровых классов Центра функционирует, только если существует аутентифицируемый проигрыватель, и те классы неявно ссылаются на местного игрока. Например, когда Ваша игра сообщает об очках списку лидеров, она всегда сообщает о музыке к местному игроку.
Когда нет аутентифицируемого проигрывателя, Ваша игра должна отключить все опции Game Center.
Списки лидеров требуют, чтобы Ваша игра имела механизм выигрыша
Списки лидеров позволяют Вашей игре отправлять очки на службу Game Center. Проигрыватели могут просмотреть эти очки путем просмотра списка лидеров в Игровом приложении Центра, но игра может также вывести на экран стандартный интерфейс списка лидеров со всего несколькими строками кода. Или, если Вы настроили бы появление списка лидеров, Ваша игра может загрузить необработанные данные счета. Можно создать многократные списки лидеров для игры и настроить каждого с механизмами выигрыша игры.
Наборы списка лидеров позволяют Вам управлять своими списками лидеров
Списки лидеров объединения в список лидеров устанавливают в логически списки лидеров группы для Вашей игры. Реализация наборов списка лидеров увеличивает число списков лидеров, которые Вашей игре позволяют содержать. Объедините все списки лидеров для единственного уровня в набор или объедините высокий список лидеров счета от каждого уровня в набор, решение о том, как объединиться, Ваши списки лидеров ваше дело.
Достижения требуют, чтобы Ваша игра измерила прогресс проигрывателя
Достижением является определенная цель, которую проигрыватель достигает в Вашей игре, те, которые “Находят, что 10 золотых монет” или “Получают флаг меньше чем за 30 секунд”. Как со списками лидеров, проигрыватель просматривает достижения в Игровом приложении Центра или в Вашей игре. В Игровом приложении Центра проигрыватели могут сравнить заработанные достижения с заработанными друзьями. В Вашей игре можно принять решение вывести на экран стандартный пользовательский интерфейс, или можно загрузить необработанные данные для создания собственного интерфейса.
Проблемы позволяют проигрыватели проблеме друг друга
Проблема отправляется от одного проигрывателя до другого. Каждая проблема является определенной целью, которую должен завершить оспариваемый проигрыватель. Когда проблема завершается, и претендент и оспариваемый проигрыватель уведомляются. Проблемы автоматически предоставлены в любой игре, поддерживающей или списки лидеров или достижения. Однако можно также предпринять дополнительный шаг реализации специализированной поддержки проблем непосредственно в игре.
Matchmaking требует, чтобы Ваш игровой дизайн включил многопользовательские игры
Matchmaking позволяет проигрывателям, заинтересованным тем, чтобы играть в онлайновые многопользовательские игры обнаруживать друг друга и соединяться в соответствие. Игровой Центр поддерживает три вида matchmaking:
Соответствие в реальном времени требует, чтобы все проигрыватели были подключены к Игровому Центру одновременно. Игровой Набор обеспечивает классы, реализующие низкоуровневую сетевую инфраструктуру, чтобы позволить устройствам обмениваться данными в режиме реального времени.
Размещенное соответствие подобно соответствию в реальном времени, но вовлекает Ваш собственный сервер в соответствие. В этой модели Вы используете Игровой Центр для выполнения matchmaking, но разработки и реализации собственный низкоуровневый сетевой код.
Основанное на повороте соответствие использует модель промежуточной буферизации. Ваша игра хранит снимок данных соответствия по Игровым серверам Центра, где это может позже быть загружено любыми проигрывателями в соответствии. В любой момент времени один из проигрывателей определяется как лицо, которое может принять оборот в соответствии. Ваша игра загружает данные соответствия, проигрыватель принимает оборот, тогда Ваша игра загружает измененные данные соответствия на Игровой Центр. Когда очередь проигрывателя заканчивается, Ваша игра определяет следующий проигрыватель действовать, и тот проигрыватель получает уведомление нажатия.
Обмены позволяют проигрыватели, кто не текущий проигрыватель для принятия мер в игре. Проигрыватель инициирует обмен путем отправления обменного запроса к одному или более другим проигрывателям. Эти проигрыватели тогда в состоянии реагировать на обмен или позволить ему испытать таймаут. Во время обмена обновления также отправляются в текущий проигрыватель так, чтобы могли быть обновлены данные соответствия.
Как использовать этот документ
Если Вы плохо знакомы с разработкой Игры Центрально-осведомленные игры, запустите путем чтения Разработки Игры Центрально-осведомленная Игра. Эта глава процесс для разработки и реализации игры, поддерживающей Игровой Центр. Тогда считайте Игровые Элементы пользовательского интерфейса Центра Отображения, который описывает общие соглашения для отображения Игровых элементов пользовательского интерфейса Центра в Вашей игре. Эта тема особенно важна для разработчиков OS X, поскольку она объясняет, что Игровой Набор инфраструктуры предусматривает отображение Игрового содержания Центра по Вашему собственному пользовательскому интерфейсу. разработчики iOS найдут, что Игровой Центр соответствует стандартной модели программирования для контроллеров представления.
Все разработчики должны считать Работу с Проигрывателями в Игровом Центре, чтобы изучить, как аутентифицировать проигрыватели в их игре. Затем по мере необходимости считайте другие главы, чтобы изучить, как реализовать определенные опции Game Center.
Несмотря на то, что это руководство описывает много аспектов связи с Игровым Центром и использования Игровых сетевых функций Центра, это не ссылка для низкого уровня, объединяющего шаблоны разработки в сеть. Игровой Набор обеспечивает некоторую сетевую инфраструктуру, но реализовать игру сети реального времени, необходимо понять и быть подготовлены решить общие сетевые проблемы, такие как медленные сети и разъединения.
Предпосылки
Прежде, чем попытаться создать Игру Центрально-осведомленная игра, необходимо уже быть знакомы с разработкой приложений на том, какой бы ни платформа Вы предназначаетесь:
Начните разрабатывать приложения Mac сегодня
Игровой Набор также полагается в большой степени на блочные объекты и делегацию.
См. также
Посмотрите Ссылку Платформы GameKit для подробных данных о платформе Гэйма Кита.
Выборка GKAuthentication демонстрирует, как реализовать аутентификацию пользователя.
Выборка GKLeaderboards демонстрирует, как реализовать списки лидеров.
Выборка GKAchievements демонстрирует, как реализовать достижения.
Следующие видео сеанса WWDC также описывают функции Game Center:
WWDC 2012: создание игровых игр центра для OS X
Чтобы учиться, как элементу кода и настроить Ваше приложение для использования Игрового Центра, читают Быстрый запуск Распределения приложений.