jeudi 18 juillet 2013

Hello Javascript

Le HTML est maintenant incontournable. Fini le temps où il était dédié aux simple formulaires. Aujourd'hui je dis donc hello javascript avec ma première démo en JS / canevas 2D.

mercredi 17 juillet 2013

Rencontre avec Adobe

Michael Chaize et Thibault Imbert sont venus nous rendre visite chez Faguo Games et Les Chinois pour discuter des technologies du web. Nos avons partagé nos workflow et longuement discuté des standards du web. J'ai pu obtenir une dédicasse dans notre livre de documentation de Future Splash, déjà collector !

De gauche à droite sur la photo : Bertrand Lebonnois (Directeur technique des Chinois), Michael Chaize, Thibault Imbert, Pierre-Yves Roudy (Directeur associé et Directeur de création de Faguo-Games), moi même Jérémie Sellam (lead developpeur de Faguo-Games).

Je remercie Michael et Thibault de leur visite !

Sudoku des îles

Sudoku des îles est le second jeu de Faguo Games. Je l'ai programmé avec les même technologies que Calixa Code Breaker. Un algorithme génère des niveaux aléatoirement, adapté au niveau de difficulté choisi. Ce jeu est lui aussi disponible sur les 3 plateformes : Android, iTunes et Facebook.




Si comme moi vous n'aimez pas le sudoku, celui-ci grace à son graphisme originale donne nettement plus envie de jouer !

Calixa Code Breaker, le premier jeu de Faguo Games

Calixa Code Breaker est le tout premier jeu de Faguo Games. Ce jeu est disponible sur Android, iTunes, et Facebook.

J'ai programmé ce jeu avec Adobe AIR et ND2D. Lors du démarrage du projet, ND2D était plus performant que Starling. Pour la génération des assets graphique, j'utilise mon propre script JSFL d'export. Celui-ci en fonction d'une charte de nommage exporte les assets dans differents DPI. Un autre JSFL exporte les animations de la timeline de flash sous forme de EazeTween notamment utilisé pour l'animation d'introduction du jeu.

Le même code source est utilisé pour les 3 versions. La compilation se fait avec un script en python qui génère le fichier xml de configuration AIR pour android ou ios. Il exécute les commandes MXMLC et ADT en fonction du profil d'export choisit.

Notre équipe a beaucoup appris en travaillant sur ce premier projet. Nous avions déjà travaillé sur de nombreux jeux flash auparavant  pour nos clients. Ces jeux avaient pour but de remplir des bases de données d'internautes en offrant via un tirage au sort ou un instant gagnant de nombreux lots. Ils bénéficiant donc d'une grande visibilité via la marque, et d'un intérêt pour les joueurs via les lots.

Mais pour Calixa Code Breaker, le plaisir de jouer doit être notre priorité. Pour continuer à jouer, le joueur doit pouvoir progresser. La difficulté est croissante, et de nouveaux éléments de gameplay arrivent de temps en temps. Nous avons donc après la première beta test privée ajouté un mode aventure à travers l'Europe qui permet de cumuler un butin. Ce mode aventure permet aux joueurs qui cherchent la difficulté, de passer rapidement de villes en villes en sautant les niveaux optionnels, et aux joueurs acharnés du scorring de faire l'intégralité des niveaux, et de refaire ceux qu'ils ont déjà fait pour avoir un plus gros butin que leurs amis.

Shader pour paysage

En voulant pousser plus loin mon précédent shader sous-marin, j'ai créé celui-ci qui me permet de rendre ce paysage.

Pour plus de détails sur la génération de ce décor :

  • Une texture noir et blanc est utilisée pour déplacer verticalement les vertex.
  • Une texture RGBA est utilisée pour mixer les 4 types de sols. par exemple, du rouge 100% affiche de l'herbe à 100%.
  • Si la coordonnée Y du fragment shader est inférieure à zéro, j'applique un displacement map + un fog plus fort.

Shader sous-marin

Voici mon premier post-process développé avec Minko, il s'agit d'un shader d'effet d'ondulation sous-marine. Bien qu'en réalité cet effet ne se produit que quand la caméra est en dehors de l'eau, cette démo a été pour moi un bon exercice.

Le procédé est simple, j'utilise une image de perlin noise que j'utilise comme "displacement map". Je déplace les UVs du perlin noise pour créer cet effet d'ondulation.

J'ai aussi créé un shader spécial pour le sol pour mixer plusieurs image (textures de sol) + effet lumineux sur lequel j'applique aussi un "displacement map".

Vous pouvez déplacer le sous-marin avec les 4 flèches de dirrection et les touches A et Q.

The Count : Mon premier jeu Android

Voici mon tout premier jeu Android : The Count. Je l'ai développé en AIR / Starling. Ce jeu reprend le concept du jeu "le compte est bon" dans "Des chiffres et des lettres".
Au début de la partie, vous avez 2 minutes pour réaliser un maximum d'opérations. À chaque bonne opération, vous gagnez 10 secondes de jeu supplémentaire, ainsi que des points. Si vous jouez en mode "facebook connect" votre meilleur score est enregistré sur facebook via l'API de jeux de facebook.
Dans l'écran des scores, vous pouvez comparer votre score avec celui de vos amis facebook.

Pour le facebook connect, j'ai utilisé l'ANE gratuit de freshplanet et j'ai développé une classe FacebookTexture qui charge progressivement une liste de vignettes d'amis facebook. Elle me permet d'appliquer la texture sur une Image de starling même si celle-ci n'est pas encore loadée. La texture se met automatiquement à jour après chaque chargements. L'ensemble des vignettes est dans une seule texture ce qui permet de limiter les drawcalls.