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

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

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

AltDevConf : Mono une solution fiable pour créer des jeux vidéo

altdevblogaday

C’est durant le week-end du 11 et 12 février qu’a eu lieu la #AltDevConf 2012 une conférence en ligne regroupant des professionnels, des bloggeurs, des passionnés autour d’un même sujet : La création de jeux vidéo. Cette année un des sujet fort a été l’utilisation du langage C# et du runtime Mono pour créer des jeux vidéo muti-plateformes, à gros budget (AAA) ou de plus petite taille (mobile, indépendants, etc…). Cette session a été animée par Matthieu Laban et Philippe Rollin qui sont les deux fondateurs du studio Flying Development Studio ainsi que par Miguel de Icaza auteur du projet Mono (entre autre). Matthieu et Philippe sont les auteurs de Infinite Flight, un simulateur de vol (avion) sur Windows Phone 7 et prochainement sur iPhone grâce à MonoGame !     Durant la conférence 5 grands points ont été abordés : Mono dans les jeux actuels ; Utilisation de Mono dans … 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