Reflecting on Yuzu & Citra

Damn. This sucks.

Reflecting on Yuzu & Citra

Today's a sad day.

I know I'm not supposed to post on Monday nights anymore but this news genuinely has me so fucked up that I felt the need to write something down, no matter how small.

I got my start in software engineering partially thanks to Nintendo's consoles. It was hanging around the ReSwitched folks back in 2016 that got me really interested in embedded systems reverse engineering. Motezazer was a close friend and taught me all about binary and C back when I was still struggling to learn Node.js. Hedgeberg's streams taught me all about logic analysis and soldering back in the day. Chatting with the team taught me a lot about how processors are structured and how to break them.

I remember back when Daeken started CageTheUnicorn, the first emulation project intended for debugging sysmodules. I remember sitting in the back of my my high school precalc class, on my laptop experimenting with Fusée Gelée the day that it was announced. I remember enthusiastically trying to teach myself how bitmaps work so I could contribute something— anything— to the atmosphere project beyond moral support and theory-crafting.

This community and the people I met in it drove me to become who I am today, and I cannot thank them enough.

I know several people from these teams who had contributed code to the Yuzu project. I know even more people who had contributed to the Citra project. To any of you reading: I'm sorry it ended like it did.

This sucks.

Emulation and reverse engineering is an awesome area of research for thousands of people like myself and the rest of the people I met while in ReSwitched and subsequent communities. New technical challenges brought us all together with a common purpose, effectively re-engineering an entire console just to say we were smart enough to make it run on another platform. Emulation is such a fascinating topic, just as fascinating as the people who make make it work.

Needless to say, the removal of Citra and Yuzu from the internet is a huge blow to the community, particularly to games preservationists. Putting the Switch aside for a moment, the 3DS is a dead console with a dead online store and no new titles released in recent years. It was making no money. The fact that the community's main emulator for such a platform no longer exists is a huge blow, and means that an entire generation of games is now unplayable unless you want to buy a used physical copy of a game at an unholy price point. Not to mention the countless games that didn't get a physical release. Truly unfortunate.

I also understand the arguments that the Yuzu project drew similarities to Icarus, who flew too close to the sun. Emulation has long been a legal grey area, and locking certain builds behind a paywall forfeits lots of the liberties which permit projects like this to exist. While I'm not too well-versed in Yuzu's politics and history, it seems like the devs did bite off a little more than they could chew.

But let's be clear here: Nintendo's piracy problems are no-one's but their own. Taking out aggression on open-source developers is nothing short of disgusting.

“The easiest way to stop piracy is not by putting anti-piracy technology to work. It's by giving those people a service that's better than what they're receiving from the pirates.” Gabe Newell, 2011

I haven't bought any Nintendo games in nearly two years now, and I plan on keeping it that way. While their intellectual property portfolio might be astounding, I've become so jaded by Nintendo's actions against former friends and colleagues that I genuinely couldn't care less at this point.

It's time for me to close this chapter. I would hope that some of you could consider doing the same.

Rebirth review coming next week. Small technical post coming this Friday to pad for time. Till then, have a good one.