Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

8
DEVELOPPEMENT DE JEUX 2D SUR ANDROID Bonnes pratiques et Frameworks

description

Les bonnes pratiques et les outils les plus utiles pour programmer des jeux sur Mobile.

Transcript of Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

Page 1: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

DEVELOPPEMENT DE JEUX 2D SUR ANDROIDBonnes pratiques et Frameworks

Page 2: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

Bonnes pratiques• Prévoir l’évolution rapide du marché des OS et s’orienter

vers du cross-platform, voire du HTML5• Anticiper les spécificités matérielles disparates (tailles

d’écran, performances, accelerometre, etc.)• Privilégier les outils qui permettent d’aller vite• S’interroger sur l’évolutivité (accès à des ressources

systèmes ou plugins externes)• S’aider via les forums et des exemples• Se faire former ou s’aider d’un consultant = gain de temps

et d’argent

Page 3: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

3 types d’approches

1. Le natif pour les Geek

2. Les Frameworks cross-platform pour les pros

3. Les moteurs “sans prog” pour les impatients

Page 4: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

Natif• Programmation en Java

+• Utilisation d’un framework 2D Java

• AndEngine• LibGDX• …?

Avantages : Proche du système, pas de layer intermédiaire, évolutif

Inconvénients : Pas de cross-platform, temps de developpement long, apprentissage long, communauté réduite

Page 5: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

Frameworks cross-platfrom 1/2• Corona SDK

• Langage : LUA (Script)• 2D / Android + iOS• Avantages : rapidité de développement et d’apprentissage (lua+API), support

facilité des multiples résolutions, API très complète, beaucoup d’exemples, possibilité de coder des applications (GUI + SQLite)

• Inconvénients : pas d’IDE, licence annuelle, pas de système de plugin natifs, les applications ne sont pas exécutables sur PC/Mac

• Unity3D• Langage : C# ou Javascript• 2D (avec plugin) / Android + iOS + Desktop + Web• Avantages : relative rapidité de développement (IDE), beaucoup de plugins,

évolutif via plugin en natif, grosse communauté, cross-platfom• Inconvénients : pas de 2D en standard, pas de gestion des multiples

résolutions en standard, apprentissage lent, peu intuitif (orienté 3D)

Page 6: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

Frameworks cross-platfrom 2/2• Cocos2D-X

• Langage : C++, LUA, Javascript• 2D / Android + iOS + Desktop• Avantages : API très complète (pour la 2D), plusieurs langages

supportés, cross-platform• Inconvénients : Codage “à la main” (compilation, IDE, etc.), il faut

recompiler sur chaque plate-forme, plutôt bas-niveau (pas d’API système, orienté affichage uniquement)

• Marmalade• Langage : C++ (LUA avec Marmalade Quick)• 2D/3D / Android + iOS + Desktop• Avantages : proche du système, API système, cross-platform• Inconvénients : C++ (donc codage sans filet), API succincte, temps de

développement long, plutôt bas niveau

Page 7: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

Les moteurs “sans prog”Permet de créer des jeux 2D sans programmation, par un système Wisiwyg basé sur des événements

Points communs :• Génère du HTML5 performant et Cross-platform.• Rapidité de développement : pas de code !• Apprentissage rapide : nombreux exemples, comportements standards d’un jeu

vidéo intégrés, intuitif et visuel.• Peu évolutif (sauf via plugin Javascript).

Les outils :• Construct 2

• La référence : rapide, fiable et évolutif, pas cher

• Game Maker• Le plus connu

• Multimedia Fusion• Le plus ancien (anciennement Click and Play)

Page 8: Coder des jeux en 2D ou 3D sur mobile Android, IPhone ou iPad

Casual Box• 20 ans d’expertise en programmation• 7 ans d’expertise en développement de jeux 2D• Expert du marché des jeux grand public• Prestations de service en jeux 2D, ad-games et serious• Consulting et formation sur toute la France• Anglais / Français

David MEKERSA

[email protected]

Tel: 06 33 74 54 40