Update Aug 8: We previously incorrectly referred to Stirlock and Superblindman as being the same person. They're not - they're friends! Article has been updated.
Guide Dev has created a modification that gives Hearthstone accessibility so blind and visually impaired individuals can play the game! This is an awesome project and are happy to see accessibility in games improving, even if it comes from the community instead of developers. Although not related, Guide Dev's reddit thread announcing the project comes a week and a half after Stirlock asked if Hearthstone could be played by someone who was blind. The timing is great and Stirlock's friend, Superblindman on Twitch, was able to try the game out during his 3-year streamoversary event today.
Although the mod is not yet complete, only supporting the tutorial, and practice games, Guide Dev states the desire to add more to the game, including creating your own decks, player vs player matches, and solo adventures support.
How does it all work? The mod injects custom code into the game so that it runs inside the game itself. Once patched, you launch your game as normal and can make use of hotkeys to navigate through the game. You can learn more about the mod over on the official page which includes the hotkey reference.
Disclaimer: Patching your game is done at your own risk and we will not be held responsible. Mods are never supported by Blizzard though in this case we do believe they'd be shooting themselves in the foot if anyone was going to be banned for it.
Quote From Hearthstone Access Hearthstone is a popular free-to-play online digital card game developed by Blizzard Entertainment. The game is a turn-based card game between two opponents and features characters and elements from the Warcraft series. Hearthstone was first released in 2014 and still has millions of players all around the world.
Hearthstone Access is a custom Hearthstone mod built by Guide Dev that makes Hearthstone accessible for visually impaired screen-reader users who wouldn't otherwise be able to enjoy the game. For the time being, you can:
- Play through a fully accessible tutorial composed of 6 games to learn how to play
- Play practice games against AI opponents in order to unlock all 10 classes and their basic decks
- Use any of the 10 different classes in practice games to unlock all basic cards as you level up
- Unlock expert-level AI opponents by defeating all normal opponents
- Play practice games against expert-level AI opponents to get familiar with all the classes and game mechanics
Once you've gone through all of this, you'll probably want to move on to other things such as building your own decks, playing against other players or going through Hearthstone's solo adventures to learn more about the lore of Warcraft. While these things aren't available yet, I do intend to work on them if there's enough interest.
For the time being, you can only play Hearthstone Access if you're using Windows and if you install the english version of Hearthstone - preferably American english - as other languages aren't supported. Note that while most popular screen readers should be compatible, Hearthstone Access was fully developed and tested using NVDA. If the game is unable to detect your screenreader for some reason, it will fall back to using Microsoft's Speech API.
You can see the mod in action inside of a practice game down below or watch 2 hours of gameplay from Superblindman. Comments on the mod should be directed over to Guide's reddit thread.
Comments
I can't really imagine what it would be like to be blind or deaf but I am sure if I were, I would love this CCG. This is a very cool modification. Cudos to the coders and thanks for the article!
Blizzard is probably going to kill this, and from a security perspective, it makes sense. Hopefully this will push them to add official support that doesn't rely on arbitrary code injection that could be easily exploited.
It's amazing... I don't know if people are aware of what this means.
Basically this "mod" would allow to easily create BOTS, and I'm talking about the intelligent ones, those that can "see" what is happening at all times and can decide the best plays in each case, in other words, those that can win games by themselves...
Bots have already existed in Hearthstone for a very long time using similar methods. This doesn't change anything =)
I'm afraid I have to insist: this would change everything.
Smart bots were banned by Blizzard many years ago, and thousands of accounts were banned. Blizzard's "excuse" for banning them was precisely that they injected code into the executable (which is precisely what this "mod" does), which violates Blizzard's rules. This type of bots no longer exist nowadays, as it's very easy to detect them (a checksum of the executable would suffice) and the ban of the account would be immediate.
The bots that still exist today are repetition bots, that is, they do not think for themselves, they only limit themselves to following a series of serial orders, since they only interact with the graphical interface blindly.
As a programmer, I could create an intelligent bot thanks to this "mod" in 10 minutes, since this mod would allow me to bypass the graphical interface and directly collect the information I need to know everything: what cards are in my hand, how much mana I have, what are the minions in play and where are they, etc ...
What's more, this "mod" would allow my bot to interact with the game without using the mouse, just sending keyboard commands, and therefore I could be doing anything while my bot makes me reach legend in a couple of days and level 400 in no more than a month.
In short, Blizzard will NEVER allow this project to continue as a "mod", unless they do it themselves and integrate it into the game, but I think it's pretty obvious that won't happen.
I haven't done much Windows development, could a bot not send mouse events to the game while it is in the background? Using the mod to send keyboard events would mean that it wouldn't have to know the precise position of UI elements.
It would also be able to get all the information it needs from the gameplay logs. Sure they default to disabled, but turning them on is pretty simple.
As for reaching Legend, even if the bot only knows how to play a single deck, how many situations would the bot need to know how to respond to in order to maintain a 50%+ winrate, especially after D5? I'm assuming your account didn't start with a 13 star bonus in this scenario.
Edit: I just remembered machine learning was a thing, like those AI that play SC2 at Grandmaster level. I don't know about reaching Legend in a couple of days given the amount of time that would probably be spent trying random shit before it learns what works, and all the RNG shit the game throws at you might be another layer of complexity.
Exactly, thank goodness someone who can see the problem!
This mod is a sort of interpreter or intermediary with the graphical interface (both inbound and outbound): a blind person can play the game, but also an algorithm!
And well, regarding whether or not an intelligent bot can reach legend... well, the standard mode is currently pretty straightforward, so it would be very easy to program an algorithm to play a specific overpowered deck (and we have a couple of them).
I think you might have misinterpreted me. I am less convinced this mod is necessary to make such bots, but I can see how being able to send keypresses would make programming a bot easier.
I guess you mean programming the bot to do its thing and ignoring anything the other player does. I didn't know any decks existed that could allow you to win often enough to climb all the way by playing that way. I suppose one could be written and debugged in 2 or 3 days, which is probably enough time before overpowered decks get nerfed.
As I sort of said earlier, I don't think Blizzard will be happy about third-party code being injected in their game. I'm not sure what they can do to stop the mod from working and prevent the author from just updating the mod. I guess they could detect it and ban users. Either way, if an account is playing for more than 24 hours straight with 0 breaks, it should be pretty obvious they are botting.
I did not mean to say that this mod is "necessary" to create bots, but that it is a great help for creating intelligent bots.
The point is that this mod not only allows you to control the game with keyboard commands (which greatly facilitates the work for a bot as you say) but it is also capable of interpreting the graphical interface (knowing what cards I have in hand, the minions, etc.), that is, thanks to this mod, as a programmer I can know everything that happens in the game and I can create an algorithm that knows how to respond to each situation, it is not that difficult.
Therefore, no, it would not be a bot that ignores what the other player does, but rather the opposite: a bot that "sees" the state of the game at all times and choose itself the best possible move, and in this way, winning is not that difficult, a bot can easily beat you at chess for example.
And obviously you are right: as I said before, it is very easy for Blizzard to detect whether the executable of the game has been altered and to ban the account immediately. Because I remember you, altering the executable of any game by injecting code is forbidden by Blizzard rules and is a direct and permanent ban.
There's also a logging function you can enable, which is how the deck tracker functions, and that records every move made, without having to access the game's memory space. I think actions are recorded as some kind of code, but most of the reverse engineering work has been done already, and the deck tracker is open source. If it isn't possible to write such a bot as a plugin for the deck tracker.
I didn't know, interesting.
However, in the hypothetical case that it is possible to access these logs, are only registered the actions that are taken? Like which cards have been played or which minions have died...
Because the interesting thing for a bot would be to know how to interpret the graphical interface in real time, such as knowing what cards I have in my hand or what minions are in play.
In any case, Blizzard will undoubtedly take action on the matter against this mod, as in its current conditions it injects code into the executable and that breachs Blizzard rules. Hopefully Blizzard can implement this feature themselves and integrate it into the game and thus make this fantastic idea come true.
(For all the haters who shoot me full of negatives whatever I say simply because I'm me: each negative of yours is an authentic honor, I am very proud of having a critical and nonconformist attitude and nothing makes me happier in the world than sulking a fanboy. Thanks)
It records at least everything necessary to make a replay. For example, any movement between deck, hand and board, so that should be useable to keep track of what's in your hand and what's in play. It's how the overlay works, and that can tell you things like what generated or drew a card in the other player's hand.
I recall there was an information leak. I think it was with C'Thun, the Shattered where the deck tracker would show you the other player had drawn a C'thun piece, so the deck tracker authors updated it to hide that information. I think there was some fear that Blizzard would ban people for using the tracker if it revealed stuff it shouldn't, which is technically against the rules, but I don't see how they could find out.
I believe detection of the mod could possibly be evaded. I know some anti-cheat mechanisms use signatures of known cheats, and Blizzard might be doing something more sophisticated, but that might not necessarily make evasion impossible. I had a look, it appears it uses DLL injection. I think botting would be more reliably detected based on behaviors like playing non-stop for over 24 hours with 0 breaks. Something I doubt any human would do.
This is really awesome!! Impressed and thumbs up for the developers.
That is impressive. Hope when it's more polished/complete it will open up both HS but also inspire other similar mods for other games.
This is awesome. I can finally share the game with a few of my friends who wanted to play but never could.
Amazing to see something like this done for the community, hope everything goes well with the development and they can expand it to full games soon
Finally, something to smile widely for. Nothing but absolute respect for Guide Dev.