Those gender ratios for Pokémon you believed to hold true? They’ve been wrong for years. The games could be running faster too.

The Pokémon games run on a series of formulas that control everything, from whether your attack is super effective and how much damage it does, to whether a Pokémon you encounter is Shiny or not. But sometimes the programmers at Game Freak get it wrong – for instance, how Pokémon Bank calculates whether a Pokémon from the first generation games is Shiny has been found to differ to the second generation games. While this is a problem that could be fixed before Pokémon Gold and Silver are released for the Nintendo 3DS eShop (it ought to, else your shiny Gyarados will stop being Shiny when transferred!), more issues have been found with the main series games.

SciresM, a known hacker of Nintendo games, is probably best known in the Pokémon games for his work in obtaining information on all the Pokémon and their attacks, including Pokémon Sun and Moon. Recently he found some issues with the code that determines the gender of any Pokémon.

ahahaa the gender ratio code has two bugs in it. The fractions aren't actually precise. 1 : 7 MF is actually 11.9% female, not 12.5%…. pic.twitter.com/1FwCDvx9gJ — Michael (@SciresM) June 8, 2017

For Gen IV(/V? need to check) 12.5% female = 12.1%, 25% = 25%, 50% = 49.6%, 75% = 74.6%. Pretty damn amusing. — Michael (@SciresM) June 8, 2017

This is a minor issue overall, but it is still interesting to note. If, say, you wanted a female Starter (e.g. Popplio), you were actually less likely than the commonly believed 1/8 chance to find a female! Every website that reported this gender rate – and others – before the find by SciresM was hence incorrect.

Furthermore, SciresM notes that there are two errors in the code. One of those errors was only introduced for Pokémon X and Y and onwards – rather than the other error being fixed!

More worryingly however was this find:

By the way, Pokemon data manipulation is SUPER inefficient. Full decryption + encryption for every getter + setter…huge waste of CPU time. pic.twitter.com/dppg6Bj55z — Michael (@SciresM) June 8, 2017

This code basically requires the 3DS to do way more work in updating new information on a Pokémon than is necessary. SciresM states that the game does over 100 full decryptions and encryptions when this code is called – for no apparent reason. Perhaps this contributed to why people have complained about slower gameplay for the 3DS titles?

What do you make of these findings? Let’s hope Game Freak fixes these errors before Pokémon Ultra Sun and Ultra Moon come out.

Edited by Zach.