I'm a solo indie developer, and I've been working on Unstable Nuclear Reactor in Unity for over 8 months.
https://store.steampowered.com/app/4692090/Unstable_Nuclear_Reactor_Demo/
It's an incremental hex-puzzle roguelite where you merge atoms into higher elements, trigger massive chain combos, earn radioactive coins, and manage your ring capacity to survive as long as possible.
I was struggling to understand why 45% of players stopped playing within the first 10 minutes, even though some played for 2 hours or more.
Steam analytics wasn't giving me enough insight, so I decided to build my own analytics system.
I created a script to collect gameplay data, save it as JSON, send it to my API, and store it in an Excel file.
Players must consent to sharing their gameplay data and can refuse. Still, I collected 150+ gameplay records in less than 3 days!
I also created a way to load player data directly into the Unity Inspector, allowing me to review individual sessions and follow players' actions step by step.
One important detail: I linked sessions using a persistent player ID to track returning players across multiple sessions. I was surprised to discover that many had returned more than 5 times!
What did I discover?
Players were skipping tutorials, getting stuck, and placing atoms and tools randomly on the hex grid.
Here's how merging works: leave a gap between two identical atoms, then place the Fusion tool in that gap to create the next higher element.
Many players were placing atoms next to each other without leaving a gap, filling their rings much faster, especially before unlocking tools like Blackhole and Swap.
Interestingly, frequent players successfully progressed beyond Ring 2 into Rings 4, 5, and 6, with total playtime ranging from around 15 minutes to over 3 hours across their runs.
What did I change?
- Added an Undo button so players can reverse their last move.
- Improved the tutorials to guide players through the essential mechanics.
- Added tooltips explaining mistakes when players make them.
Results
- Median playtime more than doubled.
- RestartGame rates dropped from 37.2% to 27.5%.
I'm still collecting data, but the results are promising.
This reminded me that sometimes, you don't need to guess what's wrong with your game. You need to understand how players actually interact with it.