Weekly Round-up #7 and 8 - Pokémon Home

Lets talk about Pokemon Home, and a Pokemon API

Weekly Round-up #7 and 8 - Pokémon Home

Had a half written post from last week which I didn't finish due to feeling under the weather, but it ended up being a bit larger and spanning a couple of weeks of research.

Games

Pokémon Home

On February 11th, the Pokemon Company finally launched their cross-generation trading and storage solution for the Pokemon game series. It's something they have done in the past with Pokemon Bank on the 3DS. This app allowed you to up-transfer from Pokemon Black/White to the 3DS, and even transfer from the digital re-releases of the original Gen I and II games for the 3DS. The app cost £4.50 a year, with that allowing these trading facilities, storage of 3000 Pokemon, and some more advanced search filters which weren't in the 3DS games at the time.

Pokemon Home has a lot of those same features, but instead the price has been bumped way up to £15 a year (almost the same as the annual price of the Nintendo Online pass). With this payment, you gain access to features like Judge, storage of 6000 Pokemon, larger number of concurrent GTS/Wonder Trade Pokemon. To compensate for the high price,Pokemon Home also has some free features as well if you want to just try it out, such as allowing storage of 30 Pokemon, and basic Wonder Trade/GTS with far fewer concurrent Pokemon on the market.

Alongside the Switch Pokemon Home app, which is where you will be doing the transfering out of Sw/Sh/Lets Go to your Pokemon storage, The Pokemon Company has also released a mobile app which is where all the features you actually want to use reside, such as trading. You cannot use the trade features on the Switch app.

Anyway why am I talking about this? Well I think the app is in a bad place right now, lots of the system doesn't work and it costs an outrageous amount of money for something in 2020. But it has the potential to be /the/ place for Pokemon with changes. Lets get into it:

It's incomplete and overpriced

The first thing that hits you after payment of the anunal fee, is how many features seem to be missing from the system. Or rather, how barebones the offering is for how much you end up paying.

I think maybe a lot of this is due to my own personal expectations of what the app should be. We'll get into specifics a bit further down, but as with all the Pokemon games I expect some polish in presentation and features. This is the biggest game franchise on the planet, and while mostly lacking in graphical polish, everything else in Sword/Shield felt pretty well done and thoughtout.

Unless they are provisioning individual server instances for all my Pokemon, the price also seems completely unjustifiable. Especially as they hide the few basic features the app has behind the payment wall, like the Judge feature. For all intents and purposes, the Judge feature took someone very little time to implement in the app, as it already had the chart diagram for two other sets of stats. It just needed plugging in with another set of data which already exists in the Pokemons data.

"It costs me £16 to look at this graph for 12 seconds"

I pay Google about £14 a year for a 100GB of storage. I can imagine this, even with all 6000 slots taken up, taking up maybe 1-2GB's of space on a server somewhere + some backups. Every single person who uses this app will have already purchased one of the Pokemon games, probably at full price. It feels unjustifiable that it costs money at all, not just because Nintendo Online already costs £16, but the games themselves cost a lot of money.

The facade that the Nintendo Online pass is much cheaper than other similar services from console manufacturers fades away with this, and sets a bad precident going forward. If I end up having to pay a subscription fee for Animal Crossing at some point I'll be so disappointed in Tom Nook and Isabelle.

The UI isn't very good

The system allows for 6000 Pokemon to be stored. Right now, I only have about 200 in there which are leftovers from breeding many Rotoms. With that comparitively low number compared to the maximum allowed, I still struggle with using the UI when putting something up for either Wonder Trade or GTS.

Everytime you place something into the Wonder Trade box and go to add another, any filters or ordering you had used finding the previous Pokemon are reset. By default, it renders as one long list with the default being the newest Pokemon appearing at the top. I would much prefer it just be the side swipe box view like every other Pokemon game.

Scrolling up and down the main Pokemon view

The Switch app's UI replicates the Box UI found in every single Pokemon game. However the mobile app takes way too much from Pokemon Go merely because it is also an app on your phone. Pokemon Go itself also has a really awkward UI for browsing your vast number of Pokemon, but the difference is that game isn't trying to be a "power users" dream app. Performance wise, Pokemon Go for me has at least always been very fluid in its UI interactions and just browsing the app. Pokemon Home howevers can act all kind of janky in its transitions and touch feedback.

Lastly, it's full of unskippable cutscenes. Each Wonder Trade receiving takes 10 or so seconds, which when you have a full box is a couple of minutes just to get the pokemon out. In this time your only interaction is clicking on the screen 10 times.

The animation which plays everytime you click on a trade/wonder box drop

GTS lacks features

Not only is a 6 point pentagon judgement diagram locked behind an annual fee, but you can't use it when it matters the most: trading on the Global Trade System.

Being unable to view detailed information about a Pokemon before I trade takes away any appeal I had about using the GTS for anything serious, instead being required to take trading to third part websites which I could be doing without paying their annual fee.

The GTS seemingly is also missing search features. Even basic things like being able to search by Pokemon which the other person wants. I have hundreds of Rotoms, but I am unable to see any of the listings where the other person wants a Rotom. Instead, I just need to get lucky with searching for Pokemon I want, and hope that one of the listings is asking for a Pokemon which I have. This feels backwards to trading in any other game I have played (Selling 1000x Maple Logs 25gp ea), and I can only imagine this feature making its way in at some point. The only way I have to trade all my Rotoms realisitically is to use Wonder Trade, which in itself is awkwardly slow (taking ~10 hours to trade your Pokemon away) and unwieldly.

My use of the GTS in previous games is minimal, but this feels like at best a reimplementation of it, not an advancement.

There must be no standard data format for Pokemon

It's either this, or The Pokemon Company/Game Freak are being purposefully obstructive with your Pokemon and not allowing free trade of all Pokemon, and I think that may be even worse.

I understand in the past when moving between generations that there will be data format and type differences, such as the Pokemons new moves and abilities. Hence why you can only trade forward, and never back a generation. But I feel like a lot of this could be mitigated by now by creating a standard format for storing Pokemon a decade ago, and sticking to that.

With a defined format, we might not have needed to have multiple different apps on multiple devices as well. A "ISO-7653" standard describing everything about a single Pokemon, and having that be defined with Generation VI we might not be in this situation now. It feels entirely avoidable to require multiple apps, with different fees, and even not being able to back trade a generation, even if it randomised/removed abilities and stats.

The magic of Pokemon, to me, is being able to take every single Pokemon with me each time a new game comes out. It is awkward to do this, requiring multiple devices and games, but this is entirely possible with almost every Pokemon in the games, and they are my Pokemon. It's these edge-cases where a Pokemon isn't able to be transfered to Pokemon Home which make it so disappointing. Besides the whole National Dex issues in Sw/Sh, every Pokemon, including event Pokemon, should be available to be transfered and traded freely.

That Magikarp on the left for some reason can't be moved to Lets Go Pikachu, assuming abilities/move diffences, but this info should be front and center

Looking Forward

Pokemon Home as it stands right now feels like it's hitting the bare minimum. In reality, it should have become the center of all Pokemon games in the future. There are some things which I think could make it better:

  • A battle system, even if its using the latest generations rules.
  • Far greater search filters for the GTS, including searching by Pokemon people are looking for, viewing a Pokemons IV's.
  • Better UI; Pokemon deserves (and can absolutely afford) better than this.
  • Switch app which can do all of the things the mobile app can do.
  • Switch app which can be run concurrently to the to the Pokemon games. It's not doing much, it shouldn't require force closing the open game.
  • Lower price, or just include it with Switch Online. I understand why right now its also a mobile payment due to Pokemon Go being included in the package in the future, but £16 is too much.

The Pokemon Company have the opportunity to create a single source of truth for all things Pokemon, maybe even including the anime and TCG. I really don't want Pokemon to fumble this.

Dev

Access to Pokémon data - Lets Go API

I have started playing through the Pokemon games with the intention of trading up from Generation III all the way to Sword/Shield. I wanted to spend the weekend writing a tool for knowing which Pokemon I need to capture in which games in order to have a complete national Pokedex in Home at the end of it all.

PokeAPI is an open and free (thanks to the people who run it being very clever with caching of flat files for all the endpoints) API covering everything Pokemon, from items, games, regions, moves, abilities and Pokemon themselves.

The data for PokeAPI is provisioned from Veekuns also incredible database of Pokemon. It is a great community effort by a few really dedicated people, it's great to see, and they're actively working on the Gen 8 data import as well.

My idea was scrape the data from the PokeAPI (which was running locally, PokeAPI throttles to a maximum of 100 requests a second), and force all of the data into a single JSON file which could be locally filtered and displayed in a single React page.

It wasn't until I had written most of the scraper, that I realised that some data was missing. It didn't have any of the Pokemon Sword of Shield data, which is fine as those games are fairly new. However, with the Pokemon Sun/Moon introduced species, every Pokemon was missing what version of the game the Pokemon came from. This obviously impedes with the apps functionality, but there was a potential solution on the horizon in the form of Serebii's database. While not as "open" and available as the PokeAPI, Serebii holds all of the information I would need, just in a less easy to get format. This has pulled me down the deep rabbit hole of Javascript scraping frameworks again, which will probably comprise the next blog post.

All of this made me questions why the Pokemon Company itself isn't also providing this information. When a franchise gets sufficiently big, I think it makes sense to become the controllers of the data which the franchise encapsulates. That way when your fans interact with third part websites, they will always more or less have the correct data all of the time. With the release of Pokemon Home containing all the Pokemon also means that the data already exists in a single place, which was confirm by SciresM on Twitter, finding out every Pokemons TM/TR records within Home.

So that's where I am at with this. Hopefully by next weekend I'll have a scraper for the data. It was nice and validating to see some of the Veekun data also comes from scrapers (but also cool data collection from the game ROMs), so maybe my work can go back into one of these projects to help out.