Ads Top

"The Silph Road's APK Teardown of v0.117.2 is complete! Still no Gen IV assets, but performance & bug fixes, updates to age-gating and resource loading, code branching shenanigans ... and a spatial audio library?"


#PokemonGO: Android update v0.117.2 began a staged rollout a few hours ago, travelers - and despite the late (now early!) hour, the Silph Road team has completed our comprehensive APK teardown to see what's going on under the surface!After a full northern summer of amazing events, the past few weeks have seen several nettlesome glitches plague the game. Notably: The 'berry bug,' getting stuck in the Celebi questline, Research reward 'stacking' issues, iOS crashes requiring re-installs, and an overzealous camera pan during wild Pokemon encounters which inhibited detecting the 'shiny' animation on shiny variants.During these past two weeks, we've seen several patches roll out both server-side and to the iOS app store to help resolve some of these bugs - and now Niantic has released an updated Android APK with informative patch notes reading:"Bug fixes"Let's see if we can't learn a little more about what's going on!Back-End, Platform, & AuthenticationFirst, a look at this APK's structure and Niantic's platform updates:1. Code Branching & RollbacksThe v0.117.2 APK actually most closely resembles v0.111.2 in many ways. So much so, in fact, that we believe the two builds may be from a separate "branch" (a different version of the app's codebase) from v0.111.3 and v0.115.3. While this could just be failings in our toolset, we believe we've observed a large shuffling of metadata and assets get reverted/restored in this version. This complicates teardowns. :)2. Better Age-Gating for MinorsSeveral new additions revolving around the "age gate" (which prevents minors from accessing sensitive or higher-risk features in-game) appear to show evidence of a maturing approach towards minors and content gates.With the addition of SuperAwesome as a new OAuth provider in v0.115.3, it appears Niantic may be looking to retrieve child accounts' birthdate and then calculate the child's actual age via a DateTimeToAge function. This would be a vast improvement over simply marking 'minors' without the ability to lift the age gates when they age out, as has been done thus far.Additionally, a new list of minimum ages per country appears to be in the works, likely taking into consideration the legislation in place in jurisdictions around the world.Finally, a new parentVerified attribute has appeared in relation to SuperAwesome accounts. We don't yet know what this entails, but keep an eye! We anticipate more concrete moves on this front, and the clues we see look promising.3. A Google VR Library... For Spatial Audio?(Technically, this was added to the APK in v0.115.3, but we didn't mention it then, and as it's persisted through the code shuffle into the latest version we felt it bears highlighting, travelers.)While this could amount to nothing, we spotted a new library added to the codebase: Google VR Unity SDK's audio library.This is not ARCore, nor do we see a full Google VR library. (In fact, this is already a legacy library, deprecated in favor of Google's Resonance Audio SDK.) But it's very interesting to see these libraries included in Pokemon GO's application code!Spatial audio is still being explored in the context of AR and VR, but it allows sound to help augment digital experiences by simulating noises as if they are caused by objects in 3D space around you. You can, for example, hear a Pokemon's sound 'behind' you that would cause you to turn around. The libraries included in v0.117.2 even enable realistic acoustic properties of different simulated surfaces.Exciting stuff! But current spatial audio applications we've seen require headphones - something Pokemon GO is not particularly adept for in its current state. Regardless, we'll be watching for further clues about why these libraries were added 2 weeks ago with great interest!4. Discipline UI ActionAs Niantic's anti-cheat and discipline system continue to solidify, a new 'action' has appeared called ACKNOWLEDGE_PUNISHMENT. This is presumably the action triggered when clicking the 'accept' button on a warning or ban screen.Optimizations & FixesNow let's look at the optimizations that just landed in v0.117.2:5. Fixed: Wild Encounter Camera PanningWhile this may have been a design choice aiming to "drop in" to a wild encounter photo-sphere from the overworld map, unfortunately the camera animation went awry in recent updates and often made it impossible to see Pokemon for the first few seconds of an encounter. This made it impossible to spot the useful 'stars' animation that appears briefly when encountering shiny Pokemon.In the latest iOS patch, this animation was no longer in place - and now it appears it has been removed in Android as well!6. Fixed: Lucky Pokemon BackgroundsWhen Lucky Pokemon first began appearing, it was observed that their 'sparkly' backgrounds would seemingly collide with the Pokemon's default background image and animations (e.g. lightening bolts for electric types, etc).A new slew of metadata has been added to better support the layers of animations at play here. Layers handled better now include:FALLBACKNEW_BG_SOLIDNEW_BG_PARTICLESLUCKY_BG_SOLID7. Upgraded: Smoother Pokemon Model SwitchingThe new APK also appears to have a new check called isSamePokemonId in regards to a new function called PrepareForAssetSwitch. We expect these have been added to help when swiping through Pokemon or elsewhere where Pokemon models are swapped out, and may make that process smoother and faster. See if you can notice a difference, travelers!8. Upgraded: Badge Asset ReworkNotably missing in this APK's asset files are ... all the badges!All badge graphics have now been removed from the APK itself and have been replaced with a manager that will pull them from the server called the BadgeAssetManager. With it has come caching tools to help minimize requests: the BadgeAssetCache.Moving badges to be a dynamic, server-side asset was inevitable as the game matures and the opportunities for badges increases year-over-year. But notably, the badge names were not yet removed from the APK's metadata, and are still hard-coded there. (Including the 15 Yokosuka badge entries for each park and day.)New & Future FeaturesNow for the more exciting stuff!9. QR Friend CodesThe QRCodeScanner metadata and libraries have received a few GUI elements to round out the process - and QR code friend adding is now a reality!Notice a new tab for the QR code page, and a QR code icon next to your Trainer Code. This should be a nice QoL improvement when adding a Friend out in the field!(We're still looking at ways to possibly incorporate these into Travelers Cards!)10. Raid XP Bonuses By LevelIn a section of metadata listing possible actions and achievements, a new 'Activity' has appeared:ACTIVITY_RAID_LEVEL_1_ADDITIONAL_XPACTIVITY_RAID_LEVEL_2_ADDITIONAL_XPACTIVITY_RAID_LEVEL_3_ADDITIONAL_XPACTIVITY_RAID_LEVEL_4_ADDITIONAL_XPACTIVITY_RAID_LEVEL_5_ADDITIONAL_XPNow, while this may seem like new bonuses are on their way, this may not be the case. 'Activities' in this section are actually achievements you accomplish, rather than awards you receive. Bonuses or Research Tasks may require these Activities. Examples are:ACTIVITY_FEED_BERRYACTIVITY_CATCH_EXCELLENT_THROWACTIVITY_WALK_KMNotably, there is already an activity for Raiding: ACTIVITY_DEFEAT_RAID_POKEMON. So the question now is: what 'achievement' might these new Raid Activities be referring to? It's possible that winning a Raid with a Lucky Egg active might technically fit the bill. But that seems a bit unusual to us. keep an eye out for more clues on this one, travelers!11. Sharing EX Raid Passes - Removed!We mentioned that some code branching may be happening behind the scenes with the last few rollouts... well the newly discovered future functionality to 'share' EX Raid Passes has vanished from the v0.117.2 APK, travelers.The following new attributes from v0.115.3 are now gone:SHARE_EX_RAID_PASSACCEPT_SHARED_EX_RAID_PASSDECLINE_SHARED_EX_RAID_PASSInterestingly, the following 'Activity' was not pulled alongside all the other references to EX pass sharing: ACTIVITY_SHARE_EX_RAID_PASS. This sort of reversion could mean the feature is getting nixed before launch - or simply that the code branch it's on was pulled back for the time being.We'd lean towards the latter.Parting ThoughtsThe last APK update brought a massive number of changes and updates to the codebase (and with it, several bugs). This update is largely what it was advertised to be, travelers: bug fixes!We're always up for a stability and bug-fix update, and Niantic has been aggressively chasing down the major new glitches plaguing the game over the past two weeks. With Gen IV on the horizon, it may be good to clarify: there are currently NO Gen IV species, audio files, animations, or other assets in the APK. We'll be starting fresh when they begin appearing in the APK, travelers.And one last thing worth noting: also not removed from this update are the special effects files for the move Meteor_Mash! We're still amped to see that move hinted in the APK.Now, the sun's just about up (and I ran out of Dr P hours ago) so forgive us if proofreading of the above is ... minimal!Travel safe,- Executive Dronpes - via /r/TheSilphRoad https://ift.tt/2N5ab6U
"The Silph Road's APK Teardown of v0.117.2 is complete! Still no Gen IV assets, but performance & bug fixes, updates to age-gating and resource loading, code branching shenanigans ... and a spatial audio library?" "The Silph Road's APK Teardown of v0.117.2 is complete! Still no Gen IV assets, but performance & bug fixes, updates to age-gating and resource loading, code branching shenanigans ... and a spatial audio library?" Reviewed by The Pokémonger on 18:58 Rating: 5

No comments

Hey Everybody!

Welcome to the space of Pokémonger! We're all grateful to Pokémon & Niantic for developing Pokémon GO. This site is made up of fan posts, updates, tips and memes curated from the web! This site is not affiliated with Pokémon GO or its makers, just a fan site collecting everything a fan would like. Drop a word if you want to feature anything! Cheers.