3D web full blown Mii Maker (and Mii-Unsecure site updates!)

But! I have been making strides in trying to make FFL more flexible.

Here’s a screenshot of a sample I made in C to call FFL from raylib (another engine), without RIO or C++. Repo: GitHub - ariankordi/ffl-raylib-samples: Samples for rendering Miis using FFL, the Wii U Mii renderer, and raylib.
And as you can see, the sample also works on Emscripten and GLES2 (WebGL 1), an OpenGL version not supported by RIO.

You could imagine this being used for that Mii Creator site eventually, or, maybe even imagine: if Juxt did all Mii rendering in the browser… could potentially be an opportunity to reduce quality of renders served to 3DS/Wii U? Make them non-transparent JPEGs? Just spitballing here.

One of the reasons I’ve held off on making a nice JS interface to use FFL on the web is that I want to make the resource files reeeally small - using Draco for meshes and ASTC for textures. But I mean, there is nothing stopping anyone else. Currently it’s 2 MB total for the middle resource and WASM code.

More interestingly, I have this sample written in C#, calling FFL through P/Invoke, and drawing a Mii using Veldrid through Vulkan, D3D11 or OpenGL.
The screenshot shows RenderDoc saying it’s really Vulkan. Neat, huh? Repo: GitHub - ariankordi/FFLSharp: C# bindings and Veldrid implementation for FFL, the Wii U Mii renderer.

No FFL shader on this one, I still have to do some code cleanup in order to get there aanndddd if I’m being honest I lost interest with working in .NET after learning the debugging experience is terrible on Linux :melting_face::melting_face::melting_face::melting_face: so I doubt I’ll do anything serious with FFLSharp - except if I decide to make a Unity plugin out of it.

So with all of this, of course I am not done with Miis, not by a long shot.
As the “prototype” label suggests I always intended to rewrite the server outside of its current form, thoouuughhh…
I told myself to do this when I mentally considered it “finished” which means perfect matching with Wii U renders. The #1 blocker to this has always been getting the body scaling accurate. For instance, look at this shot of an official Nintendo render alongside mine on the left:

I’ve banged my head at this problem maaaaaaany times and neither I nor anyone else has had any success, exxxxceeeeepttttt until a few days ago where I was able to make a sample that does in fact do this correctly, wooooooooooooo…

So hopefully it won’t be too long until I get this PoC into something more usable and integrate it with the server. And all of this combined is a great opportunity to begin that rewrite I’ve been looking for.

Now, on that note…

It would benefit both of us to actually discuss things like this directly. I feel like I’ve only seen Jon’s messages through proxy. I was always curious about the AFL thing to see how much you’d found out about it that I hadn’t yet.
(There is also some Kaerutomo stuff I want to ask Shutter about that I already told a dev about and they never replied. I want to add a feature you’ve been missing for years for freeeeeeeeeee and I literally reversed the Miitomo obfuscation that they never documented, on my own, just to get to iiiitttttttt :melting_face:) …

And also that there’s just barely anything about Mii rendering internals on the internet, it’s niche and we should all be working together.
If you need it, my Discord is .arian. and email is on my GitHub profile.

The fact that every Pretendo dev in this thread is liking your posts seeems to imply they agree and have complaints of their own. That kind of feedback would be extremely valuable if I begin my rewrite, or maayybeee eeveeen to collaborate? Since I’m still completely solo, and actually knew pretty much nothing about 3D until this year. I learned because of Mii. Even if you wouldn’t want to work with me I can still share my findings with you.

Finally, I will say this: even if I had nothing nice to say about Pretendo as a whole, it’s clear that the standards on this are high. For something like this, the replacement for Mii Studio can’t just be a little better, it has to be a lot better. A new solution for Miis can help a lot: it can be magnitudes faster, save space, look better, be easier to use, and more reliable than any third party server. I too see the current implementation of everything as just a substitute for Mii Studio right now, which is one of the reasons I haven’t been confident enough to shill my work on the forums at all.

2 Likes