Hello, I am Yanfly.
I am the VisuStella MZ plugin team's leader. Some of you refer to me as the RPG Maker plugin monopolist. Others call me the RPG Maker plugin mafia don. Some of you also think I'm some billionaire who got rich off of RPG Maker plugins. All I can really say about those statements are: Man, I wish I was actually as cool as you guys are making me out to be, but sadly I'm not any of those (especially the billionaire part).
I'm here to clear up some misconceptions. I'm not going to bother quoting anyone directly. There's been a lot of people who pressed matters on certain things and getting them all into a quote will get messy and bulky.
Regarding Obfuscation:
This will be a copy/paste of my statement from here. I still hold to it the same I did back when I posted it.
The reason why these plugins are obfuscated is because they contain code borrowed from my teammates in their public, commercial, and some private works. The obfuscation is there to protect their code. I have no plans on jeopardizing their livelihoods as that would be betraying their trust, and I, as their team member, have no intentions of violating this trust.
We know that it's much harder to edit obfuscated code, so we have made sure to include plenty of customization options available. These come in the form of highly customizable plugin parameters, some of which you can insert and modify JavaScript code in, along with plenty of JavaScript notetags. It's not a perfect solution, I know that. There won't be as perfect a solution as being able to edit the code directly. But we are always looking for ways to let you do the most with the plugins as we can allow.
As far as paying more for the non-obfuscated code, I will discuss with my teammates on the matter. However, keep in mind that this is neither a promise nor is it guaranteed. This is because some of my teammates are victims of theft in the past, and I do not feel like I would make a good team leader if I can allow such a thing to happen to them again in the future.
If there's any anger towards the obfuscation of code in the VisuStella MZ plugins, direct it at me. Do not direct it at my teammates.
-
To reiterate some key points: the customization inside the plugin parameters are not a perfect solution. I know that. But I'm not going to change that. Why? Because that jeopardizes the trust my teammates have given me with their code. Even if it's for the community, I will not betray their trust.
Call it childish, call it useless, call it bad for the community, whatever you will. But I will not betray their trust.
You are free to hate me for it.
Regarding Compatibility with Obfuscated Code:
Copy/pasted from here.
I think the concerns revolving around compatibility in this community have been greatly amplified for no reason. And why do I think that is? It's because that as long as the programmer making the plugin does their due diligence there should be next to no compatibility problems as long as there are no conflicting functions that are meant to do similar things.
What do I mean by due diligence?
Using monkey patches (or aliases, if that's what some prefer to call them), avoiding to overwrite functions when necessary, avoid diverting the main purpose of existing functions, reroute functions back to former functions if there was a detour, so long as the logic flow is on track with how the default RMMZ base code works.
For the whole duration of RPG Maker MV, I've made only a handful of compatibility patches with plugins outside of my library. There are lots of prolific plugin developers out there who have made libraries and had zero to few conflicts with mine, too, despite never directly writing compatibility patches. Some of these programmers are Hudell, Shaz, HimeWorks, Galv, Victor Engine, MogHunter, and more.
Hudell made a hugely complex system to govern farming and all that.
Shaz always likes to create her own answers to problems.
Hime likes to experiment with cool stuff.
Galv creates neat mechanics and effects for his own games.
Victor Engine does amazing work by himself.
MogHunter always flew solo to create aesthetically rich scenes.
And none of us ever worked together for a plugin compatibility patch during the entirety of MV. Yet, things still worked together! How can that be?
Every single one of these plugin developers did different things, but they kept one major constant: their due diligence. While many of them could have sought the easy solution of overwriting a function to make it do exactly what they want, they made them modular and monkey patched them. If something goes off track, they bring it back on track later.
In case someone decides to argue that it's harder to do this time around, let me present to you
Fomar's Individual Turn Battle System. Fomar and I haven't spoken to each other since the VX days and you can bet we don't know each other's programming style like we did back then. He has no clue what VisuStella's Battle Core is like and we had no clue he was even making a battle system at all. Yet, you can use the two together.
This should be something that conflicts massively, and yet, it works. How? Because if you look inside Fomar's code, you see that he's done his due diligence and covers every one of the things I've listed when possible. And he's done it beautifully.
That being said, you'll be encountering problems when you obtain plugins from a plugin developer who does not do their due diligence. However, in that sense, it's not necessarily just going to be the VisuStella library that it's going to incompatible with, but nearly everything else, too. Ultimately, at that point, there's nothing we can really do but to hope that plugin developer grows. If they refuse to do their due diligence, then there's little much else that we can do about someone else's business.
Our solution to finding a middle ground then, instead, is found on our Discord server. You can find it through the VisuStella itch page. There's a plugin collaboration channel for plugin developers who wish to maintain compatibility and ask questions in it. Most of the time, it's more of them learning some self discovery instead (like with Ramza the other week). Communication and learning through each other is the key to growth.
I think there's little to worry about regarding this. It's not as big as a problem as some are blowing it up to be. And in my opinion, there wouldn't be drama or flamewars over it either unless they're started by the people who want the drama and flamewars in the first place.
-
Regarding Head Starts:
Everything Touch has explained is true. We've only begun work on VisuStella once the JP sample projects hit the public. If you're asking about how we have videos on the editor, it's because we asked KDKW for reviewer copies AFTER the sample projects hit the public for them. Any of you could have done the same provided that you've shown them a reason to give you reviewer copies. And according to Touchfuzzy, nobody has asked him after the sample projects have hit the public.
However, another thing I want to expand upon is this:
Anyone who has made a plugin in RPG Maker MV can be considered to have a head start on plugin development for MZ. This is something I don't see touched upon enough by those who are pressing the matter on head starts.
Why do I say this?
Because the base code shared between MV and MZ is extremely similar, down to the point where even the function names are the same. There are some changes here and there, but any prolific plugin creator who wanted to make plugins for MZ, who saw MZ's base code through the sample projects, would have thought the following:
1. Create the plugin in MV
2. Make sure the plugin works in MV
3. Wait for RMMZ to be out to convert any changes (ie animations and plugin commands)
4. Release the plugin
Cut out step 3 and you have the same exact plugin development process as MV's.
Why is that ignored? Is there something about the plugin development process that I'm missing here? Maybe it's because I've been doing it for years, over a decade in fact, but that process exists.
And so long as that process exists, the only way you could NOT have a head start is if you simply did nothing after having found out that MV and MZ had extremely similar code bases.
Want to know who did that exact process?
@Tsukihime aka HimeWorks
Guess what happened?
Hime's Grid Battle system worked right out of the box the moment MZ released. And it was glorious! Seriously, Hime, I tip my hat off to you for that majestic stunt.