This is cool, and inevitable (devs have to assume anything they put into their games will inevitably be extracted / data mined), but by making it easy and accessible it lowers the technical barrier required to do other unfair things to the work of creators. Some of us had working exporting to see how possible it was years ago but did not publish it on purpose because a tool like this existing is a disincentive to use Defold. Besides being unfair to devs, it will encourage custom private forks of Defold that add more obstacles to the extraction process but also private forks of projects tend to not push their improvements back to main once they happen which hurts the entire ecosystem. Is easy modding worth it? Maybe. If you didn’t do it, someone else would have eventually but it’s still bittersweet when it happens.
Pros
- Modding
- Learning
- Preservation
Cons
- It can be illegal to do, unethical, immoral, opens people (who use this) up to liability
- Piracy (any Lua authentication is easily defeated)
- Cheating (multiplayer games get hacked clients even easier and faster to make)
- Stealing (ripping assets, rehosting domain locked html5 games, taking all code and simply reskinning)
- Malware (injecting bad code into your game and putting it on pirate sites)
- More private forks of Defold to make the obfuscation process more complicated / everything else positive made on private forks less likely to be contributed back
- Discourages devs to not publicize they made their games with Defold (why put a target on it, people will just search how to decompile Defold games)
- Discourages devs from using Defold (not having an easy public decompile tool was one less momentary advantage it had)
In response to this, to make potential devs looking at Defold feel better, there needs to be a way to use custom encryption keys that can be obfuscated in ways which are not easily extracted (though I doubt this will happen in the official releases). It’s still a cat and mouse game but at least it can be distributed instead of having an all in one method. Decompiling should not be easy, not be easy to be human readable.
Other tools like Unity and Unreal have decompilers too, but they also make it less human readable and editable, and have options for custom encryption keys, so if people want a higher bar to decompiling it’s one more reason to use them.