20 January 2010

J’ai invité Clutter pour Noël

C’est maintenant une tradition établie pour les réveillons de Noël du côté de ma mère: on se rassemble tous pour un bon repas de mets traditionnels, on échange les cadeaux et on joue à un jeu. Mais pas n’importe quel jeu, un jeu fait maison créé pour cette occasion unique. Par exemple, ces 2 dernières années nous avons joué à une version de Serpent et échelles géante et une adaptation du Banquier.

Le jeu de Serpents et échelles de 2008 (notez que l'échelle fait 20 cm!)

Le jeu de Serpents et échelles de 2008 (notez que l'échelle fait 20 cm!)

Mais 2009 était une année spéciale, j’allais être l’hôte du réveillon. J’allais avoir à bâtir un jeu pour l’occasion. Ma mère est créative et aime bricoler mais ce n’est pas tant mon cas. J’ai donc décidé de créer un jeu à l’ordinateur. Noël de fortune était né.

Écran de démarrage du jeu

Écran de démarrage du jeu

Après consultation avec mon cohôte, nous avons établi les règles de base du jeu: ce serait un jeu avec tours où chaque joueur doit deviner une expression. Le joueur pourra nommer des lettres et elles seront révélées dans l’expression. Si la lettre n’est pas dans l’expression, il perd un point et c’est au prochain joueur de jouer. Le joueur peut également essayer de résoudre, mais s’il échoue il perdra 5 points. Chaque joueur a sa propre expression à deviner. Lorsqu’un joueur trouve son expression, il a droit à un cadeau. Il y aura 3 manches. Pour aider les joueurs, l’alphabet sera affiché en haut de l’écran et les lettres déjà nommées seront identifiées pendant la première manche, seulement les lettres nommées seront affichées pendant la 2e manche alors que rien ne sera affiché pour la dernière manche. C’est une augmentation du niveau de difficulté. Le joueur qui aura trouvé ses expressions avec le moins d’essais aura un cadeau supplémentaire à la fin du jeu. Ces règles vous rappellent peut-être La roue de fortune ou le bonhomme pendu.

Pendant le jeu

Pendant le jeu

Nous avons trouvé plus de 400 expressions pour le jeu afin que nous puissions prendre part au jeu avec toute la famille. Il y a eu 3 thèmes, un par manche: Noël, Chose à faire, Personnalités connues. Sans surprise, le premier thème a été très facile mais les 2 derniers plus difficiles.

Pour créer le jeu, j’ai décidé d’y aller avec Python puisque je voulais un langage de programmation avec des structures de base de haut niveau comme des ensembles, listes et dictionnaires. Ces dernières se sont avérées très utiles pour l’implémentation. Un jeu doit être excitant visuellement et puisque je m’y connais déjà en Clutter, ça aurait été un choix qui va de soi. Le graphisme est plutôt simple: tout est une image (à l’exception du texte!) qui est animée avec Clutter. Lorsqu’un joueur nomme une lettre, toutes les cartes sont animées comme si quelque chose passait sous elles et elles tournent si la lettre correspond. Un son magique est aussi entendu! S’il y a une erreur (lettre déjà nommée, lettre pas dans le mot), une boîte de dialogue s’affiche. Lorsque la manche est terminée, le pointage est affiché tel un diagramme à bandes qui s’affichent une à une (pour ajouter de la tension).

L'écran de solution

L'écran de solution

L'écran de solution erronée

L'écran de solution erronée

L'écran de pointage (données simulées ;-)

L'écran de pointage (données simulées ;-)

Cela m’aura pris bien au delà de 80 heures pour créer le jeu. En tout et partout, ça aura été un grand succès :) Nos invités l’ont trouvé original et la partie a duré des heures.

Gabriel explique les règles. Vous pouvez voir les cadeaux dans les bibliothèques.

Gabriel explique les règles. Vous pouvez voir les cadeaux dans les bibliothèques.

Je ne rendrai pas le code de ce jeu libre. Pour être franc, le code n’est pas exemplaire: c’était mon premier jeu, ma première application Python à partir de rien et à la fin, je ne faisais que corriger bêtement les bugs sans corriger les problèmes de fond. Mais bon, il fonctionne. Je suis sûr qu’il y a des applications fermées pire que ça.

La plupart des images proviennent d’images disponibles sous licence Creative Commons comme le fond d’écran. Malheureusement, j’ai mal fait mon travail et je n’ai pas gardé le nom de l’auteur ou le lien de la page où j’ai trouvé les bordures utilisées partout dans le jeu. Si vous le trouvez, je le lierai!

Ah! En passant, puisque ma mère avait beaucoup de temps libre (n’ayant pas à créer un jeu cette année), elle s’est investie dans l’emballage des cadeaux. Avez-vous déjà reçu un cadeau emballé comme une bûche de Noël? ou dans le tambourin de l’enfant au tambour? :)

Mon cadeau était emballé à la manière d'une bûche de Noël.  Je l'ai mérité pour avoir trouvé le mot Ragoût de boulettes.

Mon cadeau était emballé à la manière d'une bûche de Noël. Je l'ai mérité pour avoir trouvé le mot Ragoût de boulettes.

Comments are closed.