Mii unsecure website added support for blinn (3DS like) shading, miitomo expressions and full body rendering!
(Here are some miis i rendered with the new options)
Site isnt mine, i was just spreading the word for people to play with it, and maybe implement it on their own applications, since the site gets your FFLStoreData (Mii data) by QR, NNID/PNID and even amiibo data, cool stuff!
This uses Arian’s renderer to do the rendering, no? At least it says it uses “a version” of it (I assume there’s some fork powering this under the hood?)
While it is true that the work done by Arian is impressive and the results do look fantastic, there is a number of reasons as to why we likely won’t be adopting this for our own purposes. At least not anytime soon
Let me preface this by saying that we have nothing against Arian and we do acknowledge the work that they’ve done here. This is not a diss or anything personal
While we have nothing against Arian at this time, there was a time where there was some bad blood. I fully acknowledge that a large reason for that was my fault, as I had a misconception on some issues regarding Arian from a few years ago (which I will not get into, as it’s old news and irrelevant and there’s no reason bringing up old, incorrect, bullshit). These tensions resulted in Arian licensing their work under a license that said “anyone can use this for anything so long as you aren’t Jon Barrow or affiliated with Pretendo”. Later on my misconception was corrected and I apologized to Arian for the trouble, and the Mii renderer was then relicensed again to a regular license. However the commit message seems to imply we would “fuck up” the renderer in some way, which tells me that there may (understandably) be tensions from Arian’s side and we would have to be cautious about potential future issues with things like licensing
While we ARE looking to change our Mii renderer (everyone on the team agrees that the current Mii’s don’t look the best, and it’s an official goal on our task tracker), part of that goal is to move AWAY from relying on a 3rd party rendering API. Using Arian’s would defeat the purpose since now we’d just be at the mercy of their renderer now rather than Nintendo’s. It would still have the inherent issues that come with relying on a 3rd party renderer, such as downtime we can’t control
I don’t really want to “abuse” someone else in the scene this way. Regardless of tensions in the past, Arian is someone doing work in the scene and I respect that. We have an incredible amount of traffic from hundreds of thousands of users, I would feel very guilty suddenly slamming Arian’s servers with that sort of traffic. There’s a real chance we rack them up a very high bill or harm their servers’ performance doing that. Which means the only way we’d be able to use this is to self host it
As for self hosting, I’ve looked at the project in the past and while it does work I honestly have my concerns about its structure (some of which cannot be trivially solved and I do not blame Arian for the design decisions). It’s split into multiple servers, the first being a standard HTTP web server. This server takes in HTTP requests, and then forwards the request data to another server for the actual processing/rendering (in older versions this was done with websockets but now it looks like this is done with a standard, basic, TCP socket?). This 2nd server is what does the actual rendering. It runs a Rio “game” in full, where the “game” just renders the Mii and then sends back the rendered data to the 1st server and back to the requesting client. Having a multi-server setup is not the end of the world (it’s technically what we do already, forwarding the requests to Mii Studio and using the result it gives us), the fact that the 2nd server basically runs a whole game under the hood is a pretty big drawback. This is not something that would scale well, and is pretty hacky to set up. Arian even acknowledges these issues in the README of the project:
There seems to be plans to improve this, as noted by the TBD at the bottom, but it’s not there now
All of these reasons contribute to why we likely won’t be using Arian’s renderer, despite how good the renders are. Again, these are not personal reasons and we have nothing against Arian, the concerns are purely technical/logistical. Any solution we deploy ourselves would need to not have potential licensing issues and also scale well (which means not running essentially an entire game engine just to render images), and also neatly integrate into our existing infrastructure
However we are interested in changing our renderer, as mentioned before. It’s something that gets brought up quite a bit internally
https://mii.nxw.pw/ is just the 3D WebGL based Mii Maker client, but it also actually rehosts the instance of ffl-testing (https://mii-renderer.nxw.pw/miis/image.glb?) in another domain that serves the actual Mii head models/2D renders, which in fact, shows that ffl-testing (Arian´s actual mii renderer) can be rehosted in a VPS
This still doesnt mean its in a currently ideal state, that is true, but
maybe Arian will respond more clearly about this eventually…
The issue was never if it could be rehosted. This was already clear. The issue is, as I said, doing so at scale, which is a totally different issue. As well as integrating it into our existing infrastructure
It being hosted on a small toy site is vastly different than it being used as a full scale renderer for hundreds of thousands of people. Which is an issue even Arian acknowledges