jeudi 25 avril 2013

Développement de jeux mobile multi-plateformes : les frameworks



J'ai tenté l'expérience de développement de jeux Android il y'a plus que 2 ans, Pour développer mon idée j'ai utilisé à l'époque AndEngine, un framework Java de développement de jeux 2D pour Android.

Dans cet article je vais présenter quelques frameworks gratuits de développement de jeux pour mobiles, après une bonne recherche et comparaison de ce qui existe aujourd'hui.


AndEngine :

AndEngine est un très bon framework, qui offre tout ce qu'il faut pour  développer un jeu complet sans être forcément un pro du développement du jeu vidéo.

Les inconvénients majeurs que je trouve pour AndEngine :
  • la non portabilité, vous pouvez développer seulement pour Android
  • les tutoriels et documentations fournis ne sont pas suffisants pour maîtriser tout les aspects de développement d'un jeu.

En tant que développeur Java, je me suis posé la question : "Peut-on trouver un framework Java qui tire profit de l’interopérabilité du langage pour permettre le développement pour plusieurs plateformes ? "

Dans ce sens j'ai pas trouvé plusieurs solutions gratuites, mais il existe une : c'est LibGDX !

LibGDX :

LibGDX est une librairie 100% Java, open-source et gratuite pour le développement pour Android, Desktop (Windows et Linux) et Web via GWT.
Le seul hic, pour porter son projet sur iOS il faut compter 399$, mais bon d'après ma recherche je trouve aucune solution permettant de développer gratuitement pour iOS.
LibGDX est basé sur OpenGL, mais ne vous inquiétez pas vous aurez besoin que de peu de connaissance de l'API pour pouvoir développer avec LibGDX qui implémente la plupart de fonctionnalités nécessaires pour le développement de jeux.

Les points forts de LibGDX :
  • Génération automatique des projets Java pour les plateformes à cibler
  • Code open-source
  • Grande communauté de développeurs
  • Riche en documentation, tutoriels et exemples
  • Le framework a prouvé son efficacité sur des jeux à grand succès : Notamment le fameux Ingress et Appartus
  • Accompagné des outils comme la génération des packs de textures.
  • Intègre le framework de physics Box2D porté en Java.
Je vous laisse faire un tour sur le site pour voir quelles sont les possibilités offertes par la librairie, mais je vous assure qu'en tant qu'utilisateur je suis pas déçu !

Pour le développement mobile, il est important de prendre en compte la rareté  des ressources matérielles, et je pense qu'en terme de performance LibGDX s'en sors plutôt pas mal face aux autres frameworks concurrents, regardez ce benchmark :



CG DevKit :

Si vous êtes plutôt un développeur web et que vous maîtrisez bien JavaScript, je pense que CG DevKit vous conviendra parfaitement :
CG DevKit est une librairie de développement mobile multi-plateforme, entièrement en JavaScript, ce qui permet l’interopérabilité avec tout les OS.

Les points forts :
  • Open-source
  • 100 % JavaScript
Points faibles :
  • N’intègre aucune librairie "physics", par contre il est possible d'utiliser à coté la librairie Box2DJS qui est l’homologue en JavaScript du framework Box2D développé à la base en C++.

J'espère que cet article vous aidera a faire votre choix. A bientôt !

mardi 9 avril 2013

Ça vous dit un petit tour dans l'univers ?



Dans cette 
impressionnante animation, vous pouvez voyager dans l'univers d'une manière interactive et bien instructive. D'ailleurs je pense que les écoles doivent plutôt utiliser ces manières pour apprendre aux enfants d'une manière amusante les bases de l'astronomie.

Je vous laisse commencer votre voyage ici : The Scale of the Universe 2

mercredi 3 avril 2013

Apps Menu Widget : disponible maintenant sur plusieurs sites d'applications Android


Le site FILEDIR viens d'ajouter Apps Menu Widget Pro à sa liste d'applications Android.
Le lancement de l'application a commencé avec a peu près une vingtaine de téléchargements de Apps Menu Widget Free et un tout premier téléchargement de Apps Menu Widget Pro !
Par contre quelques modifications s'imposent pour améliorer la visibilité de l'application sur Google Play, qui pour le moment reste quasiment introuvable via la recherche...

Voici le lien vers Apps Menu Widget Pro dans FileDir :

Download Fast Launcher Pro / Android

Edit :

05-04-2013 :
Apps Menu Widget a été publié par le site français AndroidPIT, l'application est disponible ici, merci à eux !
06-04-2013 :
Apps Menu Widget a été publié par le site appszoom, la version Free est disponible ici, la version Pro est disponible également ici. Merci à eux !

lundi 1 avril 2013

Bitcoin : la monnaie virtuelle qui monte en flèche


Je me suis intéressé dernièrement à ce phénomène qui prospère sur le net depuis 3 ans : la devise des geeks Bitcoin.

Bitcoin est une devise électronique, qui comme n'importe quelle autre devise permet d'acheter des produits mais uniquement sur le net, il est possible également d'échanger les Bitcoin contre les autres devises courantes tels que l'Euro ou le Dollar. Il existe plusieurs sites qui acceptent les Bitcoin comme moyen de règlement, tels que le fameux Mega de Kim Dotcom.

Les Bitcoin sont sujettes au lois de marché de l'offre et de la demande, donc leur valeur change régulièrement.
Ce qui est impressionnant c'est la montée très rapide ces derniers mois de la valeur de Bitcoin d'une valeur inférieur à 10€ pour dépasser les 70€ ce mois ci (Aaaaaah quel occasion ratée !)
Sachant qu'à l'apparition des Bitcoin ça valeur était égale a quelque centimes d'Euro, voici l'évolution depuis 2011 :
DateCours en euros
7 février 20114,15 €
9 août 20115,36 €
2 octobre 20113,76 €
25 novembre 20111,83 €
10 décembre 20112,30 €
25 janvier 20124,34 €
3 août 20128,51 €
15 août 201210,84 €
22 octobre 20128,94 €
15 janvier 201310,97 €
15 février 201320,31 €
6 mars 201336,56 €
21 mars 201350,782 €
29 mars 201369,922 €

La différence la plus importante de Bitcoin par rapport aux devises connus c'est la décentralisation, il y'a pas une banque ou aucun organisme financier qui gère les Bitcoins, qui sont distribués via le réseau internet et P2P en reposant sur un protocole robuste.

Surement vous êtes entrain de se poser la question : Mais c'est quoi concrètement ces Bitcoin ?

Concrètement, il s'agit de blocs de données traités avec des systèmes de cryptographie, un Bitcoin est identifié avec une adresse sous le format suivant : 31uEbMgunupShBVTewXjtqbBv5MndwfXhb
Le protocole permettant de gérer les transactions en Bitcoin est basé sur un logiciel libre écrit en C++.
Les transactions sont basées sur des traitements volumineux de procédés cryptographiques réalisés d'une manière distribuée par les ordinateurs représentant les noeuds du réseau Bitcoin.

Comment les Bitcoins sont créés ?
Chaque jour des Bitcoins sont crées, jusqu'à ce que le nombre maximum de 21 millions de Bitcoins sera atteint.
La création de Bitcoins est réalisée par les membres du réseau et se base sur le concept "proof of work" ou "preuve de travail" : 
Il s'agit de participer au traitement de blocs de données en utilisant des algorithmes de cryptographie, ces traitements nécessitent une puissance de calcul colossale ! D'où le principe de preuve de travail...

Ce procédé s'appelle le Bitcoin mining, qui intéresse de plus en plus du monde  d'après ce que j'ai remarqué sur les forums. Mais il est loin d'être à la portée de tout le monde pour la simple raison qui pour faire de Bitcoin mining assez productif il faut avoir une configuration musclée.

Le matériel couramment utilisé pour faire le Bitcoin mining s'agit des GPU, qui permettent d'exécuter les algorithmes de hashage beaucoup plus rapidement que les CPU.
Il existe des logiciels pour débutants qui permettent de faire de mining sans trop bidouiller tels que BitMinter.

Alors en utilisant la GeForce GT 525M de mon laptop, j'arrive à faire environ 15 Mhps (Million hash per second), ce qui permet de générer approximativement 0.0011 Bitcoin/jour ! 


Donc en faisant un simple calcul si je laisse mon ordi allumé et je laisse BitMinter tourner toute la journée (GPU qui tourne a fond), en se basant sur la valeur actuelle du Bitcoin je génère une valeur d'environ 7 centimes (une somme négligeable non !).

Pour faire du Bitcoin mining rentable il faut construite une configuration basée sur plusieurs GPU tout en minimisant la consommation électrique, ce qui n'est pas forcément évident, vu la puissance que nécessite les GPU haut de gamme quand ils tournent en plein régime...
Voilà a quoi ça ressemble une configuration qui permet de générer environ 8 Bitcoins/jour (d'après son possesseur Chinois) :


Par contre je suis pas sûr que cette configuration est suffisante pour faire tourner Crysis 3 en ultra settings :P