Tutoriels et actualités sur la programmation de jeux vidéos avec XNA

mardi, le 7 septembre 2010

Conférences gratuites sur le développement de JV

Cela va faire dix ans qu'à Namur, en Belgique, on forme des p'tit jeunes qui n'en veulent aux métiers de l'infographie. Ca se passe à la Haute École Albert Jacquard, et pour fêter cet anniversaire le groupe de spécialisation en jeux vidéo organise une journée de conférences gratuites le jeudi 30 septembre avec de grands noms du jeu vidéo. Alors il faut que vous viendez tous parce que ça va être chouette, voici le programme :

Lire la suite ...

dimanche, le 11 juillet 2010

Retransmission de l'ImagineCup 2010

La finale de l'ImagineCup 2010 s'est déroulée en Pologne le 8 Juillet dernier. Et si, comme moi, vous n'étiez pas devant votre écran d'ordinateur lors de la retransmission live de l'évènement, vous pourrez vous rattraper en regardant la vidéo suivante.

Attention: le plug-in Silverlight est nécessaire pour visualiser la vidéo.

mardi, le 23 mars 2010

Logo PrismEngineFlash news info: je viens de recevoir des nouvelles fraîches de Stumpy et de sa fine équipe qui bosse sur le moteur PrismEngine. En effet, le groupe vient d'adapter son moteur pour XNA 4.0 et donc pour les téléphones tournant sous Windows Phone 7!

Depuis l’annonce de la version 4.0 du Framework XNA, l’équipe de PrismEngine avait une folle envie de regarder cela de plus près et rapidement faire évoluer notre moteur dessus pour pouvoir tirer parti de la nouvelle plateforme mobile de Microsoft.

Après une semaine chargée en évènements, comme par exemple le boot camp de Microsoft pour Imagine Cup, où j’étais en qualité de mentor pour un groupe d’étudiants de troisième année d’Epitech, j'ai eu l'occasion de faire quelques tests sur les nouvelles capacités du Framework (voir les derniers articles sur le tactile par exemple).

Le groupe, disons plutôt notre lead technique Benjamin Baldacci s’était réservé une nuit avec comme objectif de mener à bien cette évolution.

Le reste du billet concernant les modifications du moteur peut être lu sur le blog à Stumpy.

mardi, le 16 mars 2010

L'émulateur Windows Phone 7, tel que présenté grâce à Visual Studio 2010C'est Valentin Billotte, qui ouvre le feu le premier en France avec son tutoriel sur l'installation de l'environnement de développement Visual Studio 2010 et XNA 4.0 pour la création de jeu vidéos sur Windows Phone 7.

On remarque que XNA Game Studio 4.0 dispose d'un émulateur (à moins que ce dernier soit déjà fourni avec VS 2010? Valentin, si tu pouvais nous apporter des précisions là dessus...) pour le Windows Phone, et vous n'avez donc pas besoin d'avoir un téléphone pour faire vos premiers développements (surtout que... ce téléphone n'est pas encore disponible pour le grand public...)

jeudi, le 11 mars 2010

Notre confrère spécialisé dans le domaine de XNA pour appareils mobiles XNA France vient de dégotter quelques screenshots de jeux tournant sur un Windows Phone 7, et Michael Klucher ne nous avait pas menti: les Windows Phone sont des brutes, au vu de la qualité graphique des rendus. Petit bonus, un des screenshots montre même le système des achievements (accomplissements) en action.

Harvest un premier jeu Windows Phone 7 illustre le système des achievements Le jeu Windows Phone 7 Harvest Harvest, un jeu Windows Phone BattlePunks un autre jeu prévu sur Windows Phone 7

mardi, le 9 mars 2010

Une fois n'est pas coutume, je laisse la plume à Foligraf, qui m'a demandé bien humblement si je pouvais lui laisser un peu de place pour faire passer un message au sujet de son jeu de plateforme, nommé Houngan. Après tout c'est aussi le but de ce site, donner un petit coup de pouce à la communauté XNA française naissante.

Synopsis

Rien ne va plus au pays de notre Houngan. Notre héros, jeune shaman, se voit investi malgré lui d'une lourde charge.

Tous les villageois ont été transformés en poulets par le Baron Samedi. Houngan va devoir suivre les conseils de Papa Legba pour réunir les cinq masques qui lui permettront d'aller affronter le Baron et de rendre leur apparence à ses amis.

Lire la suite ...

jeudi, le 4 mars 2010

Tutoriel de dessin de lignes avec XNA

Dans la série "je suis pas en avance", je demande un nouveau tutoriel de David Amador. Cette fois ci, le développeur XNA freelance nous explique comment tracer des lignes basiques dans un jeu XNA grâce à sa classe statique LineBatch.

Comme à son habitude, David nous fourni le code source complet de sa classe dans un exemple fonctionnel de tracé de lignes, qui se trouve en fait être une toute petite application de dessin, comme le montre cette vidéo:

Pour dessiner ses lignes, David utilise en fait un objet Texture2D dans lequel il stocke ses lignes. Je n'aurai personnellement pas utilisé cette technique, et je pense que j'aurai largement préférer des VertexBuffer dynamiques contenant la définition des points, ainsi que leur couleur (j'avais déjà utilisée cette technique pour représenter des repères dans un monde 3D, et cela marchait plutôt bien, j'essaierai d'en faire un tutoriel complet un jour...).

Je sais que je suis un peu en retard, mais pour ceux qui n'auraient pas vu le tutoriel de gestion des écrans de jeu par David Amador, il se trouve à cette adresse.

David utilise une technique assez spécifique qui lui permet d'éliminer les tests conditionnels en gérant les écrans via un ScreenManager. Le principe est le suivant: le ScreenManager contient toutes les instances d'écrans du jeu, et il peut basculer l'écran principal via une méthode spécifique, qui effectue un Shutdown() sur l'écran courant et Initialize() l'écran suivant.

Le code source d'utilisation de sa classe ScreenManager, qui sert aussi d'exemple à son tutoriel, est disponible en libre téléchargement sur son site.

Il est à noter que cette technique peut être parfaitement utilisée pour gérer des états plus génériques que des écrans du jeu ( splash screen, qui donne ensuite accès au main menu, puis à un niveau etc... ) qui sera intégrée dans notre première série de tutoriaux consacré au développement d'un jeu 2D.

lundi, le 1 mars 2010

Le site Progware.com a publié quelques tutos sur XNA, dont notamment:

Visiblement ces articles forment une série sur la création d'un moteur avec XNA, et l'auteur devrait publier prochainement d'autres articles concernant la programmation de jeux vidéos avec XNA. Si d'aventure Progware.com venait à publier de nouveaux tutoriaux, comptez sur nous pour vous prévenir.

Mise à jour: Ajout de trois nouveaux tutos concernant la détection de collision de sprites.

mercredi, le 24 février 2010

Il est rare, quand les développeurs de jeux vidéos finissent un projet que le commun des mortels aient accès au post-mortem. Alors quand un développeur décide de revenir sur la programmation d'un de ses jeux, c'est toujours une initiative que l'on salue. Cette fois ci, c'est MStar Games qui partage son expérience de création vidéoludique via le post-mortem de son jeu "The Great Space Pirates":

Wowsers. What a month. After about 6 months of continuous development, testing and tweaking and one aborted launch, Space Pirates has finally made it out in to the real world. It's considered "best practice" in a lot of Indie circles to examine exactly what happened, what went well, and what went badly. I'd like to think I've conducted myself pretty well throughout the experience, but every aspect of our work is up for questioning in this post mortem process.

So we'll go back to the very beginning, consider the viability of the overall idea of Space Pirates, our ability to implement it and get it to market in a playable and reliable form, the impact of the various things we have to do on the XNA Creator's Club, our pre- and post- release media management, how we related to our customers and the impact on the MStar Games "brand".

Lire la suite ...

mercredi, le 10 février 2010

Magicka est un jeu qui a un petit goût de Diablo, ou même, plus récemment, de Torchlight; dans une vue isométrique, le principe est de défourailler à tout va des monstres dans un univers très coloré. Arrowhead Game Studios, le développeur, n'a d'ailleurs pas hésité à miser sur l'humour pour le premier trailer de leur jeu:

On notera que le jeu est jouable en multijoueur jusqu'à 4 personnes en coopératif, et qu'il dispose d'un système très innovant de création de sortilèges à base de mélange d'éléments.

Victor Porof, à qui l'on doit déjà quelques autres tutoriaux notamment sur la gestion de terrains, vient de publier un nouveau billet sur son blog. Il s'attaque cette fois ci à un effet de post-processing, le motion blur (flou de mouvement). Le motion blur est souvent utilisé pour rajouter une impression de fluidité dans les mouvements. et est notamment utilisé dans certains jeux de voitures (le premier à ma connaissance l'ayant utilisé intensivement est Need For Speed Underground).

Exemple de motion blur avec Need For Speed Underground

Victor explore les différentes manières d'effectuer le flou de mouvement, et se base au final sur la différenciation de la position de la caméra entre deux frames (chose qui peut être réalisée par la classe BufferedState) pour connaitre le vecteur de mouvement à appliquer à un point donné de l'écran.

Trailer de Nomis, le jeu de RobotFootGames

RobotFootGames vient de publier un trailer pour son jeu Nomis, un jeu de plate-formes ou le joueur incarne un pirate dont le but est d'empêcher la création d'une super-arme.

Le jeu est prévu pour sortir au printemps 2010 et permet notamment d'être joué à deux en mode coopératif.

mardi, le 9 février 2010

Tutoriel: grille géodésique générée procéduralement

JeBuS vient de publier un tutoriel en 3 parties sur la génération d'une grille géodésique générée d'une manière procédurale. A l'origine, l'auteur souhaitait créer un jeu de type "Civilizations" mais dont le plateau, divisé en tuiles hexagonales serait une sphère (après tout, une planète est bien sphérique, et l'utilisation de cartes en deux dimensions pour ce genre de jeu était du souvent à des limitations techniques, levées aujourd'hui par la puissance des machines modernes). Le genre de plateau que l'on souhaite obtenir est donc un plateau similaire au dessin ci-dessous:

Planète à tuiles hexagonales

Si la technique pour générer ce genre de plateau vous intéresse, vous pouvez consulter les tutoriaux de JeBuS aux urls suivantes:

mercredi, le 3 février 2010

Punk Labs, les créateurs de l'application RocketDock, ont publié une nouvelle vidéo de démonstration d'utilisation du geometry instancing avec XNA sur leur nouveau projet. Le geometry instancing est une technique qui permet d'effectuer plusieurs fois le rendu d'un même objet en limitant le nombre d'appels à la méthode de dessin 3D du framework XNA, ce qui permet donc d'accélérer le rendu. Dans le cas de Dead Shift, le geometry instancing est utilisé pour effectuer un rendu d'une foule de zombies, qui s'attaque au héros du jeu.

Mise à jour: Non RocketDock, ca n'est pas un jeu, mais bel et bien une application. Merci rolyat.

lundi, le 1 février 2010

C'est connu, les développeurs font souvent de mauvais artistes; parfois, ils essaient de se cacher derrière des techniques de rendus procédurales (surtout quand il n'y a pas d'artiste pour les seconder), et avec un peu de chance (et beaucoup de tweaks) le rendu arrive à être correct pour être inséré dans un jeu. C'est le cas de Dave Bollinger, qui a inventé une technique pour générer des sprites de vaisseaux spatiaux et de robots, qu'il nomme tout simplement PixelSpaceShips et PixelRobots. Cette technique a ensuite été récupérée par le site XNAFan.net et implémentée en XNA. Le résultat semble relativement convaincant (surtout si on aime le style old-school).

Nous restons persuadés que quelqu'un trouvera un gameplay assez déjanté à calquer sur cette librairie. Après tout, Arkedo a bien créé un jeu basé sur des gros pixels...

Le chunked LOD est une technique de rendu de terrain, a mi-chemin entre le GeoMipMapping et le rendu Brute Force. Inventée par Ulrich Thatcher, cette technique découpe le terrain en plusieurs morceaux de différentes définitions, et dessine le morceau (chunk) avec une résolution en fonction de l'éloignement de la caméra. Dave Carlile (CrappyCodingGuy) s'est inspiré de cette technique de rendu pour créer un système de rendu de planète procédurale:

Un nouveau livre sur XNA vient d'apparaître sur lulu.com, la plateforme de téléchargements d'œuvres numériques: "A simple introduction to game programming with XNA 3.1", par Curtis Bennett (qui maintient notamment le site XNA Game Making, où l'on peut retrouver tous les codes sources du livre). Le livre se veut être à la portée du débutant, et commence ainsi sa première partie par les bases d'un langage de programmation, à savoir les variables, ainsi que les boucles et les conditionnelles.

La seconde partie s'attaque au vif du sujet, à savoir la création d'un jeu 2D avec XNA; découpée, en 6 chapitres sur près de 120 pages, cette seconde partie traite de la création d'un Shoot Them Up basique (avec ennemis, power-ups). Après avoir parcouru le code source fourni dans le livre, je regrette un peu que l'auteur n'explique pas tout en détail; il livre le code tel quel sans expliquer son fonctionnement intrinsèque, et je trouve cela un peu dommageable, pour un livre qui se voulait être un livre pour les débutants.

Il sera donc conseillé à ceux qui veulent un livre pour démarrer rapidement en utilisant des composants déjà tout fait. Pour les autres, nous ne pourrons que conseiller de prendre un livre sur le langage C# (pour ceux qui ne connaissent pas le langage) et un autre livre sur XNA.

samedi, le 30 janvier 2010

Back to the nineties: Le remake de Carmageddon en XNA

Une news un peu plus légère, pour une fois. Lors de nos recherches sur internet, nous sommes tombés par hasard sur le blog de 1am Studios, qui s'est attaqué au remake d'un vieux jeu, qui est un peu à l'origine du gameplay des deux premiers Grand Theft Auto (bien moins sérieux que les suites phénoménales mondialement connues de GTA), à savoir Carmageddon.

A mi-chemin entre un jeu de course et un jeu de type Destruction Derby, le jeu, hautement immoral faisait la part belle aux carnages sur la route: on recevait en effet des bonus de crédits lorsqu'on écrasait des piétons; un léger coté RPG existait dans le jeu et il était possible de rajouter des "options" sur la voiture (tels que pare buffles, boosters, etc...).

1am Studios s'évertue donc a recréer ce jeu, et le développeur semble être relativement avancé dans son développement, comme en témoigne sa dernière vidéo:

Daniel Saidi vient de poster un nouveau tutoriel sur son blog, qui nous explique comment charger toutes les ressources compilées au format XNB par dossier; en effet, il nous arrive souvent d'avoir besoin de charger de nombreuses ressources, et la gestion de ces chargement peut vite être fastidieuse, surtout lorsqu'on souhaite gérer un chargement asynchrone de ces dernières.

Pour cela, l'auteur a implémenté son code en étendant la classe ContentManager, classe de base qui s'occupe de charger les ressources dans le framework XNA, et implémente la méthode LoadContent<T> afin que celle ci renvoie un Dictionary (table de hashage) composée de clefs représentant le nom du fichier et de valeurs objets représentant la ressource elle même.

- page 1 de 5