mercredi 13 octobre 2010

XNA : le couteau suisse du développeur amateur !

Ça faisait bien 10 jours que je n'avais pas donné signe de vie, mais c'est normal : entre temps j'ai découvert le magnifique XNA !


Qu'est-ce que XNA? Comme dirait mon cher ami Wikipédia :
Microsoft XNA, officiellement XNA's Not Acronymed, parfois présenté dans les médias Xbox Next-Generation Architecture, désigne une série d'outils fournis gratuitement par Microsoft qui facilite les développements de jeux pour les plates-formes Windows, Zune, Windows Phone 7, et Xbox 360 en réunissant un maximum d'outils en provenance de Microsoft et de ses partenaires (DirectX, Visual Studio, PIX, XACT).

Il contient principalement un framework, des outils d'intégrations de contenu, et la documentation nécessaire. L'IDE utilisé, à télécharger séparément, est Visual Studio.

Avec XNA, Microsoft est le premier constructeur à ouvrir la porte au développement indépendant sur sa console Xbox 360. Les jeux produits sont distribués via le Xbox Live.
En bref, quand on est seul à programmer (comme moi) ou peu nombreux, c'est la possibilité la plus concrète et la plus économique de se lancer dans la programmation sur console.

Comme le dit Wikipédia, XNA c'est un ensemble d'outils et je vais donc vous présenter ici ceux qui me paraissent les plus importants (de mon point de vue de développeur).



Tout d'abord, la programmation se fait en C# et permet donc de faire des jeux portables sous les plateformes Microsoft (Windows, Zune, XBoX 360 et Windows Phone 7 pour XNA 4.0). Bien évidemment, des adaptations sont à faire selon le support, mais on peut dire qu'elles restent mineures puisque le langage ne change pas et que les bibliothèques sont les mêmes.

D'ailleurs, ces bibliothèques sont extrêmement pratiques : tout est pris en charge et il n'y a plus qu'à coder l'important. Il existe des structures permettant de stocker des positions pour environnements 2D ou 3D, l'utilisation des périphériques se fait en quelques lignes, que ce soit de l'audio, de la vidéo ou même la prise en compte des manettes. Les manettes, quelles soient connectées ou non, sont toujours initialisées et permettent donc de savoir si oui ou non elles sont connectées, un véritable plus pour savoir directement s'il faut stopper le jeu ou interdire de choisir deux joueurs s'il n'y a qu'une manette par exemple.

Pour ceux qui hésitent encore et qui ne connaissent pas le C#, il faut savoir que c'est sensiblement semblable au Java, mais en mieux. D'ailleurs, je vous invite à lire la doc en ligne sur le site de Microsoft, elle est véritablement bien faite, complète et embarque de nombreux exemples, que ce soit pour C# ou XNA.



Un autre outil assez intéressant : XNA Game Studio Device Center qui permet d'ajouter des périphériques à Visual Studio afin de tester vos jeux directement dessus. Une fois un périphérique sélectionné comme principal, il n'y a qu'à lancer l'exécution (en lançant le programme XNA fournit sur la XBoX 360 par exemple) pour que le jeu soit exécuté sur la console. Petit plus, en faisant un clic droit sur le périphérique (comme indiqué sur l'image ci-dessous), on peut faire une capture d'écran.

Enfin voilà, avec XNA, vous avez tout pour pouvoir réaliser facilement, gratuitement et rapidement des jeux amateurs et pourquoi pas les vendre un jour? ;)

Temps additionnel : 
J'ai d'ailleurs fait pendant ces 10 jours une petit démo technique sur ma 360 pour voir un peu comment fonctionne XNA. Je vous laisse avec quelques screens et leurs légendes.






Aucun commentaire:

Enregistrer un commentaire