Frequently Asked Questions
What is Mikage?
Mikage is a Nintendo 3DS emulator optimized for PC and Android. Despite its early state of development Mikage can play many commercial games already.
The project is led by neobrain, known in the emulation community for his work on emulators like Dolphin, PPSSPP, or Citra. Due to a distinct lack of a good solution for 3DS emulation on Android and stalling progress in existing projects, he decided it's time to start a new 3DS emulator from scratch.
Development of Mikage can be supported on Patreon.
What games are supported?
Mikage's emulator core is currently in early development stage, but it's already able to play a good number of commercial titles in addition to many homebrew applications. Check the screenshots archive for some examples.
We announced Mikage in this early state to give the community a chance to follow its development and progress. Since then, compatibility and performance have rapidly improved, and further improvements are anticipated in the future. A year from now, we hope any game you throw at Mikage will work more likely than not.
How fast does Mikage run?
We strongly believe emulation at full speed is an elementary part of preserving the 3DS faithfully. Thanks to sophisticated optimization techniques, Mikage allows for realtime gameplay in many titles nowadays.
Performance used to be much slower when we initially announced Mikage, as is common for early-state emulators. Even then it was actually a luxury problem: Mikage has been able to run commercial games since the day it was announced and if it weren't for this impressive initial level of emulation accuracy, no one would even ask about performance.
Ever since that base level of compatibility was established, our focus has gradually shifted towards optimization. Mikage now ships a custom ARM64 JIT compiler for fast CPU emulation, and a Vulkan renderer for GPU accelerated 3D rendering.
Where can I get Mikage?
Mikage is not currently available for download, however various versions of it will be released throughout 2021 and 2022. Further announcements will be provided in the future.
What makes Mikage special?
Mikage is built upon a clear vision: To create a fast, pleasant-to-use emulator that captures the entire 3DS experience with an "it just works" approach.
There already exist a number of other 3DS emulators. Here's what distinguishes Mikage from them:
- Better optimized: We use the Vulkan graphics API for rendering since it's better suited for the pecularities of both modern desktop graphics cards and of mobile hardware than the legacy system OpenGL. Furthermore, an ARM64 JIT is in the works for fullspeed CPU emulation
- Capture the entire 3DS experience: We go beyond game emulation - just think about all the other things that happen when you turn on your 3DS! Mikage supports applets like the Mii Maker as well as the Home Menu itself, and it provides replacements for them where it aids integration with the PC/Android platform running the emulator
- Do it well, and do it right: Instead of throwing together a large number of novel but unfinished features, we take our time to deliver well-thought-out and polished functionality that "feels right" as a whole. Details will be announced once we ship these features to our users. Stay tuned!
The bottom line is: Better performance, fewer emulation bugs, and a system closer to a proper 3DS. Turn on and enjoy!
Why not improve existing emulators instead?
Mikage's author is one of the original creators of Citra. You can trust there are good reasons for him to start over from scratch!
In fact, due to the initial focus on Android, a lot of components had to be written from scratch anyway, since no other 3DS emulator had built a Vulkan renderer or a ARM64 JIT. We also found a lot of unused potential though: Early Citra development took a lot of shortcuts that we felt are unnecessary and leave a lot of unused potential. For instance, supporting system module emulation required several months of dedicated work in Citra, whereas Mikage supports this since its earliest days!
Citra's open development approach is a double-edged sword: On the one hand it embraces new ideas and features; but due to the lack of general direction, many of these features lack the usability and quality you'd expect from a polished emulator. It doesn't help that external factors like unofficial third party builds have disrupted the development process and draw away developer attention from the things that matter.
The bottom line is that existing emulators just weren't the right fit. Mikage has a clear vision towards performant and polished 3DS preservation, and a fresh start is the most effective option to get there.
Will Mikage be open-source?
Yes! Currently Mikage's source code is kept private, but we will release the source code bit-by-bit after the official app release. We strongly believe in the benefits of open-source software and want the knowledge that went into Mikage to be available to everyone.
This delayed source release is the middle ground we feel is best to achieve Mikage's goals. Our past work on open-source emulators like Dolphin has shown that development in the open just doesn't yield the desired benefits in the early stages but often comes with some rather unnecessary distractions. For similar reasons we may opt not to release 100% of the source code required to build binaries - but “only” the 99% which document the 3DS platform and our approach to emulation.
We already started doing this: Selected components of Mikage are already public, such as the shader assembler nihstro or the serialization library blobify. We also regularly share our contributions to external projects that Mikage is built on, many of which are beneficial to other emulators too. Examples of projects we contributed to are the graphics library Vulkan-Hpp, the Android NDK, the package manager Conan, and the library SDL2.
What devices support Mikage?
Mikage runs on PC and Android. For Android, you will need an ARM64 device with Vulkan support, running Android 7.0 or later. More details (including requirements on PC) will be announced in the future.
Is this a fake?
No. I'm well-known developer in the open-source emulation community, having contributed to emulators such as Dolphin and PPSSPP. Given this track record you bet I wouldn't throw my reputation out of the window by announcing fake projects.
You can verify this project wasn't created by an imposter of mine by checking my Twitter account or reaching out to me on IRC, where the "real" neobrain will be able to confirm I'm him. There are also a number of emulator developers in the community who have seen the project in action and hence will confirm it's real.
That said, it's good to be wary of new emulator projects that claim excellent compatibility and performance from day 1. There are a lot of fake projects like that out there - take care!