oyachai / HearthSim

Generic Hearthstone game simulator
MIT License
314 stars 59 forks source link

A few general questions on the project's direction #114

Open Rutnar opened 9 years ago

Rutnar commented 9 years ago

First off, nice project! I like what you have done so far. I love being able to download the executable and instantly check out the app. That accessibility to the project is what grabbed me.

Is there a road map or list of needed features and priorities? I'm particularly interested in the direction the user interface should go. For example, has a web front end been considered? Will you be able to view a game turn by turn?

Is the intention to allow decks of any size and not be forced to choose a hero or is that just something that hasn't been implemented yet?

What about match-ups. Will the simulations be a single deck verses deck or will it be one deck verses a set of decks?

I'm just trying to get a sense of where the project is headed and yes, I realize you are still implementing the cards. Thanks!

oyachai commented 9 years ago

Thanks!

This being a hobby project, there really isn't a formal list of priorities. Past contributors have raised a number of issues through github listing out the missing features (mostly missing cards), but in terms of the UI, I'm open to any suggestions. A web interface might be nice but I have a feeling it is going to be expensive to maintain and scale given how compute intensive the simulations are.

As for the deck size and hero choices, I've deliberately left them unchecked because I wanted to play around with some of those properties. I don't mind at all adding a flag to enforce stricter deck building rules though.

I like the concept of multi-deck match ups. Do you have a more concrete idea of how that would work?

Rutnar commented 9 years ago

My thought with the multiple deck idea is that you could run one deck against a set of decks all in one simulation run. For example you could create a set of decks with face hunter, zoolock, oil rogue, and grim patron. You then run your new deck against the set and it plays 20 games against each or maybe its just picks random decks from the set for 100 games.

You could then tell which decks you will do better or worse against. Of course, you could do this one deck at a time now, but you could show the decks together on graphs. Each deck could be a different color and be like the visualization you are doing today.

MrHen commented 9 years ago

Is there a road map or list of needed features and priorities? I'm particularly interested in the direction the user interface should go. For example, has a web front end been considered? Will you be able to view a game turn by turn?

There are a few repos on GitHub that can display games turn by turn. To do this well we'd need to figure out how to export a "replay" that fits with how other tools have been doing it. I've looked into a few options but it didn't seem like any standard was really winning.

Is the intention to allow decks of any size and not be forced to choose a hero or is that just something that hasn't been implemented yet?

Leaving these restrictions off for testing purposes is really helpful but the UI should probably limit the options where it would be helpful.

What about match-ups. Will the simulations be a single deck verses deck or will it be one deck verses a set of decks?

I was eventually going to add a deck randomizer that lets you automatically tune decks (similar to the one I wrote for Tyrant) but never got to it. There was always too many other things that needed to happen first. :P

But one of the requirements for that was "Take Deck A and run it against Decks B,C,D,E."