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.
Réponses:
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:
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.
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.
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:
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.
la source
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.
la source
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:
la source
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).
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).
la source
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
Ils disent:
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.
la source
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.
la source