Si les navigateurs ne sont pas tout à fait prêts, le moment est venu pour nous autres développeurs de nous préparer à la 3ème dimension.
Je suis parti en quête de 3D dans un petit projet personnel de jeu vidéo avec un objectif simple: tester la technologie WebGL. Il s’agit d’une API incluse au navigateur permettant d’accéder via javascript à des fonctionnalités graphiques 3D.
Armé de mon moteur de recherche favori, je découvrais avec enthousiasme l’existence de librairies javascript dédiées à WebGL. Chacune d’entre elles faisant l’éloge de ses capacités, la sélection n’a pas été simple. Après quelques déboires avec C3DL, je me suis orienté vers GLGE.
GLGE n’est probablement pas la mieux documentée, mais c’est certainement la plus rapide que j’ai pu tester. Et pour créer un jeu vidéo, la vitesse compte énormément. Il est vrai qu’à certains moments j’ai du mettre les mains dans le code de la librairie. Cette maudite caméra ne prenait pas le bon axe vertical pour s’orienter automatiquement vers un point donné. Ce n’est qu’un exemple mais je dois dire que ces librairies n’ont pour le moment pas la maturité d’un JQuery.
Au final, le plus difficile est de trouver un concept de jeu.
Prenez un jeu vieux comme le monde. Changez les règles, triturez-le, tordez-le dans tous les sens et vous obtenez un nouveau jeu. D’autant plus que grâce au virtuel, les limites sont moindre. Me voici donc parti pour créer un jeu d’échec spatial !
La recette est complexe mais les outils et les ingrédients sont gratuits.
Les outils :
Les ingrédients :
- HTML
- CSS
- Javascript avec beaucoup de GLGE et un peu de JQuery
Après une première version uniquement deux joueurs (humain contre humain), je me suis penché sur l’intelligence artificielle. Ce ne fut pas une mince affaire sachant que les probabilités et les statistiques se sont pas mon fort.
Choisissant la simplicité, je me suis orienté vers un système de points au cas par cas. Le principe est le suivant : chaque cas est étudié l’un après l’autre. Si pour un cas, des points sont cumulés, l’action qui cumule le plus de points est effectuée. Sinon on passe au cas suivant. Reste une petite part au hasard lorsque plusieurs actions ont le même nombre de points.
Au final, le résultat est à la hauteur de ce que j’imaginais réaliser. L’intelligence artificielle est perfectible mais l’objectif en terme de connaissances est largement atteint.
Le jeu vidéo est disponible sur http://spacebattle.wartone.com
Si les navigateurs ne sont pas tout à fait prêts, le moment est venu pour nous autres développeurs de nous préparer à la 3ème dimension.
Je suis parti en quête de 3D dans un petit projet personnel de jeu vidéo avec un objectif simple: tester la technologie WebGL. Il s’agit d’une API incluse au navigateur permettant d’accéder via javascript à des fonctionnalités graphiques 3D.
Armé de mon moteur de recherche favori, je découvrais avec enthousiasme l’existence de librairies javascript dédiées à WebGL. Chacune d’entre elles faisant l’éloge de ses capacités, la sélection n’a pas été simple. Après quelques déboires avec C3DL, je me suis orienté vers GLGE.
GLGE n’est probablement pas la mieux documentée, mais c’est certainement la plus rapide que j’ai pu tester. Et pour créer un jeu vidéo, la vitesse compte énormément. Il est vrai qu’à certains moments j’ai du mettre les mains dans le code de la librairie. Cette maudite caméra ne prenait pas le bon axe vertical pour s’orienter automatiquement vers un point donné. Ce n’est qu’un exemple mais je dois dire que ces librairies n’ont pour le moment pas la maturité d’un JQuery.
Au final, le plus difficile est de trouver un concept de jeu.
Prenez un jeu vieux comme le monde. Changez les règles, triturez-le, tordez-le dans tous les sens et vous obtenez un nouveau jeu. D’autant plus que grâce au virtuel, les limites sont moindre. Me voici donc parti pour créer un jeu d’échec spatial !
La recette est complexe mais les outils et les ingrédients sont gratuits.
Les outils :
Les ingrédients :
Après une première version uniquement deux joueurs (humain contre humain), je me suis penché sur l’intelligence artificielle. Ce ne fut pas une mince affaire sachant que les probabilités et les statistiques se sont pas mon fort.
Choisissant la simplicité, je me suis orienté vers un système de points au cas par cas. Le principe est le suivant : chaque cas est étudié l’un après l’autre. Si pour un cas, des points sont cumulés, l’action qui cumule le plus de points est effectuée. Sinon on passe au cas suivant. Reste une petite part au hasard lorsque plusieurs actions ont le même nombre de points.
Au final, le résultat est à la hauteur de ce que j’imaginais réaliser. L’intelligence artificielle est perfectible mais l’objectif en terme de connaissances est largement atteint.
Le projet est disponible sur spacebattle.wartone.com