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!)
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
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
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 erronée
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.
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.
Une nouvelle ressource en ligne pour la communauté de l’informatique libre du Québec est ouverte au public aujourd’hui: l’Agenda du libre du Québec. Ce site gratuit vise à rassembler en un seul point tous les évènements du Québec portant sur l’informatique libre: des InstallFest aux conférences, en passant par les Mapping Party d’OpenStreetMap.
Le site est très simple à utiliser. Dès l’arrivée sur le site, le visiteur voit les évènements du mois en cours dans un calendrier. Il peut ensuite le filtrer pour sa région administrative ou passer à un autre mois. Il ne verra alors que les événements pour sa région et les événements à portée nationale ou internationale ayant lieu au Québec.
L’Agenda du libre du Québec est aussi un service de calendrier en ligne. Les visiteurs peuvent exporter les événements vers leur application de calendrier favorite (via l’un des fils WebCal) ou leur application de nouvelles (via l’un des fils RSS).
Le contenu de l’Agenda est contribué par la communauté et est modéré selon les règles suivantes: les événements doivent porter sur un projet libre (c’est-à-dire avec une license acceptée par l’Open Source Initiative ou Creative Commons). Le contenu de l’Agenda grandira au fur et à mesure où les événements y seront ajoutés par les membres actifs de la communauté.
L’Agenda du libre du Québec est une réimplémentation légitime de L’Agenda du Libre (France). Comme cette dernière, le code source, le texte et le design de la version québécoise est entièrement disponible, en faisait un exemple de logiciel libre.
Ces dernières semaines, j’ai travaillé sur un dépôt pour greffons (très fortement inspiré de celui d’EOG) pour les greffons de tierces parties pour Emerillon. Il y a présentement 4 de ces greffons en cours de réalisation et ils ne devraient pas tous faire parti du paquetage d’Emerillon. C’est pourquoi il y a maintenant emerillon-plugins.
Ce dernier compte un greffon. Ce greffon en est un qui sera très utile aux Montréalais: il affiche l’état du réseau Bixi. Bixi c’est le réseau de vélo en libre-service de Montréal. Son design est si bon — le réseau de vélo, pas le greffon — qu’il sera bientôt disponible à Londres (Angleterre) et Boston (États-Unis).
Le greffon est très simple: une liste déroulante vous donne l’option de visualiser les vélos disponibles ou les points d’ancrage libres. La carte est immédiatement mise-à-jour pour afficher la nouvelle information. La taille des points sur la carte change en fonction du nombre de vélo ou de points d’ancrage. L’information est téléchargée depuis les serveurs de bixi à toutes les 5 minutes.
Après toutes les vérifications légales, ce greffon est maintenant librement disponible pour tous. Il sert de très bon exemple de ce que vous pouvez faire avec Emerillon et libchamplain. C’est à ma connaissance le seul code qui existe qui sous-classe ChamplainMarker afin d’implémenter un rendu unique.
Avis: ce greffon a été développé de manière indépendante par Solutions Novopia et n’est pas lié, supporté ou approuvé par Bixi, l’opérateur du système de vélo en libre-service de Montréal. Bixi est une marque de commerce déposée de la Société de vélo en libre-service.
Si vous êtes à Montréal ce week-end, arrêtez dire bonjour au pavillon principal de l’École de technologie supérieure et participez au Ubuntu Global Jam 2009! Ça m’étonne un peu que ce soit à l’ÉTS, mon ancienne université, considérant l’absence totale d’intérêt pour le logiciel libre qu’il y avait. Je crois que c’est un bon signe que les choses changent!
Ce sera ma première conf Ubuntu ou même locale. Ça peut sembler étrange, mais je connais plus de contributeurs au logiciel libre en Europe qu’à Montréal. Et ce n’est pas parce qu’il y en a pas, c’est seulement que j’ai eu la chance de participer à des conférences à saveur plus internationale ces dernières années. Pour faire changement, je vais donner un tutoriel sur comment contribuer au projet OpenStreetMap avec Ubuntu (ou toute autre bonne distribution GNU/Linux hehe) vers 14h samedi le 3 octobre.
Au plaisir de vous y voir!
J’ai déjà été un très grand utilisateur de Gimp et Inkscape. J’utilise encore ces applications à chaque semaines lorsque j’ai besoin de dessiner ou retoucher mes photos. Les contributeurs de ces logiciels libres se réunissent à Montréal dans quelques semaines, il est donc normal pour moi de contribuer à leur campagne de financement!
Faites de même! (via Paypal)
Puisque j’ai 5 heures à perdre à Londres Heatrow, je peux bien en profiter pour me présenter.
Je m’appelle Pierre-Luc Beaudoin et de toute évidence je viens d’être ajouté à Planet GNOME (quoi que cela fait déjà quelques mois que je suis sur Planet GNOME-fr). Je suis développeur logiciel chez Collabora, au bureau de Montréal, où j’ai touché à WebKitGtk, QtWebKit et Telepathy/Empathy. Je consacre le plus clair de mon temps libre à mon projet personnel: libchamplain - un widget Gtk+ pour afficher des cartes (qui dépends présentement de Clutter pour les effets visuels). J’espère que ce projet sera bien accueilli par la communauté, comme un ajout intéressant au bureau, puisque je pense qu’il comble un besoin spécifique qui a peu été approché récemment.
Mes passe-temps sont d’améliorer la carte d’OpenStreetMap, la photo, voyager, collectionner les petits drapeaux des pays que j’ai visité et apprendre l’allemand.
J’étais à linux.conf.au, et je serai à FOSDEM 2009 dans quelques semaines. Venez voir ma présentation “Bringing geolocation into GNOME” en grand nombre!
Voilà, je suis arrivé à Helsinki, où j’habiterai pour les 90 prochains jours — mis à part quelques voyages à l’étranger — pour travailler dans les bureaux d’un client. Cette expérience de la vie à l’européenne devrait être des plus intéressantes, malgré le manque de soleil.
Alors, je suis ici avec 2 autres collègues de Collabora et Christine, la blonde de Dafydd passera le premier mois avec nous. Collabora nous a trouvé un très bel appartement pas trop loin du bureau et tout droit au centre-ville. Le grand appartement contient 3 chambres, une cuisine toute équipée et un sauna. Eh oui, le sauna est une pièce très populaire qu’on retrouve même dans tout bon hôtel finlandais. L’appartement est très organisé: l’égoutoire à vaiselle est intrégré aux armoires, le frigo compact est encastré, les plaques de cuissons s’allument rapidement et tout et tout.
Le voyage a été pénible, l’avion est parti 2h en retard de Montréal, ce qui fait que j’ai raté l’autre avion que je devais prendre à Londres. Je suis donc arrivé 4h plus tard à Helsinki. Y’a aussi eu des complications avec les bagages, parce que Air Canada et Finnair ont pas d’ententes donc, il a fallu que je récupère mes bagages à Londres (ce qu’on n’a normalement pas à faire). En plus, j’ai pas beaucoup dormi, ce qui me donne des symptômes de rhume. Bref, pas trop le fun. Sans parler que le système de divertissement à bord a dû être redémarré 2 fois. Sans compter que la bouffe (sur Air Canada et Finnair) m’ont vraiment fait regretter British Airways ou Air France.
Rendu ici, le taxi qui était supposé nous ramasser avec les clefs de l’appartement ne s’est pas présenté. Après avoir fait plusieurs appels, on a réussi à rejoindre la compagnie qui a envoyé quelqu’un presto. J’ai quand même dû attendre 1h à l’aéroport, mais Alban et Dafyd ont attendus 3h!
Le premier jour de travail c’est bien déroulé, quoi que peu chargé, comme tout premier jour de travail! Mardi était un jour de congé national, donc congé pour nous aussi! Même si on se lève à 8h30 pour aller travailler à 10h00, on se réveille avant le Soleil! Le soleil se couche à 15h30, donc bien avant qu’on quitte le bureau. Présentement, il est 9h05 et il fait clair comme s’il était 5h du matin à Montréal. Note à moi-même: acheter une minuterie pour allumer la lampe de ma chambre avant mon réveil-matin.
Pour terminer, j’ai fait une grosse indigestion avec le poisson que j’ai mangé à la cafétéria du bureau. Comme je suis le seul a avoir été malade après l’avoir mangé, c’est sûrement pas un empoissonnement alimentaire. C’est possiblement une bactérie qu’il y a ici que mon corps connaissait pas. En tout cas, heureusement que je ne travaillais pas mardi car jai passé un mauvais quart d’heure! Mais ce matin, tout va bien, je vais recommencer à manger normalement. Je me suis acheté des probiotiques chez l’Apothiike (la pharmacie en finlandais, c’est presque le même nom qu’en allemand qui fait penser à Apothicare, mais c’est bien le seul mot qui ressemble à quoi que ce soit!).
Restez brancher pour plus de nouvelles!
C’est une publicité que l’on peut voir dans le métro montréalais depuis quelques semaines, mais je n’ai remarqué que tout récemment que ce sont des hackergotchis (comme sur planet.gnome.org).
C’est comique de voir des éléments de la culture geek dans la vie de tous les jours!
I did miss my anniversary too, but only by 2 days :) On November 12 last year, I joined Collabora in the Montréal office. It has been a very interesting year. While there is half a ton of things I can’t discuss here, I can talk about why I like being at Collabora
While my task did change a lot during the last year, the nature of my job didn’t. I am still writing Open Source software. Everything I do is available to the public and licensed in a proper way. This is a very important aspect of my job and I like it. But how do they make money, you ask? By finding and convincing customers that contributing to open source software is for their best.
With Collabora, I was able to travel across Western Europe (and more very soon) and meeting really interesting people. If I had stayed at my previous job, I’d never have been to FOSDEM, GUADEC, the Maemo Summit and more. This is one very important advantage of working for Collabora.
I was also offered chances I wouldn’t have everywhere like presenting at conferences and working on big projects. This all makes me very glad of my decision 12 months ago, but most of all, I’m very happy to work with such a great team.