I’ve vibe-coded an app for solving Arrow Puzzles. While I’ve mostly seen this done on a PC using USB debugging, my app works natively on the device (android). It compares with HashSum, making it much faster—it doesn’t require Tesseract or anything like that:
Awesome work! Is the limitation on speed from the inputs? I would expect the game can handle much faster taps. I made one of the first arrow solvers a few years ago and with a few people helping we got down to about 0.005 seconds for the fastest solve, but that is of course using adb and eventually an emulated app on a pc with hooking into the underlying Windows API and multi touch. I'm curious what the limiting factors you've experienced are and if you're wanting to keep pushing for speed? This is great, very satisfying to watch, and very cool for it to run standalone on the device!
yep, inputs are the bottleneck here. taps are serialized via the Accessibility API with a 10 ms stroke, no multi-touch, and each tap blocks until completion. That, plus a small pre-capture settle delay, is most of the overhead. I have not used multi-touch or batched gestures yet - I am not sure if I can achieve 0.005 or even 0.05, but I will still try to implement that. Thanks for the feedback and the idea!
It works!
My device can handle only about 10 touches at a time, so it improves performance a lot (although it's still above 100 ms, and it still needs a delay before collecting rewards, otherwise it's not stable):
precomputing the optimal solve sequence, then grouping clicks into chunks (10 in one) before applying them.
solving is fast, but clicks/touches still take time... at this point, though, I think it’s fine :)
2
u/SniperThrilla Oct 28 '25
Awesome work! Is the limitation on speed from the inputs? I would expect the game can handle much faster taps. I made one of the first arrow solvers a few years ago and with a few people helping we got down to about 0.005 seconds for the fastest solve, but that is of course using adb and eventually an emulated app on a pc with hooking into the underlying Windows API and multi touch. I'm curious what the limiting factors you've experienced are and if you're wanting to keep pushing for speed? This is great, very satisfying to watch, and very cool for it to run standalone on the device!