10 Fév 2016



Written by lonely woof

Blog-850x480-Default

La première version du jeu fonctionnait pas mal, mis à part une tonne de bugs bien entendu. Mais cela allait être réglé plus tard. En attendant, il allait falloir se pencher sur la génération des niveaux. Actuellement, dans le prototype existant, les niveaux étaient posés en “dur”. Une grosse image correspondait au sol, tandis que différentes zones physiques avaient été placées à la main. Une par une. Bref, c’était un peu long, mais cela restait simple.

Par contre, sur le long terme, ce n’était absolument pas viable. D’autant qu’il était prévu d’avoir au minimum 80 niveaux. Il me fallait donc avoir un éditeur de niveaux. Cela allait me prendre du temps à réaliser, mais sur le long terme j’étais sûr et certain que cela serait rentable.

Ma volonté d’avoir un univers arrondi allait me compliquer énormément la tache. Je m’en doutais un peu, mais à l’époque, je ne pensais pas tout faire seul. J’entrais dans une nouvelle ère cauchemardesque. Celle où j’allais replonger dans mes années les plus traumatisantes, lorsque ma peau commençait à se recouvrir de boutons et où l’idée même d’être dans une salle occupée de filles me terrorisait. J’allais devoir retourner en classe de troisième, refaire connaissance avec Pythagore et Thalès. Pit, Thalou, je vous hais, cordialement.

Voici donc ce à quoi ressemblaient les niveaux au commencement, sur papier.

VisuelA

Il était nécessaire de schématiser les niveaux afin de déterminer les “formules géométriques” nécessaires à leur génération. Cela ressemblait donc à des cercles, entrecroisés de droites, dessinant des angles, accompagnés de fractions, souvent raturées parce que fausses. Je n’avais pas une seule seconde imaginé à quel point cela allait être difficile pour moi. Corona SDK n’était pas optimisé pour produire des formes vectorielles (utiliser des courbes de bézier aurait été parfait…) et poussait surtout à l’utilisation d’images. Il allait falloir ruser pour obtenir cet amas tant convoité de boules fusionnées entre elles. Et bien entendu, user de théorèmes de Pythagore et de Thalès.

Je n’ai clairement jamais eu de fibre mathématique. Au collège, jusqu’au lycée, j’ai toujours été obligé de suivre des cours particuliers pour finir laborieusement à me rapprocher de la moyenne en fin d’année. Au baccalauréat, j’ai réussi à m’en sortir avec un joli 6,5/20 en mathématiques. Spécialité S. Oui, tout à fait.

Mais je tenais à tout prix à avoir un jeu tout en courbes. Pour des raisons esthétiques, mais aussi parce que c’était, pour moi, un véritable moyen de me différencier de ce que l’on avait l’habitude de voir. Alors, j’ai persévéré. Je définis un format dans lequel les informations relatives à chaque niveau allait être stockées. Le but étant ensuite de relire ce fichier et que le moteur du jeu génère correctement toutes les courbures. Après un long moment, des fichiers XMLs pouvaient être ainsi chargés et la génération des niveaux se passant plus ou moins comme cela:

Blog-850x480-Gif A ce stade-là, il manquait encore quelque chose. Ces fichiers XML nécessitaient pour le moment être remplis à la main, ce qui allait être extrêmement compliqués. Pour éviter cela, j’allais devoir créer mon propre éditeur de niveau, de zéro. Car à l’époque (et c’est toujours plus ou moins le cas aujourd’hui), Corona SDK n’offrait rien d’autre qu’une fenêtre qui interprète du code, ainsi qu’une autre fenêtre de debuggage. Et c’est tout. Il n’existait aucune interface permettant de positionner visuellement les objets nécessaires à la création d’un jeu.

Après un bon mois à travailler sous Flash, la première version de mon éditeur de niveau était fonctionnelle. En quelques minutes, j’étais ainsi capable de créer un niveau de toutes pièces pour ensuite le tester immédiatement et jouer avec.



Réalisé sous Flash, en ActionScript 1.5 (comprendre : ce n’était pas de l’ActionScript 2, ni de l’ActionScript 1, mais un mélange bâtard assez immonde, même pour moi), cet éditeur de niveau, basique, me permettait de produire des niveaux rapidement sans jamais toucher au code du jeu, de manière “What You See Is What You Get”. En réalité, c’était plutôt “What You See Is Almost What You Get”. Et les niveaux allaient enfin être arrondis, tels que je le souhaitais.

Rapidement, j’étais alors capable de produire des niveaux, les tester, voir ce qu’il allait falloir affiner. En réalité, le gain de temps sur le long terme fut immédiat. L’ajout d’éléments de gameplay était aussi rapide, bien qu’il fallait impérativement repasser par du code.

Le jeu n’allait pas tarder à être fini. Pas vrai ?
Leave a comment

    Stuart Hurtgen - mai 23rd, 2016 6:31

    Chimney Sweep

    creare site ploiesti - mai 23rd, 2016 11:03

    I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my followers! Outstanding blog and fantastic design.

    anuturi gratis - mai 24th, 2016 12:21

    I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my followers! Outstanding blog and fantastic design.

    Zandra Orwig - mai 25th, 2016 3:49

    I have a blog on blogger and I want to add a background image. How do I do that? And the image is from the internet on my flickr account. So how?.

Comments are now closed for this article.