Quand on pense à un jeu idle mobile, on imagine souvent des pastels criards, des cookies qui s'accumulent ou des fermes ensoleillées. Cendrelune part dans la direction exactement opposée : un hameau gothique plongé dans les cendres, des bâtiments qui craquent sous le gel, des troupes envoyées dans des zones infestées de créatures. Un jeu de gestion idle pour iOS et Android, mais à l'atmosphère de Darkest Dungeon.

Ce devlog raconte la genèse du projet, les choix techniques et artistiques qui ont façonné Cendrelune, et ce qui rend ce type de jeu à la fois simple à prendre en main et profond à explorer.

L'idée : un idle game qui raconte quelque chose

La plupart des jeux idle reposent sur un fantasme de productivité : plus vous améliorez, plus vous produisez, plus vous achetez, à l'infini. C'est satisfaisant, mais rarement mémorable. L'idée derrière Cendrelune était d'ancrer cette boucle de progression dans un univers qui lui donne du sens.

Le hameau de Cendrelune n'est pas une ferme prospère — c'est un dernier refuge. Le feu de camp au centre est le cœur battant de tout : si vous l'abandonnez, tout s'éteint. Autour, chaque bâtiment débloqué représente un pas de plus vers la survie : une scierie pour les matériaux, une mine pour la pierre, une forge pour équiper vos troupes, un sanctuaire pour les soigner.

« Le mot est votre arme dans AbcDonjon ; dans Cendrelune, c'est votre hameau. Chaque pierre posée, chaque bâtiment amélioré, est un acte de résistance contre l'obscurité. »

Cette logique narrative simple donne un contexte à chaque décision de gestion. Vous n'améliorez pas la scierie pour avoir 10 % de bois de plus — vous la renforcez pour que vos troupes puissent construire des barricades avant la prochaine expédition.

La boucle de gameplay : idle, expéditions, combat

La production idle

Le cœur de Cendrelune repose sur une production de ressources en temps réel. Bois, pierre, fer, or — chaque bâtiment de production génère des ressources en continu, même quand l'application est fermée. C'est la promesse fondamentale du idle game : progresser même absent.

Le gain hors-ligne est calculé à partir d'un horodatage enregistré à chaque sauvegarde automatique (toutes les 15 secondes environ). À l'ouverture, le jeu compare l'heure actuelle à ce timestamp, calcule les ressources produites pendant l'absence et les distribue au joueur — avec un rapport « pendant votre absence » qui synthétise ce qui s'est passé.

Les expéditions et le combat PvE automatique

La production idle est nécessaire mais pas suffisante. Pour progresser dans les zones les plus difficiles et débloquer des ressources rares, il faut envoyer des troupes en expédition PvE. Le combat est entièrement automatique : le jeu calcule la puissance de vos unités (force × niveau) avec un modificateur aléatoire de ±15 %, la compare à la difficulté de la zone, et détermine l'issue.

Cette mécanique de combat auto est délibérément simple. Elle ne cherche pas à simuler un système tactique complexe — elle valorise la progression long terme : recruter de meilleures troupes, les équiper via la forge, choisir les bonnes zones selon la composition de votre armée.

Le recrutement et la forge

La caserne permet de recruter sept types d'unités : miliciens, archers, lanciers, cavaliers, chevaliers, béliers et flagellants. Chaque type a ses forces et faiblesses selon les zones. La forge, elle, permet d'améliorer les capacités offensives et défensives de chaque type de troupe via un système d'améliorations permanentes.

Cette couche stratégique — choisir quoi forger, quelles troupes recruter, quelle zone cibler — évite que le jeu ne devienne un simple clicker. Vous ne progressez pas juste en attendant : vous faites des choix.

Direction artistique : gravure ancienne et typographie gothique

La direction artistique de Cendrelune est inspirée des gravures médiévales — un trait épais, du grain, des ombres prononcées. Chaque illustration de bâtiment, d'ennemi et d'unité suit cette esthétique : on pense à des planches sorties d'un grimoire, pas à des sprites animés léchés.

Ce choix n'est pas anodin pour un jeu indie développé en solo. Une direction artistique cohérente et limitée — peu de couleurs, un style graphique clair — est plus réaliste à maintenir qu'un jeu qui cherche à rivaliser avec des studios de cinquante personnes sur la qualité des animations.

La typographie joue un rôle central : Cinzel pour les titres (majuscules serrées, empattement romain), EB Garamond pour les textes courants. Ces deux polices gratuites disponibles via Google Fonts donnent immédiatement une tonalité gothique-classique sans aucun asset custom.

Le fond sombre (#0d0f12), les accents ambrés (#c8900a) et les bordures subtiles créent une palette restreinte et cohérente. Moins c'est plus — surtout sur mobile, où l'écran est petit et les détails doivent être lisibles d'un coup d'œil.

Stack technique : Flutter et Riverpod

Cendrelune est développé en Flutter, le framework de Google pour créer des applications multiplateformes en Dart. Un seul code source compile nativement pour iOS et Android — un avantage décisif pour un développeur solo qui ne peut pas maintenir deux codebases parallèles.

Pourquoi Flutter pour un jeu idle ?

Flutter n'est pas un moteur de jeu. Pour un idle game comme Cendrelune, c'est précisément ce qu'il faut : pas besoin de physique, de particules complexes ou de moteur de rendu 3D. Les interfaces riches de Flutter — ses widgets déclaratifs, son système d'animation fluide et ses performances 60 fps sur mobile d'entrée de gamme — sont parfaitement adaptées à un jeu de gestion centré sur l'UI.

La gestion d'état repose sur Riverpod, une bibliothèque de state management réactive. Le GameController encapsule toute la logique de la boucle idle : la mise à jour des ressources, les déclenchements d'expéditions, l'évaluation des succès. Les widgets n'ont qu'à écouter les changements et se reconstruire.

La sauvegarde locale

Aucun compte, aucun serveur. La progression est sauvegardée en local via SharedPreferences, sérialisée en JSON. Cette décision volontaire simplifie radicalement l'architecture : pas de backend à maintenir, pas de synchronisation à gérer, pas de données personnelles collectées.

L'inconvénient est connu : une désinstallation efface la progression. Pour un jeu mobile idle où la session type dure quelques minutes, c'est un compromis acceptable — et clairement indiqué dans la politique de confidentialité.

La monétisation

Cendrelune utilise RevenueCat pour gérer ses achats in-app. Le modèle choisi est celui du contenu premium optionnel — pas de publicité, pas de pay-to-win, pas d'énergie qui se recharge. Le jeu est jouable intégralement sans dépenser, mais certains contenus avancés sont réservés aux joueurs qui souhaitent soutenir le développement.

Ce que j'ai appris en développant Cendrelune

Un jeu idle bien conçu doit être satisfaisant à chaque session, même courte. L'ouverture du jeu après une absence doit être un moment de récompense : voir les ressources accumulées, lire le rapport hors-ligne, planifier la prochaine amélioration. Si ce moment est frustrant ou vide, le joueur ne revient pas.

La cohérence artistique vaut plus que la quantité d'assets. Neuf bâtiments, douze ennemis, sept types d'unités — c'est peu. Mais avec une direction artistique cohérente et une palette restreinte, l'ensemble forme un univers crédible. Mieux vaut moins d'éléments parfaitement intégrés que beaucoup de contenus disparates.

Flutter tient ses promesses sur mobile. 60 fps, une seule codebase pour iOS et Android, des widgets riches et performants — pour un jeu de gestion, c'est le bon outil. La courbe d'apprentissage de Dart est douce pour qui vient de Kotlin ou Swift, et l'écosystème (Riverpod, go_router, shared_preferences) est mature.

La suite

Cendrelune est disponible dès maintenant sur iOS et Android. La version actuelle couvre la boucle complète : production idle, améliorations de bâtiments, recrutement, forge, expéditions, succès et gains hors-ligne.

Les prochaines mises à jour s'attacheront à enrichir le bestiaire, à ajouter de nouvelles zones et à approfondir la couche narrative — parce qu'un jeu idle gothique mérite un lore à la hauteur de son atmosphère.