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

YnQuadTree : Le partionnement de l’espace dans Yna

300px-Point_quadtree

La gestion des collisions est un sujet intéressent car c’est une partie logique du code qui peut vite mal finir et ruiner les performances d’un jeu. Si vous développez un jeu avec peu d’élément mobiles à l’écran ça ne posera pas de problème mais dés que vous aurez beaucoup de choses mobiles à afficher il faudra penser à mettre en place des optimisations afin d’économiser les ressources pour les redistribuer ailleurs. Voilà par exemple un test de collision basique, qui fonctionne bien mais qui n’est pas optimisé foreach (Sprite monstre in monstreCollection) { if (joueur.Rectangle.Intersects(monstre)) joueur.Position = joueur.LastPosition; } Ici on fait un test sur toute une collection et si un élément de la collection entre en collision avec le joueur alors ce dernier récupère sa dernière position (la position avant la collision) et on simule une collision avec son arrêt. Comme je l’ai indiqué ça fonctionne bien mais imaginez … Lire cet article

Share

Yna Game Framework 0.4 est sortie !

reflection_min

Je profite de cette nouvelle année pour vous parler d’un projet sur lequel je travail depuis un moment déjà et qui commence de devenir intéressent à présenter : Yna Game Framework ! C’est une bibliothèque fonctionnant avec XNA ou MonoGame (au choix) faite pour créer des jeux en 2D et en 3D facilement. Vous pouvez trouver une petite présentation sous forme de question/réponse pour en apprendre plus. Aujourd’hui marque donc la sortie de la version 0.4 soit une semaine après la sortie de la version 0.3 ! Pourquoi une nouvelle sortie si rapidement ? Et bien c’est pour marquer la nouvelle année les amis , mais c’est aussi parce que cette version apporte un tas de changements par rapport à la précédente. Le module 2D n’a presque pas bougé donc je ne reviendrais pas dessus, par contre la partie 3D a vraiment évolué ! Le nouveau système de Material Nous avons … Lire cet article

Share

Sortie de SharpDX 2.4 et annonce de Paradox Game Engine

sharpdx-invasion

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 … 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

Le Framework XNA et ses dérivés

xna_logo_1

Beaucoup d’entre vous m’ont contacté pour me demander ce qu’il fallait utiliser pour faire une jeux avec XNA. En effet il y a beaucoup de possibilités, XNA, MonoGame, ANX… En fait aujourd’hui on ne parle plus de XNA en tant que Framework mais en tant que technologie. Comme vous le savez peut être, à la base XNA est un Framework développé par Microsoft qui a pour but de facilité la vie du développeur sur PC, XBox 360 et Windows Phone 7 en fournissant une couche d’abstraction au dessus de DirectX 9.0. Historiquement le support de Windows Phone a été ajouté depuis la version 4.0 qui fonctionne uniquement avec Visual Studio 2010 (à partir de Express), les versions 3.1 et 3.0 fonctionnent quant-à elles uniquement avec Visual Studio 2008 et ciblent les PC et Xbox 360. Nous allons maintenant voir rapidement ce qu’est la technologie XNA, puis je vous expliquerais ce … 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