Any updates to Pokémon support?

Hey.

So we’re quite a bit into 2025. Apparently the online support for Gen 6 games has been ongoing since about August/September in the beta channel. It’s been 6 months and it’s still just sitting in a paid tier. I check the donation page and it says y’all are at double the goalpost set. I understand it’s a small team of mostly volunteers, but also there comes a point where one has to wonder if any progress has been made with the very real money being put into the project.

If we were talking about an obscure title I can understand, but we’re talking about arguably THE flagship titles for a system that vastly outsold the WiiU. So even if it’s a matter of “it’s on the board we just haven’t gotten to it yet”, I feel like there’s justification for it to be bumped up a bit wouldn’t you say?

At THE VERY LEAST, I feel that even if the Gen 6 support isn’t completely spotless, it should at least be moved to the public release just on the basis of the demand for it and the fact it’s been sitting in a beta tier with no published progress for 6 months.

I’m welcome to accept I could be wrong here, but I’m basing this off the knowledge I was able to gather. Knowledge that is also WAY to strewn about with no definitive “here is what we’ve done in the progress of support for game”. Instead I’m left to pick up clues on various time stamped support topics like this. Even checking stuff like the GitHub roadmap yields little information.

If I’m going to be forced to pay $10 to use the online features for a single title on my 3DS, I want to know my $10 is actually going to be used to forward the progress of the project and not just give me premium access to something that’s just going to continue to stagnate in a premium tier. In other words, I’m somewhat skeptical that the “oh it’s pokemon, they’re BOUND to pay for it” mentality hasn’t snaked its way into this project. I’m willing to be proven wrong, however, since it’s due to lack of information that that skepticism has come through.

Ending off on a more positive note, I do understand that this project is mostly done by hobbyist volunteers, and as someone who works in a CS-adjacent career I understand the time and effort that goes into this stuff, and I am very appreciative of what we do have so far. But even though I could easily afford the paid tier, it is still yet another thing I’m having to pay monthly for. Keeping it in the paid tier also creates a barrier for the people able to pay, as a lot of online features thrive off having a larger quantity of people to battle/trade with. With people who mod their 3DS, AND have pretendo installed, AND are in the paid tier being a pretty limited few, I’m not sure if it would even be worth it to pay the $10 and only have a handful of people to even enjoy it with.

Sorry this got long. I really wanted to express this in a way that didn’t come off as “I just want free thing” and moreso “I want my $10, and that of the many who’ve already spent to be justified”. Hopefully my point comes across. Best to ya.

Not any updates that I’m aware of at the moment unfortunately. I don’t know a lot about the state of Pokémon, but it isn’t in the state for a public release at the moment

This seems like a complete oxymoron to me personally… you don’t know anything about the current status, yet you simultaneously know it’s not ready? What’s missing? Why is it not ready?

This is what I mean. The entirety of the response being that “it’ll be ready eventually~” with no clarifying details isn’t really acceptable when you’re collecting a lot of donation money, and expecting it upfront for beta access. I want a more detailed response than this. As far as I’m concerned, this is a non-answer to my original post. I’m honestly questioning if you read the entirety of what I said considering your reply is basically just another instance of exactly what my complaint was.

I don’t own any Pokémon games, so I don’t know what the experience is like playing it online. I know that wonder trades should work and that’s it.

I haven’t heard anything personally on the status of Pokémon gen 6.


worth reiterating that I’m not a developer so I literally can’t give you a massively detailed response other than what I know

This is gonna be a long one, but there’s a lot to unpack. I’m sorry in advance for the length.

TLDR, there’s some misconceptions about how much actually comes in for donations, and Pokemon is really hard for various technical reasons

It hasn’t even been 2 full months. We aren’t even halfway through February yet. It definitely is not “quite a bit into 2025”

No, it has been in beta testing since then. Because support is still in beta, because the servers are very unstable, incomplete, and buggy. They aren’t sitting there fully complete, they still need a lot of work put into them

You misunderstand both what the donation goal means and how much actually comes in (which is understandable, I don’t think this information is posted anywhere?)

The donation goal was set to be as the estimated bare minimum for a single person to work on the project full time. “Estimated bare minimum” means that obviously it would not apply to all situations, and that it’s just enough to not die in the process. It also has to encompass all of our running costs, which are very high due to this being a very large network we have to emulate with hundreds of thousands of users, and all of our legal fees for the LLC

The number shown on the website is also largely inaccurate, the real tangible amount coming in is much lower. The number on the website is just a tally of all the Stripe subscriptions marked as “active”, it doesn’t take into account things like subscriptions marked as “active” but not “completed” (meaning the money is being added to the total before it even leaves a bank), doesn’t take into account Stripe’s overhead fees, doesn’t take into account cases where someone is going to cancel before being charged (IE, if the tracker said there was $100 being donated, but half the people decided that they wanted to cancel before being charged, then in reality that’s only $50), and doesn’t include any taxes (for reference, in 2023 when we were barely meeting the goal, oftentimes falling short, we had to pay around $10,000 in taxes, which was around 1/3 of the total donations that came in for that year. That number is going to be much higher this year). So really a lot less is actually tangible to us, a lot we don’t even see and even of what we do see most goes to running costs or towards taxes with the rest being saved for emergencies

I definitely understand your view on this, but it’s not that simple unfortunately. We only move things out of beta when we are confident in the overall stability of the servers/feature implementations. Even if those things are not entirely perfect or accurate we have still moved them into a public release, but we do not move things that are just simply unstable or lacking majority features for standard gameplay in a title. For example, we would not have released Mario Kart 7 just because we got login working, but lacked actual matchmaking or if the matchmaking/overall connection to the server was unstable. Doing so would do far more harm than good

As you’ve said we are a small team made up almost entirely of volunteers. Having more people come on as full/part time is part of our long term plans, and is actually something I’ve been talking with some people internally about and will be discussing with my accountant, but with the new experience of having been full time and seeing the real requirements for that, and learning all the laws/complications related to international employment as a US-based LLC (a LOT of our core team members is in different countries), doing so may take some time

As for why Pokemon is taking a while, there’s 2 answers to that:

  1. Small team size/availability

  2. Pokemon is just hard

As noted our team size is pretty small, most of which being volunteers working on their own time. It might seem like the team is larger than it actually is because of how many people have the Developer role on Discord, but in reality there’s only around 10 core team members (the other people have the role just as a shortcut to get those people access to our private dev channels, not necessarily because they do any work here). On top of that, the core team is like a “revolving door” of sorts. People come and go, both in terms of actual team status and in availability. Lots of our team are students or have day jobs for example, and so they take large periods of time off from working here. I would estimate that we only really have about 3-4 active devs at any given time. Of those devs, most also have specific specialties they work in which just don’t translate over to other areas. For example, I am not a web developer. I am not good at it, it’s not where my training is. That’s why we have dedicated web devs on the team. Likewise, not everyone on the team has the proper training/knowledge/interest in game server development. We don’t actually have very many people on the team who are able to do so (this number is increasing, thankfully, but it’s a slow process and takes a while to get everyone up to speed), and even those who do know how to may not be equipped to work on a certain platform. So there’s just a limited amount of people, and time, to work on things. Not to mention that there’s much more that we do besides game server development. We spend a lot of time working on research and documentation as well, and we also spend a lot of time working on our tooling (we have to make many tools in-house since we’re the only ones seriously working in this space), and one of our goals is to make our networking libraries support non-Nintendo games on platforms besides the Wii U/3DS (Nintendo did not make NEX from scratch, they licensed Rendez-Vous from Quazal and modified it. So we have the goal of making our libraries as compatible as possible, for projects like GoCentral which are custom Rock Band 3 servers for the Wii, PS3, and Xbox 360)

As for Pokemon specifically, it’s hard. Just plain and simple. In order for us to support a game, we need to know how to communicate with the game. In NEX this is done through a selection of “protocols”, all of which have different “methods”, and to communicate information about a request/response a standard RMC setup is used. So to support Pokemon, we first need to know which protocols it uses, what methods in those protocols, what the request/response structures of those methods looks like, and then finally understanding the context of the data in the request/responses. Historically the way we gather such information is through various means, such as:

  1. Debug symbols leftover in the game and standard reverse engineering

  2. Fuzzing and using the Debug NEX protocol

  3. Scanning for a games DDL trees

In many cases games share protocols. Nintendo/Quazal made a standard selection of them to cover basically all basic needs of a game, from authentication, to matchmaking, to data object storage, etc. Since these protocols are common to many games, it means that we have many different reference points to work off of. Even if GameA lacks usable data, GameB might have the data we need, which then applies back to GameA

Typically the way this process goes is:

  1. Check for DDLs. These are the holy grail for us, as it’s essentially debug information left in the game for the exact structure of a protocol including it’s methods, down to the real names of methods/types and their fields. That gives us a MASSIVE starting point and a LOT of context (oftentimes just having the real name of a method and it’s fields gets us like 90% of the way towards understanding how that method works). However not all games have DDLs, and in fact most 3DS titles had them stripped

  2. If a game lacks DDLs or is missing a specific protocol/method, or has modified an existing protocol (even though Nintendo/Quazal offer standard protocols, game devs were free to modify them), we would use the Debug NEX protocol. This gives us only the real method names, no structures, but it’s a good starting point for understanding larger context. However not all games had this protocol enabled, and now that the official servers are offline there’s no way to use it again

  3. Then we start standard reverse engineering. We disassemble the games in tools like Ghidra and work our way through things. If we’re lucky then a game will have its symbols still. These symbols give real names to disassembled functions, which includes the functions name and parameter types. This doesn’t give us field names, but it does help us build a general structure of methods/protocols even without DDLs (which is how I documented the many changes in Xenoblade). This process can be done even without symbols (Dani has done it many times) but symbols give us a huge head start

Pokemon lacks DDLs, has no symbols, and not only does it have extensions/modifications to existing protocols it’s one of the few games which uses entirely custom ones which are not applicable to other titles so we have no other reference point for the protocols to work off of. We are essentially flying blind with Pokemon in some regards, making it very annoying to work with. Not only that, but we also have to take into account things like cheat protection since in the past the official servers had issues with hacked GTS entries that would do things like crash consoles. Overall the Pokemon titles are going to be very annoying, and likely time consuming, to get fully working in a non-broken state. It’s for a similar reason that Mario Kart 7 lacks it’s ranking support at the moment, since that game uses a much older version of the ranking protocol that we have virtually no knowledge on due to lack of DDLs, symbols, and references etc.

Given our limited man power, large scope, and the difficulty of the Pokemon games, we often have to prioritize other things above it (and many other games for that matter). We understand that this can sometimes upset people who believe a certain game should be prioritized, but we weigh the pros and cons of what to work on compared to all tasks on our table. For instance lately we’ve been more focussed on stability/security/infrastructure updates than actual game servers. This is because we want to strengthen our foundations in which we build games off of. There have been some cases of more games making their way into testing, but these are almost always smaller/simpler games used as a way to test said updates, or they were worked on by someone outside of the main core development team (for example Yo-Kai Watch was worked on by our only Jr Dev on their own)

If your goal is Pokemon, I would very highly recommend AGAINST donating. As I said things are very unstable and incomplete atm. We put it into very early beta testing just to see what did and didn’t work atm, and it’s clear a lot of it is not stable

5 Likes

I will say when I said “quite a bit into 2025” it was more-so to say that we’re past the “the year just started” point (in my personal viewpoint, overall this is a subjective statement, but we are past first 10th of the year already).

I REALLY appreciate your response, and the time you took to write it. If I’m being honest I think the information you put here is worth boosting to a more accessible area (maybe a “but what about pokemon” section of the FAQ?), because I really think that reply would satisfy anyone who might have similar concerns. I want to also show appreciation for going into some of the weeds on WHY it’s complicated. I hope my other two posts didn’t come off as too on-edge. I was more just trying to get a bit of a meatier answer than “it’s just complex” as that felt somewhat dismissive, and you provided far more than I even was expecting.

Maybe it might also be worth clarifying the donation bit on a more obvious place too. GRANTED I didn’t dig too much on this.

As it currently stands if I google “pretendo pokemon ORAS” I get this, which gives the impression that it’s been available to beta people since at least September 2024. Obviously, as you’ve clarified, there’s a lot of asterisks to that. But as an end user looking outside-in there’s no quick way for me to have known that.

Anywhozzle, thank you much for your time! I would offer help but unfortunately even though I did do some CompSci in college it was VERY basic lol. My expertise is more IT-centered :sweat_smile: (being said I do have a friend who developed the beginnings of PokeMMO before the project was picked up by the current team, so I might point him in y’all’s direction since I think he recently mentioned being bored lol)

4 Likes

Hey everyone,

I appreciate all the hard work the Pretendo team and contributors have put into getting 3DS online services back up and running. It’s incredible to see how much progress has been made, and I recognize that this is a community-driven effort by passionate developers.

That said, I want to add my voice to the discussion regarding Pokémon X and Y (Gen 6) support and its extended stay in the paid beta tier. Given how central Pokémon games are to the 3DS library and how much demand there is for functional online play, I believe it would greatly benefit the project and community to move towards open testing sooner rather than later.

Key Points to Consider for Pokémon Gen 6 Development:

  1. Open Testing for Rapid Development

Right now, Pokémon Gen 6 support is locked behind the Super Mario ($10) tier, limiting the number of testers.

Opening up testing to all Pretendo users, or at least a broader public beta, could significantly accelerate development.

A larger pool of testers means more feedback, bug reports, and improvements in a shorter time frame.

Many community-driven projects rely on public betas to speed up stability and ensure better final releases.

  1. Improved Transparency & GitHub Development Updates

There is currently no clear roadmap or timeline on when Pokémon X and Y will move beyond the paid tier.

While I understand that progress takes time, better GitHub issue tracking, changelogs, or dev logs would give the community insight into what’s being worked on and how donations are being allocated.

Many of us would love to see milestone-based updates on GitHub, so contributors can more easily jump in and help where needed.

  1. Ensuring Accessibility & A Larger Online Player Base

Pokémon games thrive on large player bases for trading and battling, so keeping Gen 6 support behind a paywall creates an artificial limitation.

A public beta phase would increase active users and provide better matchmaking opportunities, making the feature more enjoyable for everyone.

More people playing = more bug testing = a faster path to a stable and free public release.

Constructive Next Steps to Move Forward:

Move Pokémon Gen 6 support to an open beta tier, or allow more testers via GitHub participation.

Provide clearer updates on GitHub with milestone tracking and transparency on progress.

Encourage more community contributions by detailing specific areas where development help is needed.

I’m bringing this up not to criticize but because I, like many others, really appreciate this project and want to see it succeed. I hope these suggestions can help move things forward in a way that benefits both the developers and the wider community.

Would love to hear thoughts from both the Pretendo team and the community on how we can make Pokémon Gen 6 support more accessible and actively developed!

Hi, thanks for your response.

I’d recommend reading Jon’s reply above since it contains a lot of information about Pokémon support.

I’d argue that’s a bad idea. Pokémon isn’t exactly complete, as we’ve mentioned here, and making it public when it’s largely incomplete could cause a lot of similar support issues to pop up complaining about why it doesn’t work etc. Plus, you currently have to edit your game sync ID to get online, which isn’t particularly great at the moment.

Please read Jon’s reply.

That’s practically the same as your previous two points.