Quel est l'avenir de XNA dans Windows 8 ou comment les jeux gérés seront-ils développés dans Windows 8? [fermé]

83

Je sais que c'est une dupe potentielle de cette question , mais la dernière réponse datait de 18 mois et il s'est passé beaucoup de choses depuis.

Il semble y avoir une certaine incertitude à propos de XNA dans Windows 8. Plus précisément, Windows 8 utilise par défaut l’interface Metro, qui n’est pas prise en charge par XNA. De plus, le magasin Windows 8 ne stockera pas les applications non métropolitaines, il ne stockera donc pas les applications XNA.

Devrions-nous nous en tenir à XNA ou Microsoft souhaite-t-il que nous passions à un cadre différent pour le développement de jeux gérés dans Windows 8?

Edit: comme indiqué dans l'un des commentaires, Windows 8 pourra exécuter les jeux XNA dans un mode de compatibilité ascendante. Mais ça sent la dépréciation.

Ken
la source
2
Windows 8 a un mode rétrocompatible prêt à l'emploi, alors pourquoi cela poserait-il problème?
ashes999
6
Si je veux développer ac # game pour l'interface utilisateur métro, quel framework dois-je utiliser?
Ken
5
Vous devriez utiliser SharpDX.
Jonathan Dickinson
+1 pour Johnathan. SharpDX prend désormais en charge DirectX 11.1 pour la compatibilité Metro.
ChrisC
4
@Deza: Non seulement le métro ne sera pas pris en charge, mais XNA ne sera pas utilisé non plus pour Windows Phone 8. De plus, si XNA n'est pas mis à jour, il ne supportera jamais DX11 et ne fonctionnera pas pour la prochaine console Xbox. Les développeurs ont de nombreuses raisons de ne pas utiliser XNA s'il n'est pas mis à jour.
Nic Foster

Réponses:

61

EDIT: C'est officiel, Microsoft a tué XNA . Je suis attristé par cela, mais ce n'était pas inattendu, c'est ce que je prédisais arriverait, mais en espérant que j'avais tort. Tout ce qui se trouve en dessous de ce point correspond à mon article original du début de 2012.

Un autre élément à prendre en compte est que Microsoft est susceptible de publier une nouvelle console entre le milieu et la fin de 2013. tentera-t-il de faire en sorte que quelque chose comme XNA fonctionne sur leur console? S'ils veulent que les utilisateurs fassent des jeux sur la nouvelle Xbox, ils auront besoin de quelque chose et il serait inutile de supprimer XNA et de recommencer à zéro avec autre chose. En outre, Windows 8 fonctionnera sur des tablettes dotées de processeurs ARM, et nous savons tous à quel point le marché des applications pour téléphones et tablettes est important. Pour Microsoft, il est donc tout à fait possible de disposer d'une API permettant de créer des applications sur ces périphériques. XNA ou seulement .NET?

Je vois quelques chemins potentiels:

  1. XNA n'a pas connu beaucoup de succès avec la Xbox actuelle, principalement en raison du nombre peu important de jeux XNA et de la configuration médiocre du magasin pour les jeux XNA sur Xbox Live. Microsoft peut donc décider de débrancher entièrement le câble, nous laissant avec XNA 4.0, compatible avec DX10, qui constituera une plate-forme décente pour créer des jeux PC simples pendant quelques années avant sa disparition.

  2. Microsoft peut voir les énormes possibilités offertes par les applications personnalisées, comme l'App Store d'Apple, générant beaucoup d'argent, et si Microsoft peut faciliter la création de jeux et les intégrer aux tablettes Xbox Live et Windows 8, ils auront alors la chance de réussir. sur le marché des applications de console. Si Microsoft s'engage dans cette voie, je vois la nouvelle version de XNA prenant en charge DX11.1 dans sa prochaine version, ainsi que la poursuite de la prise en charge de XNA pendant au moins 5 ans.

Quelques points à considérer:

  • Actuellement, avec XNA, vous devez débourser 100 USD si vous souhaitez développer votre jeu pour la Xbox 360, c'est 100 USD seulement pour l'essayer et voir si vous pouvez gagner de l'argent. Même dans ce cas, MS tire une partie des bénéfices de votre jeu. Si Microsoft supprime les frais de 100 $ et ne récupère que la plus grande partie des bénéfices, il se peut qu'ils voient beaucoup plus de jeux et engrangent plus d'argent.

  • Les jeux XNA ont des problèmes de performances sur la Xbox 360. Microsoft ne voulait pas que les jeux XNA posent un risque pour la sécurité lorsqu'ils s'exécutaient sur la Xbox d'autres personnes. Ils ont donc exécuté ces jeux dans un sandbox avec un accès limité au processeur, au processeur graphique et à la mémoire. En plus de l'accès limité, les jeux programmés sur le Kit de développement Xbox SDK complet ne sont pas écrits en C # et ne nécessitent pas de tâches telles que le garbage collection, mais XNA s'exécute sur le propre C # de Microsoft. Microsoft a donc dû écrire un wrapper pour que XNA s'exécute sur le Xbox, et cet emballage ralentit un peu les choses. Des performances telles que les performances en virgule flottante peuvent être jusqu'à 10 fois plus lentes que les jeux Xbox écrits avec le SDK complet. Ces problèmes de performances signifient que les jeux Xbox développés par XNA ne peuvent pas vraiment exploiter tout le potentiel de la Xbox. ce qui nuit à la qualité des jeux que Microsoft peut obtenir de la communauté. Microsoft ferait bien de prendre cela en considération s’ils continuent avec XNA afin que leur prochaine console permette aux développeurs XNA d’utiliser le système à son plein potentiel.

  • Pour autant que je sache, XNA ne supportera pas le style de métro de Windows 8, les développeurs ne pourront donc pas écrire de jeux pour en tirer parti. XNA ne fonctionnera pas non plus sur les processeurs ARM. Par conséquent, vous ne pouvez pas utiliser XNA pour écrire des applications pour tablettes Windows 8 qui seront bientôt disponibles. Est-ce un signe que XNA pourrait ne plus être pris en charge à l'avenir?

  • Microsoft utilise actuellement XNA pour les jeux, mais avec un peu de travail, il pourrait également être utilisé pour créer des applications intéressantes. Si Microsoft poussait XNA vers des communautés autres que les développeurs de jeux, il pourrait s'utiliser plus souvent et donner davantage de raisons à Microsoft de continuer à le prendre en charge.

  • Les forums XNA sont un peu taris, il faut plus de temps pour obtenir des réponses, et je ne vois plus aucun membre de l'équipe XNA sur les forums, à l'exception de Shawn Hargreaves, qui peut donc simplement jouer un rôle de soutien.

  • J'ai créé et pris en charge un moteur de jeu open-source pour XNA. Au cours des deux dernières années, le nombre de téléchargements du moteur a été réduit à environ la moitié de ce qu'il avait commencé, même si le moteur était bien meilleur qu'avant. Cela signifie que beaucoup moins de personnes utilisent XNA que d’habitude. Voici un graphique du nombre de visites que j'ai sur mon site. Vous pouvez constater que l'intérêt pour XNA a atteint son apogée entre la fin de 2007 et le milieu de 2008. Vues de la page du moteur QuickStart

Voici une longue discussion qui inclut certains membres de l’équipe XNA. Bien sûr, ils ne sont pas disposés à commenter beaucoup car Microsoft ne parle pas beaucoup de choses avant leur annonce:

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

Des citations comme celle-ci sont également intéressantes:

Créez des jeux immersifs en utilisant la puissance de DirectX La nouvelle pile graphique de Windows 8 est mieux intégrée, ce qui facilite l'utilisation des composants Direct2D, Direct3D et DirectCompute ensemble et nécessite moins de ressources dupliquées qu'auparavant. Les fonctionnalités auparavant disponibles uniquement dans XNA, telles que DirectXMath, XAudio2 et XInput, sont désormais disponibles. Pour une expérience ultime du jeu et de la vidéo, utilisez DirectX 11.1 pour intégrer la 3D stéréoscopique à vos applications.

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

Je supporte actuellement un moteur de jeu open-source pour XNA, je préférerais donc qu'il soit supporté à l'avenir. Toutefois, même si XNA 4.0 est le dernier XNA, il s'agit toujours d'une plate-forme appropriée pour créer rapidement et facilement des jeux Windows. une excellente API pour ceux qui veulent apprendre à créer des jeux vidéo.

Mon opinion honnête est que XNA 4.0 sera le dernier, mais j'espère vraiment que je me trompe à ce sujet.

Nic Foster
la source
Les représentants de Microsoft ont apparemment demandé aux utilisateurs d’utiliser le support MonoGame pour Windows 8, bien que le support 3D soit toujours en développement. Ça vaut le coup de voir si vous pouvez porter votre moteur :)
David C. Bishop
1
Oui, c'est quelque chose que je pourrais envisager. J'ai principalement utilisé le projet de moteur comme passe-temps pour en apprendre davantage sur des domaines du développement de jeux avec lesquels je suis moins familier. Avec des moteurs comme Unity qui peuvent être utilisés gratuitement, mon moteur a été peu utilisé (pour autant que je sache). Je ne suis pas sûr de mon sérieux pour rendre le moteur plus accessible en sachant à quel point il serait probablement utilisé. Je pourrais continuer à développer le moteur davantage pour continuer à m'entraîner avec la technologie des moteurs de jeux en général.
Nic Foster
1
J'utilise actuellement Monogame pour mon jeu 3D XNA qui fonctionne actuellement sur WP7, Windows et W8. J'aurais aimé qu'il manque un certain nombre d'éléments critiques dont je souhaiterais qu'ils soient présents, mais quelques-uns des principaux intéressés les développent actuellement.
RobCurr
47

MonoGame (une implémentation OpenSource et OpenGL de XNA) v2.5 est disponible aujourd'hui avec la prise en charge des shaders personnalisés sur iOS, Android, MacOS et Linux. Notre équipe a commencé à travailler sur l’ajout du support SDK PlayStation Suite ainsi que de Window8 Metro (basé sur SharpDX, je crois).

Nous avons déjà une branche 3D, imaginativement nommée develop3d, sur laquelle tous nos efforts seront concentrés au cours des prochains mois, maintenant que la v2.5 est disponible. Consultez notre chaîne YouTube pour connaître l'état actuel de la 3D: http://www.youtube.com/user/MonoGameTeam?feature=watch .

Nous avons des développeurs de quelques studios de jeux qui nous aident, nous pensons donc que la branche develop3d devrait être plus optimisée que celle de notre branche v2.5 et que sa réécriture est presque totale. Il a fallu 15 minutes à la démo Reach pour passer de Windows à MacOS X, lorsque je suis partie de rien le week-end dernier. La branche develop3d n'est pas encore parfaite, pas plus que MonoGame dans son ensemble, mais nous pensons que nous sommes en train de régler les problèmes que nous avons et si davantage de personnes apportent leur aide, c'est encore mieux.

Il existe déjà 28 jeux iOS (27 en 2D et 1 en 3D) sur le Apple App Store, 5 sur le marché Android et 1 sur les magasins MacOS et Linux. Si quelqu'un ici a joué à Bastion dans son navigateur Google Chrome, celui-ci utilise une version modifiée de MonoGame et nous espérons pouvoir prendre en charge les jeux NaCL à l'avenir, grâce à SuperGiant qui nous a envoyé des informations sur la manière dont il a fait fonctionner MonoGame avec NaCL.

Nous avons environ 4-5 développeurs actifs travaillant sur MonoGame et si vous avez envie de discuter avec nous, veuillez vous rendre sur monogame.codeplex.com ou sur irc.gnome.org sur le canal #MonoGame. Prenez le dernier code de Github

Donc, je suppose que ce que je veux dire, c’est d’envisager MonoGame si vous envisagez d’écrire des jeux multiplates-formes avec XNA.

Dominique.

Dominique
la source
4
Je ne réponds pas à la question de l'auteur initial: "Comment les jeux gérés seront-ils développés dans Windows 8?" Je pensais que je suggèrerais que MonoGame aura une implémentation de Windows 8 à l’avenir, ce qui en fait une alternative possible à Unity3D, DeltaEngine, etc. Je me demande juste pourquoi le vote négatif.
Dominique
6
J'oserais le deviner, car votre réponse se lit plutôt comme une publicité que comme une réponse.
Josh
6
@ Dominique je vous ai voté. J'ai utilisé et apprécié votre produit, mais le message qui l'indique "J'imagine que mon propos est le suivant: veuillez considérer MonoGame si vous envisagez d'écrire des jeux multiplates-formes à l'aide de XNA." résume l'intention de votre réponse. Une petite quantité d'informations utiles ne cache pas le fait que c'est un pitch.
ClassicThunder
1
@Dominique Voir la FAQ concernant la promotion sur le site. Je crois que vous essayiez honnêtement de répondre à la question, mais vous vous êtes un peu laissé entrain de promouvoir votre projet plutôt que de fournir une réponse à la question. Étant donné que votre projet est open-source, vous pouvez être éligible pour une annonce de promotion communautaire . Merci pour la réponse et bienvenue sur GDSE.
MichaelHouse
1
Cela fait longtemps que je n'ai pas répondu à ce fil et beaucoup de choses se sont passées. Je tenais simplement à souligner qu’il existe au moins 2 jeux dans le magasin de prévisualisations Windows 8, qui utilisent MonoGame. Le premier ARMÉ! a été présenté sur les stands et le site de Microsoft récemment. Rune Legend en est un autre. Ne manquez pas les nouveaux jeux basés sur MonoGame qui arriveront sous Windows 8. Il y a deux semaines à peine, moi-même et un autre développeur de MonoGame ont été invités à visiter Microsoft Reading, au Royaume-Uni, pour leur parler de MonoGame. Nous avons présenté à 8 évangélistes. Aussi Bob Familiar, un évangéliste de Microsoft aux États-Unis, a récemment écrit un article en 3 parties
Dominique,
16

D'après ce que je comprends de la situation, cela peut aller de deux manières. L'API est soit obsolète, soit en cours de création pour créer une version XNA basée sur DirectX 11.

Voici un article sur chaque perspective:

dbomb101
la source
8
J'espère vraiment que c'est le dernier cas, parce que s'ils déprécient XNA après tout ce qu'ils poussent depuis des années, eh bien, caca.
Jhocking le
@jhocking est d'accord pour dire que c'est du caca. Mais en tant que développeurs, nous devrions toujours être multilingues. XNA était aussi ma plate-forme préférée, mais maintenant, je suppose que c'est le retour à Flash ou quelque chose du genre. Soupir.
ashes999
2
lol ben pas "trop" puisque je n'ai jamais programmé en XNA. Je pensais plus que cela pourrait nuire à tous mes amis qui continuent à évangéliser XNA. Cela ne me fera peut-être pas me prendre personnellement, mais je n'aime pas non plus voir d'autres personnes se faire prendre.
Jhocking le
Ce qui arrive à DX lui-même suggère qu’il n’y aura pas d’autre version de XNA. Mais la technologie change.
Blecki
11
  1. Quel est l'avenir de XNA sur Windows 8?

    XNA ne fonctionnera que sur le bureau Win8 et il n'y a pratiquement aucune chance que Microsoft travaille sur une API compatible XNA fonctionnant sous Win8 Metro UI / DirectX11.1.

    Si vous voulez vraiment continuer à développer sur une API de type XNA sous Windows 8 Metro, tout en pouvant utiliser le pipeline de contenu (une des raisons pour lesquelles XNA est adapté aux développeurs de jeux à petit budget), vous devez suivre le projet ANX Framework . Ce projet a de bonnes chances d’être prêt avant Windows 8 RTM (au moins avec le support SpriteBatch). Bien qu'il soit probablement nécessaire de modifier légèrement les shaders (par exemple, la sémantique), ANX fournit un moyen d'importer un projet XNA existant, ce qui pourrait grandement aider. Ils travaillent également sur d’autres backends (comme OpenGL pour les graphismes), afin de pouvoir également cibler d’autres plates-formes .NET (comme Mono sur Android / iPhone).

    MonoGame pourrait être une autre option, mais il n’est actuellement disponible que pour la 2D, avec un seul backend OpenGL / ES, de sorte qu’il ne pourra pas fonctionner sous Windows 8 Metro (OpenGL n’est pas une API "certifiée" sous Win8 Metro, et très probablement ne fait pas partie des forfaits Microsoft).

  2. Comment les jeux gérés [autres que ceux utilisant l'API XNA] seront-ils développés sous Windows 8 (Metro)?

    Il y a plusieurs options:

    • Vous pouvez utiliser directement SharpDX , une API DirectX de bas niveau (utilisée par ANX). Par exemple, un framework minimal pour un jeu 2D est généralement réalisable avec une API de bas niveau comme celle-ci (et pourrait être réalisé avec Direct2D). Je connais au moins deux petites entreprises qui l'utilisent pour développer des jeux Win8 Metro.

    • Vous pourriez commencer à utiliser DeltaEngine qui, espérons-le, sera compatible avec Win8 Metro dans les mois à venir (nécessitera probablement une licence)

    • Vous pouvez essayer de développer avec Unity3D , bien qu'ils n'aient annoncé aucun support Windows 8 Metro (nécessite une licence). Mais ils ont récemment travaillé sur un moteur de rendu Direct3D11. Ils ne devraient donc pas avoir autant de difficulté à fournir le support Win8 (mais de nombreuses API Win32 n’étant pas autorisées par Win8 Metro, ce n’est probablement pas la seule chose dont ils ont besoin pour porter).

xoofx
la source
5

Avec la version WinRT, il est de plus en plus évident que Microsoft a pris un tournant décisif. Le battage publicitaire géré diminue, le battage publicitaire autochtone est plus fort que jamais. Apparemment, une personne influente dans l'entreprise (certains affirment que c'est l'équipe Windows principale) n'est pas du tout satisfaite des performances .NET. La tendance principale que je vois dans les derniers articles est quelque chose comme

WinRT est le prochain .NET et C ++ / CX est le prochain C #.

Ils disent:

C’est aussi simple d’écrire en C ++ qu’en C #! Pourquoi avez-vous besoin de XNA si vous pouvez écrire en C ++ et DirectX?

C'est le sentiment que j'ai toute la dernière fois. Étant donné que vous pouvez vous attendre à un ralentissement de tous les projets liés gérés, la seule différence est le montant du ralentissement.

Mon respect de Microsoft pour la quasi-absence de prise en charge de produits, ils ne sont tout simplement plus développés. Nous pouvons donc au moins utiliser XNA 4.0 pendant un certain temps, même s'il s'agit de la dernière version prise en charge.

Petr Abdulin
la source
2

Cela ne semble pas bon pour nous, développeurs indépendants de XNA, qui voulons transférer nos jeux XNA dans Metro. Microsoft n'a manifesté aucun intérêt et s'attend à ce que nous revenions à la programmation C ++ / DirectX ou adoptions des infrastructures C # tierces, dont la plupart ne prennent en charge aucun pipeline de contenu XNA.

Tout triste, je ne comprends vraiment pas parfois la SP.

Jules
la source
7
Bonjour Jules. Bienvenue sur GDSE! Nous ne sommes pas vraiment comme un forum ici, alors des réponses comme celle-ci qui sont un peu bavardes sont découragées. Si vous aviez des informations factuelles à ajouter ou des sources pour votre réponse, ce serait formidable!
MichaelHouse