Tag Archives: dot net

[WP7] Des nouvelles de PointEmUp

Il y à quelques mois, je vous parlais de PointEmUp, un Shmup que je commençais à développer sur Windows Phone 7.

J’ai depuis bien avancé sur le projet, et je viens vous apporter quelques nouvelles.

Vaisseaux Ennemis

Look

Tout d’abord, j’ai choisit de générer aléatoirement les sprites des ennemis, pour donner à chacun un look unique. Pour cela, j’utilise pour chaque type de vaisseau une image spéciale, composée de 5 couleurs différentes : Chaque couleur permet au générateur de sprite de déterminer s’il doit dessiner une partie du vaisseau ou non.

Caractéristiques

J’ai décidé de créer une dizaine de vaisseaux ennemis différents. Chacun aura une couleur différente afin de pouvoir les identifier au premier coup d’œil.
Le jeu comporte pour l’instant trois types de vaisseaux ennemis. les bleus mitraillent leur bullets en direction du joueur, les gris tirent un cercle de bullets autour d’eux et les rouges tirent en spirale.

Le joueur

Armes du joueur

Je compte implémenter 6 armes différentes dans le jeu, possédant toutes une puissance et une vitesse différente. Je suis encore en train de déterminer la manière de changer d’arme, mais j’ai déjà une idée assez intéressante en tête. Pour l’instant, le jeu comporte les trois armes les plus basique d’un Shmup : de simple bullets, un laser dévastateur, et une bombe.

Déplacements

J’ai choisis d’utiliser la manière la plus simple et efficace pour gérer les déplacements du vaisseau du joueur : Suivre les mouvements du doigt.
Pour pouvoir déplacer le vaisseau, le joueur doit tout d’abord pointer une zone de l’écran, puis ensuite déplacer son doigt autour de cette zone pour déplacer le vaisseau. On retrouve la même manière de joueur dans Dodonpachi Resurrection sur Iphone

Score

Le système de scoring est toujours en cours de développement, j’ai décidé d’utiliser un système de combo et de multiplicateur de score. Plus vous tuez d’ennemis à la suite, plus votre multiplicateur augmente. Si vous ne tuez plus d’ennemis pendant quelques secondes, le multiplicateur retombe à zéro. Je compte également rajouter des points bonus à ramasser dans le niveau.

Niveaux

Je pense créer 5 niveaux d’une dizaine de minutes. J’ai choisi ici de dérouler les niveaux en utilisant un système de vague plutôt qu’une Timeline. Le joueur doit donc détruire tous les vaisseaux présent dans la scène avant de passer à la vague suivante. S’il n’y arrive pas, la vague disparait et le prive d’augmenter son score.

Avancement global

Le moteur du jeu est pratiquement terminé, il me reste à implémenter le système de score, de changement d’arme et de gestion des boss.
C’est au niveau du contenu du jeu qu’il reste le plus de travail : il faut rajouter plusieurs vaisseaux ennemis, plusieurs armes au jouer et terminer les 5 niveaux.
Enfin, il va me falloir encore pas mal de temps pour optimiser, passer du polish et tester le jeu.
Encore beaucoup de travail en perspective !

[.NET] Chip8DotNet : Un interpréteur Chip-8

Il y à quelques temps, je me suis intéressé à l’émulation, notamment de console de jeu, afin d’en comprendre le fonctionnement. A force de fouiller dans différentes documentation technique (Gameboy, NES, et autre consoles de mon enfance), j’ai fini par tomber sur quelques documents sur Chip-8.

Qu’est ce que c’est que Chip 8 ?

Chip-8 n’est pas à proprement parlé d’une console de jeu, il s’agit en fait d’un langage interprété, crée au milieu des années 70 afin d’être embarqué dans des micro-ordinateurs tels que le COSMAC VIP ou bien le Telmac 1800. Chip-8 a été développé afin de faciliter entre autre le développement de jeux vidéos tels que Pong sur ces machines.

Le micro-ordinateur Cosmac VIP

L’émulation, comment ça marche ?

L’émulation a pour but essentiellement de recréer virtuellement votre console de jeu ou un quelconque Hardware. Grossièrement, dans le cas de Chip-8, il m’a fallu, à l’aide d’une documentation technique, recréer morceau par morceau une sorte de Cosmac VIP virtuel afin qu’il puisse interpréter le langage Chip-8. Il y a bien entendu différentes façon de faire, qui dépendent essentiellement du hardware à émuler et du jeu ou logiciel à interpréter.

Pour créer mon émulateur, j’ai utilisé une documentation technique, il en existe plusieurs sur internet :

Et plus particulièrement cette page.

Ces documentations techniques sont essentielles pour créer l’émulateur, sans elles, rien n’est possible. En effets elles décrivent précisément comment interpréter chacune des instructions de Chip-8, comment afficher un sprite à l’écran, comment gérer les différents timers, les registres, etc… En gros, ces documentations vont devenir vos meilleures amies tout au long du développement de votre interpréteur.

Chip8DotNet ça ressemble à quoi ?

Chip8DotNet a été codé en utilisant le Framework .NET 2.0 et le langage C#. Il est théoriquement compatible sur la plupart des machines équipé de Windows, ainsi que sous Linux et Mac Os X grâce à Mono.

L’exécutable et le code source sont sous licence MIT et peuvent être téléchargés sur cette page : Chip8DotNet

Fenêtre principale de Chip8DotNet

Fenêtre principale de Chip8DotNet

Fenêtre de debug de Chip8DotNet

Fenêtre de debug de Chip8DotNet

Des mises à jour de prévue ?

Pour l’instant je ne sais pas si je vais retoucher à l’application, mais si cela me prend, je pense corriger quelques problèmes, comme la vitesse excessive, en la rendant paramétrable, régler quelques bugs que j’ai vu surgir en préparant cette note, et peut être même rajouter le support de SCHIP, qui est une extention de Chip-8 développé par un fan du langage dans les anneés 90.

Chip-8 est-il un langage d’avenir ?

Je ne crois pas. Cependant, certains fans ont développés depuis les dernières années de nombreuses applications, démos technique et jeux écris grace au langage, vous pouvez retrouvez de nombreux jeux et démos sur ces deux sites :