Pokémon GO APK Teardown [0.63.1]

Hey everyone and welcome back to another Pokémon GO teardown. Like previously we are going to look into some of the changes, like continued anti cheat, tweaks to the gym and quality enhancements, launching with version 0.63.1

 

Max Same Pokémon in Gym

An interesting property was added to the Gym (Fort) class.

maxSamePokemonAtFort
getMaxSamePokemonAtFort

This value will probably be controlled server side in our game master file that we examine time to time. This is an interesting dynamic change to prevent Gyms from containing the same Pokémon. This is probably an attempt to curb the Gym meta of stacking the same overpowered Pokémon into a gym. What this value will be set at is currently unknown.


Unown Icons

There isn’t much to talk about, but interesting nonetheless to see all the unown variants in one image. This image appeared in the application, instead of being downloaded at runtime so I included it so we can look at all the different Unown forms.


Anticheat

A topic very common here, which is always under adaption and changes. Going into too much detail here may benefit those who abuse the game, but the interesting change is there is a status error correlated to failing these new checks.

ENCOUNTER_BLOCKED_BY_ANTICHEAT

With the recent changes to this AntiCheat detection, this error may become more prevalent for those who don’t play with the spirit of legitimate play.


Gyms v2 (Raids)

We’ve began seeing the word raid used in the codebase, so this as predicted is the continued development of this feature. We can see some additional activities that we believe are all connected to Raids.

ACTIVITY_DEFEAT_RAID_POKEMON;
ACTIVITY_FEED_BERRY;
ACTIVITY_SEARCH_GYM;

For those unaware, an activity is a distinct screen change in most cases. Defeating Raid Pokémon may be a fight interface, while Feed Berry a separate interface for feeding Pokémon and finally the ability to search gyms which might be the feature we currently have to view a gym and inspect those Pokémon in it.


Sponsors

We talk about this every version, but the sponsor listed this time was a bit interesting. It wasn’t a kitchen item code name, but the name NIA_OPS. This is Niantic Operations for those unaware, which in the parent game Ingress takes care of importance game matters like cheating, game reports, game changes (recovery from cheating), etc.

It might be a stretch to infer that, so I will leave it at NIA_OPS = Niantic Operations.


Conclusion

While details were intentionally sparse, this version had some great progress towards thwarting those who live to abuse the game. The internal codebase was moved from NianticLabs to Niantic.Platform which is probably because of both Ingress (v2) & EndGame sharing this game engine. A common codebase for all games would prove to be easier for enhancing cheat detection and memory management.

In complete nerd details, many of the dependencies including Critercism and Upsight were updated to new versions.  Additionally, a new dependency injection framework known as Zenject was added, this is probably for the nonstop battle of enhancing the memory use Unity3D games require.

Finally, assets in the game were given a slight bump in quality. This is difficult to describe so I created a small animated image to show this. Notice as I move the “old/new” slider over the egg crack, you seen the quality change. The top border shows red for old image or green for new. So notice how much the egg crack degrades in sharpness when the old image is back into the picture.

(Ignoring the obvious quality degradation from a gif format)