Суббота, 18.05.2024, 16:55
Приветствую Вас Гость | RSS
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Введение

Об авторе

Марсий Джамро является разработчиком и архитектором различных типов приложений, для веба, мобильных телефонов и распределенных систем. Он интересуется многими аспектами информатики, в том числе программным обеспечением и управлением проектами. Марсий влюблен в языки C#, C++ и C, шаблоны проектирования, различные технологии и мобильные устройства, особенно платформы Windows Phone.

Имеет практический опыт в разработке проектов и занимает должность главного исполнительного директора в JAMROTECH Sp. ZOO [ООО] (Жешув, Польша), деятельность которой составляет - разработка ИТ-проектов, консалтинг, а также проведение тренингов. Он также работает в Технологическом Университете Жешув и пишет кандидатскую диссертацию о разработке "real-time" программного обеспечения.

Марсий опубликовал несколько работ, принимал участие во многих конференциях и организовал несколько из них, а также участвовал в двух стажировках в Microsoft, в Редмонде (США). У него есть Microsoft Certified Professional, Certified Technology Specialist Microsoft и сертификаты разработчика Microsoft Certified Professional. Более подробную информацию о Марсии доступна на его сайте: http://jamro.biz. Вы можете легко связаться с ним, послав сообщение по электронной почте на адрес - marcin@jamro.biz.

Благодарности

Несколько месяцев назад, началась моя авантюра о написании первой в моей жизни книги. В начале, я не мог даже представить, сколько будет необходимо усилий и сколько человек будет вовлечено в книгу "Windows Phone 8: Разработка игр". Тем не менее, после многих вечеров и ночей, проведенных за написанием очередной главы и создании игры - примера, она, наконец, готова, и вы можете прочитать её!

Публикация этой книги не могла быть быть успешной без поддержки со стороны моей семьи и друзей, которые принимали долгие часы, потраченные на создание книги, и иногда, очень ограничивающее время для них. Более того, я не могу забыть о многих коллегах из Packt Publishing Company, которые сильно помогли мне, создавая книгу, подготавливая его окончательный вариант и публикацию.

Я хотел бы поблагодарить Пунам Джейн за приглашение написать "Windows Phone 8: Разработка игр", Ирол Стейвли за поддержку и ценные советы в начале написания книги, Эдварда Гордона продолжившего большую работу Ирол, Рахул Диксит управлявшей следующей частью процесса написания, а также Анилиа Винсент, Вина Паджере, Манал Педнекар, Пратик Муо, Монику Джон, и Шали Сасидхаран за помощь в редактировании книги и завершении её перед публикацией. Конечно, я хотел бы также поблагодарить рецензентов за их ценные замечания относительно содержания и указавших темы, которые требовали дополнительного разъяснения или изменения. С моей точки зрения, это был действительно "великая" группа людей, которые могли всегда, даже дружески споря, работать вместе, гарантируя, что книга будет надлежащего качества и будет издана ожидаемый срок.

Не в последнюю очередь, я действительно хочу поблагодарить вас (своих читателей) за чтение книги. Я надеюсь, что вы будете наслаждаться ей, и это послужит хорошим основанием для дальнейших смелых начинаниях в разработке под Windows Phone 8. Я надеюсь, что вы создадите много успешных проектов, в том числе великие 3D игры для платформы Windows Phone 8!

О критике

Дэйв Войлес работает инженером-программистом в компании Comcast в Филадельфии, где он работает над приложением Xbox Xfinity для потокового видео. В дополнение к этому, он независимый разработчик игр, который запустил тайтлы на Xbox Live Indie Games, Windows 8, Windows Phone 8, а также веб-браузере.

Дэйв также Xbox MVP и управляющий редактор Armless Octopus - блог, который обеспечивает обзор независимых игровых новостей, обзоры, и превью. Когда он не пишет о Независимых игровых разработчиках, он поддерживает их через портал "Indie Games Uprising". Как координатор "Uprising", он работает в тесном сотрудничестве с разработчиками и Microsoft для продвижения лучших званий на Xbox Live Indies Games, которые используют преимущества Microsoft XNA Фреймворк.

Наконец, Дэйв также автор другой книги Packt Publishing - "UnrealScript Game Сборник рецептов программирования".

Вы можете найти больше его работы в WWW.DavidVoyles.wordpress.com или поздороваться в его твитере по тегу - @DaveVoyles.

Предисловие

Сколько ваших друзей не имеет мобильного телефона? Вы знаете, кого-нибудь, кто не пользовался им? В настоящее время почти у каждого есть мобильный телефон, и многие люди пользуются несколькими для общения с семьей, друзьями и коллегами по работе. Этот факт также подтверждается статистикой. Согласно результатам, представленным Международным союзом электросвязи, используется около 6,8 млрд. мобильно-сотовых подписок (http://www.itu.int/ITU-D/ict/facts/material/ICTFactsFigures2013.pdf, 2013). Это почти столько же, сколько и количества людей во всем мире!

В настоящее время мобильные телефоны могут использоваться не только для звонков и текстовых сообщений, но и для выполнения определенных задач, которые несколько лет назад были предназначены только для настольных ПК и ноутбуков. Они включают в себя работу в Интернете, доступ к учетным записям электронной почты, обмен файлами, или даже выполнение трудоемких сложных вычислений. Помимо бизнес-приложений, мобильные устройства могут быть использованы для развлечений, особенно интегрированные с социальными сетями и мобильными играми. С постоянно растущим возможностям мобильных устройств, мобильные игры стали более похожи на свои настольные или консольные версии и предоставляют пользователю аналогичные впечатления от игры. Таким образом, множество людей играет в игры на своих мобильных телефонах, почти везде, например, в то время как они едут на работу в автобусе или поезде, во время перерывов, а также в домашних условиях. Как показали исследования SponsorPay (http://blog.sponsorpay.com/2013/02/infographic-mobile-gaming-on-the-rise 2013), в США насчитывается около 211 миллионов мобильных и социальных геймеров. Что еще более удивительно так это то, что большинство из них играют больше часа каждый день! Статистические данные, представленные на Geekaphone (http://geekaphone.com/blog/mobilegames-by-the-numbers 2011) показывают, что мобильная игровая индустрия в настоящее время очень важна и может достичь 11,4 млрд.$ к 2014 году.

Игры, установленные на небольшое устройство, которое может находиться, почти все время, в кармане, могут содержать сложную логику, использовать трехмерную графику (3D), и имеют богатый пользовательский интерфейс. Они очень часто снабжены удобным интерфейсом управления, который использует встроенные датчики, такие как акселерометр или гироскопа. Новые мобильные телефоны могут также поддерживают GPS (Global Positioning System) для геолокации, а также Bluetooth для беспроводной связи. Все это позволяет создать решение с выдающимися функциональными возможностями, которые позволят пользователю наслаждаться играми прямо на мобильном телефоне. С использованием сетевых функции, таких как передача данных через сотовую сеть или подключение к WLAN (Wireless Local Area Network), приложения могут использовать преимущества контента, хранящегося в Интернете и обеспечивать многопользовательские режимы. Таким образом, мобильный телефон может быть использован как мощная игровая среда, даже позволяющий кооперироваться с другими игроками через Интернет.

Вы также можете создавать свои собственные игры для различных мобильных платформ, в том числе Windows Phone, iOS, Android, BlackBerry или Symbian OS. Каждая из них имеет определенные особенности, касающиеся имеющегося функционала, поддерживаемых датчиков, используемых языков и технологий, а также концепций пользовательского интерфейса.

Windows Phone 8 является платформой, описываемой в этой книге. Как вы увидите, она дает возможность создавать различные приложения и игры, которые затем можно загрузить и использовать во множестве стран по всему миру. Вы никогда не думали о разработке собственной мобильной игры? Если это так, давайте начнем читать и писать свой код!

Какие разделы охватывает данная книга

Глава 1, Начало работы - знакомит с платформой Windows Phone, и особенно его новой версией называющейся Windows Phone 8, а так же с "управляемым", "нативным", и "гибридным" подходом к разработке. Вы узнаете, как установить необходимое программное обеспечение, как создать учетную запись разработчика, и зарегистрировать телефон. Далее описываются концепции, правила, экраны, и архитектура игры примера.

Глава 2, Пользовательский интерфейс игры - представляет язык XAML (Extensible Application Markup Language), как способ создания пользовательского интерфейса. Вы познакомитесь с жизненным циклом приложений, элементами управления, ресурсами, стилями и механизмом привязки данных, а также узнаем, как запускать и отлаживать приложения Windows Phone 8.

Глава 3, MVVM шаблоны проектирования - охватывает реализацию MVVM (Model-View-View Model) шаблон проектирования для улучшения качества кода. Такой подход очень полезен при разработке Windows Phone 8 приложений.

Глава 4, Основы 3D-графики - представляет основные темы, касающиеся трехмерной графики, вершин, преобразований и матриц. Вы также познакомитесь с автоматически сгенерированный "нативной" частью проекта, который использует Direct3D.

Глава 5, 3D Game World - представляет разработку простого игрового 3D мира на Direct3D. Вы узнаете, как создать простую модель, загрузить её, и поместить её определенном месте внутри игрового мира.

Глава 6, Управление, датчики, и обнаружение столкновений - объясняется, как получить данные с датчиков, таких как например, акселерометр, гироскоп, и компас. Вы также узнаете, как использовать эти данные для перемещения объектов в игровом мире, а также, как обнаружить столкновения между ними, и как поддерживать несколько игровых уровней.

Глава 7, 2D Пользовательский интерфейс в 3D игре - имеет дело с использованием 2D-графики и шрифтов в 3D-играх, с библиотекой DirectXTK. Вы узнаете, как настроить этот инструмент, разместить текстуры, написать текст, а также создать меню с локализованными строками.

Глава 8, Карты геолокации и дополненной реальности - описывает карты, геолокации и дополнительные свойства реальности, которые могут быть включены в приложения Windows Phone 8 и игры. Вы также узнаете, как привязать навигационный механизм к конкретным координатам GPS.

Глава 9, Обмен данными через веб-службы - представляет проект Windows Communication Foundation, как способ обмена данными между игроками. Вы узнаете, как создать простой веб-сервис, развернуть его локально, а также позволить игре использовать его.

Глава 10, Социальные сети, каналы, настройки, и локальный ранг - описывает, как вы можете легко интегрировать Windows Phone 8 приложения и игры с социальными сетями, такими как Facebook и Twitter. Вы также узнаете, как читать данные из RSS-каналов, осуществлять настройки игры, а также создать локальный ранг.

Глава 11, Улучшение впечатления от игры - охватывает многие темы, которые улучшают общее качество игры, в том числе сохранение и загрузка текущего состояния, а также поддержка фоновой музыки, звуки, видео клипы, и вибрация. Вы также узнаете, как распознавать и синтезировать речь.

Глава 12, Издание игры - объясняет процесс тестирования приложений Windows Phone 8 и игр, а также их представление в магазине Windows Phone. Вы узнаете, как проверять различные аспекты проекта, в том числе производительность и работу в реальных условиях, а также, как подготовить окончательный вариант, и представить его в магазин.

Приложение A, Полезные ресурсы - предлагает дополнительные ресурсы касающиеся содержания всех глав. В нем представлены адреса различных веб-сайтов, на которых вы можете найти более подробную информацию о темах, представленных в книге.

Приложение B, Языки и технологии - представляет языки программирования и технологии, используемые в данном примере игры. Вы узнаете некоторые основные сведения о C#, C + +, XAML, Direct3D, WCF и. NET Framework.

Книга "Windows Phone 8: Разработка игр" является практическим руководством, которое показывает, как шаг за шагом создать 3D игру для платформы Windows Phone 8. Она представляет весь процесс разработки игр, от установки среды разработки до издания игры. Таким образом, книга даст хорошую подготовку для дальнейших приключений в разработке игр!

Игра будет сочетать нативный и управляемый подход в области разработки, и использовать несколько языков и технологий, в том числе C# и C++, а также XAML и Direct3D. Это будет не просто "простая игра". Вы создадите сложное приложение, которое представляет много интересных функций, включая 2D и 3D графику, поддерживает аудио и видео, карты, геолокацию, дополненную реальность, распознавание и синтеза речи, и даже обмен данными с помощью внешних сервисов, а также обмен данными с социальными сетями.

Что необходимо для этой книги?

Эта книга представляет собой разработку игры для платформы Windows Phone 8. Таким образом, вам потребуется набор инструментов, который делает возможным создание игры, тестирование, а также позволяют запустить её на эмуляторе и телефоне. К счастью, в начале, Windows Phone SDK 8.0, вместе с Microsoft Visual Studio Express 2012 для Windows Phone, в качестве интегрированной среды разработки (IDE), должно быть достаточно. Процесс установки описан в первой главе книги.

Для использования IDE вместе с эмулятором, компьютер должен работать под 64-битной операционной системой Windows 8 в издании Professional или более, с включенным Hyper-V. Более того, процессор должен обладать поддержкой виртуализации на аппаратном уровне, Второй Уровень адресов (SLAT), а также аппаратное предотвращение выполнения данных (DEP). Подробнее, эти и другие требования упоминаются в http://msdn.microsoft.com/library/ff626524.

Предполагается, что вы создадите учетную запись разработчика, а также зарегистрируете Windows Phone 8 устройство. Такие шаги являются обязательными для тестирования программного обеспечения на реальном телефоне и для публикации решения. Если вы не заведёте учетную запись разработчика, вы не сможете запустить приложение на телефоне и разместить его в магазине Windows

Phone. Тем не менее, вы все равно сможете разрабатывать его в IDE и запускать его на эмуляторе.

Для кого эта книга

Эта книга предназначена новичкам в области разработки игр на платформе Windows Phone 8, которые хотят узнать, как создать свою первую игру!

Никакого предварительного опыта в отношении 2D и 3D разработки игр, мобильных платформ, а также XAML и Direct3D технологий, не требуется. Тем не менее, некоторые базовые знания в области объектно-ориентированного программирования (ООП) (особенно в случае C# и C++ языков) требуется, чтобы понять части кода, описанные в книге.

Содержимое книги, вместе с игрой примером, стремится представить много интересных особенностей приложений и игр, созданных для платформы Windows Phone 8. Однако, чтобы сохранить простоту изложения, приведенные примеры могут отличаться от «наилучшей практики», а также могут иметь ограниченные проверки безопасности и функционал. Перед публикацией свей игры, вы всегда должны проверить её и точно убедиться, что она правильно работает в нормальных, особых и ошибочных сценариях.

Соглашения

В этой книге вы найдете много текста – оформленного разными стилями, которые различаются между разными видами информации. Вот несколько примеров этих стилей, и объяснение их смысла.

Кодовые слова в тексте, имена таблиц базы данных, имена папок, файлов, расширений файлов, пути файлов, фиктивные URL, вводимые пользователем, и тэги Twitter приведены следующим образом:

Каждый вызов метода Geolocator_StatusChanged вызывает перевод статуса в текстовое сообщение и присвоения его свойству GeolocatorStatus.

Блок кода оформляется следующим образом:

public class PlayerData
{
 public string Name {get; set;}
 public GeoCoordinate Location { get; set; }
}

Когда бы мы хотели обратить Ваше внимание на определенные части кода, соответствующие строки или элементы выделяются жирным шрифтом:

public class PlayerData
{
 public string Name {get; set;}
 public GeoCoordinate Location { get; set; }
}

Если часть кода удаляется для улучшения разборчивости, удалить повторения, или упростить содержание, соответствующие части заменены (...):

</phone:PhoneApplicationPage>
 x:Class="SpaceAim3D.Views.MenuPage" (...)
 FontFamily="{StaticResource PhoneFontFamilyNormal}" (...)>
 (...)
</phone:PhoneApplicationPage>

Любой ввод или вывод командной строки записывается следующим образом:

ISETool.exe EnumerateDevices

Новые термины и важные слова выделены жирным шрифтом. Слова, которые вы видите на экране, в меню или диалоговых окнах, например, в тексте вроде этого: "Выберите", "Добавить" и "Новая папка" опции из контекстного меню проекта в окне обозревателя решений.

Предупреждения или важные заметки появляются в окне, наподобие этого.

 

Советы и рекомендации выглядят так.

Обратная связь с читателем

Обратная связь от наших читателей всегда приветствуется. Дайте нам знать, что вы думаете об этой книге - Что вам понравилось или, возможно, не понравилось. Обратная связь от читателя важна для нас для развития тех книг, которые вам позволили получить максимальную отдачу от них.

Чтобы отправить нам общий отзыв, просто отправьте электронное сообщение на feedback@packtpub.com, и упомяните название книги в заголовке сообщения.

Если есть тема, в которой у вас есть опыт, и вы заинтересованы в любом содействии или написании книги, см. наше руководство для авторов - www.packtpub.com/authors.

Поддержка клиентов

Теперь, когда вы являетесь счастливым обладателем книги Packt, у нас есть ряд сервисов, которые помогут вам получить максимальную отдачу от вашей покупки.

Загрузка примеров кода

Вы можете скачать файлы примеров кода для всех книг Packt, которые вы приобрели с вашего аккаунта в http://www.packtpub.com. Если вы приобрели эту книгу в другом месте, вы можете посетить http://www.packtpub.com/support и зарегистрироваться, чтобы получить файлы напрямую по электронной почте.

Опечатки

Хотя мы предприняли все меры для обеспечения точности нашего контента, ошибки случаются. Если вы нашли ошибку в одной из наших книг - возможно ошибку в тексте или коде - мы были бы признательны, если бы вы сообщили нам об этом. Поступая таким образом, вы поможете спасти других читателей от разочарований и поможете нам улучшить последующие версии этой книги. Если вы заметили ошибки, пожалуйста, сообщите о них, посетив http://www.packtpub.com/submit-errata, выбрав вашу книгу, нажав на ссылку формы представления опечаток, и введя данные найденной опечатки. Как только ваш список исправлений будут проверен, ваша заявка будет принята, и опечатка будет размещена на нашем сайте, или добавлена в список существующих опечаток, в разделе «Errata» данной книги. Существующий список исправлений можно просмотреть, выбрав свою книгу на http://www.packtpub.com/support.

Пиратство

Пиратство объектов авторского права, в Интернете является насущной проблемой для всех средств массовой информации. В Packt, мы очень серьезно относимся к защите наших авторских прав и лицензий. Если вы столкнетесь с какой-либо нелегальной копией наших работ, в любой форме, в Интернете, пожалуйста, сообщите нам адрес местонахождения или имя веб-сайта, чтобы мы могли немедленно отреагировать.

Пожалуйста, свяжитесь с нами по copyright@packtpub.com со ссылкой на подозреваемый пиратский материал.

Мы ценим вашу помощь в защите наших авторов, и нашу способность поставлять вам ценный материал.

Вопросы

Вы можете связаться с нами по questions@packtpub.com если у вас возникли проблемы с каким-либо аспектом книги, и мы сделаем все возможное, чтобы его решить.