Каково будущее XNA в Windows 8 или как будут разрабатываться управляемые игры в Windows 8? [закрыто]

83

Я знаю, что это потенциальный обман этого вопроса , но последний ответ был 18 месяцев назад, и с тех пор многое произошло.

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

Должны ли мы придерживаться XNA или Microsoft хочет, чтобы мы перешли на другую платформу для разработки управляемых игр в Windows 8?

Изменить: Как указано в одном из комментариев, Windows 8 сможет запускать игры XNA в режиме обратной совместимости. Но это пахнет амортизацией.

кругозор
источник
2
Windows 8 имеет обратно-совместимый режим из коробки, так почему это может быть проблемой?
ashes999
6
Если я хочу разработать ac # игру для метро, ​​какой фреймворк мне использовать?
Кен
5
Вы должны использовать SharpDX.
Джонатан Дикинсон
+1 для Джонатана. SharpDX теперь поддерживает DirectX 11.1 для совместимости с Metro.
ChrisC
4
@Deza: Мало того, что это не будет иметь поддержку метро, ​​но XNA также не будет использоваться для Windows Phone 8. Кроме того, если XNA не обновляется, он никогда не будет поддерживать DX11 и не будет работать для будущей консоли Xbox. Существует множество причин, по которым разработчики должны избегать XNA, если он не будет обновлен.
Ник Фостер

Ответы:

61

РЕДАКТИРОВАТЬ: Это официально, Microsoft убила XNA . Я опечален этим, но это не было неожиданным, это то, что я предсказывал, произойдет, но надеюсь, что я ошибся. Все, что ниже этого пункта - мой оригинальный пост с начала 2012 года.

Что еще нужно учитывать, так это то, что Microsoft, вероятно, выпустит новую консоль в середине-конце 2013 года. Будут ли они продолжать пытаться заставить что-то вроде XNA работать на своей консоли? Если они хотят, чтобы люди делали игры на новом Xbox, им что-то понадобится, и было бы расточительно отбрасывать XNA и начинать заново с чего-то другого. Кроме того, Windows 8 будет работать на планшетах с процессорами ARM, и мы все знаем, насколько велик рынок для приложений для телефонов и планшетов, для Microsoft это большая возможность иметь API для создания приложений на этих устройствах, но это будет XNA или только .NET?

Я вижу пару потенциальных путей:

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

  2. Microsoft может увидеть огромные возможности с домашними приложениями, такие вещи, как Apple App Store, приносят огромные деньги, и если Microsoft может упростить создание игр и их перенос на планшеты Xbox Live и Windows 8, то у них есть шанс сделать их большими. на рынке консольных приложений. Если Microsoft пойдет по этому пути, я увижу новую XNA, поддерживающую DX11.1 с его следующей версией, и продолжающую поддержку XNA еще как минимум 5 лет.

Некоторые вещи для рассмотрения:

  • В настоящее время с XNA вы должны заплатить 100 долларов, если вы хотите разработать свою игру для Xbox 360, это 100 долларов, чтобы просто попробовать и посмотреть, сможете ли вы заработать какие-либо деньги, и даже тогда MS получает часть прибыли от вашей игры. Если Microsoft возьмет гонорар в 100 долларов и просто возьмет на себя большую часть прибыли, они могут в конечном итоге увидеть намного больше игр и заработать больше денег на сделке.

  • Игры XNA имеют проблемы с производительностью на Xbox 360. Microsoft не хотела, чтобы игры XNA представляли угрозу безопасности, когда они запускались на Xbox-ах других людей, поэтому они в основном запускали игры XNA в песочнице с ограниченным доступом к процессору, графическому процессору и памяти. В дополнение к ограниченному доступу игры, запрограммированные в полном пакете Xbox SDK, не написаны на C # и не требуют таких вещей, как сборка мусора, но XNA работает на собственном C # от Microsoft, поэтому Microsoft пришлось написать оболочку, чтобы XNA могла работать на Xbox, и эта обертка немного замедляет работу. Такие вещи, как производительность с плавающей запятой, могут быть в 10 раз медленнее, чем игры для Xbox, написанные через полный SDK. Эти проблемы с производительностью означают, что игры для Xbox, разработанные через XNA, не могут в полной мере использовать весь потенциал Xbox, что только ухудшает качество игр, которые Microsoft может получить от сообщества. Microsoft будет хорошо подумать об этом, если они продолжат работу с XNA, чтобы их следующая консоль позволила разработчикам XNA использовать систему в полной мере.

  • Насколько я знаю, XNA не будет поддерживать стиль Metro в Windows 8, поэтому разработчики не смогут писать игры, чтобы воспользоваться этим. XNA также не будет работать на процессорах ARM, поэтому вы не можете использовать XNA для написания приложений для планшетов с Windows 8, которые скоро появятся. Является ли это признаком того, что XNA может не поддерживаться в будущем?

  • Microsoft использует XNA для игр прямо сейчас, но если немного поработать, ее можно использовать и для создания некоторых интересных приложений. Если Microsoft распространит XNA в сообществах, отличных от разработчиков игр, то он может привыкнуть чаще, и у Microsoft будет больше оснований продолжать поддерживать его.

  • Форумы XNA немного иссякли, людям требуется больше времени, чтобы получить ответы, и я редко вижу какого-либо члена команды XNA на форумах, кроме Шона Харгривза, поэтому они могут просто быть в роли поддержки в это время.

  • Я создал и поддерживаю игровой движок с открытым исходным кодом для XNA, за последние 2 года количество скачиваний движка упало примерно до половины того, с чего они начинали, даже несмотря на то, что движок намного лучше, чем раньше. Это сигнализирует мне, что намного меньше людей используют XNA, чем раньше. Вот график количества посещений моего сайта. Вы можете увидеть, что интерес к XNA достиг своего пика примерно с конца 2007 года до середины 2008 года. Просмотры страниц QuickStart Engine

Вот длинная дискуссия, в которой участвуют некоторые члены команды XNA. Конечно, они не хотят много комментировать, потому что Microsoft мало говорит о вещах до того, как их объявят:

http://xboxforums.create.msdn.com/forums/t/91616.aspx

Также интересны такие цитаты:

Создавайте иммерсивные игры, используя возможности DirectX. Новый графический стек Windows 8 лучше интегрирован, что упрощает совместное использование компонентов Direct2D, Direct3D и DirectCompute и требует меньше дублированных ресурсов, чем раньше. Возможности, ранее доступные только в XNA, такие как DirectXMath, XAudio2 и XInput, теперь доступны. Чтобы получить максимальное удовольствие от игр и видео, используйте DirectX 11.1 для создания стереоскопического 3D в своих приложениях.

http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf

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

Мое честное мнение, что XNA 4.0 будет последним, но я искренне надеюсь, что ошибаюсь.

Ник Фостер
источник
Представители Microsoft, по всей видимости, говорят людям, что нужно использовать поддержку MonoGame для Windows 8, хотя поддержка 3D еще в разработке. Возможно, стоит посмотреть, сможете ли вы портировать свой двигатель :)
Дэвид С. Бишоп
1
Да, это то, что я мог бы рассмотреть. В основном я использовал проект движка как хобби для того, чтобы узнать больше о тех областях разработки игр, с которыми я менее знаком. С такими двигателями, как Unity, которые можно использовать бесплатно, мой двигатель практически не использовался (насколько я знаю). Я не уверен, насколько серьезно я делаю двигатель более доступным, зная, как мало его можно использовать. Я могу продолжать расширять движок, просто чтобы продолжить практиковаться с технологией игрового движка в целом.
Ник Фостер
1
В настоящее время я использую Monogame для моей игры 3D XNA, которая в настоящее время работает на WP7, Windows и W8. Мне все еще не хватает ряда критических элементов, которые, как мне хотелось бы, были там, но они активно разрабатываются несколькими ключевыми заинтересованными сторонами.
RobCurr
47

MonoGame (реализация XNA для OpenSource, OpenGL) v2.5 была выпущена сегодня с поддержкой пользовательских шейдеров для iOS, Android, MacOS и Linux. Наша команда начала работу по добавлению поддержки PlayStation Suite SDK, а также Window8 Metro (на мой взгляд, на основе SharpDX).

У нас уже есть 3D-ветвь с оригинальным названием develop3d, на которой все наши усилия будут сосредоточены в ближайшие месяцы, теперь, когда выйдет v2.5. Посмотрите на нашем канале YouTube, где мы находимся в настоящее время с 3D - http://www.youtube.com/user/MonoGameTeam?feature=watch .

Помогают разработчики из нескольких игровых студий, поэтому мы считаем, что ветвь development3d должна быть более оптимизированной, чем наша ветка v2.5, и она почти полностью переписана. Демонстрация Reach заняла 15 минут для переноса с Windows на MacOS X, когда я начинал с нуля на прошлых выходных. Ветвь Develop3D еще не идеальна, как и вся MonoGame, но мы думаем, что находимся на пути к решению тех проблем, которые у нас есть, и если больше людей выручит, еще лучше.

В Apple App Store уже есть 28 игр для iOS (27 2D и 1 3D), 5 на рынке Android и 1 в магазинах MacOS и Linux. Если кто-то здесь играл в Bastion в своем браузере Google Chrome, который использует модифицированную версию MonoGame, и мы надеемся в будущем поддерживать игры NaCL, благодаря SuperGiant прислал нам информацию о том, как они заставили MonoGame работать с NaCL.

У нас есть 4-5 активных разработчиков, работающих над MonoGame, и если вы хотите пообщаться с нами, перейдите на monogame.codeplex.com или на irc.gnome.org на канале #MonoGame. Получите последний код от Github

Поэтому я полагаю, что моя точка зрения заключается в том, пожалуйста, рассмотрите MonoGame, если вы планируете писать кроссплатформенные игры с использованием XNA.

Доминик.

Dominique
источник
4
Тем, кто дал мне отрицательный балл, не отвечаю ли я на вопрос автора о том, «как будут развиваться управляемые игры в Windows 8?». Я думал, что предположил, что MonoGame будет иметь реализацию Windows 8 в будущем, так что это одна из возможных альтернатив Unity3D, DeltaEngine и т. Д. И я также разъяснил пункты xoofx о MonoGame. Просто интересно, почему проголосовали против.
Доминик
6
Рискну предположить, что это может быть потому, что ваш ответ больше напоминает рекламу, чем ответ.
Джош
6
@ Доминик Я голосовал за тебя. Я пользовался вашим продуктом и получал от него удовольствие, но кое-что говорит: «Итак, я полагаю, что моя точка зрения - подумайте о MonoGame, если вы планируете писать кроссплатформенные игры с использованием XNA». обобщает цель вашего ответа. Небольшое количество полезной информации не скрывает тот факт, что это шаг.
ClassicThunder
1
@Dominique Смотрите FAQ по продвижению на сайте. Я полагаю, что вы честно пытались ответить на вопрос, но немного увлеклись продвижением своего проекта, предоставив ответ на вопрос. Так как ваш проект с открытым исходным кодом, вы можете претендовать на рекламное объявление сообщества , и это стоит посмотреть. Спасибо за ответ и добро пожаловать в GDSE.
MichaelHouse
1
Прошло много времени с тех пор, как я ответил на эту тему, и многое произошло. Я просто хотел отметить, что в Windows 8 Preview Store теперь есть как минимум 2 игры, использующие MonoGame. Первый вооружен! недавно был представлен на стендах и сайте Microsoft. Руническая легенда - это другое. Следите за появлением новых игр на платформе MonoGame для Windows 8. Всего 2 недели назад меня и одного из разработчиков MonoGame попросили посетить Microsoft Reading, Великобритания, и поговорить с ними о MonoGame. Мы представили 8 евангелистов. Также Боб Фамильяр, евангелист Microsoft в США, недавно написал статью из 3 частей о себе
Доминик
16

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

Вот статья о каждой перспективе:

dbomb101
источник
8
Я действительно надеюсь, что это последнее, потому что, если они осуждают XNA после того, как они продвигают его на протяжении многих лет, хорошо, пу.
Джокинг
@ jhocking согласен, что это какашка Но как разработчики, мы всегда должны быть многоязычными. XNA тоже была моей любимой платформой, но теперь, я думаю, это снова Flash или что-то в этом роде. Вздох.
ashes999
2
Хорошо, не слишком, так как я никогда не программировал на XNA. Я больше думал, что это может испортить всех моих друзей, которые продолжают проповедовать XNA. Возможно, это меня не пугает, но я также не люблю, когда других запинают.
Джокинг
То, что происходит с самим DX, предполагает, что другой версии XNA не будет. Но технология меняется.
Blecki
11
  1. Какое будущее у XNA в Windows 8?

    XNA будет работать только на рабочем столе Win8, и почти нет шансов, что Microsoft работает над XNA-совместимым API, работающим под Win8 Metro UI / DirectX11.1.

    Если вы действительно хотите продолжить разработку API-интерфейса, подобного XNA, в Windows 8 Metro, при этом все еще имея возможность использовать конвейер контента (одна из причин, по которой XNA является дружественным разработчиком низкобюджетных игр), вы должны следовать проекту ANX Framework . Этот проект имеет хорошие шансы быть готовым до Windows 8 RTM (по крайней мере, с поддержкой SpriteBatch). Хотя, вероятно, потребуется немного изменить шейдеры (например, семантику), ANX предоставляет способ импорта существующего проекта XNA, что может очень помочь. Они также работают с другими бэкэндами (например, OpenGL для графики), поэтому они также могут быть нацелены на другие платформы .NET (например, Mono на Android / iPhone).

    MonoGame может быть другим вариантом, но в настоящее время он предназначен только для 2D, с одним бэкэндом OpenGL / ES, поэтому он не сможет работать в Windows 8 Metro (OpenGL не является «сертифицированным» API в Win8 Metro и, скорее всего, не входит в планы Microsoft).

  2. Как будут развиваться управляемые игры [кроме использования XNA API] в Windows 8 (Metro)?

    Есть несколько вариантов:

    • Вы можете напрямую использовать SharpDX , API-интерфейс DirectX низкого уровня (его использует ANX). Например, минимальный фреймворк для 2D-игры, как правило, возможен с помощью низкоуровневого API, подобного этому (и может быть сделано с Direct2D). Я знаю как минимум две небольшие компании, которые используют его для разработки игр Win8 Metro.

    • Вы можете начать использовать DeltaEngine, который, будем надеяться , будет совместим с Win8 Metro в ближайшие месяцы (вероятно, потребуется лицензия)

    • Вы можете попробовать разработать с Unity3D , хотя они еще не объявили о какой-либо поддержке Windows 8 Metro (требуется лицензия). Но они недавно работали над рендерером Direct3D11, так что им не должно быть так сложно обеспечить поддержку Win8 (но, поскольку многие Win32 API не авторизованы из Win8 Metro, вероятно, это не единственное, что им нужно для портирования).

xoofx
источник
5

С выпуском WinRT становится все более и более очевидным, что Microsoft сделала большой поворот. Управляемый обман идет вниз, Родной обман сильнее, чем когда-либо. Очевидно, кто-то влиятельный в компании (некоторые утверждают, что это основная команда Windows) вообще не удовлетворен производительностью .NET. Основная тенденция, которую я вижу в последних статьях - это что-то вроде

WinRT - это следующий .NET, а C ++ / CX - следующий C #.

Они говорят:

Эй, это так же легко написать на C ++, как на C #! Зачем вам XNA, если вы можете писать на C ++ и DirectX?

Это чувство, которое я испытываю в прошлый раз. Учитывая, что вы можете ожидать замедления всех управляемых связанных проектов, единственная разница - это величина замедления.

У меня есть уважение к Microsoft, которая почти никогда не отказывается от поддержки продуктов, они просто больше не разрабатываются. Так что, по крайней мере, мы можем использовать XNA 4.0 довольно долго, даже если это последняя поддерживаемая версия.

Петр Абдулин
источник
2

Это не выглядит хорошо для нас, независимых разработчиков XNA, которые хотят перенести наши игры XNA в Metro. Microsoft не проявляет интереса и ожидает, что мы вернемся к программированию на C ++ / DirectX или примем сторонние платформы C #, большинство из которых не поддерживает какой-либо конвейер содержимого XNA.

Все довольно грустно, я действительно не могу понять MS иногда.

Жюль
источник
7
Привет Жюль. Добро пожаловать в GDSE! Мы на самом деле не похожи на форум, поэтому такие ответы, которые просто болтливы, не приветствуются. Если бы у вас была фактическая информация для добавления или источники для вашего ответа, это было бы здорово!
MichaelHouse