Do you think it would be possible to get a Hex equivalent of the Hearthstone Innkeeper on Twitch?

    • Do you think it would be possible to get a Hex equivalent of the Hearthstone Innkeeper on Twitch?

      So for those not familiar, Twitch has an extension called Hearthstone Innkeeper. It was built by Hearthpwn (which is owned by Curse, which is owned by Twitch, so they probably had help), and it makes it so that while you're streaming the audience is able to hover over the screen and get pop-ups on cards, heroes, etc. (there's a video demoing features here:…ansparent-to-6b9b2cf8c522)

      I feel like this is one of Hex's biggest issues as a viewing experience--the design makes it troublesome to always know what's going on with the board state without a caster present. Having something like this could be a good way to help ease players into understanding (and therefore enjoying) what's happening in streams.
      There are other functions the Innkeeper offers that would be nice to have in Hex as well, like getting pop-ups on hero abilities, being able to peer into the crypt and void, etc. But the card pop-up on hover is probably the big one.

      I'm not terribly familiar with the Hex API so I'm not sure if it would be possible in the first place. It seems like actually building the extension just requires knowledge of Javscript though. Not sure who would be best to build it out either.


      The post was edited 1 time, last by Malakhar ().

    • If I understand it's data flow correctly, the Hearthstone Innkeeper Overlay's functionality is far more "hacky" than it seems at first glance.

      First, the data about HS cards, their positions, and the board state is captured by a third party program (Innkeeper), and sent to HearthPwn.
      Second, HearthPwn is linked to a Twitch account, so the data received by Innkeeper is sent to that Twitch account's overlay extension.
      Third, the Twitch account needs to be streaming HS, activating the overlay, and receiving data from HearthPwn to generate the overlay.

      So, in order for the overlay to work as you expect, there is a third party program involved, it is constantly sending game data to a server, the server is constantly serving data to twitch, and the twitch overlay is rendering hotzones for mouseovers, getting image data for those hotzones, and very importantly, trying to keep the playback of the hotzones in sync with the streamer. I'm pretty sure that the Innkeeper overlay isn't perfect, but is close enough.

      Let's apply this concept to Hex, then.

      Fortunately, Hex already is able to output game data via the Hex client API (e.g. what allows you to sync with Hex TCG Browser, and similar applications), and potentially could not need a third party program. It does not currently output events and data for cards played in the game, however, so that would need to be built.

      Here, we're already going to run into a problem. The positions of cards in Hex are extremely dynamic compared to HS. Hearthstone's heroes, hero powers, and weapons are always in the same spot. Hearthstone's minions are in very predictable positions. The client API, if it sent position data, would need to keep track of tens or more different positions, constantly. What is the refresh rate? What happens when a second row occurs, or cards get smaller due to more on the board?

      Then, whose server is actually receiving the data from the Hex Client API? We can't reasonably expect the Hex servers to stream game data to Twitch, someone would need to collect the data from the various Hex clients that connect their APIs, and then send that data to the appropriate Twitch accounts.

      And then, on the Twitch Extension (overlay) end, an overlay would need to be rendered given this data. This is the "done in Javascript" part. Someone would need to do this as well: both the frontend overlay, and the backend that is hosted by Twitch, that receives the data from our theoretical Hex-hearthpwn-equivalent. The frontend overlay also may have limited access to external data, where will it be getting its images from? And there are many more images in Hex than there are from Hearthstone.

      So, the idea of doing a Hex version of this Hearthstone overlay is a cool idea, but there is a lot that would need to be done to be able to emulate that exact idea. And, you are correct in figuring that Hearthpwn/Curse had a leg up on having resources to tackle their overlay.


      But that said, the idea isn't impossible. But is there a better idea, that we are able to currently do with the data that Hex already outputs, and the resources at our community's disposal, to make something that satisfies the "I want to be able to follow casted Hex more easily" desire? Perhaps this might not even be in the form of a Twitch overlay that emulates mouseover.

      (I was at the Amazon/Twitch presentation where this overlay and the Twitch Extension system was revealed, and one of the first things I looked into was how this Hearthstone overlay worked. ;) )
    • JeffHoogland wrote:

      I'd by happy with just something simple like Stream Decker working with Hex. Would be easy to tie in API uploads to it.

      Sadly web work is outside my normal dev experience and learning it is currently not within my time confines.
      I'm not very familiar with twitch extensions, but that sure looks like a tool that PvP players could use while they stream Hex...