Comment développer un jeu pour iPhone ou iPad?

Publié le 23 octobre 2017 par Rhw @RevueHW

Si vous avez une passion pour la création et développement de jeux, il n’est jamais trop tard pour commencer. Même si l’App Store ne suscite plus tellement l’euphorie qu’il avait au début, il est toujours possible de développer une application, avoir des fans et de gagner de l’argent. Et pour couronner le tout, entrer dans le marché ne vous coutera pas la peau des fesses. Apple demande $99 par an pour un abonnement, alors vous pourrez publier sur App Store les jeux pour iPad ou iPhone que vous avez développés.

Vous pouvez aussi télécharger gratuitement le kit de développement Xcode après que vous vous êtes souscris en tant que développeur.

Evidemment, ce ne serait pas réaliste de croire que vous allez tout de suite gagner beaucoup d’argent avec votre jeu ou qu’il va être très populaire de suite. Cependant, chaque année,des développeurs indépendants et de petites équipes de développeurs venant de nulle part sortent des jeux qui nous scotchent sur notre iPad ou iPhone. Certes, les grandes compagnies ont un avantage, mais la beauté d’App Store est que tout le monde peut concourir pour gagner le cœur des joueurs. Il n’y pas deux App Store : pour les grands noms et les petits. Il n’y a qu’un seul App Store pour tous, et c’est là qu’on télécharge nos jeux.

Qu’est-ce que vous avez besoin pour commencer à développer des jeux?

À part les $99 pour l’abonnement, vous aurez besoin d’une expérience dans la programmation, dans le graphisme. Et beaucoup de patience. Même les petits projets demandent un certain degré de patience. Vous n’êtes surement pas le genre perfectionniste qui ne publie jamais de jeu, parce qu’il trouve toujours de petits défauts à son jeu. Mais vous ne voulez pas non plus être celui qui se moque complètement que son jeu soit plein de bogues.

N’ayez pas crainte si vous n’avez pas cette touche artistique quand il s’agit de graphisme.Vous pouvez accéder à de nombreuses ressources pour avoir un graphisme gratuitement ou à moindre coût. Mais si vous avez déjà tout en main, vous aurez juste besoin de l’expérience nécessaire pour créer des boutons et ériger une bonne interface utilisateur. Heureusement, on peut tous le faire après avoir pris quelques leçons de Photoshop ou son alternative gratuite Paint.net.

Quelle plateforme devez-vous utiliser pour le développement?

Le premier grand choix à faire est la plateforme. Si vous voulez simplement développer des jeux pour iPhone et iPad, le langage de programmation Apple’s Swift est le mieux pour vous. Il est plus rapide comparé au vieux Objective-C. En plus, quand vous développez directement pour l’appareil, vouspouvez utiliser de nouvelles fonctionnalités du système d’exploitation aussitôt qu’elles sont sorties. Par contre, si vous utilisez un kit de développement venant d’un tiers, vous devez souvent attendre que ce tiers fournisse le support pour la nouvelle fonctionnalité.

Cependant, cela ne veut pas dire que vous devez rejeter les kits de développement venant de tiers. Si vous projetez de créer des jeux pour différentes plateformes (iOS, Android et d’autres plateformes), la capacité à développer dans un seul kit et pour plusieurs plateformes en même temps va vous faire gagner beaucoup de temps. Cela va aussi rendre la tâche moins frustrante. Mais il est conseillé de ne pas choisir ces kits proposant « build a game in an hour»(« créer un jeu en une heure »),parce qu’ils sont souvent trop limités si on veut créer des jeux complexes.  Voici quelques solides plateformes de développement gratuites pour les développeurs indépendants, en tenant compte du revenu:

  • Unity. C’est l’un des kits de développement tiers les plus populaires, particulièrement pour ceux qui prévoient d’utiliser un graphisme 3D. Vous pouvez utiliser Unity gratuitement à condition que votre revenu annuel ne dépasse pas les $100,000.
  • Corona SDK. SDK est un bon choix si vous cherchez à réaliser un développement rapide avec un graphisme en 2D. Il utilise LUA comme langage de programmation, qui est à la fois flexible et très rapide. SDK est gratuit pour l’édition personnelle et n’a pas de limite de revenu. L’édition pour les entreprises permet la création hors ligne (sans internet) et la possibilité de créer votre propre API personnalisé, ce qui le rend encore plus flexible.
  • PhoneGap. Un des outils de tiers les plus populaires. PhoneGap fournit des supports et de plugins venant de tiers. Cela peut être un vrai avantage si vous êtes plus à l’aise avec le côté graphique  plutôt que le côté programmation. PhoneGap utilise aussi des outils basés sur web (HTML, CSS, etc) comme outils principaux pour le développement. Il est gratuit.

Et le Graphisme?

Pour ces personnes bénits qui sont à la fois très fort en matière de graphisme et trouvent facile la création d’application, la décision de commencer à créer un jeu est plus liéeà son temps libre. Pour ceux d’entre nous qui n’ont pas la touche artistique, le graphisme peut sembler être une montagne à gravir. Mais il y a un moyen pour le contourner: les magasins en ligne fournissant des ressources.

  • OpenGameArt. Une des plus populaires sources pour ceux en recherche de graphisme. La plupart de ses ressources sans sous licence creative commons qui demande à attribuer le graphisme à l’artiste.
  • Unity Asset Store. Un des meilleurs avantages quand on utilise Unity est sont ses ressources en lignes, avec des graphismes de tout genre incluant 3D et 2D. Cerise sur le gâteau, vous n’avez pas besoin d’utiliser Unity pour pouvoir utiliser ces ressources.
  • GameArt2D. Le site a une bonne section ‘freebies’ et une belle collection de graphisme fournit sans redevance et qui ne vous coûte rien du tout.
  • Scirra. Le magasin en ligne de Scirra inclue des ressources graphiques et audio comme de la musique ou des effets de son.
  • Game Assets de Reddit. En fait, cette section de Reddit ne contient pas vraiment de ressources pour le développement de jeux, mais c’est un excellent forum pour savoir où on peut trouver des ressources.

Je suis un artiste, mais…

L’avantage qu’on est bon en graphisme est qu’on peut gagner de l’argent avec cette capacité. Les magasins en ligne mentionnés auparavant sont d’excellents débouchés pour vendre quelques graphismes et donc trouver de l’argent pour financer votre jeu. Vous pouvez aussi utiliser le forum de Reddit pour ‘faire vendre’ votre talent en graphisme ou autres choses (programmation, musique, etc).

Si vous êtes à la fois bon en design de graphisme et en programmation, vous pouvez exploiter ce talent en graphisme pour gagner de l’argent et puis faire la publicité de votre jeu. C’est une bonne façon de lancer votre jeu, surtout quand vous êtes à l’étape de la publication.

Ne cherchez pas trop à faire un grand coup du premier coup

Le premier jeu pour mobile que j’ai créé était assez simple. Cette première aventure dans le monde du mobile m’a permisde me familiariser avec la plateforme développement que j’utilisais. Je plaçais des effets graphiques sur l’écran, des graphiques animés, j’utilisais des effets son, enregistrais les boutons de touches des utilisateurs, enregistrais les scores dans un classement « meilleurs scores». Ce sont les choses basiques que presque tous les jeux ont besoin.

Pourquoi ne pas tout de suite lancer votre projet et apprendre ces jeux? Sachez que le développement de jeu vidéo est loin d’être facile. Dépendant de l’étendue de votre jeu, cela peut prendre des mois, une année ou même plusieurs années. Même si votre concept est relativement simple, commencer avec un petit projet est une bonne idée. Une bonne programmation est une question de répétition. À chaque fois que vous mettez en place une fonctionnalité, vous devenez meilleur dans sa programmation.Tout cela pour vous dire que le fait de développer un petit jeu pour commencer va vous aider à mieux réaliser votre projet principal.

Publiez rapidement

Ce premier jeu que j’ai créé a été parmi ceux qui m’ont fait le plus gagner de l’argent. Parce qu’on pouvait dire qu’App Store venait de sortir et aussi qu’il n’y avait pas encore une grande compétition comme aujourd’hui. Mais on ne sait jamais trop ce qui va marcher ou pas.

Réaliser un concept simple et le développer afin qu’il puisse apparaitre et marcher dans l’App Store vous permettra d’apprendre la procédure de publication. Vous allez non seulement savoir comment on publie une application dans l’App Store d’Apple mais aussi dans le Play Store de Google. Vous allez aussi savoir la procédure à suivre avant la publication, incluant le marketing de votre application, trouver le prix approprié, y mettre les bonnes publicités, la correction des bogues, etc.

Divisez votre jeu en plusieurs parties, créez des moteurs de jeu

C’est toujours important d’attaquer un projet en le divisant en plusieurs partieset encore diviser ces parties en plusieurs autres parties. En faisant cela, vous serez encore plus organisé et vousallez aussi voir votre progression au cours du projet qui peut prendre des mois. Votre jeu va aussi avoir besoin d’un moteur graphique, d’un moteur pour la jouabilité, d’un moteur pour le classement et diverses parties comme une interface utilisateur, menu, etc.

Une façon intelligente de développer un jeu est de toujours être à l’affut des codes qui sont répétés de nombreuses fois et de créer une fonction ou une classe pour ces codes. Par exemple, placer un bouton sur l’écran peut demander plusieurs lignes de code, mais il y a probablement peu de variables qui changent avec chaque bouton. C’est une opportunité pour créer une fonction unique pour la création de bouton et puis de changer quelques variables dépendant du type de bouton. Un grand gain de temps!

Le concept s’applique toujours peu importe l’étendue du jeu. Dans mon jeu de rôle, j’ai développé un moteur pour les combats, qui peut prendre des données dans une table de base de données et l’utiliser pour mettre en place des ‘capacités’ durant le combat. Cela veut dire que j’ai pu développer une nouvelle classe pour le jeu en créant de nouvelles rangées dans la table de base de données, pour décrire les capacités utilisées dans cette classe. Par conséquent, il est plus facile d’ajouter des éléments au jeu. J’ai aussi utilisé ce même moteur comme point de départ pour leprojet suivant. Le fait de créer des codes réutilisables et des « moteurs » de code peut faciliter le développement de futurs projets.

Cela s’applique même à la publication. Mon premier jeu de rôle a été une simple exploration de donjon similaire à Rogue. C’était la première étape dans mon but de développer un jeu avec une vaste forêt, des caves, des tours, des donjons, des quêtes, etc. J’étais capable de publier mon premier jeu de rôle puis d’utiliser la plupart de ces codes pour développer un second jeu.

Soyez patient et assurez la qualité du produit

Le développement de jeu peut être un long procédé et peut demander beaucoup de patience avant de voir le résultat final. Une raison pour diviser le projet en plusieurs petites parties est afin de voir le progrès durant le développement. Il est aussi important de mettre de côté du temps pour travailler sur le développement chaque jour et chaque semaine. Et le plus important ne jamais abandonner.

La plus grande piège pour ceux qui développent pour la première fois est de prendre une pause pour avoir des idées plus fraichessur le projet. Et puis on finit par dire: « Ah oui, j’étais en train de développé un jeu l’année dernière, et… qu’est-ce qui s’est passé déjà ? »

Vous allez surement avoir des moments difficiles, des obstacles dans le développement du jeu, sauf si ce jeu peut être crée en quelques jours. Vous pouvez mêmes rencontrer des obstacles plusieurs fois si votre projet s’étend  sur plus de 6 mois. Mais il est important de ne jamais abandonner et de toujours travailler dessus. Une phrase que les écrivains se répètent souvent lorsqu’ils écrivent un roman est «écrire chaque jour». Ce n’est pas grave si la qualité n’est pas encore là. Si on se décide à ne pas écrire pendant une journée, on décidera peut être après de ne pas écrire pendant deux jours, puis pendant trois jours, une semaine,…deux mois,… pour finir dans un cercle vicieux à la fin.

Mais cela ne veut pas dire que vous devez vous concentrez seulement sur une partie du projet. Une autre astuce est aussi d’alterner les différentes parties du projet. Si vous êtes coincé sur un code difficile pour un moteur, par exemple, vous pouvez le laisser pour un moment et utiliser ce moment pour chercher des graphismes ou des effets de son pour votre interface. Vous pouvez même simplement ouvrir le bloc note de votre ordinateur et y écrire vos idées.

Cette qualité qu’est la patience est encore plus importante lors de phase la plus importante du développement: celui où vous assurez la qualité. Ce n’est pas juste la phase ou on essaie d’enlever tous les bogues. Vous devez aussi évaluer chaque portion du jeu pour voir si elles sont conformes au critère le plus important: est-ce que c’est amusant? C’est pour cela qu’on joue n’est-ce pas : pour avoir du plaisir. Donc, n’ayez pas peur de faire des changements au jeu si vous sentez que le client ne va pas avoir du  plaisir. Mais gardez aussi en tête que vous avez déjà joué plusieurs fois au jeu, sous forme de tests, depuis le début du développement. Puisque vous êtes déjà familier avec le jeu, vous pouvez tomber dans le piège en pensant qu’il est ennuyant. Pensez à comment une personne se sentira en jouant pour la première fois au jeu.