Introduction
Pendant des années, j'ai adoré farmer dans les MMORPG. Pourtant, plus le temps passait, plus une question revenait : pourquoi fallait-il forcément passer des heures devant son écran pour ressentir le plaisir de progresser ?
Cette question est devenue Farental.
Après plus de deux ans de développement acharnés, Farental est enfin une réalité. Un projet qui est en fait la quatrième itération d’un concept qui me trotte dans la tête depuis longtemps. J’aimerais partager avec vous un résumé du projet et sa genèse. Une façon également pour moi de marquer d’une pierre blanche cet instant spécial.
Le concept
En juillet 2009 sortait Clodogame (https://fr.wikipedia.org/wiki/Clodogame), j’ai immédiatement accroché au concept. On lance son personnage faire une activité pendant plusieurs heures, pendant ce temps on fait d’autres choses et quand on revient, on récupère de l’argent pour améliorer son abri ou son sac pour amasser plus d’argent. Soyons honnêtes : le lore n'était pas son point fort. Mais ce qui me plaisait c’était la progression passive qui se faisait sans que j’ai besoin d’y passer du temps.
Ensuite, je suis de ceux qui ont passé un nombre incalculable d’heures sur les MMORPG. En particulier Dofus et World of Warcraft. Chacun a sa façon d’aborder ces jeux, mais personnellement, ça ne prend pas cinq minutes avant que j’ai envie de farmer telle ou telle chose pour me faire un maximum d’argent ou pour avoir telle ou telle récompense. Il m'arrive alors de passer trois ou quatre heures devant mon écran à répéter exactement la même action, simplement parce que j'aime voir les chiffres monter. Certains se reconnaîtront peut-être dans cette description.
En prenant de l’âge, je me suis rendu compte que le temps libre est devenu précieux. J’ai de la peine à ne pas voir que je perds mon temps en farmant dans les jeux, même si mon bonheur à voir mon total d’argent, ou mon XP augmenter est toujours le même qu’à l’époque. Ce qui crée une certaine frustration. J’ai donc repensé à Clodogame… Et si je pouvais farmer comme dans les MMORPG que j’aime tant, sans avoir à y passer tout mon temps. Bien sûr, d'autres jeux proposent déjà une forme de progression passive. Mais ils permettent presque toujours de payer pour aller plus vite.
Farental prend la direction inverse : tout le monde avance au même rythme.
C’est là toute la différence, il n’est pas question d’aller plus vite. Qu’importe le temps que cela prend, Farental ne vous vole pas votre temps.
L’univers
Le monde dans lequel se déroule votre aventure est lui aussi un projet à part entière. Un monde qui n’était pas destiné à être un jeu vidéo. Comme de nombreuses personnes, étant un grand fan de l’univers de J.R.R Tolkien (Seigneurs des Anneaux, Le Hobbit, …) j’ai toujours eu envie de me lancer dans l’exercice de création d’un univers original dans lequel je pourrais faire vivre des histoires indépendantes.
Je travaille sur l’univers de Farental depuis un certain nombre d’années, et il est encore loin d’être abouti. Vous en découvrirez un morceau infime dans cette première version du jeu. Mais je ne compte pas m’arrêter là. Il y a beaucoup de choses à raconter.
Des débuts difficiles
Comme annoncé dans l’introduction, Farental tel qu’il existe aujourd’hui est la quatrième itération de cette idée. Avant de découvrir le Go, je suis passé par plusieurs technologies. Il est important, je pense, de préciser que j’ai commencé à utiliser l’IA pour m’aider à coder qu’à partir de janvier 2026.
En 2022, j’ai d’abord voulu réaliser des versions 100% web, d’abord une tentative en PHP, sans framework, simplement comme on faisait les sites web dans les années 2000. Le projet était bien avancé mais avait de nombreux problèmes d’architecture et le développement n’était pas agréable pour moi.
Je suis ensuite passé par Java, malheureusement, je me suis très vite rendu compte que cela ne me plaisait pas. Cette version n’est pas allée très loin. Mais après chaque version, ma vision du projet évoluait et j’apprenais énormément.
C’est ensuite avec Django et Python que j’ai recommencé le projet. Malheureusement, j’ai abandonné cette version, la motivation n’y était plus et le développement web ne m’a jamais passionné. Je savais que je ne prenais pas le projet par le bon bout.
J’ai donc démarré le serveur API en Go le 17 juin 2024. J’étais très motivé car je n’étais pas censé travailler seul sur le projet. Quelqu’un avait trouvé l’idée intéressante et s’était proposé de s’occuper de faire une application front-end. J’avais donc enfin trouvé une façon de travailler que j’adorais. Je pouvais enfin me concentrer sur les mécaniques du jeu et les données. Je ne perdais pas de temps sur des futilités de front-end. Mais après presque une année de travail, j'ai dû accepter que cette collaboration n'aboutirait probablement jamais. Ce n'était pas une décision facile, mais j'ai choisi de terminer Farental seul.
C’est là qu’est arrivé mon travail sur le client. D’abord, un client desktop développé en Go avec Fyne. Mais rapidement, je me suis rendu compte que j’étais attiré de plus en plus par le terminal.
Pour les curieux, voici un petite évolution de la version du client Fyne à la version terminal :


Orvyn, Lokyn et le client TUI
Pour les non-initiés, TUI = Terminal User Interface. Depuis quelque temps, déjà au moment où je travaillais sur la version Django + Python, j’avais des vues sur la librairie Textual (https://textual.textualize.io/). Et cette curiosité s’est confirmée avec Go et BubbleTea (https://github.com/charmbracelet/bubbletea), je suis donc passé à l’acte et j’ai commencé à écrire mon client Farental avec BubbleTea.
J’ai travaillé dessus pendant plusieurs mois, et j’ai adoré ça. Malheureusement, la version que je créais était 100% statique, incapable de se redimensionner et il était difficile de créer du contenu avec des interfaces complexes. Je me souviens, c’était lorsque je travaillais sur l’éditeur des courriers :

C’est la première interface vraiment complexe du jeu que j’ai eu à créer. Je me suis non seulement heurté à la complexité de la gestion du focus mais avant tout, j’ai pris conscience que je ne pouvais pas continuer avec une interface statique qui ne se redimensionnait pas.
J’ai donc pris une décision très importante à ce moment-là et j’ai commencé le développement d’Orvyn (https://github.com/halsten-dev/orvyn). Toute l'expérience accumulée avec BubbleTea m'a permis de concevoir Orvyn beaucoup plus rapidement. J'y ai développé tous les outils dont j'avais besoin pour construire rapidement des interfaces complexes. Tout pour simplifier un maximum mon travail sur le client.
Ensuite, un autre challenge qu’il a fallu gérer, le multilinguisme. Farental étant disponible en 3 langues : français, allemand et anglais. Au même moment, Fyne sortait une mise à jour avec la gestion intégrée du multilinguisme. Ayant eu certaines mauvaises expériences avec certains standards de localisation, j’ai été subjugué par la simplicité de leur solution. J’ai donc extrait et adapté leur solution dans une librairie standalone : Lokyn (github.com/halsten-dev/lokyn).
J’ai pris également le temps de démarrer un outil TUI pour gérer les traductions d’un projet : Lokyn CLI (https://github.com/halsten-dev/lokyn-cli).
Le streaming et l’IA
Après tout ce chemin parcouru, seul et sans l'aide de l'IA, j'ai décidé qu'il était temps de montrer le projet au monde. J’ai donc créé ma chaîne Twitch (https://www.twitch.tv/halstendev).
Par la même occasion j’ai commencé à m’intéresser aux IA pour m’aider dans le développement de Farental. J'ai utilisé Claude principalement pour des tâches bien ciblées : plusieurs gros refactorings, la réécriture de l'éditeur de contenu que je n'avais plus envie de maintenir, ainsi qu'une partie du développement du site web.
Le streaming m'a permis de me concentrer sur le développement et de m'empêcher de procrastiner. C’est également toujours très plaisant de pouvoir récolter quelques avis pour faire avancer le projet dans la bonne direction ainsi que rester motivé.
À venir
Farental est disponible, c’est maintenant quelque chose que je vais pouvoir faire évoluer au fil de mises à jour. J'ai déjà beaucoup d'idées pour les prochaines mises à jour. La priorité sera toutefois d'ajouter davantage de contenu et de nouveaux objectifs, notamment des propriétés personnalisables et des hôtels de vente afin de faire vivre l'économie du jeu.
Conclusion
Farental est enfin disponible.
Mais j'ai surtout le sentiment que ce n'est que le début.
Pendant plus de deux ans, ce projet m'a appris bien plus que je ne l'imaginais. Il m'a fait progresser sur énormément d’aspects de ma passion qu’est le développement.
J'espère maintenant qu'il vous procurera autant de plaisir que j'en ai eu à le créer. J'ai hâte de découvrir jusqu'où cette aventure nous mènera.
Merci infiniment, et à bientôt.