Some statistics

Dear players,

I’m going to give you some kind of statistics about the game :

  • 4500 downloads on the Android Market
  • 1000 downloads on the Archos Market
  • > 35 000 games played
  • The average win/tie/loss ratio is, in order : 34.54 % / 32.93 % / 32.52 %
  • The current average games per day for the last 7 days period is 140 games played
  • The average games per day after an update is 1030 games played during the next 7 days following the release

I hope you all enjoy those stats !

Thx for your support.

BattleCardTriad v1.05, score games

Hi guys,

I’ve forgotten the blog for quite a while, and by the time the 1.05 version of the application has been out !

In that version, you’ll see a lil’ improvement which is : score ! Now, you’ll be able to see your win/loss/tie count and the average for the overall !

Have fun !

Score1

All the GFX have been made by Audrey Favre, even the FF8 retro-theme !

BattleCardTriad v1.0.4 is out, but is unfortunately a minor build

Hi folks,

I’ve been as always busy those last days, couldn’t write a single line of code before tonight…
I’m refactoring the whole code to fully implement skin, multiple resolution and last but not least clean the game engine.

The separation between the model and the view isn’t really good yet, and I want to make it better before doing some complicated stuff… I won’t code on crap. (even if yeah, it’s my crap).

So, you won’t get the campaign build with the 1.0.4 version, and I apologize for this. Then, what’s new on that build ? Just a minor issue on card distribution… I messed up somewhere, you could get sometimes unexisting cards. Well, that’s fixed !

Don’t forget to download the FF8 skin right here, it’s kind of cute ;p

Have fun everybody, and see you next time !

FF8 skin available for BattleCardTriad !

Hello guys and girls !

I’ve made up a skin using Final Fantasy VIII theme… and since I’m nice enough with you all, I’m sharing it right here right now !

How to install it ?

Unpack FF8 skin on your SDCard inside the folder called « /data/fr.om.game.battlecardtriad/skins/ » (should already exist).
You should have now a « FF8″ folder in « skins ».
Unmount your SDCard (or put it back into your phone) and launch the game.

Click on « Quick Start » button, then « Menu », then « Change Skin » and select « FF8″… The screen should refresh with the skin ! Enjoy !

BattleCardTriad v1.0.3 is out with skin support

Hi guys,

I’ll do it quite fast because I need some sleep… it’s 3.25am here, my God =/
Well, that’s one more night spent on BattleCardTriad, which means there are new cool stuffs for you.

So, what’s new in the v1.0.3 ?
Mainly, skin support… There’s a tutorial on how to create them HERE. It’s a bit short, but you know how to contact me if needed !
I’ve changed some other stuff, especially about visibility ‘cuz I’ve read some complaints about that… Forgot to use antialiasing functions, shadows and stuff… Should be fixed now !

Well, that’s it for now, next step is adding other rules… But in order to do so, I’ll have to make the campaign/tutorials before… ‘cuz not everybody knows how they work ! That’s a big part, I expect to release it within the first half of January… And full (with deck builder & all) single player support before the end of January. Wish me luck !

Have fun everybody, and good night !

Android Dev Day 3 (28/11/09) : BattleCardTriad – Redo from scratch

Ca y est ! L’application est prête et déposée sur le Market Archos. Version estampillée v1.0

Cette journée aura été longue en développement… Elle a commencé vendredi soir (~22h) jusqu’à samedi matin (~4h) pour la partie moteur et de 10h à 14h pour l’implémentation du graphisme (réalisée dans la semaine par ma moitié) et de l’IA.

Pour ce qui est de l’après-midi, 15h à 18h environ, j’ai effectué un portage (qu’il faudra que j’améliore VRAIMENT) pour les résolutions autres que celle de l’Archos. Le placement en pixel c’est le mal.

Je remercie l’existence de la classe ASyncTask qui m’aura bien servi pour éviter de jouer à la mano avec les Threads !

Points clefs du développement :

  • Séparation de la partie dessin des calculs métier : Les calculs sont traités dans une Thread qui met à jour les coordonnées des différents éléments et déclare la vue invalide.
  • Utilisation du design pattern « Observer » pour chainer les futures règles du jeu
  • Interface et abstraction pour les implémentations des classes Player.
  • Les éléments fixes comme l’instance de Paint pour le style par exemple doivent être singleton

Petit zoom sur l’IA actuellement simpliste du jeu :

Actuellement, l’IA ne connait pas les cartes de l’adversaire. En revanche, considérant un niveau équivalent, elle connait la moyenne des points attribuée pour chaque carte.
De ce postulat, on calcule 2 choses :

  • Le risque associé à la pose d’une carte sur le plateau
  • Le gain (l’attaque) associée à la pose

A partir d’une moyenne pondérée (privilège donné au gain) de ces 2 points, il est possible de déterminer quel est le coup le plus intéressant à jouer tout en gardant un risque faible et une part d’aléatoire, l’objectif étant de ne pas avoir à dérouler l’arbre des combinaisons… sinon l’IA serait impossible à battre et ce n’est absolument pas le but recherché.

Image du jeu 1

Image du jeu 2

Le design du jeu a été conçu par Audrey Favre.

Android Dev Day 2 : BattleCardTriad, au commencement

Second jour de développement sur Android.

J’ai entendu parlé du concours d’Archos qui promet une réduction de 228€ à chaque participant développant une application fonctionnelle, en anglais et optimisée pour leur plateforme Archos 5 IT avant le 30 novembre : Ca tombe bien, j’ai envie de faire quelque chose !

Je me rappelle alors d’un jeu auquel j’avais joué longtemps sur PlayStation et que j’avais même redéveloppé sur Casio Graph 60, oui la calculatrice graphique 4 couleurs… J’étais alors en 1ère S, 16 ans échus.

Ce jeu, c’est le Triple Triad de Final Fantasy VIII !

Triple Triad Board

Triple Triad Board

Ni une ni deux, c’est décidé, je vais le refaire ! Compte-tenu des délais, je ferai sûrement une version light pour le concours, mais je vais le faire, c’est sûr !

Aujourd’hui, j’ai développé une version *** purement fonctionnelle *** du jeu, afin de pouvoir évaluer si c’est réalisable dans le temps imparti. Après donc 1 bon dimanche de développement, voici le résultat :

  • Lorsque l’Activity se lance, le jeu démarre direct
  • Les cartes sont toutes rouges ou toutes bleues, pas de design donc
  • Je n’utilise que les Canvas (drawText, drawLine, drawRect…) pour dessiner les cartes, la grille de jeu, les différents libellés (score, nom du joueur, etc…)
  • Il n’y a à proprement parlé pas d’IA : le CPU prend la 1ère carte disponible dans sa main et la joue dans la 1ère case disponible sur le board.
  • La règle standard du jeu est implémentée
  • Aucune latence entre le coup que je joue et le coup joué par le CPU (en fait, tout est traité dans l’UI Thread) ce qui manque de lisibilité pour le joueur
Résultat au 1er jour de dev

Résultat au 1er jour de dev

D’après ma moitié et mes amis, la réponse est claire :

  • Il est possible de réaliser le jeu pour le 30 novembre
  • Il va falloir mettre un coup de peinture pour ne plus subir cette vision d’horreur : Je commande donc à ma moitié un design : Le « logo » pour le verso des cartes, une quinzaine de dessins pour le recto des cartes et également le design du board. Avec ça, je devrais avoir quelque chose de présentable !
  • Il va falloir que je résolve le problème de Thread pour que le CPU « réfléchisse » 1sec avant de jouer sans tout freezer… Les Threads, c’est un peu tout nouveau pour moi, ne faisant que du Web d’habitude
  • Il va falloir également et pour finir faire tout le travail « autour » : à savoir menu / about / règles du jeu pour que ça ressemble à quelque chose de déployable sur un Market

Bon, il me reste 1 WE pour tout faire… Wish me luck !

Android Dev Day 1 : Prise en main du Framework

Le 1er jour de développement sous Android a été marqué par les problèmes inhérents à ma méconnaissance de Java et surtout du SDK 1.5 d’Android.

Une fois l’environnement correctement configuré (sans accrocs), je crée mon 1er projet Hello World ! L’émulateur se lance et c’en devient magique, tous les rugissements de rage que j’ai pu entendre au boulot quant à l’intégration des applications webs (avec les habituels Struts/Hibernate/consorts…) en Java n’ont pas lieu d’être pour une application lourde sur cette plateforme. Houra ! Je vais pouvoir conserver mes cheveux ~

Je crée alors quelques projets sous Eclipse pour tester des composants différents :
- Un projet qui navigue entre plusieurs activities
- Un projet qui touche à l’affichage, plus particulièrement aux canvas des views
- Un projet qui fait plus du Java que du Android, étant développeur PHP5 à la base.

Ca y est, je suis fin prêt pour me lancer dans l’aventure d’un projet réel… Il ne manque plus qu’à savoir lequel.

Hello World !

Summon WebServer… done.
Summon Sleepless night… done.
Summon WordPress… done.
Summon writing skills… failed.

Bienvenue sur mon blog, tout le monde s’y met alors pourquoi pas moi !

Je vais essentiellement parler de ma vie en tant que développeur, et plus particulièrement en tant que Android Developer. Je referai bien un historique de ce qui m’a conduit jusqu’ici mais il est l’heure de faire se reposer les paupières (qui se font trèèès lourdes).

Summon Sleepless night… canceled.