Utiliser le gestionnaire de contenu de SharpDX

sharpdx-invasion

Il y a peu de temps je vous parlais de SharpDX mais surtout de son toolkit dont l’API ressemble beaucoup à celle de XNA. Le gestionnaire de contenu du toolkit permet de charger des ressources de base (il faut spécifier l’extension de la ressource) ou optimisées dans un autre format (là le chargement se fait sans l’extension) via une étape de construction pendant la compilation du projet, comme c’est le cas avec un projet XNA qui va générer des fichiers xnb. Nous allons voir comment utiliser le gestionnaire de contenu dans un projet SharpDX, cela nous permettra d’utiliser des textures, des modèles 3D, des fonts et des effets ! Récupérer la dernière version La première chose à faire va être de récupérer la dernière version de SharpDX, soit par Github (que vous devrez compiler) soit sur le site officiel en récupérant la version dev (il faut regarder sur la colonne … Lire cet article

Share

Programmer en Visual Basic.Net avec MonoGame

MonoGameVbnet

Suite à mon précédent article sur l’utilisation de MonoGame avec C++/CLI je vous propose le même genre mais cette fois le langage Visual Basic.Net. Il faut savoir que ce langage a de l’histoire chez Microsoft et c’est pour ça qu’on le trouve toujours parmi les langages disponibles dans Visual Studio. Historiquement on notera 2 grandes versions de Visual Basic, la version classique jusqu’à la version 6 et la version .Net qui fonctionne sur machine virtuelle et qui permet de travailler avec les composants de cette dernière. Pourquoi utiliser Visual Basic ? Et bien il y a des gens qui aiment encore ce langage et puis il y a les nostalgiques comme moi qui aiment bien programmer avec des « vieux » trucs remis au gout du jour, alors même si Locomotive Basic et Turbo Basic sont bien loin, aujourd’hui nous jouerons avec MonoGame en Visual Basic.Net. Mise en place du projet Contrairement … Lire cet article

Share

Programmer en C++/Cli avec MonoGame

MonoGameCpp

MonoGame est un Framework écrit en C# pour la plateforme .Net et Mono et permet de créer des jeux vidéo ou des applications multimédia sur plusieurs plateformes. L’avantage avec la machine virtuelle .Net est qu’elle permet d’utiliser plusieurs langages de programmation, ainsi vous pouvez avoir un projet en C# qui appel un projet en Visual Basic .Net qui lui même est appelé par un projet en C++/CLI voir en F#. A l’origine XNA et MonoGame ont été créés pour le langage C# (XNA en Visual Basic a été officiellement supporté à partir de Windows Phone 7.5) car c’est un langage cool et qu’il permet de garder le meilleur des 2 mondes entre C++ et des langages comme Java (oui il y a des choses très bien en Java aussi), cependant ce n’est pas strictement obligatoire, vous pouvez utiliser une dll .Net avec d’autres langages supportés par la CLR (Common Language … Lire cet article

Share

Sauvegarder des données sous Windows avec XNA

Choix du périphérique de stockage sur Xbox 360

La sauvegarde des données est aujourd’hui quelque chose d’assez banale et ce, même sur les petites productions. C’est effectivement pratique pour le joueur de pouvoir régler une fois les paramètres et option du jeu et d’avoir sa progression de sauvegardée. Comme toujours le Framework XNA met à notre disposition une fonctionnalité intéressante pour sauvegarder et charger des données assez facilement. Le stockage est un sujet assez vaste car il est très dépendant du système sur lequel vous développez, ici nous ne traiterons que du cas sur PC sous Windows avec XNA, nous aurons l’occasion de revenir sur les autres cas dans des articles dédiés. Mise en situation L’objectif de ce tutoriel va être de sauvegarder des paramètres système dans l’espace de stockage de l’utilisateur et de les charger au lancement du jeu. Lorsque le jeu démarre on va vérifier qu’ils existent et si ce n’est pas le cas on utilisera des valeurs … Lire cet article

Share

Les fichiers XML avec XNA

logo-xna-xml

Lorsque l’on développe un jeu, il y a un moment où l’utilisation d’une base de données, même minimaliste devient indispensable pour y stocker par exemple, certaines informations comme les caractéristiques d’une entité, les dialogues, etc.. Effectivement on ne peut pas tout écrire en dur dans le code car c’est sale et c’est surtout difficilement éditable, surtout pour des non programmeurs. Le Framework XNA met à notre disposition une solution très simple à mettre en oeuvre pour utiliser les fichiers XML avec le gestionnaire de contenu. On pourra ainsi créer le fichier, le modifier à la main et le charger dans le jeu depuis le gestionnaire de contenu (ce fichier sera transformé lui aussi en xnb). Dans un premier temps je vais vous présenter rapidement ce que l’on peut faire avec ce système puis nous verrons en deuxième partie comment mettre oeuvre cette technique. Mise en situation J’avais une classe EnnemyManager qui était … Lire cet article

Share

Intégration de MonoGame avec du XAML sous Windows 8 Metro

entete-xaml-monogame

Nous avons vue dans un précédent tutoriel comment mettre en place un projet MonoGame pour Windows 8 Metro, aujourd’hui je vais vous expliquer comment utiliser du XAML avec MonoGame. Avant de commencer je tiens à vous dire que mélanger MonoGame et XAML n’offre pas de bonnes performances sur les appareils de faible puissance, comme les tablettes ou certains netbook. L’objectif de cet article va être de créer deux pages, un menu qui sera tout en XAML et une page de jeu où on utilisera MonoGame. J’ai pu écrire cet article grâce à un poste sur le forum de MonoGame ainsi qu’à un article du blog Game Development Resources que j’ai adapté et corrigé. 1 – Prérequis Pour suivre ce tutoriel vous devez avoir une version de Windows 8 RC ou finale ainsi que Visual Studio Express 2012 final (ou une version supérieur). Vous devrez aussi compiler la dernière version de … Lire cet article

Share

Créer un projet MonoGame pour Windows 8 ModernUI

title

Le prochain système d’exploitation de Microsoft, Windows 8, apporte une nouvelle approche d’utilisation proche des appareils mobiles, la fameuse interface Metro. Toutes les applications Metro (les Metro Style Apps) sont des applications autonomes qui ont leurs propre espace de stockage comme c’est le cas déjà le cas pour les applications mobiles sur Windows Phone 7 et sur Xbox 360 mais aussi sur AIR par exemple. La nouvelle API WinRT apporte des changements important sur la conception des applications au sein de Metro. Comme XNA n’a pas été mis à jour pour Windows 8 et Windows Phone 8, l’équipe du Framework MonoGame a commencé un portage qui commence d’arriver à maturation. Les changements au niveau de MonoGame sont nombreux, on notera par exemple la suppression de la dépendance à OpenTK qui permettait de gérer l’affichage via OpenGL et le son via OpenAL pour une utilisation de SharpDX (la meilleur bibliothèque DirectX … Lire cet article

Share

Flixel : Afficher et animer un Sprite

flixel[1]

Dans le dernier tutoriel Flash je vous ai présenté Flixel, une bibliothèque très puissante qui permet de créer rapidement des jeux type arcade (mais pas que ). Aujourd’hui nous allons poursuivre notre découverte et voir comment afficher, animer et déplacer un personnage en utilisant la classe FlxSprite. Je vous invite à récupérer la feuille de sprite ci-dessous qui sera utilisée tout au long de ce tutoriel. Les Sprite sheet Une « Sprite Sheet » ou feuille de Sprite en Français, est une image qui contient en général un personnage avec toutes ses animations. Vous pouvez voir sur l’image du dessus qu’il y a 4 animations : bas, gauche, droite, haut. Lorsque vous utiliserez une feuille de Sprite il faudra récupérer les informations suivantes avant d’aller plus loin : Largeur et hauteur d’un Sprite Largeur et hauteur de la feuille de Sprite Nombre d’image par animation L’image que nous utilisons ici fait 200 … Lire cet article

Share

Premiers pas en HTML5 avec JawsJs

html5-badge-h-solo

HTML5 est actuellement une nouvelle norme qui s’impose comme le futur des applications et des jeux web. Nous allons nous intéresser dans cette série d’articles à JawsJs, un petit Framework JavaScript qui va exploiter la balise canvas introduite par HTML5. Pour cette première prise de contact ,nous allons créer un petit shooter vertical très classique. Je vous invite d’ailleurs à récupérer les images que nous allons utiliser ici. Enfin il est nécessaire d’avoir déjà des connaissances en programmation et de préférénce en développement web cela va de soi. Si vous avez besoin de consolider vos bases dans ces domaines voici de très bons liens : Le site du zéro avec ses tutoriels sur HTML5/CSS et JavaScript (débutant) Le blog BrainCracking (avancé) Vous êtes prêt ? Alors c’est partie ! Installation et création du projet Dans un premier temps il faut récupérer JawsJs depuis le site officiel ou sur Github, je vous … Lire cet article

Share

XNA : Gestion des ennemies et des collisions

On peut maintenant tirer sur des robots !

Lors des précédents tutoriels nous avons mis en place l’environnement de développement (XNA ou MonoGame) et nous avons commencé de découvrir XNA et MonoGame avec la création du mini jeu de shoot. Pour le moment on ne peux pas vraiment parler de jeu car on ne peu que déplacer un sprite sur l’écran, aujourd’hui nous allons ajouter des ennemies et permettre au joueur de détruire ces ennemies. Lorsqu’un ennemie sera touché par le laser, ce dernier sera effacé de l’écran (il sera mort) et enfin si le vaisseau se fait touché par un ennemie alors on arrêtera la partie et on recommencera. Je ne vais pas comme à chaque fois donner tout le code car celui-ci commence d’être gros pour un simple billet de blog, mais je vais détailler certaines parties essentielles, vous pourrez toujours télécharger le projet entier à la fin de l’article Bon vous êtes prêt à continuer votre initiation à XNA ? Alors c’est partie ! … Lire cet article

Share