Murudenu Tavern est disponible sur l'App Store et sur Google Play. C'est mon troisième jeu, après AbcDonjon et Cendrelune, et c'est celui qui a changé le plus de fois de forme avant de sortir. Il s'est appelé L'Auberge de Murudenu, puis Murudenu, avant de prendre son nom de fiche. Il a surtout changé de genre en chemin.

Voici ce qu'est le jeu, d'où il vient, et ce que ces quelques semaines m'ont appris.

Le jeu : tenir la salle

Murudenu est un village à couteaux tirés, et toute la population boit chez vous. Chaque soirée, la porte s'ouvre et les clients s'assoient d'eux-mêmes. Ils montrent ce qu'ils veulent ; vous touchez la bonne bouteille au comptoir, le verre se remplit, vous le faites glisser jusqu'à eux avant que leur patience tombe. Trop lent, ils claquent la porte. Trois portes claquées, et la soirée est perdue.

Par-dessus cette boucle, il y a la politique du village. Quatre camps se partagent la salle et ne se supportent pas : assis côte à côte, deux rivaux allument une mèche, et il faut traîner l'un des deux vers une place plus loin avant que ça cogne. Servir vite est la moitié du métier. L'autre moitié, c'est savoir qui asseoir loin de qui.

Toutes les dix soirées, un habitué prend le comptoir en boss, avec sa propre règle. Halm passe toujours en premier. La commande de Mira disparaît dès qu'elle est prononcée. Frederik remplit la salle trois par trois. Bruse éclabousse chaque verre. Escaut change d'avis en pleine commande. Vess se tait, et s'impatiente. Entre deux soirées, la bourse se dépense à la boutique : un siège de plus, une enseigne repeinte, une cave rangée, puis trois employés — un serveur, un videur, un plongeur.

La campagne compte soixante soirées et six boss. Après la dernière, la porte rouvre et les soirées continuent, avec les habitués revenus s'asseoir en clients ordinaires.

D'où il vient : A Matter of Choice, vu du comptoir

Murudenu n'est pas un monde neuf. C'est le village d'A Matter of Choice, mon premier jeu, avec sa timeline et ses factions. Ce qui change, c'est le point de vue : au lieu de traverser l'histoire, on la regarde depuis le comptoir, dans la peau de l'aubergiste — celui avec qui tout le monde doit composer et que personne n'écoute.

Le premier prototype ne ressemblait pas du tout à ce qui est sorti. C'était un jeu de gestion narratif, lent, où l'on arbitrait entre les factions : servir ne faisait bouger aucune jauge, tout se décidait la nuit, en réputation gagnée chez les uns et perdue chez les autres. Il était riche, et il ne tenait pas dans une main, dans une file d'attente, entre deux arrêts.

J'ai reconstruit le cœur en boucle d'arcade à un pouce, et j'ai gardé ce qui comptait : le village, les camps, les visages. La profondeur narrative est toujours là, dans le monde et les personnages — elle ne demande simplement plus au joueur de lire.

« Le prototype était plus riche. Le jeu qui est sorti tient dans un pouce. C'est ce second-là qu'on lance dans une file d'attente. »

Cinq semaines, de premier commit à la sortie

Le premier commit Flutter date du 15 août : le portage du prototype, la sauvegarde et le paywall, le même jour. La version 1.0.0 est partie le 11 septembre. Entre les deux, un peu plus de trois cents commits, une application d'environ dix mille lignes de Dart et vingt-six fichiers de test.

La pile technique est celle que je connais : Flutter pour iOS et Android depuis une seule base de code, Riverpod pour l'état, go_router pour la navigation. Deux choix sont propres à ce projet.

Le premier : le code est nommé en français. ClientEnSalle, SimulationDeSoiree, RoleDEmploye. Mes deux premiers jeux sont nommés en anglais ; celui-ci parle la langue de son univers, jusque dans ses clés de traduction.

Le second : la soirée est une simulation en Dart pur, indépendante des widgets. C'est ce qui m'a permis d'écrire un bot qui joue au jeu — un joueur attentif qui enchaîne les soixante soirées et mesure combien de temps chacune dure, où l'on tombe, quand la boutique se vide. J'en ai détaillé les chiffres dans l'article sur la durée d'une partie : autour d'une minute par soirée. La courbe de difficulté est figée dans des tests, si bien qu'un réglage qui la casse fait échouer la compilation. Équilibrer soixante soirées à la main aurait été impossible ; je l'avais déjà appris sur les deux jeux précédents.

Et, différence notable avec AbcDonjon et Cendrelune : Murudenu Tavern a du son. Dix effets sur les gestes — le verre posé, la porte qui claque, la mèche, la bagarre, le torchon — et deux ambiances en boucle, une pour la salle ordinaire, une pour les soirs de boss.

Dix langues dès le premier jour

Le jeu sort en dix langues : français, anglais, allemand, espagnol, italien, portugais, russe, japonais, coréen et chinois. Le français est la langue source, embarquée dans le code ; les neuf autres sont des fichiers à part, et un test vérifie qu'aucune clé ne manque d'une langue à l'autre.

Travailler seul, c'est aussi ne pas pouvoir remplir dix fiches de store à la main. De petits scripts poussent la description, les captures et les notes de version vers App Store Connect dans les dix langues, et d'autres composent les visuels des stores. Le jour de la 1.0.2, les notes de version sont parties dans les dix langues sur les deux stores sans que j'ouvre une seule fois la console langue par langue.

Le modèle : sept soirées, puis un seul achat

Les sept premières soirées sont gratuites : le tutoriel, les premiers rivaux, la boutique — de quoi savoir si la boucle vous tient. Un achat unique débloque ensuite tout le reste, pour toujours. Pas de publicité, pas d'abonnement, pas de monnaie premium.

C'est le modèle que je défends depuis le début sur mes jeux sans publicité, et il colle particulièrement à ce genre-là : un jeu de service demande toute votre attention, et une publicité casserait exactement ce qui le fait marcher. La campagne a une fin ; la payer une fois est honnête.

L'achat passe par RevenueCat, avec un seul droit valable sur les deux stores. Le dernier droit connu est gardé sur l'appareil, pour qu'un joueur qui a payé ne soit jamais bloqué dans le métro ; RevenueCat corrige dès que le réseau répond.

La relecture d'Apple, et la leçon qui va avec

La première soumission a été refusée : la personne chargée de la relecture ne trouvait pas l'achat intégré. Normal — le paywall n'apparaissait qu'à la huitième soirée. J'ai ajouté un bouton clair « version complète » sur l'écran d'accueil, qui permet d'acheter ou de restaurer à tout moment et disparaît une fois l'achat fait.

C'est la leçon la plus concrète de cette sortie : mettre l'achat là où les gens regardent vraiment. Les relecteurs d'Apple, mais aussi les joueurs, qui n'ont pas à attendre la huitième soirée pour savoir ce qu'ils paieraient.

Et maintenant

Le jeu est en ligne sur les deux stores, et la 1.0.2 vient de partir. Pour la suite, j'ai quelques pistes, rien de promis : un second cycle de boss qui combineraient deux règles à la fois, un record personnel par soirée puis un classement, et un lissage du milieu de campagne, là où le rapport du bot montre la courbe qui s'aplatit.

Si vous y jouez, dites-moi où vous êtes tombés. Le Discord est l'endroit où ça se raconte — et c'est là que les prochaines soirées se décideront.