Hello
Me voici donc en train d'apprendre le HTML5 et plus précisément le javascript et WebGL.
Comme première étape, je me suis fixé de porter les jeux amateurs que j'avais déjà fait dans le passé.
Voici le premier, qui se nomme TANK ZONE
http://www.dk-games.com/Html5/TankZone.html
C'est un jeu que j'avais fait pour GBA, d'où la toute petite résolution. 240x160 pixel. Le but de l'exercice était de porter le jeu tel quel.
C'est un jeu qui a été écrit en C.
Un screenshot:
http://www.dk-games.com/Html5/TankZoneScreen.jpg
Le code source:
http://www.dk-games.com/Html5/TankZone.txt
Avant cela je n'avais jamais fait de Javascript.
Quelques détails :
Le jeu est écrit en Javascript donc, et j'ai utilisé un petit moteur du nom de PIXI pour faire l'affichage. C'est un petit moteur 2D, qui utilise WebGl. Il existe plein de moteurs, celui la me semblait bien.
La conversion du code C->Javascript a été très rapide. Les langage sont finalement très proches. J'ai fait peu d'adaptations.
Le jeu tourne sous FireFox, je n'ai pas encore testé sous d'autres navigateurs.
Il n'y a pas de son (je n'avais pas mis de son non plus sur GBA, le portage est purement identique la).
Pour le moment, le temps est géré en pas fixe (comme sur GBA, je suppose que chaque appel à la fonction de rafraichissement se fait à 60 fps). La fonction "requestAnimationFrame" a pour but de garantir cela sur les navigateurs.
Le jeu est composé de 16 niveaux. Vous devez shooter les tanks. Le nombre de tanks restant est affiché en haut à gauche.
Attention, il y a certains niveaux spéciaux, comme celui ou votre nombre de munitions est limité (affiché en bas), ou ceux ou vous devez défendre un bâtiment (noté "P"). Si il se fait toucher (le bâtiment), vous perdez.
Le portage "brut" s'est donc très bien passé et assez rapidement (aller, 2 semaines pour apprendre HTML5, javascript, et compagnie). J'en avait jamais fait avant.