HearthSim / Hearthstone-Deck-Tracker

A deck tracker and deck manager for Hearthstone on Windows
https://hsreplay.net/downloads/
4.7k stars 1.11k forks source link

questions about Bob's Buddy simulator #4063

Closed Meteorix closed 9 months ago

Meteorix commented 4 years ago

Hey guys, I am using Bob's Buddy, and it is really helpful to me. Thanks for your great job! @azeier @Jonysegal .

I am curious about how it works, so I look into the code, but could not find the simulator code. Where is it? https://github.com/HearthSim/Hearthstone-Deck-Tracker/blob/b8509c9eaefd62a3ef4d04e6003e8659106b6de2/Hearthstone%20Deck%20Tracker/BobsBuddy/BobsBuddyInvoker.cs#L230

As a professional machine learning engineer, I am wondering is it possible to train a model play battlegrounds. Have you guys tried to do that? (I know deepmind have worked on hearthstone 2 years ago, but battlegrounds seems more promising for AI players)

beheh commented 4 years ago

Hey there, thanks for your feedback and interest. The Bob's Buddy simulator code is built outside of the deck tracker repository and is private at this time. I fully understand the personal or academic interest in wanting to build some kind of agent that can semi-intelligently play Battlegrounds (or classic Hearthstone for that matter), we regularly get requests about that. Unfortunately though we can't condone or support such development in the HearthSim community because the resulting tooling is prone to being misused by bad actors; this ranges from curious players trying them out against unwitting players to bot authors selling them to players.

Meteorix commented 4 years ago

@beheh thanks for your reply, it makes sense to me. I was a game developer for 5 years and open-sourced several relevant projects. Actually HearthStone team is using some of them. Is there a way that I can contribute to the private Battlegrounds simulator?

f-fsantos commented 4 years ago

Hey @beheh, I just wanted to chime in on the topic regarding the reasons to not share the code for Bob's Buddy. If the HearthSim team wants to keep the code private because it feels it's not meant to be shared due to quality reasons and so on, that's perfectly valid. But as it stands right now, the BobsBuddy.dll being included in Hearthstone Deck Tracker project is not encrypted and it's very easily decompilable to a .csproj. I was able to get to a point where the code was compiling, and this is something I have almost no practice on, others will be able to achieve much more than I did. If the only reason to not share it is to not share the code to people that have poor intentions, I ask you and the team to reconsider the stance on the matter. There is little to lose considering the code is already technically public through decompilation methods, and a lot to win since the community will be able to improve the code and share it through the official channels.

riQQ commented 4 years ago

Articles about Bob's Buddy: https://articles.hsreplay.net/2020/04/24/introducing-bobs-buddy/ https://articles.hsreplay.net/2020/05/08/more-on-bobs-buddy/

pulkin commented 4 years ago

It would be nice to have some technical and scientific details indeed. Common sense tells me that it is not enough to run 1e4 simulations to provide 3 meaningful digits because of the standard deviation having square-root dependence.