Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

MonoGame sur Xbox One

Le retour de XNA sur la console de Microsoft ?

Le 2016-03-17 22:39:50, par LittleWhite, Responsable 2D/3D/Jeux
L'histoire est quelquefois étrange. Rappelez-vous : XNA est un framework développé par Microsoft offrant des outils pour la programmation de jeux vidéo en C#, pour PC et Xbox 360. Pour cela XNA repose sur DirectX et XACT (Cross-platform Audio Creation Tool). À l'aide de Visual Studio (Express ou mieux), vous pouviez développer des jeux sur PC et une fois prêts, les porter sur Xbox 360. Le développement et le portage étaient grandement simplifiés.
À l'aide de XNA, plusieurs développeurs ont réalisé de grands succès : Terraria, Fez, Escape Goat, Dust : An Elysian Tail... Même les membres de Developpez.com l'ont adopté pour nous offrir Chibis Bomba.


Toutefois, avec l'annonce de la nouvelle version de XNA, la version 4, Microsoft a commencé à montrer une perte d'intérêt pour son framework et les développeurs l'utilisant. Les choses se sont dégradées au fil du temps jusqu'à l'arrêt complet du support en avril 2014. Heureusement, une solution open source a pris le relais : MonoGame. Le projet est toujours en cours d'amélioration et supporte bien plus de plateformes que l'implémentation de Microsoft (Windows, OS X, Linux, iOS, Android, Ouya, PlayStation Mobile, et PlayStation 4). Lui aussi est à l'origine du succès de studios de jeux vidéo indépendants : Bastion, Fez, TowerFall...

Aujourd'hui, Microsoft joue la carte de la surprise. En effet, l'entreprise a annoncé travailler sur le portage de MonoGame pour la Xbox One.

Votre opinion

Quelles peuvent être les raisons d'un tel retournement de situation de la part de Microsoft ?
Pensez-vous que XNA/MonoGame soit toujours un framework intéressant à l'heure des moteurs de jeux vidéo gratuits ?

Voir aussi

XNA est-il mort ?
Guide de migration XNA vers MonoGame en français
Les tutoriels XNA/MonoGame de Developpez.com

Source

Billet officiel
  Discussion forum
15 commentaires
  • Kannagi
    Expert éminent sénior
    Envoyé par TheLastShot
    L'avantage d'XNA (ou tout autre framework de ce genre) c'est que tu as vraiment la main sur ce que tu fais, et donc tu peux faire à peu prêt tout ce que tu veux. Certes pour la plupart des "dev" d'aujourd'hui Unity et UDK (etc.) sont largement suffisant (surtout quand il s'agit de faire un flappy bird...), mais ça reste parfois un peu limité... Je me verrais mal vouloir refaire minecraft (ou autre jeux avec un contenu procédurale aussi important) avec unity.
    Peut être mais Unity est très utilisé dans le monde pro , j'ai passé beaucoup d'entretien ,et aucune m'a demandé si je connaissais Monogame ou XNA, mais la quasi-totalité m'a demandé si je savais utilisé Unity ( que ça soit pour du dev console ou mobile) et pourtant j'ai jamais postulé pour du C# Unity (C++ en général).
    Bref du coup pour moi Unity reste indispensable et il a quand même l'avantage de bien polir ton CV
  • Sodium
    Membre extrêmement actif
    J'avais suivi de loin XNA à l'époque. S'il était pertinent il y a quelques années alors que la scène du jeu indépendant en était à ses débuts, j'ai quelques doutes sur le fait qu'il puisse reconquérir un marché aujourd'hui.
    À moins que je me trompe, XNA reste un simple framework alors que ce sont aujourd'hui les moteurs de jeux complets tels que Unity ou Cry engine qui ont la quotte. Loin de se limiter à créer un bon environnement de développement, ceux-ci fournissent un nombre conséquent d'outils (scripts d'ia, moteurs physiques, éditeur de scène 3D...) simplifiant grandement la création d'un jeu et ouvrant celle-ci à un très large marché.
    XNA quant à lui regroupe des librairies et composants nécessaires à la création de jeux mais requière tout de même de solides connaissances en programmation pour en tirer quoi que ce soit.
  • Sodium
    Membre extrêmement actif
    L'avantage d'XNA (ou tout autre framework de ce genre) c'est que tu as vraiment la main sur ce que tu fais, et donc tu peux faire à peu prêt tout ce que tu veux. Certes pour la plupart des "dev" d'aujourd'hui Unity et UDK (etc.) sont largement suffisant (surtout quand il s'agit de faire un flappy bird...), mais ça reste parfois un peu limité... Je me verrais mal vouloir refaire minecraft (ou autre jeux avec un contenu procédurale aussi important) avec unity.
    Je n'ai parcouru Unity que rapidement pour voir donc il y a peut-être des limitations dont je n'ai pas confiance, mais le moteur n'oblige pas à utiliser ses composants pré-programmés, on peut très bien bypasser tout ça et faire son jeu à la main de A à Z.
    Ce qui va être limitant à mon avis, ce sont plutôt les limitations techniques du moteur qui n'est pas à la hauteur d'un Unreal Engine par exemple, mais ça restera à mon avis supérieur que ce à quoi arrivera un type seul qui développe tout dans son coin.
  • MoDDiB
    Membre expert
    L'énorme avantage de XNA à l'époque c'était le XBLIG, sans un store similaire sur XBox One cette annonce c'est plutôt un coup d'épée dans l'eau....
  • youtpout978
    Expert confirmé
    Oui effectivement ça va être très dur de venir concurrencer les plateformes que sont Unity/Unreal/Cry ...
    Pour des petits jeux ça peut être pas trop mal, (surtout que les grosses plateformes sont assez complexes à prendre en main vu toutes leur fonctionnalité) mais pour de gros jeux je ne sais pas si la productivité est meilleur vu comment ces plateformes mâchent le travail.
  • Bousk
    Rédacteur/Modérateur
    Envoyé par TheLastShot
    L'avantage d'XNA (ou tout autre framework de ce genre) c'est que tu as vraiment la main sur ce que tu fais, et donc tu peux faire à peu prêt tout ce que tu veux. Certes pour la plupart des "dev" d'aujourd'hui Unity et UDK (etc.) sont largement suffisant (surtout quand il s'agit de faire un flappy bird...), mais ça reste parfois un peu limité... Je me verrais mal vouloir refaire minecraft (ou autre jeux avec un contenu procédurale aussi important) avec unity.
    Comment peux-tu être plus limité sur Unreal, CryEngine ou Unity, dont tu peux avoir les sources, que sur XNA dont tu n'as rien qu'une doc dans une jolie boîte noire ? En quoi Minecraft serait plus difficile à faire en Unity qu'en XNA ?
    Le langage majoritaire de l'industrie reste le C++, C# a percé grâce à Unity, le reste se partage des miettes et ne sert qu'à du tool etc
    Monogame est open source, mais XNA ne l'était pas. Leur prochaine version le sera surement, mais c'est toujours du C#.
  • Dragonaute
    Futur Membre du Club
    J'adore Unity, mais le soucis c'est qu'on ne peut pas utiliser l'API en dehors du thread principal. Bon y'a toujours des solutions d'évitement avec les coroutines, mais ça peut être contraignant pour certains.
  • youtpout978
    Expert confirmé
    J'ai testé sommairement les 2 plateformes, ce qui est édifiant c'est la facilité de faire certaine choses sur Unity qu'il faut gérer à la mano sur XNA/Monogame, la gestion de la gravité et des collisions directement sur le gameobject par un simple glisser déposer, le pré-découpage et la création d'animation depuis un sprite ...

    Après je n'ai pas encore une grosse expérience d'Unity, il faut que je m'y remette l'outil évolue assez vite et quelquefois il est très dur de trouver des tutos sur les nouvelles fonctionnalités (j'avais galérer pour créer un pauvre menu comme il venait de sortir un nouveau composant pour gérer ça). Pour XNA/Monogame je m'y était mis en suivant un tuto sur ce site mais je crois que pour Monogame faut prendre des licences pour les plateformes Android/Ios (même si sur Unity il y a aussi un système de licence) et la compatibilité ne vaut pas celle d'Unity.
  • LapinGarou
    Membre confirmé
    On a la main sur ce que l'on fait avec XNA / monogame et puis il y n'y a pas les même royalties à reverser (si il y en a ?)
    Pour moi Monogame, c'est plus pour faire soi même un algo de test sans avoir à se cogner tout le code d'initialisation comme sur DX/GL/C++...
    Pour un faire un jeu, je dirai que suivant l'ampleur que l'on veut lui donner, il vaut mieux utiliser Unity ou UE4. (Unity qui gère aussi bien que UE4 le PBR au passage... et ne demande pas 20Go d'installation)
    Si on vise un AAA avec monogame, il y a trop de boulot, et la concurrence est déjà là. Le temps de pondre la version finale est trop long à mon avis. Avec Unity/UE4, on se concentre beaucoup plus sur le jeux lui même qu'un problème de rendu de shader...
    Mais pour finir, j'utilise monogame parce que ça permet d'apprendre / "coder du plus bas niveau que l'on fait soi même".
  • t-die
    Membre habitué
    A l'époque, j'avais commencé à m'intéresser à DrriectX managed 1.1, puis la version 2.0, qui n'a jamais abouti car remplacé par XNA mais je ne sais pas si ça a tenu longtemps...