Особенности технологии XNA
статья по информатике и икт

Microsoft XNA - набор инструментов с управляемой средой времени выполнения (.NET), созданный Microsoft, облегчающий разработку и управление компьютерными играми. XNA стремится освободить разработку игр от написания «повторяющегося шаблонного кода» и объединить различные аспекты разработки игр в одной системе. Набор инструментов XNA был анонсирован 24 марта 2004 на Game Developers Conference в Сан-Хосе, Калифорния. Первый Community Technology Preview XNA Build был выпущен 14 марта 2006.

 

Скачать:

ВложениеРазмер
Файл osobennosti_tehnologii_xna.docx30.93 КБ

Предварительный просмотр:

Особенности технологии XNA

Начавшаяся несколько лет назад в Microsoft разработка XNA держалась в глубоком секрете. На GDC (самой большой ежегодной конференции разработчиков игр) в 2004 году Microsoft впервые анонсировала XNA. XNA это не просто набор библиотек, подобно DirectX; она также, для облегчения жизни разработчиков, включает набор утилит и даже собственную интегрированную среду разработки (IDE), унаследованную от Visual Studio. До 2006 года не было выпущено никаких утилит или кода, и разработчики, использующие DirectX, с 2004 по 2006 год только видели логотип XNA в верхнем правом углу документации DirectX SDK.

Microsoft XNA - набор инструментов с управляемой средой времени выполнения (.NET), созданный Microsoft, облегчающий разработку и управление компьютерными играми. XNA стремится освободить разработку игр от написания «повторяющегося шаблонного кода» и объединить различные аспекты разработки игр в одной системе. Набор инструментов XNA был анонсирован 24 марта 2004 на Game Developers Conference в Сан-Хосе, Калифорния. Первый Community Technology Preview XNA Build был выпущен 14 марта 2006.

XNA Framework основывается на нативной реализации .NET Compact Framework 2.0 для разработки для Xbox 360 и .NET Framework 2.0 на Windows. Он включает обширный набор библиотек классов, специфичных для разработки игр, поддерживающий максимальное повторное использование кода на всех целевых платформах. Фреймворк выполняется на модификации Common Language Runtime, оптимизированной для игр, чтобы предоставить управляемую среду выполнения. Среда времени выполнения доступна для Windows XP, Windows Vista, и Xbox 360. Так как игры XNA пишутся для среды времени выполнения, они могут быть запущены на любой платформе, поддерживающей XNA Framework с минимальными изменениями или вообще без таковых. Игры, которые запускаются на фреймворке, технически могут быть написаны на любом .NET-совместимом языке, но официально поддерживается только язык программирования C# и среды быстрой разработки XNA Game Studio Express и все версии Visual Studio.

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

XNA Content Pipeline - набор интегрированных в Visual Studio инструментов управления конвейером ресурсов игры, помогающий при определении, поддержке, отладке и оптимизации конвейера ресурсов игры. Конвейер ресурсов игры описывает процесс, при котором содержимое игры, такое как текстуры и трёхмерные модели, преобразуется в форму, подходящую для использования игровым движком. Content Pipeline помогает идентифицировать зависимости конвейера, а также предоставляет доступ к программному интерфейсу, позволяющему производить дальнейшую обработку данных о зависимостях. Данные о зависимостях могут быть проанализированы для уменьшения размера игры посредством выявления содержимого, которое не используется.

XNA Game Studio - интегрированная среда разработки (IDE) для разработки игр. Было выпущено пять модификаций:

  • XNA Game Studio Professional была запланирована как версия XNA IDE, предназначенная для профессиональных разработчиков игр. Основанная на Visual Studio 2005 Team System, XNA Studio предоставляет структуру для совместной работы создателей контента, программистов, менеджеров и тестеров. XNA Studio автоматизирует задачи управления проектом, такие как управление ресурсами, слежение за ошибками, автоматизация проекта и работа над спецификациями. Разработка XNA Game Studio Professional остановлена.
  • XNA Game Studio Express предназначена для студентов, любителей и независимых разработчиков игр. Эта модификация доступна для бесплатного скачивания. 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. 24 апреля 2007 Microsoft выпустила обновление XNA Game Studio Express 1.0 Refresh.
  • XNA Game Studio 2.0 была выпущена 13 декабря 2007. Эта версия предоставила возможность использования со всеми версиями Visual Studio 2005 (включая бесплатную Visual C# 2005 Express Edition), API для создания сетей, использующий Xbox Live, под Windows и на Xbox 360 и лучшее управление устройствами. Она так же была доступна для бесплатного скачивания на сайте XNA Creator Club.
  • XNA Game Studio 3.0 (для Visual Studio 2008 или бесплатной Visual C# 2008 Express Edition) позволила создавать игры, предназначенные для платформы Microsoft Zune и добавила поддержку сообщества Xbox Live. Бета-версия инструментария была выпущена в сентябре 2008, а финальная версия - 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.
  • XNA Game Studio 4 была выпущена 16 сентября 2010. Включает в себя поддержку аппаратного 3D ускорения в Windows Phone 7 и интеграцию с Visual Studio 2010.
  • XNA Game Studio 4 Refresh была выпущена 6 октября 2011.

Обзор языков программирования

За последние 20 лет появились сотни языков программирования разных видов, которые сменяли друг друга на определённых этапах развития технологий. По мере того, как развивался Интернет, началась популяризация языков программирования, которые ориентируются на создание сайтов и веб-приложений. Популярность того или иного языка тяжело спрогнозировать даже на ближайшие 5-10 лет. Десятки языков, которые считались ведущими в конце 1990х, сейчас полностью пропали или же кардинально изменились, вплоть до названия. Сегодня же есть около 10 языков, которые прочно занимают свои позиции  и без них невозможно представить дальнейшее развитие компьютеров и Интернета: Java, PHP, C/C++, Python, Delphi, Visual Basic, Objective-C, C#.

Java - это объектно-ориентированный язык программирования, который был разработан в 1995 году компанией Sun Microsystems. Многие путают Java с JavaScript, но эти два языка не имеют ничего общего.
Программы на языке Java транслируются в, так называемый, байт-код. Данный способ удобен тем, что этот байт-код не зависит от оборудования и операционной системы. А выполняться Java-приложение может на любых устройствах с соответствующей виртуальной машиной. Вторым плюсом является безопасность языка Java, так как выполнение программы контролирует виртуальная машина. Любое превышение установленных полномочий сразу же прерывает работу программы.

К минусам языка Java относят то, что при исполнении байт-кода снижается производительность алгоритмов и программ. За последнее время было разработано ряд улучшений, которые частично решили эту проблему[34].

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

Данный язык программирования приобрёл свою популярность за счёт простоты и лёгкости кода. С его помощью можно решить 90% задач во время создания сайтов. PHP активно развивается и, на данный момент, находится на 5 месте по популярности, среди других языков программирования.
Синтаксис PHP похож на язык C, а некоторые элементы были взяты из Perl. 
Из минусов языка больше всего выделяется несогласованность его синтаксиса. Это произошло из-за того, что расширения для него создавались различными группами программистов, а изначально он не планировался, как самостоятельный язык и не имел чёткой структуры [35].

C (Си) - процедурный язык программирования, который был разработан в 1970х годах. Он создавался для использования в ОС UNIX. С того времени его портировали на большинство известных операционных систем, тем самым сделав самым популярным языком программирования. С помощью него создают как системное программное обеспечение, так и прикладные программы. Язык Cи также используют для обучения, хотя он не предусматривался для новичков. Основные плюсы этого языка - минимализм, обширный набор функций и лаконичность.
Есть, конечно же, и свои минусы. Некоторые элементы потенциально опасны, а предсказать последствия их использования практически невозможно. Многие уязвимости невозможно увидеть ни при компиляции, ни во время исполнения. Это, в свою очередь, приводит к уязвимости всей системы безопасности [36].

Python (пайтон или питон) - высокоуровневый язык программирования, в котором акцент сделан на читаемость кода и производительность разработчика. Его создание было начато ещё в 1980х. Синтаксис этого языка минималистичен, зато в стандартную библиотеку включено множество полезных функций.

Обновления Python выходят раз в два с половиной года. Он портирован во все известные платформы и ОС. Синтаксис языка Питон очень чёткий и последовательный, благодаря чему код легко читается. Как и у большинства интерпретируемых языков, у Python скорость выполнения программ относительно небольшая. Но, в данном случае, это компенсируется сокращением времени разработки самой программы. Если сравнивать программу на Python с такой же на Java или C++, то она будет в 2-4 раза компактнее [37].

Visual Basic - это средство разработки ПО, созданное корпорацией Майкрософт.  Оно включает в себя среду разработки и язык программирования. Многое было унаследовано с Basic. Язык был выпущен под Windows в 1991 году. 

Плюсы, которые можно выделить в языке Visual Basic: быстрое создание приложения для Windows с графическим интерфейсом; лёгкий синтаксис, который позволяет быстро освоить язык; предусмотрена защита от ошибок, связанных с доступом к памяти и применением указателей. 
Недостатки: поддерживаются только операционные системы Windows или MAC OS X; можно наследовать интерфейс, но не реализацию объектов; чтобы работать с программой, нужна установка msvbvmXX.dll; сравнительно низкая скорость работы [38].

C#  - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщенные типы и методы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XAML.

Переняв многое от своих предшественников – C++, Java, Delphi, Smalltalk и Модула – C#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и другие [38].

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


По теме: методические разработки, презентации и конспекты

Особенности технологии дифференцированного обучения на уроках информатики

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

Мастер-класс «Особенности технологии метапредмета «Проблема»

мастер- класс "Особенности технологии метапредмета "Проблема"...

Особенности использования современных образовательных технологий в преподавании технологии

Применение образовательных технологий в преподавании предмета технологии...

«Содержание современных педагогических технологий на уроке английского языка. Особенности проектных технологий»

 «Знание только тогда знание, когда оно приобретено усилиями своей мысли,  а не памятью» Л.Н.ТОЛСТОЙ...

итоговая работа на КПК "Особенности технологии сотрудничества"

Работа выполнена в форме реферата, в содержание которого входят такие главы, как "История технологии сотрудничества", "Основные идеи технологии", "Квалификационные характеристики", "Роль обучающе...

Биоинформатика и синергетика. Особенности технологии

Данная презентация поможет разобраться в сложностях технологии БиС....

Направления: «Профессиональное самоопределение обучающихся на различных возрастных этапах: особенности, технологии, содержание, формы, методы»

Формы работы на уроках и во внеурочной деятельности:нетрадиционных форм проведения уроков (экскурсия, семинар, викторина, выставка, проекты, конструирование и др.);использование нетрадиционных форм уч...