Microsoft XNA ( англ. XNA's Not Acronymed [2]) - набір інструментів з керованої середовищем часу виконання (. NET), створений Microsoft, полегшує розробку і управління комп'ютерними іграми. XNA прагне звільнити розробку ігор від написання "повторюваного шаблонного коду" [3] та об'єднати різні аспекти розробки ігор в одній системі. Набір інструментів XNA був анонсований 24 березня 2004 на Game Developers Conference в Сан-Хосе, Каліфорнія. Перший Community Technology Preview XNA Build був випущений 14 березня 2006.


1. Цілі і опис проекту

Пакет Microsoft XNA, за словами представників Microsoft, дозволить розробникам ігор уникнути багатьох технічних труднощів, що виникають при написанні коду, а також забезпечить суттєве зниження вартості кінцевої продукції. Крім того, завдяки XNA програмісти зможуть створювати принципово нові ігри з високоякісної графікою. В ході демонстрації, Microsoft показав два анімаційних ролика, створених із застосуванням технології XNA. В одному з них хмара здіймається сигаретного диму в режимі реального часу змінювало свою форму і напрямок руху під дією зовнішніх факторів. Інший ролик демонстрував розлітаються в різні боки деталі розбився об стіну автомобіля.

Інструментарій XNA спочатку розроблявся з метою максимально полегшити процес розробки ігор для консолі Xbox і комп'ютерів, що працюють під управлінням операційної системи Windows. Разом з тим, пакет XNA дозволить поширити загальні сервіси Xbox Live, такі як, наприклад, аутентифікація, на ігри для персональних комп'ютерів. Інструментарій XNA дозволяє Microsoft конкурувати з Sony на ринку відеоігор для наступного покоління ігрових приставок.


2. Огляд

2.1. XNA Framework

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 2005 [4].

XNA Framework приховує низькорівневі технологічні деталі, пов'язані з розробкою гри. Таким чином, фреймворк піклується про різницю між платформами, дозволяючи розробникам приділяти більше уваги смисловому вмісту гри. XNA Framework інтегрується з декількома інструментами, такими як XACT, для допомоги у створенні контенту. XNA Framework надає підтримку створення та двомірних, і тривимірних ігор і дозволяє використовувати можливості контролерів Xbox 360. Ігри фреймворку XNA, призначені для платформи Xbox на даний момент можуть бути продані тільки членам клубу Microsoft XNA Creator's Club [4]. Десктопні програми можуть поширюватися безкоштовно під поточним ліцензуванням Microsoft.


2.2. XNA Content Pipeline

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


2.3. XNA Game Studio

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

  • XNA Game Studio Professional була запланована як версія XNA IDE, призначена для професійних розробників ігор [5]. Заснована на Visual Studio 2005 Team System, XNA Studio надає структуру для спільної роботи творців контенту, програмістів, менеджерів і тестерів. XNA Studio автоматизує завдання управління проектом, такі як управління ресурсами, стеження за помилками, автоматизація проекту і робота над специфікаціями. Розробка XNA Game Studio Professional зупинена.
  • XNA Game Studio Express призначена для студентів, любителів і незалежних розробників ігор [4]. Ця модифікація доступна для безкоштовного завантаження. 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 [6]. 24 квітня 2007 Microsoft випустила оновлення XNA Game Studio Express 1.0 Refresh [7].
  • XNA Game Studio 2.0 була випущена 13 грудня 2007 [8]. Ця версія надала можливість використання з усіма версіями Visual Studio 2005 (включаючи безоплатну Visual C # 2005 Express Edition), API для створення мереж, що використовує Xbox Live, під Windows і на Xbox 360 і краще управління пристроями [9]. Вона так само була доступна для безкоштовного скачування на сайті XNA Creator Club.
  • XNA Game Studio 3.0 (для Visual Studio 2008 або безкоштовної Visual C # 2008 Express Edition) дозволила створювати ігри, призначені для платформи Microsoft Zune і додала підтримку спільноти Xbox Live. Бета-версія інструментарію була випущена у вересні 2008 [10], а фінальна версія - 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 [11].

2.4. Ліцензійна угода

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 [12] [13]. Програмне забезпечення також може бути використане для створення комерційних ігор, призначених для Windows.


3. XNA Community Games

Ігри для Xbox 360, написані в XNA Game Studio можуть бути представлені Creators Club community, для чого потрібно членство, яке стоїть 49 доларів США за 4 місяці або 99 доларів США на рік. Всі ігри представлені спільноті піддаються рівній оцінці інших розробників. Якщо гра успішно проходить рецензування, вона потрапляє на Xbox Live Marketplace. Творці можуть встановити ціну в 200, 400 або 800 points для своєї гри. Розробник отримує 70% повної виручки від обсягу продажів своєї гри в якості основи. Microsoft спочатку планували брати додатковий відсоток виручки, якщо вони надають додатковий маркетинг для гри, але ця політика була скасована у березні 2009, залишивши стандартну ціну без змін [14].

Microsoft також поширює "тестові акаунти" для освітніх установ в рамках їх програми DreamSpark. Ці акаунти дозволяють студентам розробляти ігри для Xbox 360, але, щоб виставити гру на Marketplace, потрібно привілейований аккаунт.


Примітки

  1. Регіональні сайти та інші ресурси - creators.xna.com / en-US / community_resources. Читальний - www.webcitation.org/65qY44gqF з першоджерела 1 березня 2012.
  2. Presenting the "Techcronyms", the awards for the best computing acronyms - (Англ.) . Newsvine (19-01-07). Читальний - www.webcitation.org/65qY4lRPm з першоджерела 1 березня 2012.
  3. Microsoft: Next Generation of Games Starts With XNA
  4. 1 2 3 XNA Creators Club Online frequently asked questions - creators.xna.com / en-US / faq
  5. 1 2 XNA Game Studio - msdn.microsoft.com/directx/aa937794.aspx. Читальний - www.webcitation.org/65qY5c8wR з першоджерела 1 березня 2012.
  6. Gamefest announcement of XNA Game Studio Express - www.microsoft.com/presspass/press/2006/aug06/08-13XNAGameStudioPR.mspx
  7. XNA Team Blog: XNA Game Studio Express 1.0 Refresh Released - blogs.msdn.com/xna/archive/2007/04/24/xna-game-studio-express-1-0-refresh-released.aspx
  8. XNA Creators Club Online - quick start guide - creators.xna.com / Education / GettingStarted.aspx
  9. XNA Team Blog: XNA Game Studio 2.0 Released - blogs.msdn.com/xna/archive/2007/12/13/xna-game-studio-2-0-released.aspx
  10. XNA Creators Club Online - xna game studio 3.0 beta - creators.xna.com/en-us/3.0beta_mainpage
  11. Dream Build Play '09 / XNA Game Studio 3.1 Announcement - creators.xna.com/en-US/news/dbpandxnags31
  12. XNA Creators Club Online - join the community: make games, make money - creators.xna.com / en-us / news / communitygameslaunch
  13. Dream-Build-Play 2009 Competition announced by Microsoft -
  14. Download History News - creators.xna.com / en-US / news / downloadhistorynews. (Недоступна посилання - історія - web.archive.org / web / * / http://creators.xna.com/en-US/news/downloadhistorynews)