The fall of Pokemon GO
With the new API about to be fully reversed (It's still not done but shouldn't be much longer, definitely this week-end), there are a few points I'd like to discuss about the recent changes made by Niantic.
I understand about a company trying to keep the integrity of its game. As long as it doesn't hurt their userbase that is.
Niantic has made pretty terrible choices lately and I believe they're self-sabotaging the game on purpose to try to to "control" the growth of their game.
For me, the tracking isn't the biggest issue with Pokemon GO, it's all the security measures Niantic is taking in trying to stop people from tinkering with their codebase which in turn hurts the real users.
Has anyone noticed how battery hungry the game has become after the 0.37.0 patch? How sluggish the game feels since 0.37? How the game doesn't run on some phone brands anymore unless you do advanced manipulations?
Those are all measures they implemented to try to stop us, reverse engineers, from trying to understand their game protocol and logic.
Let's tackle the first issue, battery usage increase due to their obfuscation.
Prior to 0.37, to do 1+1, the only issued "command" was 1+1 (simplifying, this isn't how arm assembly works) , it was a single cpu cycle. Right now, to try to hide the real 1+1 from us, they do lots of random operation such as 5*39, 45/9.45, 1+1 , etc etc, which add a lot of cpu cycle aka battery usage + lag.
This is why reversing the API has taken a long time this time around, this obfuscation adds lots of bogus code flow and instructions that are useless for the end result, they're just here to slow us down from trying to understanding the code. In the long run it doesn't stop us. But it stops older model phone from running the game smoothly because what was once a game that ran on almost most android 4.4+ is now a game that can be run smoothly on only 600+€ devices.
The second issue is SafetyNet which in my opinion is Niantic/Google's dumbest business decision. SafetyNet is like GameGuard for Android. It stops root and modified kernel from running the game. Side effect: Most chinese brand, blackberry are blocked without even being rooted.
The android ecosystem is dev friendly and encoruages rooting as well. Cheaters don't need root to cheat. Reverse engineers can bypass safetynet easily to deobufscate & reverse engineer the code. Once again this security measure doesn't stop us but it stops legit users from playing.
SafetyNet was meant as a measure to make Android Pay run only on trusted environment. It wasn't meant as an Anti Cheat system.
Now this is my message to Niantic: Keep obfuscating if you don't care about performance issue on your game, keep using SafetyNet if you want to block 5-6% of android phones.
But don't be surprised if your userbase is tanking and don't be surprised about the huge backslash from the community.
Don't be another Hello Game. Listen to your community and open the api. You can still save Pokemon GO.
We'll keep reversing your game as long as your game is popular.
FastPokeMap will continue to come back no matter how hard you try to kill it.
But if you keep trying to kill it don't be surprised if soon there won't be anyone playing your game anymore.
The hotspot in my area used to have 300-400 people playing. Since all your changes + changing the api there are only 3-4people playing.
The game is dying and it is all because of your poor choice to try to fight the wishes of your community.
This is where you show off your true colors:. Are you making the game mostly for profits or for your community?