One of the features of the HearthSim organization is the hsdata git repository. This repository is an auto-generated history of the core text data files behind every public Hearthstone build.
We are a small community of developers passionate about Hearthstone. We build simulators and other tools around and for the game.
Our core projects:
- Fireplace, SabberStone, Hearthbreaker and many more simulators are all products of the HearthSim Developer Community.
- HSReplay is a replay specification, including reference implementations.
- Joust is a web-based Hearthstone client which supports HSReplay as well as real games through Stove.
- Hearthstone Deck Tracker is a deck/replay tracker and collection manager for Hearthstone.
- HSReplay.net is a website to track online replays, using Joust and supported by Hearthstone Deck Tracker.
- HearthstoneJSON.com exports all the card data in Hearthstone to JSON to work with more easily than the raw files.
- Stove is a Battle.net and Hearthstone server written in Go. It is still an early work in progress.
We also host:
- HSTracker, the official macOS port of Hearthstone Deck Tracker.
- Arena Tracker is another deck tracker specially built for Arena.
- UnityPack, a Python library for parsing and deserializing .unity3d files.
- python-bna is a python implementation of the Battle.net authenticator, usable as both a command-line authenticator and a library.
- Hearthy is a Python framework for interacting with the Hearthstone protocol. It includes server-to-simulator communication logic.
- UnityHook is a framework for hooking into Unity games’ function calls.
- CSharp-Proto-Extractor is a ProtoBuf extractor for protobufs compiled with protobuf-csharp-port and SilentOrbit’s Protobufs (which Hearthstone uses)
Resources we work on:
- Hearthstone Science, a video series about experimentation with Hearthstone’s mechanics.
- The Hearthstone Gamepedia Wiki is maintained by HearthSim members and includes work such as the Advanced Rulebook
The past six months have been some of the busiest ones at HearthSim, which is incidentally why updates on this blog have been sparse. I thought it was about time I gave an update on what we’ve been up to!
Ever since we first launched HSReplay.net, we’ve been really excited with all of the amazing members of the Hearthstone community who have reached out to us to collaborate on doing analysis on Hearthstone replays.
In this article, we will be going over the 6.1.3 balance changes and their effect on the Ranked Standard metagame by analyzing hundreds of thousands games from one week before and one week after the nerf. All the data is sourced from HSReplay.net replays.
This week’s brawl, “Top 3”, was by far the most popular brawl since HSReplay.net went into Beta, with over 48000 Top 3 games uploaded to the website.
The number of games being sent to HSReplay.net keeps increasing. Following our previous Brawl Report, we got a lot more data to play with this time, so we wanted to go into a bit more depth than last time.
With the beta release of HSReplay.net, we now have a lot of games coming our way.
We’re finally releasing HSReplay.net into public beta! With that, I wanted to give a short overview of how replays are ingested and processed behind the scenes.
HSReplay 1.3 has been released.
A few months ago, Blizzard added a “PowerTaskList” log to the Power.log file. It’s an interesting addition: Rather than log the game state updates, it logs the animation queue - in other words, in PowerTaskList, each game state delta block is logged as it happens on screen in the Hearthstone client.
HSReplay 1.2 has been released.
The latest Tavern Brawl, “An Evil Exchange”, is really cool. It introduces several new cards with interesting mechanics.
HSReplay 1.1 has been released. This update fixes misuses of some attributes, adds some game/player metatada and removes the playerID concept from HSReplay itself, forcing usage of entity IDs instead.
Over the last couple of weeks, at Jerome’s suggestion, I rewrote all the selector code. The following summarizes what changed, and some of the motivation behind the rewrite and the new implementation.
For the first time since its creation, Fireplace has 100% of all collectible cards implemented.
Nozdormu is one of the most unique cards in Hearthstone. Along with the AFK hidden buff, it is the only card to modify the turn timer directly.
It has been two months since the last Fireplace dev update. Since then, we have reached over 2000 commits!
Has it been that long? So many downloads!
I’m really excited to announce the release of HSReplay 1.0.
There’s been a bit of a riot on the Hearthstone subreddit lately. A critical mass of complaints about the game, that’s gotten several content producers to contribute to the discussion and reveal that they, too, are burned out.
After several months of high activity on Fireplace, things have slowed down a little.
The stats are in! A huge thank you to everybody who contributed. We have received data for 15,432 card packs from nearly 300 submissions!
Today marks the one year anniversary of Fireplace’s first commit.
Another very busy week in Fireplace! New contributor @beheh is joining us and already contributed dozens of new tests.
This past week has been one of the most active in Fireplace. Loads of new cards, improvements to the DSL, massive cleanups and more.
This has been a fun couple of weeks with commits from two new contributors! I’m very happy about the generally positive feedback on the quality of Fireplace. I even wrote some contributing guidelines for the occasion.
The latest action I had to implement is
Shuffle(). As in, “Shuffle a card into a deck”.
As of patch 2.7, there are 5 cards that make use of it:
I just pushed the 1000th commit in Fireplace.
The HearthSim.info site is now ready. With it is this blog which will hopefully serve for development updates on Fireplace and more.