Si il y a bien un domaine qui est très actif dans le domaine du développement de jeux vidéo que ce soit en amateur ou en pro, c’est celui des outils de développement (des Frameworks aux autres outils graphiques). Il est parfois difficile de faire le tri dans toutes ces sorties vue le nombre de plateformes et de technos différentes. Aujourd’hui je vais vous présenter deux projets à suivre de très près : SharpDX et Paradox Engine.
Sortie de SharpDX 2.4
SharpDX est une bibliothèque open source de liaison entre l’API DirectX 11 et la plateformes .Net, elle permet d’utiliser les fonctionnalités natives de DirectX dans une application C# ou VB.Net. La grosse nouveauté de la version 2.4 est de proposer le support de Windows Phone 8 qui vient tout juste de sortir. Aujourd’hui, avec SharpDX vous pouvez commencer un projet pour Windows 7, le porter sur Windows 8 Modern UI (anciennement Metro) et finir sur Windows Phone 8 !
Vous trouverez les différents packages d’installation sur le site officiel avec au choix un SDK complet (doc + exemples + binaires) ou simplement un archive avec les binaires pour toutes les plateformes supportées (vous trouverez des fichiers dll signés et standards).
Le futur de XNA sur les plateformes Microsoft
Une autre grosse nouveauté dans cette sortie est la présence d’un « Tool Kit » qui se rapproche énormément de XNA. Pour le moment cette nouvelle API n’est pas encore terminée et il y a juste la base (une base très complète croyez moi), mais c’est déjà très prometteur car la différence avec du code XNA est très mince. Concrètement on a les espaces de nom qui changent ainsi que quelques autres subtilités très peu dérangeantes et facilement modifiables. Ce qui est fort intéressent, c’est que le rendu, la gestion des périphériques d’entrée (gamepad, clavier, etc..) passe par l’API de DirectX 11 qui est plus récente et propose plus de fonctionnalité que DirectX 9 utilisé à l’origine dans XNA.
Voici une petite liste non exhaustive de ce que l’on peut utiliser avec SharpDX.ToolKit
- Une classe Game qui fonctionne comme dans XNA (c’est le point de départ) ;
- SpriteBatch (qui supportent les transformations et les effets) ;
- SpriteFont (qui utilise 2 formats au choix pour les fonts) ;
- Un système d’effet avec le très connus BasicEffect ! il n’est donc pas obligatoire d’écrire son propre shader pour avoir un effet cool sur une scène ;
- Gestionnaire contenu depuis le disque, un fichier zip ou même depuis un flux ! ;
- Et bien d’autres choses.
J’ai voulu prendre en main ce toolkit pour le comparer à XNA et je vous propose le code source suivant.
Vous pouvez constater que c’est très proche de ce que l’on fait avec XNA et il n’y a que la méthode Clear qui change (elle prend 2 paramètres), ainsi que les ressources du gestionnaire de contenu où il faut spécifier l’extension du fichier.
N’hésitez pas à consulter le dossier des exemples pour voir comment mettre en place un projet SharpDX mais vous verrez que c’est très simple, il y a quelques assembly à référencer, rien de bien compliqué 😉
Paradox Engine : Un moteur multiplateforme NextGen
Suite à la sortie de SharpDX, le moteur de jeu Paradox Engine a été annoncé comme étant le futur moteur de jeu NextGen pour réaliser des jeux mutiplateformes (PC, Mobile et console). Il utilise actuellement SharpDX comme support pour les plateformes Microsoft, et OpenGL pour les autres systèmes. J’ai contacté un des membre de l’équipe via twitter pour lui demander si Linux serait supporté (car il y a Android dans la liste alors pourquoi pas Linux ?) et il m’a indiqué que c’était techniquement possible. Je vous laisse consulter la liste des fonctionnalités que je ne peux pas recopier ici car elle est tout simplement gigantesque !
Ce que l’on retiendra rapidement de cette annonce c’est que le moteur est multiplateformes, qu’il sera livré avec un éditeur (comme l’est Unity3D) et qu’il sera performant. En attendant la sortie de ce moteur je vous invite à visiter le site officiel et à suivre le compte twitter de l’équipe. Merci à Alexandre Mutel d’avoir rectifié certain de mes propos sur cette news 😉