PokerAid - Strategic real-time poker helper for Mac!

Discussion in 'Mac Apps and Mac App Store' started by locoputo, Jul 9, 2012.

  1. locoputo macrumors newbie

    Joined:
    Dec 25, 2008
    #1
    Nearly two weeks ago I started a little project to create a poker helper. For the initial setup, I am designing it to work with Zynga's holdem' poker on facebook.

    It is a strict work in progress, but while I have the time to do so, I will keep developing it as far as possible. This is a well thought-out multi-stage project, and I'm posting this message here and in a few other places to see what the general interest in this kind of project is, and whether anybody would like to become a tester.

    This project is currently in stage 7

    The development stages are as follows:
    1. The user selects an area of the screen, indication the location of the total chip count. The app reads this, and presents the total chip count.
    2. The app automatically locates the total chip count based on a placemark, and proceeds to read this chip count.
    3. The app automatically re-locates the total chip count if it is lost.
    4. The app tracks the highest and lowest total count the player has reached in that session, and presents it.
    5. The app tracks the overall chip change of that session (currentChips - startingChips), and presents it.
    6. The app automatically detects the player's status, whether the player is currently in the lobby, on a table, has a seat, has a hand, and so on.
    7. Following calibration with an empty table, the app detects what seats are free, and places the player in one of the available position, noting the location of the player.
    8. The app automatically reads and presents the blindsize of the table the player is currently on.
    9. With use of knowledge of player's position, the app locates the player's hand.
    10. The app reads the player's hand successfully, and presents it as text.
    11. The app knows when the player wins a hand, and when the player loses a hand (could probably do if(totalGain > (blindSize*3)) and treat any gain as a win, and vice versa for lost hands.
    12. The app tracks which preflop pairs the player loses with and which the player wins with.
    13. TBA.

    Future features will include:
    • Reading player's cards, and keeping track which hands win & which hands lose from the preflop.
    • Tracking player's primary actions: check, fold, raise, call, all-in.
    • Track how many other players there are, and their actions during each round.
    • Keeping track of the player's win/lose ratio.
    • Reading cards currently in play, and advising player on hand strength.
    • Reading players currently on-table chip stack, and recommending whether to rebuy or even change tables.

    As you can see, there is a lot to this. As of today (9th July 2012), stage 7 is being worked on. Note that it is unlikely that I will have the time to actively develop this in the future, but express your interest nonetheless if you wish to get involved. Feedback is also greatly valued!

    Note: This app does not and will not include automated collusion capabilities.


    Code:
    lazy paragraph break
    FAQ
    If you have any questions that aren't here,
    ask in the thread or pop me a message.

    Can I try it out?
    Sure, give it a go and tell me what you think: http://loco.im/PokerAid.app.zip

    It says "can't find chips", how can I fix it?
    It might need recalibrating for your system configuration. If you're computer savvy, check out the PNGs folder in Contents/Resources, and replace them with your own screenshots.
    If you're lost, reply to this topic and I'll help you out.

    Which poker sites will it support?
    Currently only Zynga's poker on facebook. But the way it is designed, once the program is there, it is easily adaptable.

    Will include a bot?
    Yes, a later version might include the first pokerbot for Mac that works on Zynga's facebook poker. Stages up to 6 will need to be completed first though, so it might be a while.
    Code:
    lazy paragraph break
    Latest screenshot:
    [​IMG]

    Note: This topic is a branch from the original topic on the portingteam forums, while I will do my best to keep these branches up to date, more recent updates are likely to be found in the original thread.
     
  2. locoputo thread starter macrumors newbie

    Joined:
    Dec 25, 2008
    #2
    Update: I've made massive improvements to what I will use for image analysis within the app, though it has not yet been implemented into the automated part of the app, and there are still a few aspects of the method I need to work on. Follow the instructions at the end if you want to have a play around with it.

    That's not all, as you'll see in the below screenshot, I have implemented a form of console log which'll let you see, in real time, what the app's currently up to or what it just did.


    The next step is to clean up the code, remove any useless/outdated junk and update the chip locator to use the improved method.

    Next I'll have to dig into the wonderful maths of determining which detected seat is at which position (relative to the chip locator), and using all known positions to determine where the player is sitting, and where his hand is.

    Testing the new image analysis method:
    click window -> debug panel.

    On facebook, open up Zynga's poker, join any table with plenty of free seats, and click "locate seats" on the debug panel. It should highlight any available seats it has detected, for example:
    [​IMG]

    Though this does nothing other than try to locate all available seats and draw little boxes over them, I don't recommend playing with any of the other debug features. What they do changes all the time as I occasionally need buttons to test new methods & implementations. As you can see, it's not yet perfect, and for some reason it occasionally only detects 8 of the 9 seats. It's a work in progress!

    The download link is: http://loco.im/PokerAid.app.zip
    Whether it works for you or not, reply to this thread or send me a message if you've tried it. All feedback will help.
     
  3. locoputo, Jul 13, 2012
    Last edited: Jul 13, 2012

    locoputo thread starter macrumors newbie

    Joined:
    Dec 25, 2008
    #3
    I have updated the recognition system, it should now detect all available seats without an issue, compared to the earlier bug where one or two seats were missed. The update is available via the link in the above post.

    Further to my previous posts, due to the way the recognition system works, if there are any differences in screen resolution, font size, or anything else that affects the appearance of screenshots on your computer, this app will not work immediately.

    Thankfully, due to how I have designed the underlying system, you can fix this in a few minutes. To do so, follow these instructions:
    1. Hold "ctrl" and click on the .app file. Select "Show Package Contents".
    2. Navigate through: "Contents/Resources/PNGs/".
    3. You will see a selection of images, each of these is used for comparison by the app. These will need to be replaced, but don't worry. It's dead easy!
    4. Open "http://apps.facebook.com/texas_holdem/" in your poker-playing browser, and let it load the main menu.
    5. Notice the chip on the top left of the screen, just left of your total chip count. Hold "cmd" and hit "4".
    6. Now click-drag a box over the whole of the chip. This will create a png file on your desktop, it should look like the chip.png in the PNGs folder.
    7. Replace the chip.png with your chip.png. Make sure the name matches or the app will crash.
    8. Repeat steps 5-7 for all other images. If you're stuck with any of the images, reply to the thread and I'll clarify.
    Note: You do not need to replace screenShot.png. This is a temporary file which is used by the app for screenshots, but automatically replaced once a screenshot has been taken.
     

Share This Page