Pendant tout le mois décembre et pour finir l’année en beauté, Chronic’art vous invite à une rencontre vidéo ludique du troisième type avec les développeurs open sourcistes de la grosse sensation underground et RPG de 2009, « Dungeon crawl : Stone soup ». Première partie d’un entretien choral et work in progress.
Ils sont une dizaine, étudiants en mathématiques ou en biologie, ils vivent aux Etats-Unis ou en Finlande, en Israël ou en Allemagne, et ensemble développent un projet sur internet. Pourtant ils n’ont rien de jeunes loups du web 2.0. Ensemble ils travaillent sur un jeu vidéo héritier direct de la préhistoire d’internet, un rogue-like. En 1980, à l’université de Berkeley, une bande de proto-geeks, Ken Arnold, Michael Toy et Glenn Wichman donnent naissance à Rogue, un jeu absolument révolutionnaire pour l’époque, proposant d’explorer des donjons générés aléatoirement avec de splendides graphismes en ASCII (utilisant le jeu des caractères typographiques). Distribué avec une version du système d’exploitation UNIX, Rogue se répand comme une trainée de poudre chez les étudiants en informatique du monde entier. De NetHack à Angband, en passant par ADOM et Elona, le genre a connu une belle postérité dans le monde de l’open source, mais aussi des dérivés commerciaux, depuis les Mystery dungeon de Chunsoft (Shiren the wanderer) jusqu’à… Diablo qui n’est guère qu’une adaptation du genre au temps réel, avec évidemment tout le poli des jeux Blizzard.
Près de 30 ans plus tard, les développeurs de Dungeon crawl : Stone soup (à télécharger gratuitement ici, en notant que la version graphique, plus accessible, est nommée tiles), sont les héritiers les plus en vue du genre. Crawl est né en 1995 des efforts de Linley Henzell, un étudiant australien, qui s’inspire d’Angband et NetHack tout en les améliorant, et dirige le projet jusqu’en 1999 avant de passer la main à la communauté. Le développement se poursuit depuis sous la licence GPL, qui impose que le code reste accessible à tout le monde. C’est en 2006 que se forme une branche de développement nommée Stone soup, lancée par Darshan Shaligram et Erik Piper. Aujourd’hui, Stone soup en est à sa version 0.52, et le développement se poursuit à un bon rythme, tandis que le jeu gagne des adeptes (plus de 15.000 téléchargements pour la dernière version).
Rien de surprenant, puisque Stone soup est peut-être ce qui se fait de mieux dans le genre. D’abord par son accessibilité, en supportant notamment une interface graphique rustique mais non dénuée de charme, avec ses graphismes minimalistes, qui rappellent la NES, et surtout suffisamment confortables pour ne pas rebuter le curieux, d’autant plus que la souris est supportée. Mais ce n’est évidemment pas pour le bonbon oculaire qu’on se jette sur un obscur programme open source. Avec des années de test et d’itérations, la participation de joueurs exigeants et de développeurs dévoués, Stone soup est surtout un jeu extrêmement accrocheur, au gameplay aussi riche que balancé, proposant un luxe de niveaux, de loots, d’ennemis sans jamais perdre sa solidité. A la finesse du combat tactique au tour par tour qui caractérise le genre, Stone soup ajoute une large palette de choix. Selon le type de personnage, les règles et l’équilibre du jeu seront profondément modifiés tout en restant solides comme le roc. Evidemment, le jeu est dur comme le diamant, la moindre erreur ne pardonne pas, d’autant plus que la mort est forcément définitive. Et le dieu des aventuriers sait qu’entre les trolls féroces, les serpents virulents et les sorciers déchaînés, la mort attend à chaque tournant du dédale… Le jeu n’en reste pas moins prenant, que ce soit pour essayer une nouvelle espèce de personnage ou pour aller un petit peu plus profond dans le donjon, difficile de le lâcher une fois qu’on a mis la main dessus. Stone soup, qui tourne sur à peu près tout ce qui ressemble de près ou de loin à un ordinateur personnel, squattera vos disques durs des années durant.
A grand coup de forward to all, nous nous sommes longuement entretenu par mail avec Johanna Ploog, Eino Keskitalo et Haran Pilpel, trois des développeurs derrière le jeu gratuit le plus prenant au monde, remède magique à la productivité des travailleurs de l’ère numérique.
Développer un jeu open source
Chronic’art : Pouvez-vous nous décrire le fonctionnement de l’équipe ? Beaucoup de nos lecteurs ne savent pas comment fonctionne un projet open source. Combien êtes-vous ? Il y a-t-il une hiérarchie, une division des tâches ?
Haran : Stone soup est un cas un peu spécial, puisque nous avons un développeur qui ne code pas (David Ploog; auparavant Erik Piper), mais il n’y a pas de réelle division des tâches – tout le monde est libre de travailler sur ce qui lui chante, mais chacun d’entre nous a ses préférences.
Eino : En fait j’ai été invité dans l’équipe pour mener des tâches bien précises : tester la version Windows, gérer les demandes des utilisateurs… Je suis content de ce rôle, mais ça ne m’empêche pas de contribuer au code et aux graphismes – ce n’était pas prévu à la base, mais on avait besoin de monde dans ces domaines.
Johanna : Je savais bien qu’on avait une raison de t’inviter.
Haran : On a aussi des patchs de l’extérieur, venant des joueurs, qui ajoutent des données où contribuent au code.
Johanna : Actuellement, on a environ huit ou dix développeurs, mais la majorité d’entre eux n’a pas beaucoup de temps à consacrer à Crawl pour le moment. Du coup, on a pris la décision de laisser beaucoup de modifications intéressantes mais pas indispensables à ces programmeurs externes, qui en plus nous filent des coups de main quand on rencontre des soucis. On peut même dire qu’à long terme c’est un investissement dans de futurs membres de l’équipe de développement.
Eino : En fait, le développement ne se limite pas du tout à l’équipe, mais concerne une communauté plus vaste qui s’est formée autour du jeu. Beaucoup de ces patcheurs choisissent une fonctionnalité qu’ils aiment, dont l’équipe a discuté, qui a été réfléchie, mais qu’aucun d’entre nous n’a eu le temps d’implémenter. Par exemple, ça fait des mois qu’on parlait d’un monstre, le kraken, une gigantesque pieuvre avec des tentacules indépendants… Il n’y a pas très longtemps, un membre de la communauté extérieur à l’équipe a fini par le programmer. C’était un vrai bonheur de voir enfin ces tentacules s’agiter, et évidemment ça donne envie de poursuivre de notre côté.
Vous vous êtes déjà rencontrés dans la vraie vie ?
Haran : Non, je n’ai jamais rencontré les membres de l’équipe, mais c’est parce que j’ai manqué l’IRDC (International Rogue-like Development Conference) à Berlin. J’aimerais vraiment rencontrer les autres !
Johanna : Et cette année, à l’IRDC de novembre ? J’y serai !
Comment gérez-vous les conflits ? Il doit y en avoir, c’est inévitable, non ?
Haran : Les conflits sont relativement rares ; au niveau du gameplay, la plupart du temps, les décisions controversées sont discutées et finissent par être approuvées plus ou moins à l’unanimité. Pour le code, on a des standards relativement tranquilles, même si on se relit les uns les autres, comme toujours quand un code est public.
Johanna : Toutes les modifications du code passent sur une mailing-list, si bien que tout le monde peut voir ce qui se fait. Si quelqu’un a un avis différent, il peut entamer une discussion. Parfois ça chauffe un peu, mais la plupart du temps on finit par trouver un compromis.
Eino : Pour le gameplay, le risque c’est la dilution par le consensus, ou l’effet « création par comité ». Les changements de gameplay, s’ils sont majeurs, risquent de ne pas plaire à tout le monde. Durant le projet Stone soup, un bon nombre de possibilités et de contenus (par exemple des classes et des races de personnages) ont été coupés, et ça cause souvent des controverses, notamment avec les joueurs. Heureusement, dans le manuel nous avons une section consacrée à la philosophie du jeu, que David Ploog a écrite, et qui nous aide souvent pour prendre des décisions.
Est-ce que pour vous le développement open source est quelque chose de politique ? Un refus de l’avidité par exemple, ou bien ce n’est qu’une manière pratique de partager un loisir ?
Haran : Je suis utilitariste. L’open source est la solution la plus simple, la moins onéreuse, la plus rapide et la plus effective pour mener à bien le projet, du coup c’est celle que nous utilisons. Enfin c’est mon point de vue. Crawl est un loisir. Dans ma philosophie, le développement clos a sa place, pour des projets commerciaux; mais tout n’est pas commercial. Je pense que donner de son temps pour que les gens s’amusent est une chose morale; c’est une des nombreuses raisons qui me font travailler sur Crawl.
Eino : Il y a une différence entre le free software et l’open source; ils reviennent plus ou moins au même dans les faits, mais si le premier utilise des arguments politiques, le second se base sur des raisons pratiques. Pour moi, les deux points de vue sont valables. Dans notre cas, nous sommes dépendants du choix de Linley, qui a choisi une licence GPL obligeant à garder tout le développement sur Crawl open source. En fait je suppose que les gens qui veulent bosser sur Crawl sont avant tout des fans du jeu, plutôt que des développeurs open source qui cherchent à coder sur un bon petit projet vidéo ludique. A vrai dire, vu l’état de l’industrie du jeu vidéo, travailler sur un bon jeu gratuit qui semble voler des heures et des heures à ses joueurs – alors qu’ils pourraient jouer et surtout acheter des jeux commerciaux… c’est totalement immoral ce qu’on fait ! Je blague évidemment, pour le moment on n’est pas encore tout à fait concurrents de World of Warcraft.
Johanna : Je répondrai comme Haran, ce qui compte pour moi c’est le côté pratique. Je ne pense pas être capable de créer un jeu toute seule, mais j’adore programmer, et j’adore les jeux vidéo, alors c’est un choix évident de travailler sur un projet open source. Au début, de toutes façons, j’aimais le jeu et j’avais envie d’y contribuer, ce qui n’aurait pas été possible si mon jeu favori avait été en source close.
J’ai lu une estimation du prix de revient de DC : SS si le projet avait été professionnel : de l’ordre de 5 millions de dollars. Ca vous semble correct ? Vous ne regrettez pas d’avoir donné gratuitement tout ce difficile travail ? Avez-vous l’impression que vos efforts sont suffisamment reconnus ?
Haran : Ca me semble une estimation très élevée. Evidemment, une partie du travail a été fait avant nous par Linley. En pratique, je pense que j’ai dû consacrer à Crawl l’équivalent de plusieurs mois de travail (étalés sur une période plus longue, évidemment). Même en multipliant par le nombre de développeurs, je ne pense pas qu’on arrive à un budget à 7 chiffres… Et puis il ne s’agit pas de « donner gratuitement » un « travail difficile », pas plus que les gens qui jouent au basket en bas de la rue ne « donnent » de leur temps ; si je bosse sur Crawl, c’est parce que ça m’amuse. Au départ, j’ai commencé à coder sur Crawl pour corriger des petits détails qui m’ennuyaient en temps que joueur, et puis de fil en aiguille… Il y a deux bonus : d’abord, mon travail est reconnu. On m’a déjà dit « Oh, tu es un des développeurs de DCSS ! Crawl c’est cool ! » et ça fait du bien. Et on reçoit de temps en temps du courrier de fans, les gens nous disent qu’ils adorent Crawl, en tout cas ils le font souvent lorsqu’ils nous signalent des bugs pour ne pas qu’on se sente trop coupables. Ensuite, je profite de l’expérience. J’ai appris des tas de choses en programmation ; comment bosser sur un projet collectif ; comment écouter les utilisateurs… Mon rôle de développeur sur Stone soup est en bonne place sur mon CV. Pour ne pas décourager les idéalistes, il faut que je précise que je n’avais aucune idée de ces bénéfices quand j’ai commencé à coder sur le projet.
Eino : Oh oui, l’expérience est utile – c’est peut-être ce que j’ai fait de plus utile pour mes études ces dernières années. J’étudie l’informatique à l’université d’Oulu en Finlande, et j’essaye de décrocher une licence, je rédige un mémoire consacré à la création de jeux en open source, et c’est évidemment le travail sur Stone soup qui m’a inspiré… Et puis c’est tout bonnement fascinant de travailler sur un jeu que j’aime… J’adore quand les joueurs me parlent des niveaux que j’ai créés pour le jeu.
Johanna : C’est pareil pour moi. Oh bien sûr, on fait des exercices de programmation à la fac, mais ce n’est pas comparable à un projet de l’ampleur de Stone soup. J’étais un peu embarrassée à propos de mon hobby, je me disais « ce n’est qu’un jeu vidéo », mais à présent j’ai réalisé à quel point j’avais appris de ce projet… La question de savoir combien d’argent pourrait rapporter un jeu commercial comparable me traverse l’esprit de temps à autre, mais ce n’est jamais qu’une conjecture. Je ne pense pas que ce serait aussi fun si j’étais payée pour Crawl. De toutes façons, je ne pense pas qu’on en soit à des millions de dollars… Encore que, si on considérait tous les testeurs qu’il faudrait payer… En tout cas, en ce qui concerne la reconnaissance, c’est génial de savoir que Stone soup a des milliers de joueurs, et à chaque fois que je reçois un mail ou que je lis un forum plein de réactions positives, ça me rend joyeuse ! Recevoir une paye à la fin du mois me faciliterait la vie me ce ne serait certainement pas la même chose…
A suivre…
La semaine prochaine, deuxième partie de notre entretien fleuve : C’est quoi être old school ?
Propos recueillis par
Dungeon crawl : Stone soup – PC
A télécharger gratuitement ici
Lire la deuxième et la troisième. parties de notre entretien