← all repositories
utilForever/RosettaStone

A C++ Hearthstone engine built to train your own AlphaGo

RosettaStone simulates Blizzard's card game down to the card text so reinforcement-learning agents can actually learn to play.

668 stars C++ Domain AppsAgents
RosettaStone
Not currently ranked — collecting fresh signals.
star history

What it does RosettaStone is a C++17 Hearthstone simulator that reimplements the game’s rules and card mechanics well enough to run headless matches. It exposes both C++ and Python APIs, ships as a Docker image, and has a separate GUI repo. The goal is to provide a training environment where RL agents can grind through millions of games without Blizzard’s servers noticing.

The interesting bit The project is essentially a clean-room rules engine for a commercial card game—complete enough that some older sets are 100% implemented, while newer expansions trail at 10-60%. The RL angle is still aspirational: the README notes they are “making Python API and related examples” and want to upgrade “The Innkeeper” (the built-in AI) to actually be smart.

Key highlights

  • 100% card implementation for Legacy, Expert1, Naxxramas, Blackrock Mountain, League of Explorers, One Night in Karazhan, Rise of Shadows, and Descent of Dragons
  • Classic format’s Vanilla Set complete (382/382 cards)
  • Standard format coverage is spotty: 98% Core Set but only 10% for recent expansions like Murder at Castle Nathria
  • Cross-platform builds: macOS 10.14+, Ubuntu 18.04+, Windows VS2017+, WSL
  • AGPLv3 licensed, based partly on SabberStone’s code

Caveats

  • The “some reinforcement learning” in the description is doing heavy lifting; actual RL infrastructure appears to be in progress, not shipped
  • Card implementation is uneven—if you want to train on Standard meta decks, check whether your cards exist first
  • Python API examples are noted as still being made

Verdict Worth a look if you’re building card-game AI research infrastructure and need a headstart on Hearthstone’s rules complexity. Skip it if you want a plug-and-play RL environment or care about current Standard format completeness.

Frequently asked

What is utilForever/RosettaStone?
RosettaStone simulates Blizzard's card game down to the card text so reinforcement-learning agents can actually learn to play.
Is RosettaStone open source?
Yes — utilForever/RosettaStone is open source, released under the AGPL-3.0 license.
What language is RosettaStone written in?
utilForever/RosettaStone is primarily written in C++.
How popular is RosettaStone?
utilForever/RosettaStone has 668 stars on GitHub.
Where can I find RosettaStone?
utilForever/RosettaStone is on GitHub at https://github.com/utilForever/RosettaStone.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.