HearthTracker - Automated Stats Tracking!

First of all, let me introduce myself, I am a Hearthstone player, streamer, youtuber, a coder. I am megablue. I play a lot of Hearthstone, or arena to be precise. I wanted a tool to automatically record and keep track of my performance. Hereby, let me introduce the Hearthstone stats tracking app, the HearthTracker. It will keep track of your Hearthstone stats (almost) without your interventions. I'd designed it to be easy to use.

Screenshot

How does it workThe app uses the least invasive, image recognition technique to obtain information on the screen. It doesn't inject dll, read/modify Hearthstone process memory in any way nor parse the game packets. It is basically functioning as it is a screen recording/screenshot tool and nothing more. It is probably the safest way you can extract stats from Blizzard games.

Features- Support all Hearthstone languages- Support all resolutions- OBS/Xsplit supported, output as text files- easy to use UI- track stats- able to recognize classes- able to recognize wins and losses- able to recognize who goes first/second- able to recognize your opponent hero- able to recognize victory/defeat- Overview of win rate and 7+ wins rate.- Live stats of the current game- cross platforms (windows/osx/linux) only tested on Windows though.

Requirement- you must have java machine installed first before launching the app, get it from http://www.java.com/

Installation & Usage- Download and extract it into a folder of your choice- Double click on HearthTracker.jar to run- Make sure your Hearthstone is running in Windowed mode - Make sure your Hearthstone is running with the correct resolution.

Instruction to upgrade from older versions- Backup your existing data folder.- Extract and replace existing files- copy the backup contents of data folder back into the original data folder

Further details- Please visit HearthTracker official website for installation & usage guide and other technical details.- Future updates and news about HearthTracker will be announced on the official website as well.

On November 02 2013 03:21 Glacierz wrote:Can you get banned for parsing the game packets in this game? Not that I will ever risk it, just curious.

HearthTracker doesn't parse game packets. I am not sure about ban for parsing packets but Blizzard definitely hate people reverse engineering the game packets (server emulator anyone?), so I guess it is pretty much asking for a ban from Blizzard if they figure out you're running an app that try to parse the game packets.

again, i just want to emphasis that HearthTracker relies solely on image recognition and doesn't interact with Hearthstone in any way so it should be safe from violating the ToS.

If you're paranoid enough, you can run through a series of screenshots of the crucial moments (arena score screen, go first/second, middle of the game, victory/defeat screen) and let the HearthTracker do it jobs while you're not running Hearthstone

On November 03 2013 16:02 Angry_Fetus wrote:Does not seem to function with dual screens (3840x1080)

What is your Hearthstone resolution? I tried on my 1920x1080 x 2 (dual monitors setup) it works fine.

I will release a small update later on, will be adding some visual indications on the screen area that HearthTracker trying to scan and status of HearthTracker whether it "sees" Hearthstone screen or not.

Oh and in your instructions it says "Make sure your Hearthstone is running in Windows mode" I imagine this is supposed to say windowed mode right? (I've tried windowed and fullscreen, not tracking in either)

On November 03 2013 17:10 Shock710 wrote:I remember hearing about Trump and Kripp talking about their winrates in arena and stuff/per Hero like your stat tracker did they use your thing or some other way? Also thanks for this!!

trump uses another app, i think one of his mod, imhid wrote the app, which scan the stream for stats, it uses similar method as my app i think, but my app doesn't use OCR at all, i find it is not that reliable because of different fonts across multiple Hearthstone languages.

Although i watch both Kripp and trump, I have no idea about Kripp though. I got a feeling some of his fans are recording the stats for him manually .

On November 03 2013 16:41 Angry_Fetus wrote:1920x1080, setting in hearthtracker is set at that as well.

This is on Windows 8 if that matters.

Oh an in your instructions it says "Make sure your Hearthstone is running in Windows mode" I image this is supposed to say windowed mode right? (I've tried windowed and fullscreen, not tracking in either)

yes it does mean windowed mode, sorry for the typo. Anyhow, i will be posting the mentioned update later on, stay tuned.

On November 03 2013 20:00 Angry_Fetus wrote:So it seems to be almost kinda partially working now for some reason. It's registering a few things at least. I'll just post a screenshot instead of trying to explain it.

So...if i understand your screenshot correctly, you mean Hearthstone didn't register the wins into the table? actually it does, it will store your arena series into the table only when you completed the run, 9-x or 3 losses. Let me know if it doesn't work, as for the games (it is stored but not displayed on the UI).

I ended 6-3 and hearthtracker still shows 6-0 with no stats on the right side.

hmmm this is weird, i tried to run HearthTracker with your screenshot and it did recognize your score correctly, and it is able to recognize everything else on your Hearthstone.

1. was vs Shaman (and the victory/defeat) correctly recognized, was it the last game you played before you took the screenshot? 2. did you try to use the Diagnostics section? What did you see when you press Visualize now, did the larger box covered the Hearthstone screen (if so, did it cover the titlebar as well?)

Lastly, the most likely cause i can think of, is the ways to calculate window position on Windows 8 is changed slightly, making the scan zones slightly off. Try downloading this config file, extract and replace enUS.xml in configs/gameLangs

I have tweaked the positions of the scan zones for losses, made it scan for slightly larger areas. Hopefully this can solve your issue.

Heya,first of all thanks for the great effort! I'm kind of curious where your programm is different from Hearthstone Stats?I saw your thread as well as the original HS Stats one over at Hearthpwn and started using "the other programm" over yours just because the thread had more replies/there had already been a few updates there.Are there any big new things with your programm?HS Stats fx. does pretty often "forget" single games. Like usually it records them, but about 10-20% of the games are skipped. I don't know if this is because I "fast forward" the winning screen or whatever... but if your program solves that, it would be awesome! ^_^

On November 04 2013 17:33 CCow wrote:Heya,first of all thanks for the great effort! I'm kind of curious where your programm is different from Hearthstone Stats?I saw your thread as well as the original HS Stats one over at Hearthpwn and started using "the other programm" over yours just because the thread had more replies/there had already been a few updates there.Are there any big new things with your programm?HS Stats fx. does pretty often "forget" single games. Like usually it records them, but about 10-20% of the games are skipped. I don't know if this is because I "fast forward" the winning screen or whatever... but if your program solves that, it would be awesome! ^_^

I has been using HearthTracker to track my own stats, it works pretty well for me. My app has an option to change the scanning speed to minimize the chances of forgetting the stats. However even with my app, it is still possible for "forget" because of the nature of image recognition, the app doesn't know the state of the game, it has to use its best guesstimation based on recognized images and maintained its own guestimated states (this is the tricky part). So... my best advice is, give it a split second pause (and that is more than enough for my app) before you skip the victory/defeat screen.

I am yet to try "the other program" but judging from what i seen from the replies, the author has a lot of issues dealing with multiple resolutions and multiple languages, which i presume most critical parts of the program is mostly hard coded which will be a headache to introduce new features/upgrades.

If you ask, i am quite confident with the quality of my code and have pretty decent "upgradablity". that being said, programmers always feel good about their own code

I suggest that you my app a try and let me know. you should be able to run both of my app and his simultaneously.