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

Введение

Согласно информации из точек продаж, собранной NPD Group (http://www.npd.com), ведущим поставщиком информации о торговле в США, объем продаж компьютерных и видеоигр за каждый год из последних трех лет превышал семи миллиардов долларов.

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

С появлением Microsoft XNA впервые непрофессиональные разработчики игр смогли создавать однопользовательские и многопользовательские игры, которые работают как на PC, так и на консоли Xbox 360.

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

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

Если, переварив эти факты, вы все еще думаете, что работа в качестве разработчика игр замечательная и стоящая, то эта книга для вас! У нас есть и несколько хороших новостей: Microsoft обещает открыть свой магазин LIVE, позволяющий каждому продавать свои игры другим членам LIVE, что выводит ваши домашние игры на рынок с десятью миллионами пользователей (по цифрам января 2008 года).

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

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

Более того, эта книга намеревается доставить вам удовольствие! Одна из наиболее интересных вещей, которые вы увидите в индустрии программирования игр, — непревзойденная страсть работающих в ней людей. Одна из целей этой книги — разжечь эту страсть в сердцах новичков с помощью простых объяснений и, в особенности, замечательных примеров игр, чтобы этот огонь продолжал гореть в последующие годы.

В конце концом, эта книга была написана именно с такой страстью!

Что такое XNA?

XNA — это игра слов. Она означает «XNA не акроним». Мир Microsoft настолько заполнен акронимами, что было решено создать название, которое выглядит как акроним, но не является им, просто для забавы.

Но XNA — это нечто гораздо большее. Значительным техническим новшеством является инновационная концепция предоставления среднему человеку мощи, позволяющей создавать свои игры для Xbox 360, поддерживаемая значительными усилиями со стороны Microsoft для формирования активного сообщества создателей игр (объединяющего сообщества программирующих для Windows и для Xbox 360), и также для формирования программ в академической области, направленных на поддержку образовательных учреждений, создающих курсы в которых используются консоли Xbox 360.

Эти усилия становятся очевидными, когда мы замечаем, что Microsoft XNA Game Studio 2.0 доступна для бесплатного скачивания с сайта Microsoft http://www.microsoft.com/XNA. Microsoft также предлагает свободно распространяемое игровое содержимое, включая видеоуроки, наборы для начинающих (готовые к сборке игры, которые можно свободно переделывать), примеры и другое вспомогательное содержимое на сайте XNA Creator's Club http://creators.XNA.com.

И последний шаг — открытие Microsoft LIVE, известного как «YouTube для игр», и предоставление возможности загружать созданные вами игры на Xbox LIVE и распространять (и даже продавать) их любому человеку в мире, имеющему подключение к LIVE. Неудивительно, что сообщество непрофессиональных программистов игр взволновано запуском XNA Game Studio и частыми обновлениями с новым содержимым на сайте XNA Creator's Club!

Величайший секрет, лежащий в основе успеха XNA, это простота — она намного проще, чем любой интерфейс программирования приложений (API) для консолей, и также проще, чем любой API программирования игр в Windows, из-за абстракций, предоставляемых для деталей, о которых вам приходится самостоятельно заботиться в других API. XNA использует одну и туже интегрированную среду разработки (IDE) XNA Game Studio Express, и один и тот же базовый каркас приложения при разработке игр как для платформы Windows, так и для Xbox 360, что обеспечивает высокую степень совместимости. Однако, есть различия на нижнем уровне. Консоль Xbox 360 использует компактную версию .NET Framework, так что будьте бдительны: не все функции, доступные в Windows, работают на Xbox 360.

Мы все это рассмотрим детальнее по ходу книги, а также вы всегда можете получить самую свежую информацию об архитектуре XNA на сайте Microsoft XNA и на сайте XNA Creator's Club.

Для кого предназначена эта книга

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

Короче говоря, эта книга предназначена тем, кто хочет получить удовольствие создавая или модифицируя простые игры, делясь ими с друзьями и играя в них в Windows, на Xbox 360 или и там и там.

Как организована книга

Эта книга организована таким образом, что вы начинаете с изучения общих концепций игрового программирования, таких как общая игровая терминология и математика, видите, как эти концепции реализованы в XNA, и затем применяете их в настоящих простых играх. Мы надеемся, что подобная организация улучшит ваше обучение, и после прочтения книги вы будете готовы к созданию собственных XNA-игр.

Глава 1, «Основы планирования и программирования игр»

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

Глава 2, «Двухмерная графика, звук и основы ввода»

В этой главе вы ознакомитесь с некоторыми фундаментальными концепциями, относящимися к программированию двухмерных игр, наряду с некоторыми примерами, упрощающими понимание того, как эти концепции реализованы в XNA Framework. Вы также посмотрите, как использовать в ваших приложениях звук и игровой пульт Xbox 360.

Глава 3, «Создаем первую двухмерную игру»

В этой главе начинается настоящее удовольствие! Вы узнаете как совместить воедино идеи, которые видели в предыдущей главе, для создания законченной игры Rocket Rain. Помимо подсказок о том, как улучшить эту простую, но захватывающую игру, вы узнаете детали, на которые следует обратить внимание при переносе игры на Xbox 360.

Глава 4, «Улучшаем первую двухмерную игру»

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

Глава 5, «Основы сетевых игр»

В этой главе вы узнаете об одной из наиболее захватывающих возможностей XNA 2.0: возможности создавать сетевые игры, позволяющие подключаться к другим компьютерам напрямую или через LIVE.

Глава 6, «Rock Rain Live!»

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

Глава 7, «Основы программирования трехмерных игр»

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

Глава 8, «Конвейер визуализации, шейдеры и эффекты»

Глубже погружаясь в мир трехмерного программирования вы подробнее узнаете о конвейере содержимого и использовании шейдеров и эффектов в XNA, прокладывая путь к созданию вашей первой трехмерной игры.

Глава 9, «Свет, камера, преобразования!»

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

Глава 10, «Генерация ландшафта»

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

Глава 11, «Скелетная анимация»

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

Глава 12, «Создание игры с видом от третьего лица»

В этой главе вы объедините все вместе, используя знания из нескольких предыдущих глав для создания простой трехмерной «стрелялки» с видом от третьего лица.

Глава 13, «Заключительные слова»

Как мы уже сказали, эта книга доставляет удовольствие и содержит много информации о программировании игр, но это только первый шаг. На нескольких последних страницах авторы дают вам советы, которыми они всегда напутствуют студентов, завершающих курс программирования игр.

Предварительные требования

Прежде чем перейти к первой главе, убедитесь, что у вас скачана и установлена последняя версия XNA, которую легко можно найти в разделе Downloads сайта http://www.microsoft.com/XNA. Мы также рекомендуем загрузить DirectX Software Development Kit (SDK) с которым поставляется некоторое содержимое, которое можно использовать при изучении XNA. Не забудьте также загрузить и установить набор для начинающих XNA Starter Kits и примеры с http://creators.XNA.com. Все эти утилиты и примеры можно бесплатно загрузить и использовать.

Если у вас нет копии Microsoft Visual Studio, вы должны также загрузить бесплатно распространяемую копию Visual C# Express, ссылка для скачивания которой также находится на сайте http://www.microsoft.com/XNA.

Исходный код и ошибки

Хотя обучение будет максимально продуктивным, если вы самостоятельно набираете код из книги по ходу чтения, иногда просто нет сил ждать, чтобы увидеть код в действии. Если вы спешите, поищите название книги на сайте Apress http://www.apress.com: весь исходный код из книги доступен для скачивания.

Обратите внимание, что, особенно в последних главах, некоторые повторяющиеся части кода опущены, что помогает сосредоточиться на более важных частях. Полные исходные коды доступны на сайте http://www.apress.com.

Хотя издательство Apress и авторы приложили максимум усилий, чтобы гарантировать отсутствие ощибок в коде и тексте, иногда они проскальзывают все проверки. Вы всегда можете найти самые последние версии кода и список обнаруженных в коде и тексте ошибок на сайте Apress http://www.apress.com. Вам надо просто выполнить поиск по названию книги.

Связь с авторами

Александр Лобао доступен на своем сайте http://www.AlexandreLobao.com, где находятся его работы в качестве автора, создателя комиксов и киносценариста. Бруно Евангелиста также содержит собственный сайт http://www.BrunoEvangelista.com со своими проектами программирования игр, включая доступное для загрузки содержимое. Жозе Лил — глава бразильского сообщества программистов на C# Sharp Games, доступного по адресу http://www.sharpgames.net.


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

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