Développer des jeux sur iPhone et iPad Pour les Nuls
Neal Goldstein/Jon Manning/Paris Buttfield-Addison
First Interactive
Introduction
1
À propos de ce livre2
Conventions utilisées dans ce livre3
Quelques folles hypothèses3
Comment ce livre est organisé ?4
Première partie : Pour commencer4
Deuxième partie : Traffic, le jeu4
Troisième partie : L'aspect social5
Quatrième partie : L'iPad5
Cinquième partie : Les dix commandements5
Les icônes utilisées dans ce livre5
Et maintenant ?6
Première partie : Pour commencer
7
Chapitre 1 : Créer de super jeux iOS
9
Comprendre les attentes d'un utilisateur10
Penser comme un développeur de jeu11
Noter les fonctionnalités des bons jeux12
Concevoir en tenant compte des moyens techniques de l'appareil12
Intégrer le fun14
Concevoir un bon jeu15
Commencer avec une idée16
Trouver une idée amusante, réalisable et unique16
Faire évoluer le jeu17
Coucher les idées sur le papier17
Disséminer les ingrédients de fun20
Appliquer la règle des moitiés de Sid Meier22
Et maintenant ?22
Chapitre 2 : Devenir développeur sur iPhone
25
Devenir un développeur iPhone référencé26
Explorer l'iPhone Dev Center29
Pressé d'utiliser le SDK ?31
Les ressources du centre de développement pour l'iPhone33
Télécharger le SDK34
Rejoindre l'iPhone Developer Program35
Prêt pour le SDK ?39
Chapitre 3 : Le SDK
41
Développer avec le SDK42
Créer un projet42
Explorer le projet45
Créer et lancer l'application50
Travailler avec le simulateur de l'iPhone52
Imiter l'interaction du matériel52
Simuler des gestes53
Désinstaller des applications et réinitialiser l'appareil54
Personnaliser Xcode56
Utiliser Interface Builder58
Deuxième partie : Traffic, le jeu
63
Chapitre 4 : Comment marchent les jeux iOS ?
65
Utiliser les frameworks66
Utiliser les patrons de conception (design patterns)67
Le MVC, Modèle/Vue/Contrôleur (Model/View Controller)68
MVC en action70
Travailler avec les fenêtres et les vues70
Surveiller la fenêtre71
Admirer la vue71
Les types de vues73
Contrôler les contrôleurs de vue75
Ajouter un comportement à l'application77
Le patron Delegation78
Le patron Target-Action79
Ouf !80
Chapitre 5 : Créer l'interface utilisateur
83
Créer l'écran principal84
Ouvrir un projet84
Créer le premier écran84
De super boutons90
Ajouter des icônes et un écran de lancement93
Ajouter l'icône94
Ajouter l'écran de lancement95
Renommer le contrôleur de vue96
Chapitre 6 : Faire apparaître et déplacer des objets
99
Dessiner avec des vues100
Comment fonctionne l'affichage de l'iOS ?102
Créer le contrôleur de vue Traffic103
Les propriétés104
Actions et Outlets106
Créer des animations108
Créer les voitures du jeu110
Ajouter une sous-classe de vue image111
Ajouter la voiture dans la vue114
Animer les boutons115
Comprendre les layers116
CAKeyframeAnimation117
Faire bondir les boutons119
Chapitre 7 : Le cycle de vie d'un jeu iOS
123
Commencer par le fichier main nib123
Initialisation124
Le traitement des événements124
Arrêter l'application125
À propos de l'exécution127
Répondre aux interruptions127
Gérer la mémoire sur l'iPhone128
Traiter les touchers128
La longue et palpitante vie d'un UITouch129
Les étapes d'un toucher129
Répondre aux gestes131
Traitement des touchers132
Chapitre 8 : Créer l'architecture du jeu
135
Mettre un chapeau d'architecte135
Contrôleurs de vue, écrans, et fonctionnalités135
Boucles136
Le taux de rafraîchissements de l'image137
Les objets du jeu et l'application138
Concevoir le flux des écrans139
L'écran du jeu140
L'écran Pause141
L'écran Game Over141
L'écran des meilleurs scores142
L'écran Settings (Réglages)142
Chapitre 9 : Créer le contrôleur de jeu
143
Créer les fichiers du contrôleur Traffic144
Enregistrer les voitures145
Créer le timer du jeu148
Paramétrer le contrôleur de vue150
Garder l'empreinte du temps151
Créer des voitures dans les files153
Enregistrer des files153
Mettre à jour la classe Vehicle156
Créer de nouvelles voitures157
Faire rouler les voitures161
Mettre à jour la position des voitures161
Rouler entre les files162
Supprimer les voitures du plateau de jeu165
Gagner du temps169
Détecter des collisions171
Mettre à jour le compteur174
Mettre sur pause176
Créer la vue Pause177
Mettre sur pause178
Finir la partie180
Créer la vue Game Over180
Gérer l'événement Game Over181
Chapitre 10 : Utiliser le débogueur
183
De l'utilité du débogueur183
Utiliser le débogueur185
Déboguer un projet186
Utiliser la fenêtre Debugger189
Utiliser des points d'arrêt191
Utiliser Static Analyzer193
Chapitre 11 : Enregistrer le score dans votre jeu
197
Marquer des points dans Traffic198
Enregistrer des scores199
Stocker des fichiers dans chroot jail199
Les formats de fichier201
Stocker les scores202
Créer la liste des scores203
Charger la liste de scores203
Les scores204
Ajouter des scores dans la liste205
Noter le score dans TrafficController206
Afficher la liste des meilleurs scores208
Créer l'écran des scores209
Afficher les scores210
Chapitre 12 : Stocker les préférences de l'utilisateur
213
Concevoir des paramètres214
Définir les paramètres à ajouter214
Donner le(s) contrôle(s) à l'utilisateur215
Découvrir NSUserDefaults215
Fournir les valeurs par défaut217
Lire les paramètres218
Écrire des paramètres218
Créer une interface personnalisée pour vos paramètres219
Utiliser des contrôles219
Explorer le patron de conception Target-Action219
Créer des paramètres dans Traffic
221
Ajouter des variables221
Charger les paramètres par défaut222
Enregistrer les paramètres à la fermeture du programme223
Créer le contrôleur de vue224
Créer l'interface des paramètres226
Créer l'interface226
Coder la classe SettingsViewController227
Connecter tout le code229
Chapitre 13 : Préparer et déployer l'application sur l'App Store
231
La procédure en détail232
La procédure de distribution232
La procédure de développement233
Préparer votre appareil pour le développement235
Obtenir ses profils d'approvisionnement et de développement
et certificat de développement pour iPhone236
Préparer l'application pour l'App Store240
iTunes Connect244
Gérer les utilisateurs245
Contrat, taxe et coordonnées bancaires246
Charger les informations247
Déposer son application dans l'App Store247
Éviter le refus d'App Store251
Et après ?253
Chapitre 14 : De la musique et du son !
255
Pourquoi ajouter du son ?256
Le rôle de la musique256
Le rôle des effets sonores256
Le lecteur audio sur iOS257
Les sons non compressés257
Les sons compressés258
Les médias sur iOS258
Jouer une musique d'ambiance259
AVAudioPlayer259
Charger le contenu260
Les effets sonores263
Audio ToolBox et le système sonore264
Jouer l'ambiance sonore267
Troisième partie : L'aspect social
271
Chapitre 15 : Créer des jeux multijoueurs avec le Game Kit
273
Les bases de Game Kit274
Concevoir la version multijoueur d'un jeu solo275
Type compétitif275
Type coopératif275
Choisir un modèle276
Communiquer entre joueurs278
Mettre à jour l'interface279
Configurer la session279
Ajouter le framework dans le projet280
Ajouter le bouton281
Ouvrir la session284
Tester l'application sur plusieurs appareils285
Activer la communication dans le jeu286
Archiver des objets287
Construire le message de l'objet NSData288
Gérer des interruptions290
Envoyer du temps en plus292
Chapitre 16 : Facebook
297
Facebook298
Des possibilités d'utiliser Facebook299
Travailler avec Facebook300
Récupérer le SDK de Facebook302
Sessions et autorisations de Facebook303
Ajouter le SDK de Facebook dans le projet304
Configurer le délégué de l'application305
Se connecter à Facebook306
Vérifier les autorisations308
Ouvrir une session sur Facebook310
Envoyer un post sur Facebook311
Créer l'interface311
Poster une mise à jour312
Tester le tout314
Améliorer l'expérience de l'utilisateur315
Désactiver les boutons315
Afficher l'activité316
Chapitre 17 : Écrans externes
319
Doubler le plaisir avec un écran externe320
Écrans, fenêtres et vues321
Détecter un écran externe322
Distinguer les écrans323
Différents modes d'affichage323
Utiliser un écran externe324
Adapter le jeu325
Créer la fenêtre325
Par ici la sortie326
Chapitre 18 : iAd
331
Utiliser iAd332
Rejoindre le réseau iAd332
ADBannerView334
Implémenter iAd335
Respecter le protocole336
Quatrième partie : L'iPad
339
Chapitre 19 : Le monde de l'iPad
341
L'iPad341
Découvrir les nouvelles règles pour les applications pour l'iPad342
Orientations multiples342
Plus d'espace pour les mains343
Deux personnes, un appareil343
Adapter Traffic à l'iPad344
Faire une transition344
Comment faire la transition ?344
Redéfinir la taille des vues et des menus345
Gérer plusieurs cibles347
Écrans haute résolution348
L'écran Rétina348
Ajouter une meilleure image par défaut349
Chapitre 20 : Ajouter plusieurs files pour la version iPad
351
Concevoir un gameplay pour un écran plus grand351
Créer des files supplémentaires et des voitures multidirectionnelles354
Ajouter des files supplémentaires354
Créer des voitures355
Chapitre 21 : Reconnaissance de geste
361
Comprendre les gestes361
Détecter les gestes362
Les états d'une reconnaissance de geste362
Séparer détection de geste et action363
Ajouter le code de reconnaissance de geste dans le jeu363
Ajouter la vue364
Répondre au geste367
Ralentir le temps368
Chapitre 22 : Mise en oeuvre d'OpenGL
371
Entrez dans la troisième dimension !371
Travailler dans un espace 3D372
Petite leçon d'histoire373
Un petit laboratoire d'images374
OpenGL, comment ça marche ?375
Les contextes375
Les primitives375
Les sommets376
Rastérisation377
Tampons378
Shaders378
Tracer381
Objets OpenGL, noms et le binding381
Utiliser OpenGL dans l'iOS382
Les layers de Core Animation382
Le mystérieux EAGLContext383
Afficher le frame buffer383
Configurer OpenGL pour Traffic
383
Préparer la vue384
Créer la vue 3D384
Les tampons386
Créer le contexte OpenGL387
Préparer les tampons388
Le rendu de «la scène»391
Chapitre 23 : Tracer avec OpenGL
395
La scène de fond395
Le but396
Préparer le rendu de l'arrière-plan396
Écrire des vertex shaders et des fragment shaders398
Variables uniforme, varying et autres attributs398
Le vertex shader399
Le fragment shader400
Relier le tout401
Tracer la scène408
Créer le tableau des sommets408
Tracer la scène409
Chapitre 24 : Appliquer des textures avec OpenGL
413
Les textures413
Compresser les textures415
Charger des textures417
Mettre à jour les shaders420
Tracer la texture423
Faire défiler la route426
Chapitre 25 : Passer à la vitesse supérieure
429
Accéder à la bibliothèque iPod429
Sélectionner et jouer vos médias430
Importer le framework430
Ajouter l'interface utilisateur430
Détecter les secousses433
Détecter un événement secousse434
Vider l'écran434
Cinquième partie : Les dix commandements
439
Chapitre 26 : Dix différences entre iPhone et iPad
441
L'iPad est social441
L'iPhone est personnel442
L'iPad offre davantage de contrôle direct442
Les utilisateurs d'iPhone ont souvent des écouteurs443
Les jeux ne peuvent pas facilement passés de l'iPad à l'iPhone443
Les utilisateurs attendent plus d'un jeu iPad443
L'iPhone est utilisé dans des environnements très animés444
Les utilisateurs jouent plus longtemps sur l'iPad444
L'iPhone est plus mobile444
Chapitre 27 : Dix astuces pour commercialiser son jeu
445
Copains d'après, Tweetfil, VotreFace : s'engager dans les médiaux sociaux446
Donner le code du jeu447
Faire tester le jeu447
Faire un dossier de presse447
Utiliser Push Notifications448
Faire des In-App Purchase448
Solliciter des commentaires dans l'iTunes App Store449
Surveiller de près les ventes449
Utiliser des outils d'analyse449
Faire un super site Web450
Chapitre 28 : Dix jeux de folie !
451
Canabalt451
Flight Control452
Plants vs. Zombies452
Ramp Champ452
Doodle Jump453
Frenzic453
Pocket God453
Words with friends454
Chopper (et Chopper 2)454
Tap Tap Radiation454
Index
455