July Progress Update

Published by
Jon Jon
on August 2, 2024

While July didn't see as many new games join our roster, we were all still hard at work. With a focus on enhancing performance and user experience, July brought crucial updates to our services. This blog post will cover many updates to our servers, patches, and go over some future plans we have for popular games like Animal Crossing: New Leaf!

General Server Updates

As mentioned in our last blog post, we had many pending server updates yet to be merged/released. While not all of them have been merged/released yet still, several have been! Our core game server library nex-go continued to get love last month, bringing it several new performance boosts.

Together with wolfendale, we spent much of July reverse engineering several core systems, including the entire packet retransmission system. Before now, this was a very basic, inaccurate, implementation of how PRUDP handles dropped packets. With our implementation now more accurate, both clients and servers should be seeing substantially less dropped packets, resulting in better connection stability.

Additionally some changes were made internally to address issues such as goroutine overuse, poorly implemented hashing algorithms, and issues regarding the number of allocations each server performs. These issues all lead to degraded server performance and higher system resource usage. Addressing these issues has substantially dropped the libraries overall footprint (taking the average amount of memory used per server from ~300mb at the low end, to just barely ~50mb!) and increased general performance.

For a full breakdown of last month's changes to nex-go, see here.

Better Infrastructure

As mentioned in our last blog post, we have been working closely with 2 non-Pretendo developers Jelle van Snik (mrjvs) and William Oldham (BinaryOverload). These are personal friends working in these fields professionally, who have graciously helped with restructuring our internal infrastructure. With their help, we have been making even more strides towards full containerization through Docker and a deployment strategy built on top of Kubernetes.

Over the past month they have been making great strides towards this goal, completely redesigning our deployment strategy from the ground up. We have also begun releasing pre-built Docker containers for our servers to aid in this, which can be found on our GitHub organization.

Once complete, these changes should help dramatically increase our productivity by streamlining many of our more tedious workflows, leading to higher server output in the long run! They also should help increase overall stability through failsafes and rollovers in the event of a server failure!

New Games and Updates

Last month saw less new games join our roster than June (hard to beat 10 new games!), but that doesn't mean games were not worked on. Last month saw the addition of two new games, as well as several existing games/services receiving new updates/features!

All games begin their life in beta testing, only available to testers. Once more features have been added, and pending the evaluation of each game's stability, they will each become available to the general public on a game-by-game basis. Until then, consider supporting the project to gain early beta access.

BETA SERVERS ARE NOT CONSIDERED STABLE, AND OFTEN LACK MANY FEATURES. USE AT YOUR OWN RISK

Smash 3DS

Thanks to work done by SuperMarioDaBom, Super Smash Bros. 4 3DS is now officially available for beta testers! Just like the Wii U version, only matchmaking is implemented. All other features are still being worked on. Unlike the Wii U version, trying to use an unimplemented feature will not hang the game, however it is still not recommended to try anything besides matchmaking.

Screenshot of the Smash Bros. 3DS multiplayer menu

Game & WARIO

Thanks to work done by Jemma and Trace, Game & WARIO is now officially available on Miiverse for beta testers! Most features have been tested, however as a beta title there may still be issues.

Screenshot of the Game & WARIO online menu Screenshot of Game & WARIO drawing Santa

Minecraft

Thanks to work done by Ash, Minecraft: Wii U Edition is now officially available to the public! You can now play this LCE classic with friends again, in private worlds or in minigames.

Due to safety concerns regarding the games lack of official anti-cheat, public minigames are currently disabled. For the time being, use the Friends tab on the far right to access games. We are interested in opening the game up fully in the future, so keep an eye out for more future updates!

Screenshot of the Minecraft: Wii U Edition online menu showing that only private matches are available

Inkay

Thanks to work done by Ash, Inkay has received a massive update last month! While the changes may be small, they have a huge impact; the additional patches provided by Nimble are being phased out! For those unaware, our Wii U patches come in a set:

  • Inkay - The main Pretendo Network patches connecting your Wii U to our servers. Standard Aroma plugin
  • Nimble - Supplementary patches for patching the BOSS (SpotPass) policylist. Aroma setup module

Historically Nimble has been required for games which make use of SpotPass features, such as Splatoon. Before the console enables SpotPass, it downloads what is called the "policylist". This tells the console which background tasks to enable and what their priorities are. After the Nintendo Network shutdown, Nintendo has changed the official policylist to disable all SpotPass features. The Wii U downloads this policylist extremely early in the boot process, earlier than standard Aroma plugins have access to. Setup modules are loaded early enough, however, thus Nimble was born.

With the latest changes made to Inkay, after the plugin is loaded it forces the console to refresh the policylist, which triggers a redownload using our patched URLs. This essentially removes the need for Nimble entirely, as well as dramatically increases SpotPass reliability in certain games (such as 104-2210 in Splatoon). To download the latest release, see the Inkay releases page!

Additionally thanks to collaborations with Maschell (the creator of the Aroma CFW), Inkay is now also available through https://aroma.foryour.cafe! Updates to Inkay can now be managed through the Aroma updater on-console!

Miiverse

Thanks to work done by Jemma, Miiverse in general has received bug fixes and performance improvements last month. The biggest change was improved data/asset caching, which has dramatically improved the load times on Juxtaposition! These changes affect both the Wii U and 3DS versions, as well as the browser version.

Additionally a long standing issue of friends not properly being handled in WaraWara Plaza has also been fixed!

Screenshot of WaraWara Plaza showing the Miis of friends being positioned correctly

Animal Crossing: New Leaf

As teased in our last blog post, Animal Crossing: New Leaf has officially entered development! Features such as Tortimer Island are showing signs of life as this highly requested game starts to go online!

Screenshot of user "Pretendo" arriving in town "Rin" in Animal Crossing: New Leaf Screenshot of two players matched together in Tortimer Island in Animal Crossing: New Leaf

Additionally, we have begun the process of processing the data from our Dream Suite archive. Prior to the Nintendo Network shutdown, our team spent a considerable amount of time archiving data from many games, including all available towns from Dream Suite. We collected over 200GB of data from Dream Suite and a total of 239,105 towns!

We plan to eventually publish the raw data on the Internet Archive, as well as on our own website where you can view/download the pre-processed data. Currently the amount of data displayed is limited, and the website is still in development, so it's not yet ready for release. However we plan to look into extracting more data from the towns themselves, and possibly making them available as town backups that can be directly imported into save files!

Eventually we will process and release all the data (around 1.6TB) for all games/services we collected data for. Animal Crossing: New Leaf is the first of these to start it's processing.

Screenshot of the work in progress Animal Crossing: New Leaf archive website. Website contains a table of towns with information on their data ID, version, name, uploader name, creation and updated dates, the time the last person visited, the total number of visits, and the country of origin

Conclusion

Thank you everyone for your continued support of the project! We know this progress update may seem small, but we only go over the largest changes! Most of our work consists of small bug fixes, library development, and lots and lots of research time. We hope you all stay tuned for future updates!