18 comments

  • hash0 1 day ago
    I got 50 hits in 100 tries. That being said, I did not particularly like hitting that poor frog :'( Yes, I am the kind of player who would never choose the rude option when talking to an NPC.
  • escanor 13 hours ago
    pure random player:

      (async function(punch, delay) {
        async function sleep(ms) {
          return new Promise((resolve, _) => {
            setTimeout(resolve, ms)
          })
        }
        
        for (let i = 0; i < 100; i++) {
          punch(['L', 'R'][(Math.random() * 2) | 0])
          await sleep(delay)
        }
      })(punch, 150)
      
    "cheating" player:

      (async function(oracle, punch, delay) {
        async function sleep(ms) {
          return new Promise((resolve, _) => {
            setTimeout(resolve, ms)
          })
        }
        
        for (let i = 0; i < 100; i++) {
          punch((i + 1) < oracle.minForPrediction ? ['L', 'R'][(Math.random() * 2) | 0] : oracle.predictNextPunch() === 'L' ? 'R' : 'L')
          
          await sleep(delay)
        }
      })(oracle, punch, 150)
    
    
    is it possible to do any better? i haven't fully read frog/oracle code
    • emrtnn 10 hours ago
      Less fancy hack here, intercept the prediction function on every punch and force the frog to take the opposite side. const realPunch = punch;

      punch = function(myMove) {

        oracle.predictNextPunch = function() {
          return myMove === 'L' ? 'R' : 'L'; 
        };
        
        realPunch(myMove);
      };
    • escanor 13 hours ago
      it is:

        (async function(oracle, punch, delay) {
          async function sleep(ms) {
            return new Promise((resolve, _) => {
              setTimeout(resolve, ms)
            })
          }
          
          for (let i = 0; i < 100; i++) {
            const state = oracle._state
            const block = oracle.predictNextPunch()
            oracle._state = state
            
            punch(block === 'L' ? 'R' : 'L')
            
            await sleep(delay)
          }
        })(oracle, punch, 150)
  • mike_hock 14 hours ago
    You should make one where you can play against the branch predictors of various processors.
    • rllj 14 hours ago
      I was just about to comment the same! Sadly, branch predictors are incredibly well guarded secrets, mostly.
  • user- 16 hours ago
    I am briefly in the top ten after completely misunderstanding the rules nicee
    • thih9 10 hours ago
      The ultimate unpredictability.
  • subarctic 6 hours ago
    Curious how a couple people got >100 hits on 100 punches
  • IdiotSavage 14 hours ago
    If you want to see what a random distribution looks like:

      jot -r 100 0 1 | rs -t 10
    
    I noticed my "fake randomness" is lacking long sequences of the same key. I feel like I'm "predictable" when I press the same key 5 times in a row, yet that happens a lot in a truly random distribution.
  • brtkwr 15 hours ago
    Would be fairer if the frog occasionally got to throw a punch or two...
    • pjio 13 hours ago
      In the first round I struggled to notice if I missed. The frog punching back would be a good indicator. And I wouldn't feel so guilty for punching a pacifist frog.
  • sscaryterry 6 days ago
    That was fun, got up to 79 :)
  • momoraul 5 days ago
    46 and that was my ceiling. frogs smarter than me.
  • andai 3 days ago
    Woah, neat. Is this like, a Markov chain?
    • AlexanderZ 2 days ago
      a variation of Aaronson Oracle
  • digitalWestie 3 days ago
    Just wanted to give the little guy a hug
  • jmpavlec 14 hours ago
    Looks like the leaderboard was hacked unfortunately. Fun little concept.
  • ramon156 13 hours ago
    Leaderboard has been overtaken :(
  • jv22222 3 days ago
    How many pixels wide is the hit zone?
  • vyrotek 3 days ago
    Bam! 50 on the first try. Fun.
    • AlexanderZ 2 days ago
      nice! try playing it the first thing every morning, it really wakes up your brain
  • ozyschmozy 3 days ago
    Why does a silly little online game need my email to send a one-time login code? What a strange experience
    • AlexanderZ 2 days ago
      because it doesn't? practice mode requires no login. if you want to play a ranked match then you'll need an account, how else could it work?
      • applfanboysbgon 16 hours ago
        > how else could it work?

        Username+password. There is zero reason to require e-mail for account creation.

      • ozyschmozy 2 days ago
        Practice mode also has a popup telling you what to do which seems to negate the point of the game?
        • AlexanderZ 1 day ago
          it's the coach mode telling you which biases you have so you can fix them in a ranked match
  • uberex 5 days ago
    Free?!. Is there a "call us" SSO enabled plan?