nSun*chercheur en trouvailles

AnteChrismas

AnteChrismas Post-mortem

AnteChristmas (compo LudumDare #25)

Il s'agit de ma seconde participation au Ludum Dare. Un genre de marathon qui consiste à réaliser un jeux vidéo en 48h sur un thème commun à tous les participants. Dans cette 25e édition (du 14 au 17 décembre 2012), 1326 jeux ont été créés et publiés par des créateurs du monde entier.

Je ne vois pas le LudumDare comme une compétition, mais comme un challenge personnel. La communauté aide à trouver la motivation, et permet d'obtenir des retours. Sans compter l'intérêt de découvrir chaque création, l'ingéniosité, et autant d'interprétations sur un même thème.

Le sujet : "You are the Villain"

Timelaps

Cette vidéo présente une capture de mes écrans durant ces deux jours. Activez les sous-titre pour une version commentée.

Bilan

Il est très difficile de gérer les 48h pour un tel projet.

Ce que j'ai fait sans avoir eu le temps d'implémenter :
Lors de la séquence de décollage du traîneau, un renne devait être harnaché juste avant que le Père Noël monte à bord.
Un lutin animé devait se tenir à gauche du traîneau (écran du haut), pour saisir les paquets et les charger à l'arrière du traîneau.
Contenus abandonnés en cours de route :
Game-play :
Condition d'échec / game over, compteur de vies / échecs
Variation du rythme
Visuel :
Séquence où le Père Noël blâme le troll (surpris à casser un paquet)
Réaliser un arrière-plan pour l'écran du haut, et améliorer celui de l'écran du bas (aspect imprimé, légère profondeur par rapport aux sprites, reflets...)
Donner une légère semi-transparence aux sprites, voir même une ombre légère (plan décalé par rapport aux décors.)
Revoir le design des paquets (détail plus explicite)
Habillage :
intro (couvercle du G&W et ouverture) : incitant à cliquer pour donner le focus
manuel d'instruction (contrôles)

Déroulement de ces 48h :

Un faux départ

Assez tardivement, j'ai commencé par écrire plusieurs idées dans mon bloc à esquisses. Aucune de ces idées ne me convenait tout à fait. Je n'arrivais pas à penser à autre chose que la dernière idée que j'avais trouvé, je suis donc parti là dessus. Il s'agissait d'un RPG en inversant les rôles, pour adopter le point de vue des blobs lv1. Conscient que la tâche était démesurée par rapport au temps qu'il me restait, mais surtout de mes compétences, sur un coups de tête, j'ai tout fermé sans sauvegarder. À ce moment là j'envisageais vraiment d'abandonner.

Break salvateur

Alors qu'il ne restait plus que 35h sur les 48, j'ai suivi le conseil du « LD Survival Guide », et je suis sorti faire un tour en ville (chose que je ne fais jamais). Je me demandais encore sous quel angle aborder le thème « you are the Villain » : Jouer un méchant d'un jeu-vidéo, devait m'amener à programmer un type de jeu déjà existant dans des versions relativement sophistiquées, et je ne me sentais pas à la hauteur de faire ça (sans expérience). Envisager le méchant dans un contexte plus global, la différence entre bien et mal reste en partie à l'interprétation de chacun, je ne pensais pas avoir le temps de creuser la question pour trouver un sujet où l'à-priori serait unilatéral.

C'est en cessant d'y penser que j'ai remarqué les décorations de la ville. La fête de Noël est devenue une évidence.

Quoi de plus mauvais d'aller à l'encontre de bons sentiments, et de pourrir le plaisir naïf d'enfants découvrant leurs cadeaux aux matins de Noël. C'est à la fois cruel et superficiel. Un peu comme les Gremlins, c'est du mauvais côté, mais dans le fond, ils ne s'agit que des dégâts matériels.

Développement du game-play

Dès que j'ai trouvé ce synopsis (gâcher la fête de Noël), j'ai envisagé cet aspect Game&Watch. C'est une solution que j'avais déjà envisagé pour ses différents avantages : des graphismes sympathiques et relativement simples, une programmation sans complexités insurmontables (étant donné ma faible expérience). En même temps, je suis assez fan et collectionneur de ces jeux old-school.

L'idée du tapis roulant viens du G&W Mario Bros. où Mario et Luigi travaillent à l'empaquetage de bouteilles de vin. C'est ainsi qu'en fin de ligne il s'agisse de charger le traîneau. Mais le dispositif orignal (plusieurs tapis roulants dans des sens inversés) ne m'a pas semblé approprié, par manque de place. À ce moment là, j'imaginais au lieu de frapper les paquets de déranger les lutins sur une chaîne d'assemblage.

Je voulais absolument deux phases de jeu, et donc répartir l'action dans chaque écrans. À la manière de Zelda, où l'on alterne une phase plateforme et une phase de combat contre un boss.

Pour les contrôles, je me suis inspiré de Green House, où le personnage doit faire des allers-retours d'un écran à l'autre. Mais surtout du jeu Fire Attack (un de mes préférés), pour la phases de casse de paquets.

L'idée du Père Noël surveillant le défilement des paquets m'est venue en cours de codage, car il fallait bien quelque chose pour gêner le joueur. Je ne saurais dire ce qui m'a inspiré pour cet élément là. Ça explique peut-être la raison pour laquelle ce n'est pas entièrement aboutit dans le jeu que j'ai publié.

Réalisation

J'ai commencé par mettre en place le cadre visuel, afin de définir les dimensions des deux écrans. J'ai récupéré le design du Game&Watch sur le site npes.free.fr chose que je ne mentionne pas dans les crédits, puisque c'est moi qui l'ai réalisé et mis à disposition sur ce site l'an dernier.

Le positionnement des éléments étant une chose essentielle, j'ai vite compris qu'il fallait que je fixe au plus vite les éléments visuels définitifs. J'aime effectuer un travail rigoureux, et dans ce contexte j'ai mis un point d'honneur à ce que la trame des sprites soit cohérente avec la technologie LCD de l'époque. Ceci impliquant de ne pas superposer les sprites, ce qui m'a valu quelques feedback signalant la disparition de paquets brisés sur le tapis roulant. Dans les fait, ces endroits étaient déjà occupés par le sprite du marteau. Un paquet brisé n'ayant plus d'incidence sur le game-play, j'ai pris le parti qu'ils puissent sembler disparaître par endroit.

J'ai travaillé sur l'écran du bas jusqu'à dimanche vers midi. Le temps commençant à manquer, avec tout à faire pour l'écran du haut, j'ai pris le temps de lister toutes les choses essentielles qui restaient à faire. Ensuite je me suis attelé à réaliser les sprites pour l'écran du haut. Cela m'a demandé beaucoup plus de temps que prévu. À chaque heure, je révisais ma liste pour fixer les priorités, c'est à dire, ce qui me semblait indispensable au game-play.

Échéance

Il ne me restait plus qu'une heure, et deux choses indispensables à faire. La plupart des visuels pour l'écran du haut étaient prêts. J'ai dû choisir entre coder l'écran du haut, et coder un décompte des échecs et mettre en place un game-over. L'écran du haut m'a semblé prioritaire. Sans ça le jeu aurait semblé incomplet. Même si je reconnais que sans un game-over, il n'y a pas d'enjeu, j'avais mis tellement d'énergie à dessiner les sprites de l'écran du haut, que je ne pouvais envisager qu'ils ne soient pas intégrés à la publication du jeu. Avec du recul, je me dis qu'à ce moment là j'ai surestimé le travail nécessaire pour développer une condition de game-over. En même temps j'étais vraiment à bout de souffle, et j'ai préféré consacrer mon énergie à coder l'écran du haut, plutôt que de peser le pour et le contre, ou évaluer le temps nécessaire pour les développer.

Pages de mon sketch-book

sketch-1 sketch-2 sketch-3 sketch-4