Idle Fantasy is an offline RPG that trains your hero while the app is closed
Fantasy Inspired Idle Skilling Game
At a glance
- What is it?
- Idle Fantasy is a GPL-3.0 licensed Kotlin Android game with 23 skills, 37 dungeons, raid bosses, an endless tower and a guild system, and it needs no internet connection, no account and no ads. Progress is computed from elapsed time, with a background AlarmManager doing the work while the app is shut.
- Who is it for?
- Adopt Idle Fantasy if you want an idle RPG that works with no network, no account and no ad SDK, and if you are comfortable playing on F-Droid or sideloading an APK. Skip it if you want cloud saves or a live service, since nothing in the project is server-backed.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly Kotlin, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The core loop, and what happens when the app is closed
The pitch in the README is one line: set your hero to work, close the app, come back to loot. The game is described as a free, open-source offline idle RPG for Android with no internet connection, no account and no ads. The mechanics section says to pick a skill or dungeon, start a session, then put the phone down, and that the hero keeps training for up to an hour while the app is closed. When you return you collect XP and loot and send them back out. The absence of a stamina bar and an energy system is called out explicitly, along with the absence of any pressure to stay in the app. That is the design decision that shapes everything else: progress is a function of elapsed time rather than of taps, so the game never wants your attention while it is running.
Twenty-three skills across four categories
The skill list is the largest single system in the game, and it is organised into four groups. Gathering has five, Mining, Fishing, Woodcutting, Farming and Thieving. Crafting has eight, Smithing, Cooking, Fletching, Crafting, Firemaking, Runecrafting, Herblore and Construction. Support has three, Prayer, Mercantile and Agility. Combat has seven, Slayer, Attack, Strength, Defense, Ranged, Magic and Hitpoints. The relationships between them are what make the progression interesting rather than a set of parallel number bars. Better equipment means faster gathering and surviving tougher dungeons, so combat skills feed gathering speed. Mercantile levels through trade routes and opens up better prices, which is a self-contained economic skill rather than a combat one. Slayer tasks come from the Slayer Master in town and are completed by fighting specific enemies in dungeons, so that skill only advances through play rather than through a separate activity. At level 99 a skill can be prestiged, resetting it to level 1 in exchange for prestige points, and those points buy permanent upgrades in that skill's tree, including bonuses exclusive to your character's race.
Dungeons, raid bosses and the endless tower
Combat happens in 37 dungeons, running from the starter Farm to late-game Fortress Ruins and beyond, each with its own enemy roster, difficulty rating and potential drops. The game tells you before you enter how your current gear stacks up, which is a courtesy that costs little and saves a wasted run. You pick Melee, Ranged or Magic, and each style levels its own combat skills. Some foes are beyond a single hero, and that is what raid bosses are for. They spread their attacks across your whole party, so you hire up to three mercenaries from the daily rotating camp to soak damage and deal it back, with contracts lasting until the next daily reset and a live combat view showing every party member's health while the fight runs. The Infinite Tower is the endgame treadmill. It is an endless combat gauntlet climbed one floor at a time, where enemies grow tougher the higher you go and every 10 floors awards a milestone reward, ranging from unique gear to permanent XP and coin bonuses. Expeditions sit apart from all of this, being non-combat skilling dungeons where you uncover lore notes, and finding enough notes in an area opens new combat dungeons.
Quests, guilds and the town systems around them
Over 189 quests span all the skills, and the README splits them into two kinds. Daily quests reset every morning for a quick goal to aim at, and long-term quests track cumulative progress over many sessions, and both hand out XP, coins and item rewards. The guild system has 20 guilds covering every skill and combat style, with Warriors, Archers and Mages guilds for combat, and each guild has up to 10 rank levels that you advance through by completing progression quests and earning reputation through daily requests. Higher ranks open up harder dailies and better cross-skill rewards, which the README describes as letting specialists access resources from skills they do not personally train. Around those sit the town systems. The Builder's Workshop spends the goods your Construction skill produces to upgrade town buildings, opening better worker slots and guild perks. Player housing has you buy rooms on a personal plot off the Town screen, expand them cell by cell and furnish the result as Construction grows, with removing a placed piece always returning it to storage, and the finished house can be rendered to a shareable image. The Church offers timed blessings powered by Prayer levels and bones, in three types, XP boosts up to 1.5 times, Defense bonuses and Coin multipliers, with stronger tiers at higher Prayer levels, one blessing active at a time.
Small systems: Slayer, pets, the Inn and the Carnival
The remaining systems are small but they are what fill the gaps between the big loops. The Slayer Master in town hands out a task to kill a set number of a specific enemy type in the dungeons, and each kill earns Slayer XP on top of regular combat XP, so the Slayer skill levels through combat rather than through a separate activity. Rare enemies drop collectible pets that grant permanent passive XP bonuses. The Inn lets you hire workers who can queue up sessions on your behalf, and lets you buy food in bulk to keep your fighter alive longer in tougher dungeons, so it is both an automation tool and a resource sink. The Carnival is a travelling set of idle minigames, the Archery Range, Strongman Competition, Wizard's Duel and Fishing Derby, which convert your skill levels into tickets over time, plus active minigames like Ring Toss, and the tickets buy exclusive equipment, pets and XP lamps in the Carnival Shop.
Getting it, and how the offline promise is kept
There are two routes. The README says to download from F-Droid and set up the official Idle Fantasy Repository, whose link points at a GitHub discussions thread, and the alternative is to grab the latest APK from the Releases page. The repository step matters and is easy to skip: the game fetches some content from that repository, so an install without it is not the same experience as a complete one. The developer section describes the stack. Language Kotlin, UI Jetpack Compose with Material 3, database Room on SQLite, background work through AlarmManager, JSON parsing with kotlinx.serialization, architecture MVVM with a Repository layer, dependency injection with Hilt, notifications with NotificationCompat, and localisation through Android string resources that are Weblate-compatible. Two more lines matter for anyone evaluating the privacy angle. There is no Google Play Services dependency, and the app is F-Droid compatible. The game is available in 23 languages translated through community contributions, with the translations living in standard Android string resource files.
Building the app from source
The requirements are Android Studio Hedgehog or newer, JDK 17 or later and Android SDK 35. The build is a standard Gradle invocation.
git clone https://github.com/tristinbaker/IdleFantasy.git
cd IdleFantasy
./gradlew :app:assembleDebugThe debug APK lands at app/build/outputs/apk/debug/app-debug.apk. The repository layout shows a conventional Android project with an app module, a build.gradle.kts at the root and settings.gradle.kts, plus a fastlane directory for store metadata and a wiki directory that backs the dedicated wiki site. There are also scripts for releases, including release.sh and nightly.sh, and a package.json at the root with a single dependency named claude, which suggests the repository carries some tooling alongside the Gradle build rather than being pure Android source. The releases move fast, with v1.16.0 on 2026-10-16, v1.15.9 on 2026-10-14 and v1.15.8 on 2026-10-12, and the last push to the repository was on 2026-10-20.
Where Idle Fantasy is the wrong choice
Three limits, and they follow from the offline-first design rather than from anything broken. The first is that there is no cloud save and no account, so your progress lives on the device and reinstalling the app means starting again unless you back the data up yourself. For a game you intend to play for a year on one phone that is a fair trade, and for someone who switches phones often it is not. The second is that the idle model rewards patience rather than skill, because progress accrues from elapsed time and the only inputs you control are which skill to train and what to spend resources on. If you want a game where your decisions matter minute to minute, this is the wrong genre, and the Carnival's active minigames are the only place where that changes. The third is the release cadence and the surrounding project. Versions land every few days, which is excellent for a free project with an active community, and it also means the app is likely to be replaced on your device fairly often. The GPL-3.0 licence and the F-Droid distribution are genuine advantages for anyone who wants to avoid the ad SDK and the Play Services dependency, and the trade is that there is no commercial support path if something goes wrong on your device.
Editorial conclusion
Adopt Idle Fantasy if you want an idle RPG that works with no network, no account and no ad SDK, and if you are comfortable playing on F-Droid or sideloading an APK. Skip it if you want cloud saves or a live service, since nothing in the project is server-backed. Before you install, set up the official Idle Fantasy Repository as the README instructs, and check the wiki for the detailed rules, since the README defers most of the mechanics there.
Frequently asked questions
What is Idle Fantasy?
It is a free, open-source offline idle RPG for Android with no internet connection, no account and no ads. You pick a skill or dungeon, start a session, and your hero keeps training for up to an hour while the app is closed, and there is no stamina bar or energy system.
How do I install Idle Fantasy?
Download it from F-Droid and set up the official Idle Fantasy Repository, whose link is in the README, or grab the latest APK from the Releases page. The repository setup is required for the full experience, since the game fetches content from it.
What are the skills and dungeons in Idle Fantasy?
There are 23 skills across Gathering, Crafting, Support and Combat, and 37 dungeons ranging from the starter Farm to late-game Fortress Ruins, each with its own enemy roster, difficulty rating and drops. A skill at level 99 can be prestiged, resetting it to level 1 for prestige points that buy permanent upgrades.
What technology does Idle Fantasy use?
Kotlin with Jetpack Compose and Material 3 for the UI, Room on SQLite for the database, AlarmManager for background work, kotlinx.serialization for JSON, an MVVM plus Repository architecture, Hilt for dependency injection, NotificationCompat for notifications and Android string resources for localisation. There is no Google Play Services dependency and the app is F-Droid compatible.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/tristinbaker-idlefantasy)Was this useful?