Really cool way to commemorate it, but it’s really sad how much amazing content that has been made will be lost forever.
At least as long as I kept a good battery in Mario Paint I could keep my creations indefinitely.
Oh well, Nintendo doing Nintendo things I guess.
Players should instead download as many levels as they can, and then with a hacked Wii u copy the levels to pc
I wouldn’t be surprised if people made a server with all the levels and the ability to make more and share them on emulators. We already have multiplayer on emulators.
Already been done, there’s a data dump of every MM1 course on archive.org. The dump is dated but it came after level uploads for MM1 were shut down so it should be about as complete as it gets, minus courses deleted by Nintendo before that.
Actually playing anything seems to be quite complex but there’s some instructions in the reviews, so it should be doable for someone to set up a replacement server in the future (Pretendo network already has the basics for custom Wii U online running).
Nice!
I wonder if I have some, back in the day I downloaded everything that I could, even the amiibo courses.
Prime reason why all as a services suck and no one should ever consider using them.
The same thing happened to the Halo 3 forge maps and game modes. Though Bungie/Microsoft/343i did allow importing them into the Master Chief Collection before the actual shutdown.
I have to wonder how much space Mario maker 1 levels occupy on nintendo’s servers. What are the dimensions of a level? How many total levels? It could be surprisingly light. Too bad there’s no way to download what may be less than a terabyte of data.
Edit: I was right, less than a terabyte. https://archive.org/details/super_mario_maker_courses_202105
Good job with the link, but dear god, the instructions below… And it sounds like somehow that the levels still aren’t in the archive file and may disappear from remote URLs (maybe Nintendo servers):
There is no documentation of how this archive works, so I will explain how to use it here.
The archive contains a file called “courses.jsonl.zst”. This file is a database of every level’s metadata compressed with the zstd algorithm. Uncompress the database, and find the row of the level you want to download. This can most easily be done either by querying the database for its title under the “course_name” column, or by querying the database for its internal ID* under the “ID” column.
After you find the row of the level you would like to download, find the link in the “URL” column. Put this link into the Wayback Machine, and select the only available entry. This will download a typeless file that contains the level data in a compressed format.
The file is actually four different files combined into one. Each of the four files starts with the bytes 41 53 48 30, or “ASH0” in ascii. The file can be split into its four segments either programmatically, or by manually copying and pasting each of the segments marked by the ASH0 opening characters into its own file with a hex editing program like HxD.
After the file is split, each segment needs to be decompressed. They are compressed with a poorly documented, proprietary compression format called ASH. To decompress them, download the command line utility from http://wiibrew.org/wiki/ASH_Extractor and run the program four times, each time with the directory of one of the four files as the argument. After they files are decompressed, rename them, in the order they were in the unsplit original file, “thumbnail0.tnl”, “course_data.cdt”, “course_data_sub.cdt”, and “thumbnail1.tnl”.
Move these four files into a folder titled “courseNNN”, where NNN is a number ranging from 0 to 119 (inclusive) that indicates which slot the level will occupy in your save file. From here, adding the level to your save file is as simple as moving this folder into the directory “mlc\usr\save\00050000\1018dc00\user\80000001” of your Wii U (requires homebrew) or Cemu MLC path.
*In Super Mario Maker, levels are indexed by an internal ID number. The internal ID is not to be confused with the in game ID, which is the internal ID written in the format NNNN-0000-XXXX-XXXX. NNNN is a checksum based on the internal ID and XXXX-XXXX is the internal ID written in hexadecimal. The algorithm for the checksum can be found here: https://github.com/kinnay/NintendoClients/wiki/Data-Store-Codes#super-mario-maker. Converting a levels internal ID to its in game ID requires using the algorithm found in the GitHub link. Converting a levels in game ID into its internal ID is a simple as taking the the last eight digits of the ID and converting them from hexadecimal to decimal.
To steal a term bandied about when talking about AI; this is the worst it’ll ever be again.
Yes, it’s an absolute mess - but with a passionate enough community, someone will develop a front-end to automate and streamline this process.
Getting the data was the biggest challenge.