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

jeudi, le 11 février 2010

Quand on développe un jeu sur Xbox, on n'a pas trop besoin de s'inquiéter des options de configuration; en effet, la Xbox étant une machine fermée, l'utilisateur final n'ira jamais changer de carte graphique, pour avoir une meilleure résolution ou de plus joli graphismes. Toutefois, avec les PC, c'est une autre galère: chaque utilisateur dispose d'un matériel différent, et même la configuration du clavier et de la souris peut changer suivant les pays (qui se souvient encore devoir taper le texte en "qwerty" parce que le jeu était programmé pour un clavier américain, laissant des souvenirs impérissables comme le "j'te niaue q lq kqlqsh111" de Counter Strike?)

Le but de notre tutoriel aujourd'hui est donc de pouvoir rajouter un système de configuration à notre jeu XNA. Par chance, sous Windows, nous ne sommes pas limité à la version compacte du Framework .Net, et nous pouvons donc utiliser toutes les classes fournies par Microsoft dans le Framework .Net pour arriver à nos fins. Par chance, il se trouve que la version 2.0 du framework .Net implémente déjà un système de configuration très (voire trop...) complet via l'espace de nom System.Configuration contenu dans la librairie du même nom (qu'il faudra donc ajouter à votre projet avant de continuer).

Lire la suite ...

mercredi, le 10 février 2010

Tutoriel: Composant de statistiques de rendu pour XNA

Il est utile, lorsqu'on développe un jeu vidéo, d'avoir des informations en temps réel sur l'état des périphériques internes (utilisation de la mémoire, utilisation du GPU et autres données); ces informations aident souvent le développeur à s'y retrouver lorsque des optimisations doivent être apportées à une partie ou un modèle du jeu.

Cet article vise donc à créer un Service qui nous fournira différentes statistiques sur l'état du GPU. Nous commencerons petit, en analysant le nombre d'image par secondes (FPS en anglais, pour "frame per second") affichés par notre jeu. Comme à notre habitude, nous utiliserons le paradigme Modèle - Vue - Contrôleur et nous séparerons le fournisseur de données de l'affichage de celle-ci (voir l'article correspondant), chose déléguée à un autre composant, que nous verrons dans un autre article.

Lire la suite ...

dimanche, le 24 janvier 2010

Tutoriel de gestion de la souris avec XNA

Il y a peu de temps, nous avions vu ensemble comment gérer les entrées clavier avec XNA. Pour cela nous avions créer un composant qui était implémenté en tant que Service. Nous allons aujourd'hui utiliser le même paradigme pour contrôler un autre périphérique utilisé sur le PC, à savoir la souris.

Nous utiliserons de nombreux concepts vu lors de la conception du composant clavier, il sera donc bon d'y jeter un coup d'œil pour faire le lien avec ce code.

Lire la suite ...

mardi, le 19 janvier 2010

Que serait un jeu si le joueur n'avait aucun moyen d'interagir avec lui? Une simple démo tournante, qui serait lancée deux, maximum trois fois n'est clairement pas intéressante dans la plupart des cas. C'est pourquoi nous allons aujourd'hui nous attacher à créer un composant, qui implémentera un service, capable de nous fournir l'état des touches du clavier.

Un tel composant aura besoin de plusieurs classes fournies par le framework XNA, à savoir la classe Keyboard et la structure KeyboardState, dont nous étendrons les possibilités via notre classe BufferedState que nous avions codée il y a quelques temps.

Lire la suite ...