Open Side Menu Go to the Top
Register
Writing Hand Ranging Software, Need Halp! Writing Hand Ranging Software, Need Halp!

01-31-2010 , 11:59 PM
OK, so I'm a programmer by trade and I've been working on a piece of software to help poker players improve their hand reading skills. There's only two problems...

1) While I can easily handle the PHP/HTML and PostgreSQL work, I don't have a warm body to handle the java for eventual port to the android platform and;

2) I suck monkey balls when it comes to hand reading. Obv. a better understanding of how the process works will help me make a better product.

So I'm asking for the 2p2 community help in a few ways.

a) If you're good -- really good -- at hand reading, would you consider being a consultant? This would involve a few skype sessions to help the design process along, go over sketches and layout for input. You'd receive pretty exclusive pre-beta access to the software and be listed with the project credits.

I'd also be willing to negotiate some profit sharing if the work goes past a few hours. While income from this would certainly be welcome, getting a product that is helpful to poker players is my primary goal. Anything past that is gravy, so I'm certainly willing to share that gravy with people who help me bring this to fruition.

b) If you know someone who you think would be good in this spot, but doesn't read Beginner's Forum a whole lot, could you point them to this post?

Finally, to give something back to the community that has taught me everything I know about poker (not saying much, truly), anyone who is a member of 2p2 as of today is welcome to a copy of the final release software and all its updates.
Writing Hand Ranging Software, Need Halp! Quote
02-01-2010 , 12:47 AM
imo the member that knows the most about that sort of things.. im not sure if he can help you but ask him.. iether PM him or like the post says go to his site....

Quote:
Originally Posted by Neko
Of course it is possible but as far as I know no such thing exists. If you are interested in having me make a custom program for you, contact me through my site www.evplusplus.com/contact/
Writing Hand Ranging Software, Need Halp! Quote
02-01-2010 , 01:05 AM
Before you get too far in, this isn't what you're making is it?

http://www.happyhunter.com/handRangesv4.htm

Also I have a fair bit of java experience, was from college though, my professional career has been almost exclusively C#.

Wouldn't be a bad way to learn development for the android, so I'm interested.
Writing Hand Ranging Software, Need Halp! Quote
02-01-2010 , 02:16 AM
Can you tell us a little more about the program?
Writing Hand Ranging Software, Need Halp! Quote
02-01-2010 , 05:45 AM
Syracuse, I am flattered but I don't think I'm the best fit for this project

I think your best shot at getting someone who can be very helpful to you is to find a motivated mid-stakes (small stakes? high stakes?) NL player who can help you with the poker aspect of the program. Maybe try making a post in the low content/bitch thread in MSNL and see if you get anyone interested. I would also post in the software forum to find a developer to help you out with the port to Android.
Writing Hand Ranging Software, Need Halp! Quote
02-03-2010 , 02:56 AM
Quote:
Originally Posted by Neko
I think your best shot at getting someone who can be very helpful to you is to find a motivated mid-stakes (small stakes? high stakes?) NL player who can help you with the poker aspect of the program. Maybe try making a post in the low content/bitch thread in MSNL and see if you get anyone interested. I would also post in the software forum to find a developer to help you out with the port to Android.
OK, I'll post over there tomorrow, just crashing out now.

Quote:
Originally Posted by uofi2012
Can you tell us a little more about the program?
Essentially, the software is a hand reading trainer. Through this description, "gamer" will refer to the person using my application while "player" will refer to the poker players themselves.

With the software would be some number of real-world tournaments with the players names obfuscated. The user of the software would be essentially railbirding a tournament (or cash game), entering in hand range guesstimates of the various players in the hand.

Note: only players whose hands are seen before/during showdown are "playable."

Scoring would be fairly straightforward; The smaller the range you assign, the bigger your score. If the ultimate hand shown down is within that range, the gamer is given points. If not, no points.

So, for example, suppose a player who is fairly nitty raises UTG, the gamer might make a guess of:

88+,AQs+,KQs,AKo,KQo

...which represents 5.9% of all possible starting hands. If the player actually has KK, the gamer's range will be a match and they'd receive 94.1 points (100-5.9). The scoring model is utterly up-for-grabs right now, this is just the best method I can imagine so far.

I'm not sure if I'd want to allow a person to make a selection after each bet or only after each betting round is completed. I'm leaning toward the latter.

There's also the question of whether or not I'd let people rail the hands that never reach showdown. I could just bypass those hands, or I could allow the hands to be simply watched since they can very easily cause people's guessing of hand ranges to be changed (eg; a player steals the blinds 4x in a row, the BB's range is much wider when they play back the 5th time). My current feeling is to allow the gamer to choose, through an option panel, whether they wish to play through these hands.

As for layout, I'm currently mocking it up in Photoshop but the general idea is a standard hand replayer (popopop, PTR, etc) top-down view of the table with a PokerStove-style range selection screen to the right. At the end of each betting round, the gamer would be able to click on the icon of any player whose hand is known to the system (and is therefore guessable), which would then allow the gamer to input their range.

A first response to this is "why not just work on hand reading while playing?" I certainly agree that's a good idea and even better, you don't need an app, it's free. But there are plenty of times when the more-than-recreational player might not have access to an online game yet want to improve. I know I'm certainly one.

Another point might be "you can practice hand reading just by using your PT3/HEM, you don't need an app." Certainly, that's true, but generally (a) one needs to be near a computer, which isn't always either possible or desirable (on subway, for example) and (b) one would generally need to bust out paper and pencil, write down the guesses, score by hand, etc. This would be a very simple, very right-to-the-heart-of-the-problem tool that would allow anyone, at any time, to work on an aspect of their poker game that -- if you're anything like me -- is very difficult to master.

There's also the added element of NOT trying to read hands when you're not in the heat of battle. Frankly, when I play, hand reading is quite difficult to me since half my brain is focusing on survival, keeping track of stacks, taking notes, etc.

Lastly, as I mentioned, there would be some number of tournaments bundled with the player. One would be able to load one's own tournament histories into the software to later "play." Additionally, one would be able to purchase additional bundles of tournaments, very similar to how one can buy hand histories, only this would be for hand reading, not data mining to get an edge on the competition (like how HH's are bought now). This could be facilitated by partnering with a HH-providing company.

I don't see this program as being particularly hard to write. Hell, it doesn't even need a poker rules engine to play the game, all it's doing is replaying the hands and allowing notation to occur, then matching those notes with the results and applying a score. The biggest challenge here is to make the tool as fluid and invisible to the gamer to maximize how helpful this is to their game.

I've done some looking and I think the best way to approach this is to fast prototype this in flash or perhaps even html (php/postgreSQL), make a web-based version, let people tool with it, give suggestions, get to a v2.0, then port it via Java so it can be released to the Droid market.

So everyone, please pile on and add suggestions. This project is officially kicking off tomorrow afternoon.
Writing Hand Ranging Software, Need Halp! Quote
02-03-2010 , 04:18 AM
Quote:
Originally Posted by diab0lic
Before you get too far in, this isn't what you're making is it?

http://www.happyhunter.com/handRangesv4.htm

Also I have a fair bit of java experience, was from college though, my professional career has been almost exclusively C#.

Wouldn't be a bad way to learn development for the android, so I'm interested.
That seems to be quite useful, but it´s for FR only. Anyone know something like that for 6max?
Writing Hand Ranging Software, Need Halp! Quote
02-03-2010 , 01:54 PM
Shameless bump since I posted the description at like 2AM.

Last edited by bodhisoma; 02-03-2010 at 01:56 PM. Reason: typo
Writing Hand Ranging Software, Need Halp! Quote
02-03-2010 , 01:58 PM
Paging JackWilcox
Writing Hand Ranging Software, Need Halp! Quote
02-03-2010 , 02:19 PM
Definitly would be interested when/if it hits the android market, more things to do while at work to entertain me is good
Writing Hand Ranging Software, Need Halp! Quote
02-03-2010 , 05:43 PM
sounds cool, but since i have an ipod and not a droid i'd like a ipod version as well.

It sounds like an interesting project and i'd be interested in beta testing/bug finding. I'm good at finding and replicating bugs within software programs and would be willing to volunteer to help with that stage of development.

One main issue I notice right away is the lack of flow and information about the hands. Are the tournys/cash sessions to be played through in one order? If you cut out the hands that don't go to showdown you lose a lot of hands, and the info you need to make the hero calls and truly assign ranges. Perhaps notes about the player's history at the table or the player in general should be added as well. With notes on each hand the hands could actually be given in a random order that could help with training for multi-tabling.

Or perhaps you could just use sessions where every card is known via pocket cams. Then guessing could be done each hand and the gamer could develop their own mental notes and watch the gameflow themselves. I think this option is best.

I have other thoughts on this, but i don't know if you already have things worked out but it sounds like fun.
Writing Hand Ranging Software, Need Halp! Quote
02-03-2010 , 06:41 PM
The problem with doing iPhone development is you have to write it in Objective C and there is no guarantee it will be excepted into the app store.
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 01:20 AM
Quote:
Originally Posted by c'mon man
Paging JackWilcox
Funny you should say that; he's the first and only person I consulted privately before making this idea public. He had some very useful thoughts about the idea.

Quote:
Originally Posted by SmokeyS
sounds cool, but since i have an ipod and not a droid i'd like a ipod version as well.
If that happens it'll be long after the Android port/version. I <3 Mac, I develop on one, but I'm not about to jump through the inane store hoops if I can avoid it.

Plus I don't know objective C. =)

Quote:
It sounds like an interesting project and i'd be interested in beta testing/bug finding. I'm good at finding and replicating bugs within software programs and would be willing to volunteer to help with that stage of development.
I'll definitely make sure to keep you in the loop on this.

Quote:
One main issue I notice right away is the lack of flow and information about the hands. Are the tournys/cash sessions to be played through in one order? If you cut out the hands that don't go to showdown you lose a lot of hands, and the info you need to make the hero calls and truly assign ranges.
I addressed that here:

Quote:
Originally Posted by bodhisoma
There's also the question of whether or not I'd let people rail the hands that never reach showdown. I could just bypass those hands, or I could allow the hands to be simply watched since they can very easily cause people's guessing of hand ranges to be changed (eg; a player steals the blinds 4x in a row, the BB's range is much wider when they play back the 5th time). My current feeling is to allow the gamer to choose, through an option panel, whether they wish to play through these hands.
Quote:
Originally Posted by SmokeyS
Perhaps notes about the player's history at the table or the player in general should be added as well.
I'm considering having the software display a very crude hud (VPiP/PFR/AFq) for each player but adding a note field is definitely possible.

Quote:
With notes on each hand the hands could actually be given in a random order that could help with training for multi-tabling.
I'll give that some thought.

Quote:
Or perhaps you could just use sessions where every card is known via pocket cams.
Then I've got a large data source and transcription issue.

Quote:
I have other thoughts on this, but i don't know if you already have things worked out but it sounds like fun.
Please, drop them all here. I'm pretty stoked about this idea and the more 2p2 feedback I get, the better it's going to be.

Thanks for the input everyone.
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 01:33 AM
I would be willing to enter data from PAD sessions. Perhaps we could get some of the skilled regs to sit down and then use the data and change the names. Could automate the date entry and i bet after a couple hours of them multi-tabling each other there could be some interesting reads. Or perhaps have them all play one table with some high stakes (not necessarily money) prop bet.

One issue, is what about laggy players who in spots have atc? how can you guess their range. chances are though those hands don't got past the flop and usually won't get to the river without developing into something tricky.

Its a cool project, but I am thinking these flaws are inherent to the game and I find it hard to deal with the ranges of laggy players unless their cards are known. I guess that the correct answer could be something decided by a few expert hand readers or defined by a combination of the experts and the known data. I dunno, but thanks for the feedback. i'm out. cya
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 07:35 AM
I like the program concept. Not really sure if I could be very helpful. I'm only a very elementary programmer and slight SSNL winner. If you have anything in mind for me to do though, I'd like to help. I have played with my Photoshop:CS quite a bit as well. Sounds like a fun project, and I have boredom on my hands for a couple of weeks.

PM if interested, I guess
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 12:52 PM
OK, already got a problem...

Suppose, just for argument sake, that we put villain on any pair, any suited ace and AKs/o. In pokerstove that'd look something like this:

Code:
22+,A2s+,AKo
Now suppose the flop three clubs and the villain acts, we now narrow their range to be only AKs/o and any suited ace but only for clubs.

How would that look in the above-style shorthand? I'm thinking something like...

Code:
A2c-AQc,AKo
...but when I feed that into pokerstove and tab to the next field, it just chops off the A2c-AQc part. Blarg. Do I simply have to enumerate them all (eg; Ac2c, Ac3c, Ac4c, Ac5c)?

As for doing it graphically, in my mind's eye, I figured in pokerstove we'd just unclick the A2s-AQs line in the 13x13 grid and replace it, in the "cards" tab, with the vertical line for clubs. But either I'm doing it wrong or that's not how pokerstove works.

It looks like pokerstove wants one or the other (the 13x13 or the 4x13 grid) but not both.

Last edited by bodhisoma; 02-04-2010 at 12:52 PM. Reason: added emphasis
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 05:59 PM
Also, taking suggestions for a name, "Soul Reader" is currently the only contender.

But I *really* need advice on the how-to-shorthand-specific-suits issue above.

Please. =)
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 06:16 PM
this might help source and everything
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 06:44 PM
I am going to be releasing v2 of my online equity calculator either tomorrow or the next day.

The way I have dealt with suits is this

AK means AK suited or offsuit
[AK] means AK suited
[AK]h means AK of hearts
[A]K means AK offsuit
[Ah]K or Ah[K] means Ace of hearts with any king.

How does that look?
Writing Hand Ranging Software, Need Halp! Quote
02-04-2010 , 11:56 PM
Quote:
Originally Posted by SmokeyS
One issue, is what about laggy players who in spots have atc? how can you guess their range. chances are though those hands don't got past the flop and usually won't get to the river without developing into something tricky.
No need to guess, the hands that could be "played" would only be the ones where it went to showdown, and thus the cards are known.

Quote:
Originally Posted by Bacon
I'm only a very elementary programmer and slight SSNL winner. If you have anything in mind for me to do though, I'd like to help. I have played with my Photoshop:CS quite a bit as well. Sounds like a fun project, and I have boredom on my hands for a couple of weeks.
Luckily this will be extremely graphics light but I'll definitely keep you in mind, probably in the beta testing realm.

Quote:
Originally Posted by sputum
this might help source and everything
No but I do appreciate the link. My code doesn't have to do any equity calculations at all, simply display hands street-by-street and allow users to input guess ranges.

Quote:
Originally Posted by Neko
I am going to be releasing v2 of my online equity calculator either tomorrow or the next day.

The way I have dealt with suits is this

AK means AK suited or offsuit
[AK] means AK suited
[AK]h means AK of hearts
[A]K means AK offsuit
[Ah]K or Ah[K] means Ace of hearts with any king.

How does that look?
Well, it certainly makes sense but it took me a few reads to figure it out and if you asked me to repeat it without looking, I'd fail. But I've also got the memory of an intoxicated vole.

I think I'm going to go with "s" for suited and capital letters for suits (eg; H, D, S and C for hearts, diamonds, spades and clubs, respectively).

-----------------------------------

Question for the people following; should I allow each already passed street to be seen? In other words, if I'm showing the turn action, should the previous action for the flop and preflop be visible? It's kind of cheating since, during a game, you have to remember previous action.

Perhaps an option that can be toggled?

Here's a screenshot of a super primitive version, maybe it'll help a bit in showing what I have in mind. Please note that the hand ranges are merely thrown in for aesthetics, not my actual guess.

Hell, the math might even be wrong...

Writing Hand Ranging Software, Need Halp! Quote
02-05-2010 , 12:14 AM
BTN > BU imo
Writing Hand Ranging Software, Need Halp! Quote
02-05-2010 , 01:00 AM
Quote:
Originally Posted by uofi2012
BTN > BU imo
Good point, I'll use that instead.
Writing Hand Ranging Software, Need Halp! Quote
02-05-2010 , 06:17 AM
Quote:
Originally Posted by bodhisoma
Well, it certainly makes sense but it took me a few reads to figure it out and if you asked me to repeat it without looking, I'd fail. But I've also got the memory of an intoxicated vole.
Hmmm...I was hoping this would be easy for people to understand. Maybe I'll have to rethink it.

Quote:
Question for the people following; should I allow each already passed street to be seen? In other words, if I'm showing the turn action, should the previous action for the flop and preflop be visible? It's kind of cheating since, during a game, you have to remember previous action.

Perhaps an option that can be toggled?
Making it optional is definitely the way to go.
Writing Hand Ranging Software, Need Halp! Quote
02-05-2010 , 07:27 AM
Quote:
Originally Posted by bodhisoma
How would that look in the above-style shorthand? I'm thinking something like...

Code:
A2c-AQc,AKo
Ac2c-AcQc or A2cc-AQcc


Quote:
Originally Posted by bodhisoma
...but when I feed that into pokerstove and tab to the next field, it just chops off the A2c-AQc part. Blarg. Do I simply have to enumerate them all (eg; Ac2c, Ac3c, Ac4c, Ac5c)?
yes, for it to work in pokerstove
Writing Hand Ranging Software, Need Halp! Quote
03-31-2010 , 12:58 AM
Been working on the software, currently in private beta.

Made a quick video, you can check it out here.

Feedback is appreciated.
Writing Hand Ranging Software, Need Halp! Quote

      
m