◢███◤      ◢██◤                            ◢██◤                            
     ◢██◤       ◢██◤                            ◢██◤                             
    ◢██◤       ◢██◤                            ◢██◤                              
   ◢██◤       ◢██◤                            ◢██◤                               
  ◢██◤       ◢██◤                            ◢██◤                                
◢███◤       ◢██◤                            ◢██◤                          ◥██◣   
◥███       ◢█████◣    ◢████████◤ ◢███████◤ ◢██◤ ◢██◤                 ◢██◤   ██◣  
 ███      ◢███████◣        ◢██◤ ◢██◤ ◢██◤ ◢███████◤                 ◢██◤    ███  
 ███     ◢██◤  ◢██◤ ◢████████◤ ◢██◤      ◢█████◣                   ◢██◤     ███  
 ███    ◢██◤  ◢██◤ ◢██◤  ███◤ ◢██◤ ◢██◤ ◢██◤◥███◣                 ◢██◤      ███  
 ◥██   ◢██◤  ◢██◤ ◢████████◤ ◢███████◤ ◢██◤  ◥███◣               ◢██◤       ███◣ 
  ◥██◣                                                          ◢██◤       ◢███◤ 
                                 ◢███◤ ◢███◤ ◢██◤  ◢██◤ ◢█████████◤       ◢██◤   
                                ◢█████████◤ ◢██◤  ◢██◤ ◢██◤  ████◤       ◢██◤    
                               ◢██◤◢█◤◢██◤ ◢██◤  ◢██◤ ◢██◤   ███◤       ◢██◤     
                              ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤       ◢██◤      
                             ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤      ◢███◤       

0005
[Binmat Idea] Better/saner start conditions
n40c4z
Right now, binmat has a bunch of really weird start scenarios. This describes (from memory) how the system works now. Case 0: Neither attacker nor defender has the GC to ante. The defender breaches after the 30 sec prep phase even though the attacker didn't pay. WTF? Case 1: Attacker pays ante, defender doesn't. Defender auto-breaches after the 30 sec prep and attacker is out ante even though they didn't actually play binmat. WTF? Case 2: Attacker doesn't pay ante, defender does: defender is out the ante and is now stuck in a (possibly long) attacker-less binmat, which screws with bot brains and such. WTF? Case 3: Both attacker and defender ante up. Game (hopefully) works as expected. 3 of those 4 feel very wrong. My proposal is to change them as follows: Case 0: Neither attacker nor defender has the GC to ante. After the 30 sec prep, no binmat game starts, and the defender is not breached. This is largely equivalent to the Attacker giving up before breaching the last lock, because they didn't have the GC to ante in. Defender shouldn't be penalized Case 1: Attacker pays ante, defender doesn't. After the 30 second prep phase, the attacker should be refunded in full (i.e. get their entire ante back) and the defender auto-breach. The defender couldn't pay for binmat so this should be equivalent to them not having binmat. Attacker shouldn't have to pay to not-binmat. Case 2: Attacker doesn't pay ante, defender does. After the 30 second prep phase, the defender should be refunded in full (i.e. get their entire ante back), and no binmat game should start at all. In other words, *at least* one attacker must ante in during the prep phase for a game to start. If the attackers are tardy on this but does want to breach, the defender hasn't rotated so their last set of lock solves should still work. Case 3: Both attacker and defender ante up. Game (always!) works as expected. Thinking of abuse (i.e. attacking self): You could hold a user in "free" 30-sec-prep-phase limbo permanently in case 2.... but then a legit attacker can just connect to a trace (no need to hack), so this really is a weakness, not a benefit. Cases 0 and 1 aren't abusable AFAICT (because they are equivalent to a defender giving up or an attacker having no locks). Case 3 should just always work.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
thank you for writing this up
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Giving this some thought for XvY binmat, and i think the most logical thing to do is, any time i say attacker above, it means any attacker; any time I say defender above, it means specifically d0. However, any time a game doesn't start, any defenders that anted in get refunds. So, for example, you can have a case 1 where d0 doesn't pay but d1 does pay. Since d0 didn't pay, the game can't start, so the attackers win (and are refunded), and d1 is refunded. d0 gets breached and nothing else. I'm not super thrilled about the asymmetry (i.e. one particular defender must pay in, but any old attacker can), but the game is just asymmetric like that: d0 is special in a way that a0 simply isn't. attackers are interchangeable but d0 is absolutely fixed and integral to the game.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -