Page 1 of 2 12 LastLast
Results 1 to 13 of 26

Thread: Bingo Blackjack

  1. #1


    Did you find this post helpful? Yes | No

    Bingo Blackjack

    DraftKings offers a blackjack variant called "Bingo Blackjack." I don't know much about the game, but by just looking at the many basic strategy charts for this game depending on the bingo multiplier the variance looks very high. Has anyone played this game and done well on it . DraftKings claims with perfect basic strategy this game offers 99.86% RTP.

    I have been offered a really good promotion on this game. It is something like $500 free credits for only $2,500 in play. The downside looks like I would have to look up the basic strategy play for almost every hand because it depends on the bingo multiplier. There are 60 different basic strategy tables.

    https://www.bonus.com/news/draftkings-bingo-blackjack/

    https://wizardofodds.com/games/bingo-blackjack/

  2. #2


    Did you find this post helpful? Yes | No
    I play Bingo Blackjack (BBJ) frequently. You are correct that there are 60 different strategies because you are playing 60 different games depending on the target and multiplier combination. However, 50x and 100x multipliers are almost never seen. The 2x multiplier is most common and doesn't play much differently than ordinary BJ. Finally, BBJ hands where you cannot hit the target play identically to ordinary BJ. For example, if you are dealt a hard 14 and the target is 12, then you are playing ordinary BJ and getting no value for your 20% premium.

    It isn't that hard to make a tool to summon the right strategy for each hand where you can still achieve a target.

    The variance of BBJ is 4 or five times higher than BJ.

  3. #3


    Did you find this post helpful? Yes | No
    Would be interested in some estimates or concrete numbers on how frequently the multipliers are drawn. I dont think those numbers are out there. I do think it should be required that they be made public.

    The advertised RTP of 99.86% is impressive. But I also think it is fair to want to verify the accuracy...which is impossible to do without knowing frequency of the multipliers.

    Really tricky to determine that without a really large sample. 100x multiplier might be something like 1 in every 2,000 or 1 in every 4,000 (no idea) and we are stuck kind of guessing.

  4. #4


    Did you find this post helpful? Yes | No
    @Semen

    Your handle reminds me of a certain issue that Bill Clinton needed to keep Hillary unaware of. And so, Bill went to Joe Pomerance the Dry Cleaner asking Joe to practice his best discretion and get an embarrassing stain off of one of his suits. Joe gave his word.

    A week later, Joe showed up at the White House demanding he had HAD to see the President. Bill came to the White House foyer and Joe with his heavy Yiddish accent proclaimed - Meester Prezident - Semens off and and Mazel Tov and Mazel Tov and semens off…..

    Now, if you don’t get it - 2 points
    1. You’re not Jewish
    2. We will explain it

    It really is very funny

  5. #5


    Did you find this post helpful? Yes | No
    Quote Originally Posted by Sidecount View Post
    Would be interested in some estimates or concrete numbers on how frequently the multipliers are drawn. I dont think those numbers are out there. I do think it should be required that they be made public.

    The advertised RTP of 99.86% is impressive. But I also think it is fair to want to verify the accuracy...which is impossible to do without knowing frequency of the multipliers.

    Really tricky to determine that without a really large sample. 100x multiplier might be something like 1 in every 2,000 or 1 in every 4,000 (no idea) and we are stuck kind of guessing.
    I have data from over 21,000 hands of BBJ. I have only seen 8 of the 50x and 100x multipliers combined. These are roughly once in 5000 events and I never landed a target at more than 25x. The 2x multiplier represents 63% of multipliers. I get a 25x about once every 36 hands.

    Even with 21K observations, it is not possible for me to verify the EV calculations. The uncertainty in RTP is around a half percent, so I cannot even prove that BBJ is a better game than ordinary BJ without many more observations.

    I do not know of anyone claiming to have as much data as I have. Unless someone can provide actual probabilities from a PAR sheet, I don't expect to see the RTP validated any time soon.

    The strategy charts that are provided in the help screen of BBJ are garbage, and the key is backwards with regards to double-or-stand and double-or-hit decisions.

  6. #6


    Did you find this post helpful? Yes | No
    Thanks for that.
    Really feel they should be legally obligated to provide specifics on the multipliers.
    Definitely frustrating that their own charts are wrong and have not been fixed.

  7. #7


    Did you find this post helpful? Yes | No
    Quote Originally Posted by Sidecount View Post
    Thanks for that.
    Really feel they should be legally obligated to provide specifics on the multipliers.
    Definitely frustrating that their own charts are wrong and have not been fixed.
    If you are used to BJ or video poker or craps, of course you expect to be able to verify the return to player (RTP) for yourself. I mostly play slot games where I simply have to trust the regulatory agencies that verified the RTP. BBJ is no different for me. Besides, many people don't believe that cards are being dealt fairly online. Why would they believe the bingo balls are being chosen fairly according to the stated probabilities? That would be much harder to verify statistically.

    I definitely benefit if most people are playing BBJ poorly. The lower the average RTP, the more the casino can afford to shell out in promotional dollars. BBJ is a game where it is emotionally difficult to play the right strategy even if you have it available. If you are not willing to double down on a hard total of five or six or 19 against a dealer ten or ace, or split tens to four hands every day, then you ware taking a hit to RTP. These are relatively rare situations, but doubling a stiff total into a dealer 9/10/A is quite common and the loss in EV can be substantial if you cannot bring yourself to do it.

    IMO, the less said about the high RTP of BBJ, the better. There are already way too many high RTP games excluded from online promotions. I find ordinary BJ quite boring, but I enjoy being able to play BBJ when the circumstances are right. I would hate for BBJ to disappear or be put on the exclusion list.

  8. #8


    Did you find this post helpful? Yes | No
    I mostly understand your point and have thought of same before. But I've also seen situations where the casino provides info on drawings and how frequently or rarely different bonuses are selected. The Spin-and-Go poker tournament style is an example where you know that getting the top multiplier is 1:20,000 or whatever it is. They have the breakdown. In the end, they calculate that it's a 4.5% rake or whatever it is and you can actually go through the numbers and confirm it...if you want.

    Additionally, there are situations where it very much appears that DK's own suggested strategy for BBJ chart is incorrect. So how can we even know or verify the RTP if they can't even get the strategy right and haven't bothered to fix it? I've also seen some other RTP's listed for blackjack rulesets that have very slight differences from what you would see for the same rules on WOO.

    But, yes, I can see how this discussion ends up trending towards "Online is rigged!" type nonsense and ultimately it is up to the individual to believe whether or not they are providing a legitimate game as well as legitimate info about that game. It they did make some calculation mistakes then it might be off by 0.02% on the RTP or something and honestly who cares at that point! 99.86% RTP is really good and 99.84% would be really good too. My complaint about this lack of information about the frequency of the multipliers has more to do with my curiosity I guess and interest in confirming that the listed RTP is actually correct.

    I do enjoy BBJ but unfortunately it also plays much more slower for me because there are so many times I have to consult the chart because I'm not sure what the correct play is.

  9. #9


    Did you find this post helpful? Yes | No
    Quote Originally Posted by Sidecount View Post
    I mostly understand your point and have thought of same before. But I've also seen situations where the casino provides info on drawings and how frequently or rarely different bonuses are selected. The Spin-and-Go poker tournament style is an example where you know that getting the top multiplier is 1:20,000 or whatever it is. They have the breakdown. In the end, they calculate that it's a 4.5% rake or whatever it is and you can actually go through the numbers and confirm it...if you want.

    Additionally, there are situations where it very much appears that DK's own suggested strategy for BBJ chart is incorrect. So how can we even know or verify the RTP if they can't even get the strategy right and haven't bothered to fix it? I've also seen some other RTP's listed for blackjack rulesets that have very slight differences from what you would see for the same rules on WOO.

    But, yes, I can see how this discussion ends up trending towards "Online is rigged!" type nonsense and ultimately it is up to the individual to believe whether or not they are providing a legitimate game as well as legitimate info about that game. It they did make some calculation mistakes then it might be off by 0.02% on the RTP or something and honestly who cares at that point! 99.86% RTP is really good and 99.84% would be really good too. My complaint about this lack of information about the frequency of the multipliers has more to do with my curiosity I guess and interest in confirming that the listed RTP is actually correct.

    I do enjoy BBJ but unfortunately it also plays much more slower for me because there are so many times I have to consult the chart because I'm not sure what the correct play is.
    I don't think DK want to emphasize how rare the 50x and 100x multipliers are. The balls are not equally weighted as in ordinary Bingo.

    Remember that RTP is fundamentally different from EV or house edge. Therefore, the strategy that you use to maximize EV per hand is not the same as the strategy that you would use to maximize RTP. Note that WOO usually just quotes EV, but he sometimes adds an element-of-risk calculation which is just another way of saying RTP.

    How are you getting to the right BBJ strategy? Are you just scrolling the DK charts? I usually have the correct strategy chart in front of me within a second after the hand is dealt. I just click the M and T values on a simple Java GUI that I created myself.

  10. #10


    Did you find this post helpful? Yes | No
    I do not understand what you mean that RTP is not the same as house edge.

  11. #11


    Did you find this post helpful? Yes | No
    Quote Originally Posted by Sidecount View Post
    I do not understand what you mean that RTP is not the same as house edge.
    The EV you get from WOO or Eric's program are in units gain or loss per hand. If you compare the EV double versus standing, you just take the higher EV (lowest house edge). But I am playing online for significant promotional cash based on my total action, not on the raw number of hands. If I double or split a given hand, I don't have to play as many hands to get whatever reward I am playing for. So splitting has a tiny benefit that might make it better to split even if the house edge is greater on that hand if I split. This is even more of a factor for splitting tens in BBJ because I am quite likely to get a resplit.

    I care about RTP which is the percentage of my total action I can expect to be returned to me. House edge or EV does not capture this, and the strategy decisions should not be based on best EV without correcting for action.

  12. #12


    Did you find this post helpful? Yes | No
    Quote Originally Posted by OnlineAP View Post
    I don't think DK want to emphasize how rare the 50x and 100x multipliers are. The balls are not equally weighted as in ordinary Bingo.

    Remember that RTP is fundamentally different from EV or house edge. Therefore, the strategy that you use to maximize EV per hand is not the same as the strategy that you would use to maximize RTP. Note that WOO usually just quotes EV, but he sometimes adds an element-of-risk calculation which is just another way of saying RTP.

    How are you getting to the right BBJ strategy? Are you just scrolling the DK charts? I usually have the correct strategy chart in front of me within a second after the hand is dealt. I just click the M and T values on a simple Java GUI that I created myself.
    I have tried to play BBJ using DK's strategy charts (in order to farm promos and hopefully come out ahead), but it's just been too time-consuming. Is there anything better you have found that you would recommend, that is somewhat accessible? It sounds like you may have had to create charts yourself. Thanks in advance. If this is something you'd rather PM about, I believe my PMs are open, but it won't let me PM you.
    Last edited by blackandjack; 01-29-2025 at 04:30 PM.

  13. #13


    Did you find this post helpful? Yes | No
    The java program at the bottom of this post creates a GUI that allows me to enter the multiplier/target values by clicking radio buttons. The GUI has a 'Get Strategy' button. When I click this button, it does four things. It runs a program called magic.exe that generates the appropriate strategy. It prints the output of that program to the console with color coding for S/D/H/P/R decisions. It increments the game counter so I can keep track of how many games I have played in the session. The program logs the multiplier and target to hard-coded file location.

    You could replace magic.exe with a program that would throw up a JPG viewer with the right screenshot of the appropriate DK strategy chart. Or you could write a program to generate a better strategy yourself. That is what I did using Eric Farmer's code as a starting point.

    I tried to use ChatGPT to describe the workings of the program. I never tried this before and it it pretty good at writing documentation and formatting the code.

    This Java code creates a simple graphical user interface (GUI) application that is centered around a "Bingo BJ Multiplier and Target" game. Let's break down what each part does:
    Components:


    • TextField (mtgDisplay): This field displays the current multiplier (myMult), target (myTarg), and the game count. It's set to be non-editable and displayed in a large font.
    • Buttons (btnStrat and btnQuit):
      • btnStrat triggers the logic for getting a strategy (which involves running an external process).
      • btnQuit exits the application when clicked.

    • Radio Buttons: The GUI features two sets of radio buttons:
      • One set allows the user to select a multiplier (2, 5, 10, 25, 50, or 100).
      • The other set allows the user to select a target value (from 12 to 21).

    • Panel and Layouts: The code uses a GroupLayout and other panels to organize components on the window.

    Functionality:


    1. Multiplier and Target Selection:
      • Users can select a multiplier from a set of predefined values (2, 5, 10, 25, 50, 100).
      • Users can select a target from the range 12 to 21.
      • The selected multiplier and target values are displayed in the mtgDisplay TextField, along with the current game count (gameCount).

    2. Strategy Button (btnStrat):
      • When clicked, it runs an external process (likely a command to run a program) using Runtime.getRuntime().exec().
      • The command it tries to run is: "D:/cygwin64/bin/magic.exe + multStr + targStr", where multStr and targStr are the selected multiplier and target, respectively.
      • It also logs this action in a CSV file (bbjLog.csv) for each game and increments the game count.
      • The console logs the results of this external process.

    3. Quit Button (btnQuit):
      • When clicked, the application waits for a second and then closes the application using System.exit(0).

    Miscellaneous:


    • Game Count: Each time the "Get Strategy" button is clicked, the game count is incremented.
    • Thread Sleep: The application waits for a second at various places, likely to ensure smooth execution of processes and actions.

    Main Program Flow:


    • The main method initializes and displays the GUI.
    • The GUI includes components for selecting a multiplier and target, displaying the current game state, and interacting with external programs.
    • Action listeners are used to handle button clicks, where one executes a strategy and the other quits the program.

    Potential Use Case:

    This application appears to be part of a game or simulation, where the user selects a multiplier and target, and a strategy is generated by an external process (magic.exe). The log of these selections and results is saved for later analysis. The interface is very basic and consists mostly of buttons and radio buttons.

    Code:
    package bbj;
    
    
    import java.awt.*;
    import java.awt.event.*; // Using AWT event classes and listener interfaces
    import java.io.*;
    import javax.swing.*;
    import javax.swing.border.Border;
    
    
    public class Gui {
        int myMult = 2;
        int myTarg = 12;
        String multStr;
        String targStr;
    
    
        int gameCount = 1; // Counter's value
        boolean loopThreadRunning = false;
        TextField mtgDisplay; // Declare a TextField component
        Button btnStrat; // Declare a Button component
        Button btnQuit; // Declare a Button component
        Label lblCount = new Label("Counter"); // construct the Label component
        Font font = new Font("Arial", Font.BOLD, 20); // Change the font name, style
    
    
        private void createGUI(String args[]) {
            JFrame jf = new JFrame("Bingo BJ Multiplier and Target");
            JPanel panel = new JPanel();
            GroupLayout layout = new GroupLayout(panel);
            
            layout.setAutoCreateGaps(true);
            layout.setAutoCreateContainerGaps(true);
            panel.setLayout(layout);
            jf.add(panel);
    
    
            mtgDisplay = new TextField("Mult Targ Game #"); // TextField
            mtgDisplay.setFont(new Font("Arial", Font.BOLD, 36));
            mtgDisplay.setPreferredSize(new Dimension(10, 10));
            mtgDisplay.setForeground(new Color(255, 0, 0));
            mtgDisplay.setEditable(false); // set to read-only
    
    
            btnStrat = new Button("Get Strategy"); // construct the Button component
            btnStrat.setFont(font);
            btnStrat.setForeground(new Color(0, 90, 90));
            StratLstn Strat = new StratLstn();
            btnStrat.addActionListener(Strat);
    
    
            btnQuit = new Button("Quit"); // construct the Button component
            btnQuit.setForeground(new Color(155, 0, 90));
            btnQuit.setFont(font);
            QuitLstn quit = new QuitLstn();
            btnQuit.addActionListener(quit);
    
    
            // Create the radio buttons
            JPanel game = new JPanel(new GridLayout(7, 0));
            JPanel mult = new JPanel(new GridLayout(6, 0));
            JPanel targ = new JPanel(new GridLayout(10, 0));
            JPanel cnt = new JPanel(new GridLayout(0, 5));
            JPanel chooser = new JPanel();
    
    
            // Arrange horizontally
            chooser.setLayout(new BoxLayout(chooser, BoxLayout.X_AXIS));
    
    
            game.add(btnStrat);
            game.add(mtgDisplay);
            game.add(btnQuit);
    
    
            ActionListener mal = new ActionListener() {
                public void actionPerformed(ActionEvent actionEvent) {
                    AbstractButton aButton = (AbstractButton) actionEvent.getSource();
                    try {
                        myMult = Integer.parseInt(aButton.getText());
                    } catch (NumberFormatException ex) {
                        System.out.println("Invalid number format: " + ex.getMessage());
                    }
                    // Convert int to String
                    mtgDisplay.setText(myMult + " " + myTarg + " Game # " + gameCount);
                    multStr = aButton.getText();
                }
            };
    
    
            ActionListener tal = new ActionListener() {
                public void actionPerformed(ActionEvent actionEvent) {
                    AbstractButton aButton = (AbstractButton) actionEvent.getSource();
                    try {
                        myTarg = Integer.parseInt(aButton.getText());
                    } catch (NumberFormatException ex) {
                        System.out.println("Invalid number format: " + ex.getMessage());
                    }
                    mtgDisplay.setText(myMult + " " + myTarg + " Game # " + gameCount);
                    targStr = aButton.getText();
                }
            };
    
    
            String[] mArray = {"2", "5", "10", "25", "50", "100"};
            ButtonGroup MBG = new ButtonGroup();
    
    
            for (int i = 0; i < 6; i++) {
                String val = String.valueOf(mArray[i]);
                JRadioButton radio = new JRadioButton(val);
                radio.setPreferredSize(new Dimension(30, 30));
                radio.addActionListener(mal);
                radio.setFont(font);
                MBG.add(radio);
                mult.add(radio);
            }
    
    
            ButtonGroup TBG = new ButtonGroup();
            for (int i = 12; i < 22; i++) {
                String val = String.valueOf(i);
                JRadioButton radio = new JRadioButton(val);
                radio.addActionListener(tal);
                radio.setPreferredSize(new Dimension(10, 10));
                radio.setFont(font);
                TBG.add(radio);
                targ.add(radio);
            }
    
    
            chooser.add(mult);
            chooser.add(targ);
    
    
            layout.setHorizontalGroup(
                layout.createSequentialGroup()
                    .addGroup(
                        layout.createSequentialGroup()
                            .addGroup(
                                layout.createSequentialGroup()
                                    .addGroup(
                                        layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                                            .addComponent(chooser)
                                            .addComponent(game)
                                            .addComponent(cnt)
                                    )
                            )
                    )
            );
    
    
            layout.setVerticalGroup(
                layout.createSequentialGroup()
                    .addComponent(chooser)
                    .addComponent(cnt)
                    .addComponent(game)
            );
    
    
            Border blackline = BorderFactory.createLineBorder(Color.BLUE);
            mult.setBorder(blackline);
            targ.setBorder(blackline);
    
    
            jf.pack();
            jf.setVisible(true);
        }
    
    
        // Define an inner class to handle the "Strat" button-click
        private class StratLstn implements ActionListener {
            // ActionEvent handler - Called back upon button-click.
            @Override
            public void actionPerformed(ActionEvent evt) {
                String sort = "D:/cygwin64/bin/magic.exe + multStr + targStr";
                try {
                    Runtime runtime = Runtime.getRuntime();
                    Process child = runtime.exec(sort);
                    InputStream chIn = child.getInputStream();
                    InputStreamReader isr = new InputStreamReader(chIn);
                    BufferedReader br = new BufferedReader(isr);
                    String line;
                    while ((line = br.readLine()) != null) {
                        System.out.println(line);
                    }
                    Writer output = new BufferedWriter(new FileWriter("D:/bingo/bbjLog.csv", true));
                    output.append(multStr + "\t" + targStr + "\t" + gameCount + "\n");
                    output.close();
                    gameCount++;
                } catch (IOException e) {
                    e.printStackTrace();
                    System.out.println("ReturnThread: " + e.getMessage());
                }
                System.out.println(sort);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    
    
        // Define an inner class to handle the "Quit" button-click
        private class QuitLstn implements ActionListener {
            // ActionEvent handler - Called back upon button-click.
            @Override
            public void actionPerformed(ActionEvent evt) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.exit(0);
            }
        }
    
    
        public static void main(String args[]) throws IOException {
            Gui decoder = new Gui();
            decoder.createGUI(args);
        }
    }
    Last edited by OnlineAP; 01-30-2025 at 11:39 AM.

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

About Blackjack: The Forum

BJTF is an advantage player site based on the principles of comity. That is, civil and considerate behavior for the mutual benefit of all involved. The goal of advantage play is the legal extraction of funds from gaming establishments by gaining a mathematic advantage and developing the skills required to use that advantage. To maximize our success, it is important to understand that we are all on the same side. Personal conflicts simply get in the way of our goals.