Ca y est, je me suis lancé dans XNA ! Après avoir hésité entre SdlDotNet et XNA, et choisi le premier pour Blind Shark, j'ai décidé de poursuivre mes développements avec le framework de Microsoft.
Deux raisons à cela. Tout d'abord, après l'achat d'une carte graphique plus puissante, gérant les shaders, XNA m'était enfin accessible. Ensuite, la déception procurée par la ludothèque actuelle de la Wii, et mon intérêt grandissant pour celle de la XBox 360, m'ont fait acheter cette dernière dans sa version Elite. Alors autant en profiter et développer dessus ! XNA est en partie fait pour ça !
J'ai donc commencé par me renseigner sur les ouvrages traitant de XNA. Après lecture de divers avis et critiques, j'ai choisi Professional XNA Game Programming : For Xbox 360 and Windows. Ce livre a été écrit par le programmeur derrière XNA Racer. Ca augure du bon, surtout que sa méthode est progressive, commençant du basique Pong jusqu'à ce XNA Racer, donc, en passant par un Breakout (Arkanoid), un Tetris, ...
J'ai donc réinstallé mon environnement de développement, et j'ai découvert Visual C# Express (et oui, je suis désormais obligé de quitter mon bon vieux SharpDevelop). J'ai pour l'instant lu et pratiqué les 3 premiers chapitres du livre. Je n'ai pas énormément codé, étant donné que j'ai été un peu perdu par sa méthode initiale ("Tout dans un seul fichier"). La partie traitant des Tests Unitaires m'a fortement intéressé, tout comme celle sur la Programmation Agile. Ce n'est pas vraiment ce que je m'attendais à y trouver, mais c'est avec plaisir que je vais tenter de m'initier à cette méthode.
Les exemples tournent parfaitement pour l'instant, même avec mes (tous petits) ajouts, comme la vibration des manettes. J'ai juste détecté quelques soucis de collision, mais vu la méthode employée, ça ne m'étonne guère. On est là pour faire simple. J'ai donc pour l'instant un pong-like et un arkanoid-like fonctionnels. Avant de m'attaquer au tétris-like présenté dans le chapitre 4, je vais m'atteler à un Snake-like, en utilisant les méthodes présentées dans le livre. J'espère pouvoir vous présenter le résultat pour la fin de la semaine ...
Concernant la XBox 360, je n'ai pas encore essayé de déployer les jeux dessus, car je n'ai pas encore récupéré l'abonnement au XNA Game Creator's Club. Dès que ce sera fait, je ferai un petit topo là -dessus.
Concernant Blind Shark, je ne le traduirai pas en XNA. Premièrement, Blind Shark tourne bien avec SdlDotNet, et ce serait sans doute beaucoup de boulot que de le passer en XNA. Ensuite, il serait idiot, voire même impossible, d'essayer de le transférer sur XBox 360 : pas de clavier de base, la gestion des fichiers externes est très différente (Content Pipeline quand tu nous tiens), ca marche impecc sur PC. Par contre, le développement de Blind Shark ne s'arrête pas parce que je m'attaque au XNA. J'ai déjà prévu de nouvelles fonctionnalités, mais la date de sortie de la prochaine version reste pour l'instant aux Calendes Grècques !