There are times when I'm playing manual that I forget how my deck was built. I mean who goes in to look at every deck before you run a mid ranked match. Would be cool if there was an app or feature that allowed you to see what cards you have left in your deck. m2c
There's basically two aspects of this feature: 1. Knowing what cards are in the deck to start with. 2. Knowing what cards have been played already in the game. #1 has already been solved. While it won't be enabled for the upcoming Beta (which is just a modified Release), the concept works. The bot will go to "My Collection", and view all your custom decks. It will then cache the contents to file, and those contents will be exposed though the API for AI to make use of, or for other things such as simply showing what's in your current deck. #2 has been attempted to be solved, but there's some issues with the client itself that make it a little more tricky. The bigger picture goal was to keep track of everything that happened in the game, so future AIs can play the game with context about what has already happened. This allows for card counting, and the AI can make better decisions based on more knowledge. However, for this to work, the client's HistoryManager has to be used (that bar on the left side) and the bot must hover over each tile to load the contents of the tile to know exactly what took place. However, this obviously interferes with any actions during your turn, which can be avoided by simply not updating during your turn, but the client seems to bug out at times if you are checking the history while the opponent is performing actions. The history manager's tiles get delayed until another action is performed, which is bad because the information used, is now outdated. The options being looked into currently are: 1. Finding a way to get the data without having to hover over the tiles themselves (which I want to avoid if possible to avoid any side effects in the client) 2. Only update at the start of the player's turn. This is problematic if the opponent performed enough actions to cause the HistoryManager to remove the current turn's actions simply from being filled up. Think of longer combo plays by Rouge, for example. 3. Find a way to keep track of cards being used though the API itself. The issue with this is reliability, since a card can be played, but cancelled under certain cases. The idea is to find a solution that offers the most accurate representation of the data, without causing too many side effects. There's also another random issue, such as how fast the victory/defeat screen is shown, which makes tracking the least turn's actions really hard, since the client doesn't have a chance to check them over. While I'm not sure a "perfect" solution can be made, I do think something "good enough" can be done to have such a feature.