netlib.narod.ru< Назад | Оглавление | Далее >

Обеспечиваем работу игры на Xbox 360

В первых двух главах уже говорилось об Xbox 360 и том как развертывать некоторые простые двухмерные игры на ней. В этом разделе я хочу убедиться что на вашей консоли Xbox 360 есть готовый к работе XNA Game Launcher и вы можете протестировать графический движок и игры из всех последующих глав. При создании моей первой игры с XNA у меня не было возможности сразу проверять ее на Xbox 360, поэтому я проверил ее на Xbox 360 только когда почти все было готово, и столкнулся с множеством проблем. Двухмерные игры замечательно работали, и единственная вещь, которую я сделал неправильно, — это то, что я не принял во внимание безопасную область экрана Xbox 360 для поддержки старых телевизоров. Для трехмерных игр и шейдеров, особенно шейдеров постэкранных эффектов, неправильными оказались гораздо больше вещей. Я хочу убедиться, что ни один из вас больше не наступит на эти грабли.

Если у вас нет Xbox 360 или вас не интересует разработка для консоли Xbox 360, можете просто пропустить этот раздел. XNA остается замечательной платформой и только для Windows, и превосходит DirectX для управляемого кода, поскольку поддерживает .NET 2.0 и упрощает многие процессы, но возможность создавать игры для консолей — это поистине великая вещь.

Перед тем, как начать, взгляните на законченный тестовый модуль TestRenderOurNewGraphicEngine, показывающий некоторые из возможностей нашего нового графического движка (рис. 5.16). Реальное приложение выглядит круче, особенно если вы будете перемещаться вокруг с помощью мыши или игрового пульта.


Рис. 5.16

Рис. 5.16


Как видно на рисунке, я нарисовал белый прямоугольник по границе видимой области визуализации. Этот прямоугольник не описан в XNA Framework и вы не найдете много информации о нем в Интернете, поскольку безопасная область плохо задокументирована. Из-за особенностей работы и приема сигнала телевизионным приемником, даже новыми моделями HDTV, показываемое изображение обычно больше, чем размер экрана. В старых телевизорах эти внешние неотображаемые области обычно больше, чем в новых. Поэтому вы должны сделать так, чтобы все важное игровое содержимое находилось во внутренней «безопасной области». На PC вы можете поместить что-нибудь в верхний левый или нижний правый угол экрана и пользователь будет видеть это в полноэкранном режиме, поскольку все пиксели визуализируются на экране, но консоли и телевизионные приемники работают несколько по-другому. Обычно лучше проектировать игру таким образом, чтобы внешняя область экрана была менее важна и располагать в ней менее важные элементы интерфейса или трехмерные данные, чтобы все хорошо выглядело на PC и оставалось привлекательным на Xbox 360. В качестве альтернативы вы можете реализовать два режима: один для PC, использующий всю область экрана и другой для Xbox 360, в котором остается пустой 5 – 10% рамка для соответствия экранам всех телевизоров.

Обратите внимание: если вы подключаете вашу Xbox 360 к VGA-монитору через VGA-кабель, то все сказанное выше не имеет значения, поскольку в этом случае Xbox 360 использует для визуализации весь экран, точно так же, как PC; мы здесь говорили только о телевизорах.

Загрузка XNA Game Launcher

Чтобы XNA Framework появилась на вашей Xbox 360, надо загрузить XNA Game Launcher. На PC вы можете просто установить XNA Framework Redistributable или XNA Game Studio Express, которая также включает установку XNA Framework. Независимо от выбранного способа, для запуска любых приложений XNA на PC вам необходим .NET 2.0, и точно так же .NET 2.0 необходим на Xbox 360, где он, естественно, по умолчанию не установлен (поскольку никакие компоненты Xbox 360 не используют .NET, да и управляемый код вообще).

Вы не можете просто поместить CD или DVD в привод вашей Xbox и установить XNA или .NET. Xbox 360 не принимает никакие неавторизованные данные, защищая себя от попыток взлома (посмотрите, как долго хакеры пытались обойти систему защиты Xbox 360; она намного безопаснее, чем в первой Xbox). Хотя для разработчиков коммерческих игр хорошо, когда их игра не может быть легко скопирована, и Xbox 360 не может использоваться для чего-то не предусмотренного ее разработчиками, это не является хорошей вещью, если вы хотите поместить собственное содержимое и игровые идеи на свою Xbox 360.

По этой причине, а также потому что Microsoft и особенно команда Xbox 360 очень боятся неправильного использования и угроз безопасности, вы должны присоединиться к так называемому «XNA Creator's Club», прежде чем получите возможность загрузить и установить XNA на вашей консоли. Также учтите, что присоединение к XNA Creator's Club не бесплатное; вам придется потратить определенную сумму (99$ за год или 49$ за четыре месяца). Для этого вам надо зарегистрироваться с помощью вашей учетной записи Xbox Live (если у вас ее еще нет, сперва создайте ее; удостоверьтесь, что ваша консоль подключена к Интернету) и затем перейдите к All Games | Memberships. Теперь вы можете выбрать членство в XNA Creator's Club и подписаться на него.

Сделав все вышеперечисленное вы сможете загрузить XNA Game Launcher, который устанавливается в раздел Games | All Demos/Games вашей Xbox 360 Dashboard.

Настройка Xbox 360 и развертывание игр

Теперь вы можете запустить XNA Game Launcher, являющийся приложением для запуска всех ваших игр XNA, независимо от того, написали ли вы их сами или загрузили из Интернета. XNA Game Launcher находится на странице Games | All Demos/Games, если вы зарегистрированы под своей учетной записью на Xbox Live и приобрели членство в XNA Creator's Club. Если вы не видите его, вернитесь на страницу Memberships и проверьте состояние подписки. После запуска XNA Game Launcher вы увидите экран, показанный на рис. 5.17. Пожалуйста, обеспечьте подключение к Интернету на все время, когда запущен XNA Game Launcher, иначе вы потеряете соединение с Xbox Live и XNA Game Launcher прекратит работу.


Рис. 5.17

Рис. 5.17


Как уже обсуждалось в главе 1, если вы в первый раз используете XNA Game Launcher и хотите развернуть игры с вашего PC на консоли, зайдите сначала в раздел Settings. Там вы должны сгенерировать ключ, который следует указать в XNA Game Studio Express в пункте меню Tools | Options | XNA Game Studio | Add Console (см. главу 1). Вы можете повторить эти действия в том случае, если подключение к PC перестало работать или если вы переустановили XNA Game Studio Express на вашем PC.

После установки ключа вы можете подключить Xbox 360 к вашему компьютеру и начать развертывать игры с вашего PC. Для развертывания игр PC и Xbox 360 должны быть в одной сети и, поскольку обоим необходимо подключение к Интернету, имеет смысл использовать маршрутизатор или модем для объединения этих устройств. Вы можете развернуть игру просто открыв проект для Xbox 360 в XNA Game Studio Express и нажав для его запуска F5. Также вы можете развернуть игру, не запуская ее, через меню Build. В любом случае развернутая игра (если при построении не было ошибок)автоматически сохраняется на вашей Xbox 360 и будет доступна в дальнейшем через пункт меню My XNA Game в XNA Game Launcher (рис. 5.17). Это очень полезно, если вы хотите просто поиграть в игру или показать ее друзьям, не устанавливая соединения с PC.

Отладка на консоли и утилиты

Когда в XNA Game Studio вы нажимаете F5, начинается отладка проекта, независимо от того, где он запущен, — на PC или на Xbox 360. Это очень здорово, что отладка замечательно работает и на консоли. Особенно полезно это, если ваш PC подключен к монитору, а Xbox 360 — к телевизору. Тогда вы можете использовать PC для выполнения всей работы и прохождения по коду в отладочном режиме, одновременно глядя на получаемый результат на экране Xbox 360.

Кроме того, есть несколько утилит, которые помогут вам в разработке для Xbox 360. Например, XACT позволяет вам создавать и тестировать звуковые проекты для Windows и Xbox 360. Вы узнаете все об этом в главе 9. Профессиональные разработчики для Xbox 360 также имеют доступ к XDK (Xbox Development Kit), который недоступен для домашних пользователей и обойдется вам очень дорого, даже если ваша компания признана сертифицированным разработчиком для Xbox 360. В XDK есть множество полезных утилит, особенно для контроля производительности консоли, получения журнала ошибок и т.д. Все это недоступно для разработчиков XNA. Поэтому Microsoft создала специальную утилиту только для XNA, которая поможет вам анализировать производительность своих игровых проектов на Xbox 360. Эта программа называется XNA Framework Remote Performance Monitor for Xbox 360 и вы найдете ее в меню Start (Пуск) | All Programs (Все программы) | XNA Game Studio | Tools. Познакомьтесь с ней, если серьезно задумываетесь о разработке программ для консолей с XNA.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz