On behalf of Nicalis, I developed an initial port of Mewgenics to the Nintendo Switch 2 console. I started working on this project in December 2025.
The game was developed by Tyler Glaiel and Edmund McMillen. I had already ported Tyler’s previous game “The End is Nigh” (TEIN) to Nintendo Switch. Mewgenics uses a newer version of TEIN’s rendering engine. Since Edmund uses Adobe Animate (formerly called Adobe Flash) for his art, Tyler wrote a custom SWF renderer using C++ and OpenGL.
I forked the code to a separate SVN repository and made sure “upstream” changes from the PC version could be merged to the console version later on.
In mid-January 2026 Antony Robbins joined the project and I was able to delegate some porting tasks to him.
The game initially didn’t compile at all because of differences in CPU and compiler architecture. The PC version uses the MSVC compiler on an x86-64 platform while the Nintendo version uses a custom Clang compiler on an ARM64 platform. Many of the “modern” C++20 features are simply not available on Nintendo platforms, and the MSVC compiler is notorious for not always following the C++ standard.
To make the porting process easier I created a test application called “Mewgenics EngineTest”, so I could port the engine code without having to compile the full game code. This test application only rendered a minimal scene to test rendering, input and audio features of the engine.
Since the game uses the SDL3 framework, and I was able to obtain the SDL3 code for the Nintendo Switch 2, I didn’t have to rewrite a lot of the engine code.
After about two months of work, I was able to run the full game on a Nintendo Switch 2 devkit.
Initially, the game took several minutes to load, and I was able to get that down to about 30 seconds using some optimizations. Still, this was no comparison to the PC version, which could load in a couple of seconds, presuming a strong CPU. Mewgenics loads all graphical assets from Adobe SWF files and I discovered that preprocessing, e.g. converting the vector shapes to polygons and building a bitmap atlas, is very expensive and is performed at loading time.
I spent one more month to create a preprocessing pipeline and a new binary format, which I dubbed PSWF (pre-processed SWF), which loads much faster on consoles, since the expensive preprocessing steps can be done in advance. By utilizing LZ4 compression for the preprocessed data I managed to keep the filesize for the PSWF files at about the same level as the original SWF files. Last time I checked, the Nintendo Switch 2 build took less than 10 seconds to load, and the other programmers at Nicalis could easily utilize the new format for the PS5 and Xbox ports, where it resulted in similar improvements in loading performance.
The last issue I took care of was the Nintendo Switch 2 build crashing when loading savegames copied over from the PC, or PS5 builds. For example, Nintendo uses 4 bytes for wchar_t, while all other platforms use 2 bytes. I had to look through hexdumps of the different save files several times to figure out all the errors due to platform differences. Finally, the Nintendo Switch 2 build was able to load save files from other platforms without any issues.
Somewhere in April 2026 I stopped working on Mewgenics, since another project required my full attention. The port was far from finished, and Jeremy Stevens, who had been working on the PS5 port before, together with Antony Robbins, continued where I left off.
Mewgenics was released on February 10th, 2026 for PC on Steam and will probably be available on Nintendo Switch 2 in Q4/2026.