Опубликован: 14.08.2012 | Доступ: свободный | Студентов: 880 / 20 | Оценка: 5.00 / 5.00 | Длительность: 09:59:00
Специальности: Программист
Лекция 5:

Знакомство с технологиями Silverlight и XNA, выбор технологии для разработки игрового приложения

Content Pipeline

Content Pipeline (конвейер контента) предназначен для унификации включения в игру различных игровых ресурсов. Он позволяет автоматически конвертировать 2-х и 3-х мерные графические ресурсы, звуки в формат, который можно использовать для игр на различных платформах.

Content Pipeline – это очень важная особенность XNA, так как он позволяет снять с разработчика задачу подготовки контента различного формата для игры – всё, что нужно сделать для добавления ресурса в игру – загрузить его в игровой проект с помощью средств, представляемых для этого XNA Framework. Операции по преобразованию файлов различного типа в формат, подходящий для использования в игре, проводится автоматически. На рис. 5.3 вы можете видеть упрощенную схему загрузки данных с использованием Content Pipeline.

Content Pipeline

Рис. 5.3. Content Pipeline

Данные в форматах, которые получаются на выходе различных программ по созданию контента, обрабатываются импортерами и преобразовываются в формат

Этим процессом можно управлять, создавать собственные контент-импортеры (content importers) и контент-процессоры (content processor). Контент-импортеры преобразуют игровые ресурсы в формат XNA Game Studio Content DOM (document object model). Далее, контент-процессоры преобразуют данные из DOM-формата в формат, пригодный для компиляции и использовании в игровых проектах. XNA поставляется с большим набором стандартных импортеров и процессоров, при необходимости этот набор может быть расширен.

XACT

XACT - Microsoft Cross-Platform Audio Tool – это инструмент для обработки звука, пригодного для включения в XNA-проекты. XACT – это звуковой редактор, который позволяет создавать .XAP-проекты, включающие в себя звуки и параметры настройки звучания. Звуки из XAP-проектов можно воспроизводить в играх, управляя их воспроизведением. Например, можно включать и выключать воспроизведение звуков, управлять их громкостью, применять к ним различные эффекты и т.д.

Применение XACT направлено на унификацию озвучивания игр, предназначенных для различных платформ. Надо отметить, что XACT не поддерживается в Windows Phone, то есть её использование ограничено Windows-проектами и проектами для Xbox.

5.2. Обзор Silverlight: история, развитие, особенности применения

В последние годы большую популярность получила концепция разработки насыщенных интернет-приложений (RIA). Silverlight – это технология от Microsoft, предназначенная для разработки таких приложений. В исходном варианте это – надстройка над браузером.

Кроме того, на базе Silverlight создают приложения для Windows Phone 7. Она является основной средой разработки приложений для этой платформы – за исключением высокопроизводительных трехмерных игр, для создания которых используют XNA.

Это не означает, что XNA нельзя использовать для создания обычных приложений, а Silverlight – для игр. Однако, игры естественнее всего создавать на XNA, а прочие приложения – на Silverlight. На рис. 5.4 вы можете видеть логотип Silverlight.

Логотип Silverlight

Рис. 5.4. Логотип Silverlight

При построении Silverlight-приложений для Windows Phone 7 разработчик может пользоваться множеством стандартных элементов управления (полями ввода, кнопками, списками, переключателями и т.д.), добавлять в свои приложения мультимедийные возможности – анимацию, видеофрагменты, звук. Silverlight-приложения поддерживают тесную интеграцию локальных приложений с сетевыми сервисами.

Сегодня (на начало 2012 года) Silverlight поддерживает тесную интеграцию с XNA, в частности, вывод трехмерной графики, созданной средствами XNA на Silverlight-странице наряду с использованием других функциональных возможностей XNA Framework.

История и развитие Silverlight

Silverlight 1

Появился в 2007-м году. Он не поддерживал .NET-код (разработка велась на JavaScript), поддерживался XAML. Фактически, это был браузерный плагин, предназначенный для обработки XAML и поддерживающий работу с мультимедийным содержимым – со звуковыми и видеофайлами.

Silverlight 2

Выпущен в 2008-м году. Поддерживает .NET, разработку на Visual Basic и C#.

Silverlight 3

Выпущен в 2009-м. Среди нововведений версии – поддержка устройств с экраном, поддерживающим технологию множественного касания (multitouch), содержит расширенные возможности по применению графических эфффектов, новые элементы управления.

Silverlight 4

Вышел в 2010-м, поддерживает создание внебраузерных приложений, поддерживает аппаратное ускорение3D-графики. Содержит множество других нововведений.

Silverlight 5

Вышел в 2011-м году. Включает в себя множество новых возможностей. В частности – улучшена поддержка 3D-графики.

Silverlight for Windows Phone

Silverlight for Windows Phone базируется на Silverlight 4, однако, он предназначен специально для использования на аппаратах под управлением Windows Phone OS. Это привело к появлению в его API множества специальных возможностей и отсутствию некоторых возможностей, характерных для настольных систем. Данная версия Silverlight постоянно развивается.

5.3. О сближении XNA и Silverlight

Сопоставляя XNA и Silverlight для целей мобильной разработки, можно сказать, что XNA используют для построения игр (и приложений), а Silverlight – для построения приложений (и игр). А с учетом тесной интеграции этих технологий мы приходим к некоей общей среде, в которой, например, можно построить интерфейс приложения (собственно – основное назначение Silverlight в плане организации задачи взаимодействия с пользователями) с использованием элементов управления Silverlight, а игровой процесс (особенно, использующий сложную трехмерную графику) можно организовать на базе библиотек XNA.

Сближение не означает возникновения некоей универсальной новой среды. Так, при разработке приложений под Windows Phone 7 один из доступных шаблонов называется Приложение Silverlight и XNA для Windows Phone. В описании приложения сказано, что это приложение Silverlight для Windows Phone, использующее для отображения графики платформу XNA Framework.

Занимаясь разработкой подобного приложения, мы, во-первых, можем пользоваться средствами Silverlight в привычном Silverlight-окружении, конструируя интерфейс в визуальном режиме. Во-вторых – пользоваться возможностями XNA (загрузкой контента, игровым циклом и т.д.), работа с которыми, если абстрагироваться от некоторых чисто внешних особенностей (например, код игры расположен в файле GamePage.xaml.cs, если говорить о проекте на C#), которые выглядят для нас практически так же, как выглядели бы в обычном XNA-проекте для Windows Phone 7.

Естественно, подобный "совмещенный" проект имеет и другие особенности, но владея методами разработки для Silverlight и для XNA вы без труда сможете создавать приложения, совмещающие данные технологии.

Платформа Windows Phone и сопутствующие сервисы динамично развиваются. Уже сейчас для разработки сетевых игр можно пользоваться сервисами Xbox Live. Серверной основой для многопользовательских игр может стать платформа Windows Asure, подобные игры можно создавать, опираясь, например, на механизм Push-уведомлений.

5.4. Выводы

В данной лекции мы произвели общий обзор технологий XNA и Silverlight, рассмотрели особенности применения этих технологий для разработки игровых приложений.

5.5. Задание

Изучив ключевые особенности применения технологий Silverlight и XNA для разработки игровых приложений, подумайте, какая технология лучше всего подойдёт для вашей игры. Проанализируйте свою будущую игру с точки зрения применимости той или иной технологии разработки. Изложите в письменном виде сравнение этих технологий в применении к вашей игре. Не забывайте пользоваться дополнительными материалами, в частности – библиотекой MSDN.

Гулич Анна
Гулич Анна
Невозможно пройти тесты, в окне с вопросами пусто