Thursday, January 30, 2014

The New Scan Engine Arrived!

Update v1.2.0: fixed arena saving bug.

HearthTracker v1.1.9 changelogs 

Version v1.1.9 is primarily focused on creating and implementing the new engine and refactoring the code. I have spent like 2 weeks to get it done. However, I've added a couple of small touchups as well.  It is not your typical update. It is an awesome update!

There are a few changes/features
  • Native (exe) launcher added  for Windows users.
  • Implemented more stats filters that actually make sense - coin/no coin, against classes and show stats for recent N matches/arena runs. Filters are combinable to show the stats you're interested.
  • The scan engine has been re-written from scratch completely. It is really, really fast. 
  • Now able to identify additional game result, draw! which will still considered as defeat stats wise. 
  • Russian language for the user interface (credits to Vanches who created the translation) 
  • Now logs exceptions and events to "logs" folder, not everything yet, but should help in identifying bugs.
  • Tools/Diagnostic tab is now removed.
  • Memory and CPU usage is now reduced significantly. 
  • Startup should be faster now.
  • Some other minor bug fixes/changes

The new scan engine
  • It can now scan Hearthstone window even it is in the background (requires Aero mode enabled).
  • It is really, really fast (wait did i mention it already?) It takes only about 2 milliseconds per scan cycle (excluding screen grabbing). It is about 20ish milliseconds with screen grabbing.
  • Multi-monitors setup should (really) work now (please remember to remove the offsets override)
  • Scan engine now sees into the past much like a short term memory to really identify what happened and happening instead of making decisions frame-by-frame. This come with a small price though, some delayed must be enforced for the recognitions to take place but it will never be skipped as long as the key frames are captured. For example, it can identify the animated arena keys transitions from one to another and still understand that it is the new key should take precedent instead of showing notifications for both new and old key.
  • With the new highly advanced hybrid image recognition technique, detection should be very accurate now which including the deck slot detection. 
All being said, the new engine is not fully tested, especially for arena keys detections. 

Please consider donating a few bucks if you find HearthTracker useful.


Thursday, January 23, 2014

The New Scan Engine!

Screencap of the scanner log!
Hey guys! Been some time since I last posted. I understood the frustrations with the current scan engine. It is not working as well as i've intended it to be.  I have been working on the new scan engine since the last update.  Also, If you think HearthTracker is useful. I spent a lot of time developing this, and it is still on-going!  Please consider donating a few bucks! HearthTacker seeks your help.

Here is some of the improved areas of the new scanner:
  • The new scanner has massive speed  (like 100 times?) improvement. It is blazing fast, each image recognition (and we have about 60ish images to scan) cycle only takes an average of 5~10 ms on a modern CPU with a single thread. Even when we take into account of the whole cycle including the screen capture, HearthTracker still able process about 30~ frames per second. All that done without using any IF-ELSE conditions to filter images. Actual implementation will be even faster because we can reduce the images needed to be scanned by filtering them with IF-ELSE conditions.
  • Much lower CPU and memory footprint. it takes only about 1~5% CPU usage on maximum scanning speed and about 80ish MB of maximum memory usage. Actual usage might be even lower for the same reason above.
  • Improved on screen capture speed - it is like 10 times faster now.
  • It works on multi-monitor setup without using any workaround!
What all of that means? It means HearthTracker will be able to scan faster than our human eyes can see the images. It means HearthTracker will hardly miss anything. It means HearthTracker will track A LOT more things. For starters, it will be able to track Arena Draft soon which is one of the reason that motivated me to design the scan engine.

Stay tuned for the new and improved scan engine!

Thursday, January 16, 2014

Update v1.1.8! Multilingual User Interface!

HearthTracker in Traditional Chinese!
I just did a "small" (but time consuming) update which consists of some internal changes and refactored a bunch of code which I consider doing as the project goes on.

The most notable new feature is the multilingual module for the user interface and finished translating the UI into both Simplified 简体 and Traditional 繁體 Chinese. Perhaps, it is one of the most requested feature of all time, I am glad that I've finally completed it!

If you wish to help others who can't understand English, you can offer your help by translating HearthTracker into language(s) you're familiar with.

To start translating, you can refer the guide, how to create translation for HearthTracker.

How to create translations for HearthTracker

In order to create translations for HearthTracker, you will need a proper text editor, I'd suggest you go with Sublime Text 2 (it is free for evaluation), or you can use Notepad++ which is free and open source.

Step 1.
First open up uiLangs.xml located inside the configs folder with a text editor,

You will see a bunch of code, don't worry it is very simple. Say you want to create a French translation, you will need to create an entry group, just like the screenshot. The first line wrapped by the string tag is the name of the language, the second line is the filename for the translation file. In this example, we used le français and french as the filename. After you finish editing the file, save and close it.

Tuesday, January 14, 2014

v1.1.7 Improved Deck Management

A small update which improved a few things
  • The Deck Manager now includes a button to remove empty slots, mimicking how the Hearthstone client sorts the decks.
  • You can now edit the deck field for your matches.
  • The Matches tab now displays up to 1000 matches.
  • The Arena tab now displays up to 50 arena results.
  • tweaked the UI elements for Perferences tab

If you think HearthTracker helped you in any way and wanted to give back to the project, you can consider to donate a few bucks.

You can read about the I am going to use the donations for at HearthTracker seeks your help!


Friday, January 10, 2014

Stats overlay for stream

Did you know you can overlay your stats on top of your stream by adding the text files to your text plugin of your broadcast software?

To do so, just go to the output folder of HearthTracker, from there you can add text files as an overlay for your stream.

Please refer to your broadcast software official guide on how to overlay text files if you're not sure.

Finally, HearthTracker seeks your help!

Minor update v1.1.6

  • deck detection should be more accurate now
  • fixed some thread issues. an attempt to fix scanning issues on OSX - automated resolution and offset detection does not work, but the scanner should work now. you will need to adjust the offsets and resolutions manually - you can add your own resolutions by editing gameResolutions.xml if it is not found on the list.
  • some other minor bugs fix.

If you think HearthTracker helped you in any way and wanted to give back to the project, you can consider to donate a few bucks.

You can read about the I am going to use the donations for at HearthTracker seeks your help!


Monday, January 6, 2014

HearthTracker seeks your help!

First of all,  HearthTracker has gained a lot of traction recently. The blog daily traffic quadrupled since the late November, and the blog is now at 25,000 total views.

HearthTracker v1.1.3 alone has been downloaded for more than 5,000 times, and it certainly has surpasses that number on v1.1.5. A lot of the users had written back to praise and thanks me. Also, I just realized donation $2 on the late October and $3 just recently! I feel really flattered and truly appreciating the feedback!

I have coded HearrhTracker because I really love to play Hearthstone and wanted a way to track my performance easily. The wild growth is somehow unexpected which lead me into taking the project a little further...

The Web Integration!

Sneak Peak 01 - Work in progress 

I always wanted to take HearthTracker further by integrating it with the web service. I has been working on the spin-off project, the web integration since the early December 2013. The web integration allow you to upload your stats from multiple computers (or multiple copies of HearthTracker) easily and provide you a web interface to analyze your personal Hearthstone stats with greater depth and beautiful graphs.

Sneak Peak 02 - Work in progress 

For example, you can view the win rate breakdowns as X class against other classes. You can also view the collective stats categorized by server region, eg. the most picked heroes in arena, the average win rate of classes and other awesome stats.

Friday, January 3, 2014

Mistake were made! v1.1.5a to rescue!

I am sorry that I packed a wrong image file into v1.1.5 which make it failed to detect unranked(casual) mode. I've just repacked v1.1.5 as v1.1.5a with the image file corrected. If you do play casual mode, please download the repacked version.

 Download HearthTracker v1.1.5a

v1.1.5 Quick Patch Note

This is a quick patch for v1.1.4 issues & glitches, please refer patch note for v1.1.4 if you're upgrading recently.
  • Ranked and unranked no longer toggle randomly with the smaller game resolutions.
  • Most of the Notification pop ups can now be disabled through the Perferences 
  • Fixed the match edit form, now you're able to save the result as Win
  • Arena and Match records are now sorted by date time instead of Ids
  • The UI now uses the system default font

v1.1.4 Patch Note

Heya! Happy new year guys! This is a major update for HearthTracker.

Scanner improvements
  • The scanning flow is now very, very forgiving, it can basically pick up stats from any point of a match.
  • Improved game mode and result detection.
  • Scan only when Hearthstone window is detected, can disable through preferences.
  • Able to differentiate which deck is currently selected.

Thursday, January 2, 2014

How to use the Web Sync feature

This is a placeholder for a guide on the upcoming Web Sync feature. Web Sync is already implemented since v1.1.4 however the web service are still in development and not lived yet.

How to use the Decks Manager

In order to track the win rate of a specific deck, you would need to setup your current decks list at Deck. The guide will show you how to setup your decks.

Automated Card Counting

A lot of the users have given feature suggestions in regard of giving you an "edge" with automated card counting. They probably got the idea from the youtube video of a famous Hearthstone streamer, Trump. However, I don't think Trump is using automated card counting tool - it is all about post video editing.

The idea of card counting is very interesting both technical and gameplay wise. It is also possible to be implemented. Nevertheless, I do not wish to my tool provide an unfair advantage - which I could say - making it on the same level of a cheating tool. That being said, I might have a change of mind in the future, but I don't think I will implement such feature any time soon.

 Anyhow, thanks for the feedback! Keep them coming! Who knows? maybe your ideas will get accepted :)