Android : découverte par la pratique et développement d'un jeu vidéo #1

icon Tags de l'article : , ,

Aout 14, 2014
Introduction

Quel type de jeu développer

Bon, la première étape, lorsqu'on veut développer un jeu vidéo, est de décider quel type de jeu vidéo on souhaite développer.

Certaines personnes me conseilleraient de commencer simple, avec un jeu type Morpion, tandis que d'autres me conseilleraient de commencer directement par un Super Mario 64 en 3D de la mort qui tue.

Je pense viser l'entre-deux, en choisissant de développer un clone de "Space Invaders en 2D". C'est un type de jeu très simple (avec un minimum de complexité à gérer) mais surtout il y a déjà beaucoup d'exemples en ligne. Ainsi je suis assuré de trouver des ressources et de l'aide en cas de blocage.



Quel device

Je veux faire un jeu pour Android, mais qui marchera aussi sur Windows.

Ce sont les deux OS que j'utilise le plus, et je compte bien développer un jeu tellement bon que j'y jouerais tout le temps, que ce soit sur mon PC ou sur mon smartphone !
Il est impossible, pour un simple développeur, de sortir un jeu disponible sur TOUS les supports... Mais en visant juste ces deux supports, je suis assuré de toucher 90% des gamers et autres geeks.
Enfin, je trouve qu'on manque trop de jeux de qualité sur Android. Autant remédier à ça tant qu'on y est.


Source image


Quel IDE

Il va falloir ensuite que je choisisse un IDE. Les deux principaux étant Eclipse et Android Studio.

La majorité des ressources en ligne (sur le développement Android) étant sur Eclipse, et trouvant qu'Android Studio manque un peu de maturité, j'ai décidé d'utiliser Eclipse.
Surtout qu'on peut désormais télécharger une version d'Eclipse qui embarque le SDK Android :D


Source image


Comment fonctionne un jeu vidéo 2D

Pour tout jeu vidéo 2D, il y a 5 notions simples à retenir :
  • La main game loop, la boucle principale dans le code où tout se passe.
  • Les sprites, qui sont les images qu'on affichera à l'écran. Il faut noter que dans un jeu 2D, TOUT est sprite. Les animations ne sont que l'enchainement de différents sprites.
  • Les collisions, et les actions qui en découlent (chevauchement, réactions, animations, etc.).
  • Les sons, parce que sans ça un jeu est fade.
  • Et enfin les contrôles utilisateur. Ca peut être le couple Clavier/Souris sur PC, le tactile sur smartphone, l'accéléromètre, les mouvements des mains à l'aide du Leap, un couple volant/pédalier, etc.

Grâce à ces 5 notions, nous pouvons créer n'importe quel type de jeu vidéo 2D ! :D

Appliquer ces notions

Aujourd'hui, il existe de nombreux Game Engines qui gèrent nativement ces 5 notions. A quoi bon tout recoder quand de très bonnes librairies existent pour ça ?
Moi ? Fainéant ? Pas du tout ! :)

Pour notre projet, nous allons donc utiliser libgdx, un game engine opensource (sous licence Apache 2). Développé en Java, il est cross-platform (Windows, Linux, Mac, Android, iOS, HTML), gère les fichiers audio, les contrôles utilisateur, les maths et la physique (gravité, mouvements, etc.), les fichiers, et enfin les graphismes 2D (OpenGL ES 2.0).

Libgdx est donc parfait pour nous, car il va nous permettre de créer un jeu Android ET Windows très facilement.


Source image


Et maintenant ?

Maintenant que nous avons vu le quoi, qui, comment et pourquoi... Nous allons pouvoir commencer à développer.

Pour ça direction la partie 2 qui arrivera d'ici une petite semaine.

Bon weekend, Stay tuned!

Nouveau projet : développement d'un jeu vidéo sur Android

icon Tags de l'article : , ,

Aout 14, 2014
Bonjour à tous !

Pour changer un peu du monde .Net, j'ai décidé de commencer une nouvelle série de tutoriels sur le développement Android.


Tous ceux qui me connaissent bien savent que je suis un grand passionné de jeux vidéos, et qu'un de mes rêves serait de monter ma boite de développement de jeux Windows & Android...
Sauf que je n'arrive pas à me motiver et à à trouver le temps de me plonger dans le développement Android.

J'ai donc décidé de faire ça de façon diluée et ludique, en publiant chaque semaine un article sur ce que j'ai fait, pourquoi, comment, et où j'en suis.
Je vais essayer de me tenir à mon objectif d'un article par semaine, pas plus pas moins, afin de me forcer à travailler dessus régulièrement. Tant pis si l'article n'est pas complet ou pas fini !

Et, qui sait, peut-être que ça vous sera utile et que vous aussi vous vous mettrez au développement de jeux sur Android !

La première étape de ce fabuleux voyage arrivera sous peu.

Stay tuned!

Tests unitaires, présentation

icon Tags de l'article : , ,

Mars 25, 2014
Aujourd'hui, je vais vous parler de tests unitaires.

On teste tous nos développements. Que ce soit en compilant et regardant rapidement si ça marche, en déroulant un cahier de tests, en faisant n'importe quoi pour voir si on arrive à planter l'application, etc.

Sauf qu'assez peu de gens font des tests unitaires.

C'est triste, car il s'agit du meilleur moyen d'améliorer considérablement la qualité de vos développements, mais aussi d'anticiper sur les différents bugs à venir.

En effet, beaucoup de développeurs auront tendance à considérer les tests unitaires comme une perte de temps, voire un truc plutôt gadget qui coute toujours plus que ce qu'il apporte.

Ce n'est pas vrai.

De vrais bons tests unitaires auront effectivement un cout assez lourd au départ, mais ce cout sera vite amorti si vous passez du temps sur votre application.

Ca peut sembler idiot, mais c'est vrai.

A chaque développement, il y a un risque de coder un ou plusieurs bug. Voire même de faire réapparaître un ancien bug. Les tests unitaires permettent d'éliminer 90% des bugs.

Le vrai problème qui se pose est donc : comment bien faire mes tests unitaires ?

Nous verrons cela très bientôt, dans de futurs articles :
  • Quand faire des tests unitaires ?
  • Les tests de connectivité
  • Présentation des tests unitaires pour la couche d'accès aux données
  • Présentation des tests unitaires pour la couche métier

Bonne soirée !