The reason why I haven’t started building this functionality yet is because I haven’t been able to decide how detailed it would need to be, so I really appreciate the ideas everyone have shared.
As I said, I think you get a big part of the benefit with a basic implementation. For instance just optional autofolding would remove a lot of hands from view.
I think specifying the ranges in the same format as pokerstove uses for preflop notation is a good way of handling input. It lets us freeride on the GUI and most people are familiar with pokerstove anyway. Solving the issue of mixed strategies should be fairly workable.
Re: opponent specific ranges I think that can be kludged by specifying the ranges for groups of tables and mostly doing invites.
I personally think the ability to define probabilities for different actions is a must.
Imo that’s much more important for real money play. Since this site is mostly about practice I’d be happy to take a hit in win-rate in order to increase the number of teachable moments per hour of play.
I also think the very act of formulating a strict preflop strategy, and seeing it played out, is more instructive than just grinding. It should help focusing on ranges and the implications of those. At any rate it is something you can’t get merely by playing a lot of cash hu. And I think a project like this should try to capture benefits not available through just regular poker.
As long as unspecified cases are passed along to the user I don’t think it can hurt much to just trying something out.
But the real problem is how to enter rules when someone has already raised.
Imo there’s really only a few reasonable open sizes limp, min-raise, 2.5, 3 and 3.5. Irl limps and big raises doesn’t really happen except against bad players (+ the very occasional high stakes guy like durrr). And most people will only use one raise-size and fold the rest.
The stack-sizes are something I did not consider, but I see two simplifications right away.
1) Bucket the effective stack sizes, and just fill out the buckets you think you will use frequently. There’s not much point in making differences between 4bb and 5bb if your main focus is 100bb and 200bb. You lose some finessing, but I really doubt anyone in actual play distinguishes between 100bb and 120bb. In fact I don’t see all that much adaption at the first two decision points between 100bb and 200bb.
Unless people want to practice shortstacking I think even something like 4 buckets could cover a lot of ground. It still leaves a lot of possible unspecified cases, but the important thing is to cover a lot of cases, not all.
Using this approach the button can cover something like 95% of his hands by specifying 4*3 (for those who limps) or 4*2 (for those who raise or fold) ranges. The big blind then get to specify 8*2, 8*3, 12*2 or 12*3 respones (well, some of those are against open-folds).
2) Even simpler is to just reset the stacksizes at the start of every hand. If you play a 100bb table *every* hand is played 100bb deep.
For real money this doesn’t make much sense, but for practice purposes I think it’s great. It allows you to specify what you want to practice and it saves the cognitive burden of checking the stack sizes at the start of every hand (it’s small, but that stuff piles up). It also still allows complete freedom to focus on whatever stacksize you want. Frankly I’d want this feature even if there were no automation at all.
This approach means that the small blind only has to specify 2 or 3 strategies and that the bb only has to respond to less than 25% of the scenarios from bucketing. it simplifies the game by quite a lot.
If this sounds like a good plan to start with, I can prioritize it very high on my list of things to build. So, what do you all think?
I think any implementation is better than no implementation, and feedback from play should clarify what the issues are. Money isn’t at stake so problems are no biggy.
My wishlist first implemention is one were the stacks reset after every hand, the input is in some sort of pokerstoveese and where you can specify strategies for a few number of sizes and leave the rest blank. To me, things like mixing hand use , opponent specificness and so on can come later on.