Fermer le menu
 

Novae : chronique de la création d'un jeu sur iOS (2/2)

Florian Innocente | | 09:35 |  43


De l'envie de faire un jeu iOS jusqu'à trouver l'idée, de cette idée jusqu'à son développement et sa publication sur l'App Store… Dominique Vial raconte la genèse de son premier jeu pour iPhone : Novae. Lancé en mai, ce titre s'inscrit dans la famille des jeux de puzzle prenants, que l'on lance à tout moment ou pour tuer le temps [vendu 2,69€]. Il est le fruit d'un développement essentiellement solitaire, entamé à l'automne dernier. De l'envie de faire un jeu, jusqu'à sa commercialisation, le développeur partage son journal au fil de ce deuxième et dernier épisode.

Premier épisode : Novae : chronique de la création d'un jeu sur iOS (1/2)

Déroulement du projet


NB : Dans cette partie je vais évoquer le déroulement du projet lui-même. Lors de la rédaction, je me suis attaché à communiquer à un large auditoire. Le développeur confrontera cette expérience particulière à sa propre expérience ce qui pourrait amener à faire évoluer positivement ses méthodes. Le néophyte, lui, découvrira un survol du déroulement d'un projet informatique lui permettant de lever un peu le voile sur la conception des applications qu'il utilise tous les jours. Mon souhait est qu'au final chacun retire de cette lecture quelque chose de positif et de constructif.



Les objectifs


Début novembre 2012


Je suis tout seul sur ce projet. Pour les points que je ne maîtrise pas, notamment le graphisme, le son et les traductions, je ferai appel aux services de professionnels.

L'objectif principal, à moyen terme, est d'avoir une activité professionnelle pérenne dans le développement d'applications pour iOS. Bien sûr, l'idéal, le rêve, est de créer LE jeu qui va cartonner sur l'App Store pour pouvoir vivre sereinement de cette activité !

L'objectif temporel est une sortie du jeu pour le premier semestre 2013, au mois de juin donc, pour faire coïncider le tarissement d'une source de revenue par l'apparition d'une nouvelle.

L'objectif plaisir : prendre du plaisir à faire ce projet et faire ce projet avec plaisir. Notamment celui de mener à bien une idée originale jusqu'à sa naissance officielle : sa sortie sur l'App Store. Le plaisir de faire les choses correctement et aussi celui d'apprendre.

L'objectif qualité. Qualité dans l'application ainsi réalisée, par respect pour l'utilisateur. Mais aussi qualité dans le travail fourni tout au long du projet, par respect pour moi.

Au regard de tout cela, l'objectif temporel, celui du mois de juin, n'est pas totalement rigide et constitue le degré de liberté du projet : au besoin il sera repoussé pour satisfaire l'un des autres objectifs. Néanmoins il convient de ne pas basculer dans l'excès inverse et repousser perpétuellement la sortie de l'application ! Pas facile de faire cela lorsque l'on est tout seul sur un projet !

La première maquette informatique


Avant toute chose, il convient de savoir si l'idée de base de jeu est bonne.

Comme indiqué dans l'article précédent, j'ai toujours considéré qu'un jeu vidéo était le type de logiciel le plus dur à réaliser. Pour la partie développement, je me fais confiance ; pour la partie esthétique, je m'appuie sur des compétences extérieures. Mais quid de la jouabilité du jeu, de l'intérêt et de l'attrait qu'il provoque chez le joueur ? Cela, je ne sais pas le mesurer et il n'y a pas, à ma connaissance, de formules mathématiques pour établir et mesurer ce critère. La seule façon de l'évaluer est empirique : jouer. Et ce, pendant longtemps, le plus longtemps possible.

Ainsi, le premier jalon consiste à obtenir une première maquette informatique du jeu pour confirmer qu'il y a bien un intérêt. Si ce n'est pas le cas dès cette étape, alors autant ne pas continuer.

Pour ce faire, il y a deux parties à créer :

  1. les règles du jeu (la mécanique du jeu),
  2. l'interface utilisateur : l'affichage des éléments du jeu et gestion des actions de l'utilisateur.


Le langage de développement pour iOS est l'Objective-C. Bien qu'ayant participé à plusieurs applications iOS auparavant, je ne suis pas à l'aise avec l'environnement iOS ni avec le langage Objective-C. Cela signifie que je vais devoir à la fois traduire les règles du jeu et apprendre (continuer d'apprendre) iOS et Objective-C.

Pour aller au plus simple, je décide de ne pas tout mélanger et de procéder par ordre. Ainsi les règles du jeu seront tout d'abord réalisées au moyen de mon langage de développement 'naturel' qui ne nécessite aucun apprentissage pour moi : Ada. Ensuite viendra le passage à iOS et Objective-C et enfin l'interface utilisateur.




Cela peut sembler une perte de temps énorme, mais ce n'est pas le cas : faire une chose à la fois et bien la faire. En procédant ainsi, je ne fais qu'appliquer Descartes et son Discours de la méthode :


« Diviser chacune des difficultés afin de mieux les examiner et les résoudre. »


Comment tester les règles du jeu sans interface utilisateur, pas de graphisme ni d'interactions utilisateurs ? Réponse simple : utilisation de tests, unitaires et fonctionnels. Pour les graphismes sous forme primitive : texte ! Ce sera le mode d'affichage le plus immédiat à mettre en œuvre : le mode console.




La maquette Ada dispose donc uniquement d'un mode console. Un peu de couleurs pour égayer et distinguer plus facilement les pions, mais pas plus. On ne peut pas jouer au jeu : il s'agit uniquement de la validation des règles au moyen des tests. Cette première version Ada valide les règles initiales et en révèle d'autres, secondaires, auxquelles je n'avais pas pensé.


Le code développé permet également de dégager une première organisation de l'architecture logicielle du jeu. Pour les connaisseurs, les paquetages Ada, futures classes en Objective-C, se sont dégagés. Durant cette étape, de nouvelles idées sont apparues que je me suis forcé à ne pas suivre, mais à consigner quelque part afin de ne pas me disperser.


Catégories: 
Tags : 

Les derniers dossiers

 

Ailleurs sur le Web


43 Commentaires Signaler un abus dans les commentaires

avatar AKZ 08/07/2013 - 09:59

Article passionnant. Pour ma part, j'aurai bien aimé avoir aussi le coût estimé global du développement et des dépenses annexes (traduction, graphisme,...).

avatar Domsware 08/07/2013 - 12:02

@etlomb77 Sur ce projet j'ai tenu à payer toutes les prestations demandées, sans mise en place de notions de part. Les traductions sont essentiellement passées par le site iCanLocalize. Toutefois il y a des exceptions et notamment des échanges de bons procédés entre développeurs ! Ainsi la localisation italienne a été réalisée par un développeur italien à qui j'avais donné un coup de main linguistique sur une application. Et puis pour le site et le descriptif App Store en anglais, cela m'a coûté quelques bouteilles de vins ! Quand aux graphismes et aux sons, la situation est particulière : nous avons procédé à des échanges de bons procédés pour le lancement de Novae. Dès que l'application est rentable, si un jour elle le devient (!) on réglera cela ! @thierry37 Je ne le prends pas mal ! J'ai voulu faire un jeu simple auquel j'aime jouer de temps à autre. Pour votre idée d'application je ne peux que vous encourager à la faire. Peu importe le temps que ça prend ! @sam291 Novae n'utilisant pas de 3D, Unity n'a pas été envisagé. Ensuite, je n'ai jamais été fan du développement multiplateforme : coder une fois pour déployer partout. En tant qu'utilisateur d'une plateforme minoritaire, le Mac, ces portages m'irritent très souvent par leur médiocrité et leur non adaptation à la plateforme. De plus, par expérience de développement, les portages ont toujours été plus simples lorsque la partie conception et les algorithmes étaient bien posés et surtout validés par les tests. @Lyon3 Pas de Gantt ni de PERT. Mon positionnement dans le logiciel a toujours été très proche de la machine et éloigné de la conduite de projet. Un ami proche est consultant indépendant en Gestion de Projets et Méthodes Agiles et de ce fait nous avons de nombreux échanges sur le développement logiciel. Cela a diffusé dans le développement de Novae. @AKZ De nombreuses personnes demandent comme vous ce genre d'informations. Je vais réfléchir à tout cela et voir comment faire d'ici quelques temps.

avatar izoong 08/07/2013 - 14:33

A propos de l'aspect pub, j'aimerais rajouter que la forme d'article proposée ici qui fait aussi -et heureusement pourrait on dire- promotion du jeu créé me fait immanquablement penser à ces magasines culturels, qui parlent de la démarche d'un écrivain proposent des extraits, ou d'artiste dont on a le témoignage sur son processus créatif tout en montrant des travaux en cour de réalisation. Bien sûr ça fait de la pub à ces gens, et c'est le but avoué de ces magasines, si iGen proposait ce genre d'article régulièrement sur le développement d'app, j'en serais le premier fan.


avatar ziedjo 09/07/2013 - 11:59

En voyant la vidéo du jeu, je ne peux m'empêcher de penser au génial et incontournable jeu du "tableau à flèches" : http://www.youtube.com/watch?v=yMu2j9uDPwA Enjoy !

avatar Oby1 10/07/2013 - 10:23

@Lucier_lenlen : +1 Passionnant. Donne plein d'envie mais ça calme un peu aussi (à juste titre) à voir la masse de boulot. Je file acheter le jeu, car il le mérite (le développeur)

avatar Denauw88 04/09/2013 - 12:42

Bonjour Domsware, J'ai enfin eu un petit peu de temps pour lire ces 2 articles ainsi que les commentaires et je voulais tout simplement vous remercier pour ce partage d'expérience. Bonne chance pour la suite et lorsque vous aurez plus de feedback, n'hésitez pas à le partager également! Et je rejoins les autres commentaires en direction de MacG : on veut d'autres articles de fond de ce style!

avatar mccawley2012 07/07/2013 - 10:21

J'avoue que c'est très intéressant. Mais je ne peux m'empêcher de voir aussi une belle pub déguisé afin d'acquérir cette application, ne serait ce pour avoir une vue plus élargie de cet article. Mais c'est bien foutue quand même !


avatar Tom.P 07/07/2013 - 10:33

@ mccawley2012 d'un autre côté, le développeur l'a dit, c'est sa façon de faire une pub, et au moins on en apprend un peu plus sur l'évolution et la gestion d'une application :) Moi je suis pour des articles comme ça, pour une première j'ai vraiment apprécié

avatar ZANTAR2054 07/07/2013 - 10:51

Très instructif

avatar Lucier_lenlen 07/07/2013 - 10:58

Superbe article! Un grand merci pour la liste de logiciels, les ressources, la timeline et le partage d'expérience! Et pour les rageux... Ce partage d'expérience vaut largement ce petit coup de pub. Allez je passe à la caisse, ne serait-ce qu'en remerciement de ce partage d'expérience et le refus du freemium (merci pour ca).

avatar Vincent Letellier 07/07/2013 - 11:25

Super article... Comme quoi MacG pourrait nous proposer autre chose que Android & co !

avatar mccawley2012 07/07/2013 - 11:39

@Tom.P Ah j'avais pas vu que le dev l'avait dit ^^ autant pour moi ^^ Mais oui c'est bien foutue, ça donne l'envie de coder l'application ultime, celle qui nous fera vivre de looooongue années au soleil ;-)

avatar Tom.P 07/07/2013 - 12:06

@mccawley2012 : Moi j'me dis que c'est quand même fou l'argent que tu peux gagner si ton application cartonne ! =D

avatar rondex8002 07/07/2013 - 12:12

@ mccawley2012 : Oui, c'est clair que ça fait de la pub pour le jeu. Mais peu importe, l'article est très intéressant. Libre à chacun de l'acheter.

avatar rondex8002 07/07/2013 - 12:18

De plus, les personnes qui programment elles-mêmes une appli de qualité ont mon plus grand respect (comme l'appli iCompta ou d'autres). Ca change des boites « usine à gaz » qui produisent des jeux à la pelle pour se faire le plus d'argent possible, et peu importe le respect de l'utilisateur (model freemium). J'ai dit Gameloft. Oups, j'ai pensé un peu trop fort.

avatar FredX 07/07/2013 - 12:50

Passionnant cet article ! Belle approche pour se faire connaître ! Et je comprends que tu tiennes a ce que ton bébé soit présent sur pleins d'iPhone As tu pense a une déclinaison iPad ? Est-ce que le travail pour le passer sur un iPad est conséquent ?

avatar nayals 07/07/2013 - 12:52

@rondex8002 : +1, et je rajouterais EA qui a une politique tout aussi scandaleuse que Gameloft vis-à-vis l'utilisateur.

avatar Domsware 07/07/2013 - 13:30

@fredx La déclinaison iPad est prévue depuis le début comme indiqué dans l'article. Elle sera intégrée dans une mise à jour rendant ainsi Novae universelle. Enfin comme c'est une mise à jour cela se fera sans achat supplémentaire. Si tout se déroule comme prévu cela devrait arriver courant août. Je n'ai jamais procédé à "l'universalisation" d'une application néanmoins je ne m'attends pas à de difficultés particulières. Il y aura bien sûr quelques situations à se taper la tête contre les murs et à invectiver le pauvre MacBook qui n'y est pour rien, mais, cela fait partie du métier ! Pour information je travaille actuellement sur la prochaine mise à jour qui apporte la localisation en langue allemande, la possibilité d'écouter la musique de son iBidule tout en jouant à Novae et quelques réalisations supplémentaires sur le Game Center. Il me reste un point délicat à résoudre concernant justement le Game Center et je soumet à Apple pour validation. Ensuite ce sera au tour de la version iPad ! Merci à tous pour vos remarques positives.

avatar Anonyme (non vérifié) 07/07/2013 - 13:34

Super article, très instructif, en espérant que d'autres articles comme celui-ci passe sur Macg

avatar Anonyme (non vérifié) 07/07/2013 - 13:42

Salut Dominique, merci pour ce retour très intéressant. Je suis actuellement au stade de mettre les règles en place de mon jeu. Une grande question me taraude... Je travaille (comme dev iOS/Android) pour une boîte et donc je ne peux travailler sur mon idée (et ensuite sur le dev) que pendant mes temps libres. Ayant une femme, deux enfants en bas âge et une maison achetée il y a moins de deux ans, autant dire que les temps libres... Ben voilà quoi :) Je prévois donc la sortie 1.0 de mon jeu vers février 2145. D'apres ce que je peux comprendre de ton article, tu as eu le temps pour. Quel est donc ta situation pro/privée ? Si tu as décidé de te lancer en tant qu'indépendant, quels ont été tes revenus durant ton année de dev ? Merci d'avance pour tes réponses...

avatar rondex8002 07/07/2013 - 13:46

C'est marrant, j'avais aussi un MB(P) fin 2008, 8Go RAM, 256 SSD. J'ai quand même réussi à faire une thèse sur LaTeX avec. Mais depuis, je suis passé à un MBPR 15, 16Go RAM, 256 SSD. Ça change ! Les compilations sont largement plus rapides. Mais programmer un jeu sur un 13", ça doit être fatigant. Pourquoi pas un écran externe full HD pas cher. C'est quand même beaucoup plus confortable. Et un écran externe, ça permet de mettre pas mal de fenêtre ou appli annexe dessus. Ça évite de multiplier les bureaux virtuels.

avatar hogs 07/07/2013 - 14:16

Merci pour l'article, très intéressant de voir pour une fois ce qui se passe derrière un logiciel. J'ai décidé de passer à l'étape suivante et de tester le jeu. J'apprécie particulièrement que tu aies décidé de ne pas mettre de timer forçant à une action rapide, du coup je peux jouer tranquille tout en regardant la TV, stoppant 2-3 minutes pour reprendre ma partie là où je l'avait laissé. Test du premier essai réussi, reste à voir si je reste croché dans la durée ;-)

avatar philiipe 07/07/2013 - 14:47

Hors sujet (sur ce reportage par ailleurs remarquable) : " Dès lors, le développeur aurait tendance à privilégier les dernières versions d’iOS sorties. Néanmoins, cela revient aussi à se priver des utilisateurs qui n'y sont pas passés : par choix, par oubli ou bien par impossibilité technique. " => voilà l'exemple parfait qui amène à l'obsolescence programmée et pousse le client à changer d'iDevise (alors qu'il n'en a pas besoin).

avatar Domsware 07/07/2013 - 14:54

@bmichotte Pendant plusieurs années j'ai essayé comme vous de faire ce genre de projets en dehors de l'activité de mon entreprise individuelle, Domsware. Sans que cela ne fonctionne. Alors j'ai décidé de me lancer en cessant de prendre des contrats avec Domsware pour libérer du temps. Le financement venant d'un petit pécule mis de côté lorsque je travaillais en tant que salarié dans l'industrie. Bien évidemment cela est un choix de vie ! Il y a dans mon entourage plusieurs personnes qui ont fait un tel choix : cela est une source d'exemples, de motivation et aussi de soutien. Enfin, vous comprendrez sûrement que je ne souhaite pas exposer ma vie privée sur un forum public aussi si vous voulez discutez plus amplement de cela je vous invite à prendre contact avec moi via le formulaire de contact du site Novae : http://www.novae-game.com/contact

avatar UgoD 07/07/2013 - 15:09

Merci pour ce très bel article :) (Ça sent le passage à la caisse pour essayer le jeu ;)).

Pages