Программное обеспечение «XNA Framework» — это пакет архивов, необходимых разработчикам .NET программ. Практически всегда эту «структуру» используют при разработке игр для операционных систем от Microsoft — Windows. Кроме того, для правильной работы этих игрушек, архивы должны быть инсталлированы на настольном ПК юзера (игрока).
Если сказать проще, то без инсталляции этого набора у вас не получится запустить игры, которые выпускались в период с 2008 года по 2012 год. А все потому, что в 2013 году Майкрософт перестал поддерживать «XNA Framework». Получается, что современные и актуальные двигатели, такие как: «CryEngine 4», «Unreal Engine 4», «Unity 3D» на них разработано больше всего проектов, применяют абсолютно разные технологии.
Для чего нужен программный софт:
Первоначально для упрощения написания кода была создана платформа XNA. Microsoft посчитали, что »структура» упростит перенос проектов с консолей и, таким образом, заметно снизит сумму разработки. Кроме того, это решение позволило легко внедрить в игрушки несколько продвинутых (на то время) технологий для визуализации. Так же, данный софт был способен создавать достаточно реалистичные эффекты и в том числе дым с использованием сложных систем частиц. Кроме упрощения процесса создания «игрушек» для ПК, этот инструментарий также помог с установкой их в «Xbox Live».
NET Framework — для чего нужен?
Когда-то даже была запущена собственная среда разработки, она помогла раскрыть все возможности этой технологии. Но есть и отрицательные стороны, реализация ПО была не идеальна, поэтому вскоре проект закрыли.
Взаимодействие ПО с системой ПК:
Данные архивы не работают на обновленных ОС Windows — 8, 10. Поэтому нет смысла устанавливать их на последние сборки ОС. Имейте в виду, сам процесс установки проходит автоматически и не требует постоянного контроля от юзера.
Основные характеристики программного обеспечения «XNA Framework»:
данные архивы нужны для запуска не многих стареньких игр;
это официальное программное обеспечение от корпорации Майкрософт;
не корректная работа с Windows 8 и новее;
лицензия абсолютно бесплатная.
Перед тем как скачать XNA Framework бесплатно на русском языке, прочитайте характеристики софта и требования к вашему устройству.
Источник: getsoft.pro
Знакомство с XNA
Аннотация: Технология XNA позволяет разработчикам игр избежать многих технических трудностей, возникающих при написании кода, а также обеспечивает существенное снижение стоимости конечной продукции. Кроме того, благодаря XNA программисты смогут создавать принципиально новые игры с высококачественной графикой. Инструментарий XNA изначально разрабатывался с целью максимально облегчить процесс разработки игр для консоли Xbox и компьютеров, работающих под управлением операционной системы Windows. Вместе с тем, пакет XNA позволит распространить общие сервисы Xbox Live, такие как, например, аутентификация, на игры для персональных компьютеров. Инструментарий XNA позволяет Microsoft конкурировать с Sony на рынке видеоигр для следующего поколения игровых приставок.
Дополнительные материалы к занятию можно скачать здесь.
Вложенные папки: Lecture_8
XNA Framework
Каждый проект XNA использует класс Game , в котором содержатся все важные компоненты игры, графическое устройство, параметры окна и диспетчер содержимого. Можно добавить сюда обработку ввода и работу со звуком. Фактически, все, что игра делает на самом высоком уровне, содержится в классе игры, или, по крайней мере, находится в каком-нибудь компоненте, к которому можно получить доступ из этого класса. Самыми важными методами класса Game являются:
Initialize() |
Update(GameTime time) |
Draw(GameTime time) |
Метод Initialize загружает содержимое игры, устанавливает начальные параметры и инициализирует все, что нужно. Его метод LoadGraphicsContent используется для выполнения операций загрузки.
Метод Update вызывается перед рисованием каждого кадра для обновления игрового времени, ввода, работы со звуком, и так далее.
Метод Draw вызывается в каждом кадре для рисования содержимого экрана.
К классу игры можно добавлять классы GameComponent , в которых тоже есть методы Update и Draw . Эти методы автоматически вызываются из методов Update и Draw . Инициализация может выполняться непосредственно в конструкторе [23].
Конвейер содержимого
Конвейер содержимого ( content pipeline ) используется для импорта, сборки и загрузки игровых составляющих, таких как текстуры, трехмерные модели, шейдеры и звуковые файлы, в игровом проекте. Это значительно сокращает объем кода, необходимого для получения в игре графики, трехмерных данных и шейдеров [23].
Конвейер содержимого состоит из пяти DLL-библиотек:
- Microsoft.Xna.Framework.Content.Pipeline.dll содержит базовые функции для конвейера содержимого.
- Microsoft.Xna.Framework.Content.Pipeline.EffectImporter.dll используется для компиляции и импорта шейдеров.
- Microsoft.Xna.Framework.Content.Pipeline.FBXImporter.dll это самая большая из библиотек, содержащая код для импорта файлов трехмерных моделей формата .fbx и поддерживающая множество функций, например функцию наложения текстур [23].
- Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.dll используется для импорта в игру файлов текстур. Это могут быть файлы используемого в DirectX формата . dds (лучший формат для текстур, поддерживающий аппаратное сжатие), но также поддерживаются и форматы .png, .jpg, .bmp и . tga . Двухмерные спрайты также являются текстурами и для них обычно используется несжатый 32-разрядный формат.
- Microsoft.Xna.Framework.Content.Pipeline.XImporter.dll позволяет импортировать файлы трехмерных моделей формата .x , используемого во многих приложениях и примерах DirectX [23].
Для разработки приложений XNA Microsoft разработала XNA Game Studio. С помощью этой среды разработки можно создавать кроссплатфоремнные игры для Windows , Xbox 360 и Zune .
16 сентября 2010 была выпущена XNA Game Studio 4. Она включает в себя поддержку аппаратного 3D ускорения в Windows Phone 7 и интеграцию с Visual Studio 2010 [24].
В качестве примера приведем приложение XNA, в котором надпись двигается по экрану.
Вначале создаем новое приложение Windows Phone Game 4 в Visual Studio 2010 Express for Windows Phone .
К проекту добавляем шрифт Lindsey:
Со следующим содержимым:
Lindsey 32 0 true Bold
Затем заполняем файл Game1.cs (за основу взят пример из [25]):
using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Input.Touch; using Microsoft.Xna.Framework.Media; namespace Lecture_8 < public class Game1 : Microsoft.Xna.Framework.Game < GraphicsDeviceManager graphics; SpriteBatch spriteBatch; const float SPEED = 240f; const string TEXT = «This is XNA Project!»; SpriteFont Lindsey; Vector2 midPoint; Vector2 pathVector; Vector2 pathDirection; Vector2 textPosition; public Game1() < graphics = new GraphicsDeviceManager(this); Content.RootDirectory = «Content»; TargetElapsedTime = TimeSpan.FromTicks(333333); >protected override void Initialize() < base.Initialize(); >protected override void LoadContent() < spriteBatch = new SpriteBatch(GraphicsDevice); Viewport viewport = this.GraphicsDevice.Viewport; Lindsey = this.Content.Load(«Lindsey»); Vector2 textSize = Lindsey.MeasureString(TEXT); Vector2 position1 = new Vector2(viewport.Width — textSize.X, 0); Vector2 position2 = new Vector2(0, viewport.Height — textSize.Y); midPoint = Vector2.Lerp(position1, position2, 0.5f); pathVector = position2 — position1; pathDirection = Vector2.Normalize(pathVector); textPosition = position1; > protected override void UnloadContent() < >protected override void Update(GameTime gameTime) < if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); float pixelChange = SPEED * (float)gameTime.ElapsedGameTime.TotalSeconds; textPosition += pixelChange * pathDirection; if ((textPosition — midPoint).LengthSquared() >(0.5f * pathVector).LengthSquared()) < float excess = (textPosition — midPoint).Length() — (0.5f * pathVector).Length(); pathDirection = -pathDirection; textPosition += 2 * excess * pathDirection; >base.Update(gameTime); > protected override void Draw(GameTime gameTime) < GraphicsDevice.Clear(Color.White); spriteBatch.Begin(); spriteBatch.DrawString(Lindsey, TEXT, textPosition, Color.Red); spriteBatch.End(); base.Draw(gameTime); >> >
Функция LoadContent() осуществляет начальную загрузку ресурсов (в нашем случае шрифта Lindsey), задаются начальные координаты надписи с помощью векторов, в функции Update описывается перемещение надписи, а функция Draw отвечает за перерисовку строки с текстом.
Источник: intuit.ru
Microsoft xna framework redistributable что это
Microsoft XNA (англ. XNA’s Not Acronymed [1] ) — набор инструментов с управляемой средой времени выполнения (.NET), созданный Microsoft, облегчающий разработку и управление компьютерными играми. XNA стремится освободить разработку игр от написания «повторяющегося шаблонного кода» [2] и объединить различные аспекты разработки игр в одной системе. Набор инструментов XNA был анонсирован 24 марта 2004 на Game Developers Conference в Сан-Хосе, Калифорния. Первый Community Technology Preview XNA Build был выпущен 14 марта 2006.
Из письма Microsoft от 31 января 2013 стало известно, что новые версии XNA более не будут разрабатываться [3] и XNA не будет доступен в новом Metro интерфейсе Windows 8, а также на Windows 8 RT [4] .
Цели и описание проекта [ править | править код ]
Пакет Microsoft XNA, по словам представителей Microsoft, позволит разработчикам игр избежать многих технических трудностей, возникающих при написании кода, а также обеспечит существенное снижение стоимости конечной продукции. Кроме того, благодаря XNA программисты смогут создавать принципиально новые игры с высококачественной графикой. В ходе демонстрации, Microsoft показала два анимационных ролика, созданных с применением технологии XNA. В одном из них облако вздымающегося сигаретного дыма в режиме реального времени меняло свою форму и направление движения под действием внешних факторов. Другой ролик демонстрировал разлетающиеся в разные стороны детали разбившегося о стену автомобиля.
Инструментарий XNA изначально разрабатывался с целью максимально облегчить процесс разработки игр для консоли Xbox и компьютеров, работающих под управлением операционной системы Windows. Вместе с тем, пакет XNA позволит распространить общие сервисы Xbox Live, такие как, например, аутентификация, на игры для персональных компьютеров.
Обзор [ править | править код ]
XNA Framework [ править | править код ]
XNA Framework основывается на нативной реализации .NET Compact Framework 2.0 для разработки игр для Xbox 360 и .NET Framework 2.0 на Windows. Он включает обширный набор библиотек классов, специфичных для разработки игр, поддерживающий максимальное повторное использование кода на всех целевых платформах. Фреймворк выполняется на модификации Common Language Runtime, оптимизированной для игр, чтобы предоставить управляемую среду выполнения. Среда времени выполнения доступна для Windows XP, Windows Vista, Windows 7 и Xbox 360. Так как игры XNA пишутся для среды времени выполнения, они могут быть запущены на любой платформе, поддерживающей XNA Framework с минимальными изменениями или вообще без таковых. Игры, которые запускаются на фреймворке, технически могут быть написаны на любом .NET-совместимом языке, но официально поддерживается только язык программирования C# и среды быстрой разработки XNA Game Studio Express и все версии Visual Studio 2005 [5] .
XNA Framework скрывает низкоуровневые технологические детали, связанные с разработкой игры. Таким образом, фреймворк заботится о разнице между платформами, позволяя разработчикам уделять больше внимания смысловому содержимому игры. XNA Framework интегрируется с несколькими инструментами, такими как XACT, для помощи в создании контента. XNA Framework предоставляет поддержку создания и двухмерных, и трёхмерных игр и позволяет использовать возможности контроллеров Xbox 360. Игры фреймворка XNA, предназначенные для платформы Xbox на данный момент могут быть проданы только членам клуба Microsoft XNA Creator’s Club [5] . Десктопные приложения могут распространяться бесплатно под текущим лицензированием Microsoft.
XNA Content Pipeline [ править | править код ]
XNA Content Pipeline — набор интегрированных в Visual Studio инструментов управления конвейером ресурсов игры, помогающий при определении, поддержке, отладке и оптимизации конвейера ресурсов игры. Конвейер ресурсов игры (англ. Content Pipeline ) описывает процесс, при котором содержимое игры, такое как текстуры и трёхмерные модели, преобразуется в форму, подходящую для использования игровым движком. Content Pipeline помогает идентифицировать зависимости конвейера, а также предоставляет доступ к программному интерфейсу, позволяющему производить дальнейшую обработку данных о зависимостях. Данные о зависимостях могут быть проанализированы для уменьшения размера игры посредством выявления содержимого, которое не используется.
XNA Game Studio [ править | править код ]
XNA Game Studio — интегрированная среда разработки ( >[6] . Было выпущено пять модификаций:
- XNA Game Studio Professional была запланирована как версия XNA >[6] . Основанная на Visual Studio 2005 Team System, XNA Studio предоставляет структуру для совместной работы создателей контента, программистов, менеджеров и тестеров. XNA Studio автоматизирует задачи управления проектом, такие как управление ресурсами, слежение за ошибками, автоматизация проекта и работа над спецификациями. Разработка XNA Game Studio Professional остановлена.
- XNA Game Studio Express предназначена для студентов, любителей и независимых разработчиков игр [5] . Эта модификация доступна для бесплатного скачивания. XNA Game Studio Express предоставляет базовые «стартовые наборы» для быстрой разработки игр типичных жанров, таких как платформер, стратегия в реальном времени и шутер от первого лица. Разработчики могут создавать игры для Windows бесплатно, используя XNA Framework, но для запуска своих игр на Xbox 360 они должны платить членские взносы для доступа к Microsoft XNA Creator’s Club. Первый релиз не предоставлял возможности предоставления скомпилированных бинарных файлов другим игрокам Xbox 360, но в «XNA Game Studio Express 1.0 Refresh» появилась возможность скомпилировать бинарные файлы для Xbox 360 и поделиться ими с другими членами Microsoft XNA Creator’s Club. Первая бета версия XNA Game Studio Express стала доступной для скачивания 30 августа2006, вторая — 1 ноября2006. Финальную версию Microsoft выпустила 11 декабря2006[7] . 24 апреля2007 Microsoft выпустила обновление XNA Game Studio Express 1.0 Refresh[8] .
- XNA Game Studio 2.0 была выпущена 13 декабря2007[9] . Эта версия предоставила возможность использования со всеми версиями Visual Studio 2005 (включая бесплатную Visual C# 2005 Express Edition), API для создания сетей, использующий Xbox Live, под Windows и на Xbox 360 и лучшее управление устройствами [10] . Она так же была доступна для бесплатного скачивания на сайте XNA Creator Club.
- XNA Game Studio 3.0 (для Visual Studio 2008 или бесплатной Visual C# 2008 Express Edition) позволила создавать игры, предназначенные для платформы Microsoft Zune и добавила поддержку сообщества Xbox Live. Бета-версия инструментария была выпущена в сентябре 2008 [11] , а финальная версия — 30 октября2008. XNA Game Studio 3.0 поддерживает C# 3.0, LINQ и большинство версий Visual Studio 2008. В XNA Game Studio 3.0 появилось много новых возможностей, таких как тестовый режим, позволяющий создателям добавить необходимую тестовую возможность в свою игру, возможности мультиплейера Xbox LIVE, такие как внутриигровые приглашения, создание кроссплатформенных игр, которые работают под Windows, Xbox 360 и Zune.
- XNA Game Studio 3.1 была выпущена 11 июня2009. В API добавилась поддержка воспроизведения видео, исправленный аудио API, система Xbox LIVE Party и поддержка игр для использования Xbox 360 Avatars [12] .
- XNA Game Studio 4 была выпущена 16 сентября2010. Включает в себя поддержку аппаратного 3D ускорения в Windows Phone 7 и интеграцию с Visual Studio 2010.
- XNA Game Studio 4 Refresh была выпущена 6 октября2011. Была добавлена поддержка для разработки игр, ориентированных на Windows Phone OS 7.1, и разработки игр на Visual Basic.
Лицензионное соглашение [ править | править код ]
EULA Microsoft XNA Framework 2.0 специально запрещает распространение коммерческих сетевых игр, которые соединяются с Xbox Live и/или Games for Windows Live без специального соглашения между Вами и Microsoft. XNA Game Studio может быть использована для разработки коммерческих игр и других программ для платформы Windows, но код Microsoft для поддержки сети Xbox/Windows Live не может быть использован. В своём проекте XNA можно использовать собственный код поддержки сети.
Игры, созданные с использованием XNA Game studio, на данный момент можно распространять через Xbox Live Community Games [13] [14] . Программное обеспечение также может быть использовано для создания коммерческих игр, предназначенных для Windows.
XNA Community Games [ править | править код ]
Игры для Xbox 360, написанные в XNA Game Studio могут быть представлены Creators Club community, для чего требуется членство, стоящее 49 долларов США за 4 месяца или 99 долларов США в год. Все игры, представленные сообществу, подвергаются равной оценке других разработчиков. Если игра успешно проходит рецензирование, она попадает на Xbox Live Marketplace. Создатели могут установить цену в 200, 400 или 800 points для своей игры. Разработчик получает 70 % полной выручки от объёма продаж своей игры в качестве основы. Microsoft изначально планировали брать дополнительный процент выручки, если они предоставляют дополнительный маркетинг для игры, но эта политика была отменена в марте 2009, оставив стандартную цену без изменений [15] .
Microsoft также распространяет «тестовые аккаунты» для образовательных учреждений в рамках их программы DreamSpark. Эти аккаунты позволяют студентам разрабатывать игры для Xbox 360, но, чтобы выставить игру на Marketplace, требуется привилегированный аккаунт.
Альтернативные реализации [ править | править код ]
Существует проект MonoGame, представляющий собой кроссплатформенную open-source реализацию XNA с дополнительными возможностями.
Что такое Microsoft XNA
«Microsoft XNA — набор инструментов с управляемой средой времени выполнения (.NET), созданный Microsoft, облегчающий разработку и управление компьютерными играми. XNA стремится освободить разработку игр от написания «повторяющегося шаблонного кода» и объединить различные аспекты разработки игр в одной системе. Набор инструментов XNA был анонсирован 24 марта 2004 на Game Developers Conference в Сан-Хосе, Калифорния. Первый Community Technology Preview XNA Build был выпущен 14 марта 2006.» — говорит википедия.
Почему XNA
Проще говоря XNA — это в какой-то степени DirextX под .NET. XNA прекрасное решение для разработки игр на С#. Также наверное самая важная особенность XNA состоит в том, что если вы допустим написали игру под Windows, то вам не составит труда перенести её на Xbox 360. Для того что бы сделать это в среднем нужно переписать не более 15% кода, в отличии от DirectX, где игру нужно писать практически заново. Также XNA позволяет писать игры под Windows Phone.
Лично я считаю, что XNA — прекрасное решение для написания собственного игрового движка (и достаточно производительного), тем более, в XNA Game Studio 4 интегрируется с Visual Studio 2010. Еще плюсом XNA является то, что там есть где развернуться, поиграться и поэкспериментировать. Вот пример простой игры от Microsoft:
Microsoft XNA Framework Redistributable – Набор необходимых библиотек и классов для разработки и запуски игр в операционной системе Windows, на текущий момент не используется в современных играх, но достаточно актуален и помогает решить некоторые проблемы, связанные с нормальной работой компьютерных игр.
Если в целом, то XNA Framework необходим по большей части для разработчиков, и позволяет запускать игры и приложения вне зависимо от версии операционной системы, будь то windows XP, Vista или Windows 10, являясь между ними некой стабильной средой прослойкой.
XNA Framework предоставляет поддержку создания и двухмерных, и трёхмерных игр и позволяет использовать возможности контроллеров Xbox 360. Игры фреймворка XNA, предназначенные для платформы Xbox на данный момент могут быть проданы только членам клуба Microsoft XNA Creator’s Club. Десктопные приложения могут распространяться бесплатно под текущим лицензированием Microsoft.
Игры, которые запускаются на фреймворке, технически могут быть написаны на любом .NET-совместимом языке, но официально поддерживается только язык программирования C# и среды быстрой разработки XNA Game Studio Express и все версии Visual Studio 2005.
Источник: 4systems.ru