I've found a way to beat the system and get a high score without playing by the rules. I'm banned from the leaderboard so I couldn't get a score there, but the browser console message confirms that the game wasn't suspected.
I'm not really familiar with javascript so probably mine isn't the best method to do what I'm doing, but since it works, I won't waste time figuring out the correct way to do this.
Basically, you have to start the game and go hit an obstacle. When the game ends, enter
Runner.instance_.horizon.obstacles[0].typeConfig.yPos = 1337
into the browser console. Then start again, hit another obstacle and enter the same code into the console. Repeat until you stop getting any more obstacles (if things are working fine you should have to do this three times, and the third time the obstacle comes after a while, so you have to jump as if you're avoiding real obstacles to avoid tripping the anti-cheat system). Now you can play the game obstacle-free, but to fool the anti-cheat system you have to keep jumping and ducking as if you were actually avoiding obstacles. Keep going until you get tired and then switch to another tab to end the game.
Under the hood: There are three different types of obstacles, CACTUS_SMALL
,CACTUS_LARGE
and PTERODACTYL
(they're defined in an array s.types
). When you hit an obstacle, that particular obstacle type's reference will be in stored in
Runner.instance_.horizon.obstacles[0]
so you change that particular obstacle type's yPos
to something huge. Obstacles of this type will now be positioned outside the canvas so you don't see them and more importantly, can't hit them. As I said, I'm not super familiar with javascript so I couldn't figure out how to edit s.types
directly from the console (in which case you can change the yPos
of all three types in one go) but if you can, feel free to edit this post or comment down below.
Here I've scored 2557 and the console shows Is Game Suspect = false