Как разработчики игр могут настраивать Xbox Live
Одна из самых замечательных особенностей службы Xbox Live заключается в том, что она предоставляет пользователям способ связываться с другими игроками в режиме онлайн и играть вместе. Xbox Live включает много функций, таких как доска почета, достижения и представления. Но как на счет игр, которые хотят взаимодействовать с Live своим, уникальным способом? Каким образом статистика, изображения и видео из Halo 3 появляются на Bungie.net? Как работают аукционы и образцы дизайна машин в Forza Motorsport 3 и как отсылаются/получаются подарки в Viva Pinata? Все это стало доступным для игровых разработчиков через Xbox LIVE Server Platform (XLSP).
Xbox LIVE Server Platform (XLSP)
Серверы Xbox Live поддерживают ограниченный набор игровых данных, таких как построение рейтингов на доске почета. Однако, в связи с большим числом различных игр на Xbox, становится весьма сложно и дорого хранить и обслуживать все эти различные типы данных, генерируемых играми во время онлайн-баталий. Правильнее было бы позволить разработчикам определять тип игровых данных, которые они хотят получать, и позволить им управлять ими так, как им захочется. Это позволяет разработчику игр создавать настраиваемый игровой процесс в онлайн, и даже подключать к их веб-сайту игровые данные!
XLSP предоставляет также следующие функции:
- Хостинг игровых серверов разработчиком;
- Постоянный разделяемый контент, генерируемый пользователями;
- Обратная связь с разработчиками во время бета-тестирования, что позволяет улучшить игру.
Расширение Xbox Live
Как это работает?
Разработчики, которые хотят использовать XLSP, должны сначала установить и настроить свои серверы, или найти издателей (или даже сторонние фирмы), которые предоставят им серверы. Эти XLSP-серверы, как и ваша консоль Xbox, аутентифицируются службой Xbox Live. Благодаря этому во время игры вам не нужно беспокоиться о том, что кто-то другой хочет стать игровым сервером (подробнее об этом я расскажу позже).
Через XLSP-сервис игра может отсылать данные для хранения на серверы баз данных разработчика и обрабатывать и публиковать их на веб-сайте; или данные могут быть запрошены для использования в игре. Практически все, о чем только может мечтать разработчик, может быть сделано через сервис XLSP.
Картинка лучше тысячи слов
Игры с настраиваемыми функциями XLSP могут соединяться с тремя различными расположениями:
- Xbox Live
- Служба XLSP игры
- Другая консоль Xbox
Таким образом игры могут использоваться Xbox Live для поиска многопользовательских матчей, для игры с игроками на других консолях и затем для выгрузки статистики в службу XLSP.
Со стороны Xbox Live
Главной задачей является обеспечение безопасности, и при этом предоставление канала для разработчиков игр для доступа к информации о пользователе и игровой сессии. К счастью, Xbox Live обеспечивает надежную службу аутентификации. Наличие пользователей и консолей, аутентифицированных в Xbox Live, позволяет разработчикам быть спокойными за то, что получаемые ими данные корректны. Вместо того, чтобы делать существенные инвестиции в обеспечение безопасности и механизмы аутентификации, разработчики могут сосредоточиться непосредственно на играх. И, для защиты наших пользователей, все службы XLSP также проходят аутентификацию.
Удивительная игра: как сделать ее удивительной
Давай рассмотрим конкретный пример того, как разработчик игры может использовать XLSP для создания чего-то действительно захватывающего. Одна из хитовых игр этого праздничного сезона, скажем, "Самая удивительная игра", должна использовать несколько потрясающих функций, предоставляемых XLSP.
Разработчики игры хотят сделать следующее:
- Предоставить пользователям возможность создавать и загружать гоночные треки;
- Демонстрировать эти гоночные треки на их веб-сайте;
- Позволить пользователям веб-сайта помещать треки в очередь закачки для их загрузки в следующий раз, когда они запустят игру на консоли
Первое, что нужно сделать, - это применить эти функции. Если бы эти функции относились тем, которые уже могут быть осуществлены Xbox Live, разработчикам не потребовалось бы настраивать свои собственные серверы и переписывать их функционал. После получения подтверждения, команда может установить их службу XLSP. После этого они могут связать ее с игрой.
Перед тем, как разработчики смогут что-либо сделать с XLSP, им необходимо создать свои собственные игровые серверы, которые будут расположены за шлюзом XLSP. Это может быть простой HTTP-сервер (например, IIS), на котором выполняется веб-служба, или что-то более сложное, наподобие игрового сервера, работающего в реальном времени, для шутеров от первого лица. Для их игры им потребуется всего лишь несколько веб-служб.
Некоторые службы доступны через консоль:
UploadTrack (выгрузка треков на сервер)
GetDownloadQueue (формирование очереди закачки)
DownloadTrack (загрузка треков)
Некоторые используются веб-сайтом:
EnumerateTracks (перечисление треков)
DownloadTrack (загрузка треков)
AddTrackToQueue (добавление трека в очередь)
Эти веб-сервисы будут поддерживаться базой данных на серверах разработчиков, которая используется для хранения данных о треках и очередей закачки.
Создавая веб-службы, разработчики смогут получить информацию о пользователях, вошедших в игру. Это позволит им корректно вести учет пользователей, чтобы они могли создавать интересные треки, и гарантировать, что каждый пользователь будут работать с правильной очередью загрузки.
Игровой процесс может изменяться прямо во время онлайн-игры
Пример игры
Давайте посмотрим на игру с точки зрения пользователя. Пользователь с тэгом Tennis недавно приобрел игру и уже устал ездить по трекам, присутствующим в игре. Потому он создал свои собственные гоночные треки и нажал "Загрузить!" в меню игры. После этого игра загружает данные о треках из Xbox, сжимает их и отсылает их через веб-службу UploadTrack на шлюз XLSP вместе с некоторой дополнительной информацией, такой как название трека, автор, дата и время создания и т.д. После этого этот файл данных сохраняется на сервере данных (одна из серверных машин с большим объемом дискового пространства) за шлюзом XLSP и расположение файла записывается в базу данных.
После этого другой пользователь - Curse of Doom, - который также активно играет в игру, просматривает веб-сайт игры и принимает вызов своего коллеги, собираясь превзойти его самое быстрое время на круге на новом треке. Они ищет треки, созданные Tennis, для чего веб-сайт связывается с Xbox Live для получения уникального User ID, который соответствует имени "Tennis". После этого веб-сайт получает список всех треков в базе данных с этим ID в поле Автор с помощью функции EnumerateTracks. Curse of Doom находит нужный трек и говорит сайту "Скачать на Xbox", в следствие чего вызывается функция AddTrackToQueue. В следующий раз, когда Curse of Doom включит свой Xbox и запустит игру, игра проверит наличие любых ожидающих закачек с помощью функции GetDownloadQueue. Нужные трек будет загружен через шлюз XLSP с сервера данных, когда игра вызовет функцию веб-сервиса DownloadTrack.
В заключение: настраиваемые, но защищенные
Единственным типом серверов, которым позволено работать через шлюз XLSP, являются серверы шлюза Xbox Live для аутентификации в Xbox Live и собственных сайтах игр. Это предоставляет разработчикам безопасный способ для создания настраиваемого, уникального игрового онлайн-процесса для игроков. Это открывает большие возможности для создания интересных онлайн-игр, для обслуживания игровой статистики и генерируемого пользователями контента даже для режима наблюдателя, такого как Gotham TV в PGR3. Игры могут расширять возможности Xbox Live и предоставлять ее пользователям еще больше интересных функций!
Источник:
Перевод: Dazila
По теме
- Как человек стал контроллером (ч.2)
- Как человек стал контроллером (ч.1)
- NAT и Xbox Live
- Новые элементы для главного меню Xbox 360
- Оставаться защищенным в Xbox Live
- Улучшение безопасности консоли
- Avatar Marketplace: открыт в режиме 24/7
- Достижение разблокировано
- Технология аватаров Xbox LIVE
- Беспроводные возможности Xbox 360