Would this still be compatible with the vanilla editor and export to NW.JS?
Even if I don’t use the editor a whole lot for mechanics, it is still great for tiles and events.
And the wide JS/TS on desktop market seems to have moved to Electron, although I still have a soft spot for NW.
This is 100% compatible with the old editor + Nw.js.
Right now I use Vite just for simplicity (it natively supports TS so it bundles faster).
While I love the decorators for override alias etc, I’m not sure if we should still encourage those patterns? For an actual codebase aliasing is both parts useful and bloat-prone. We may also be able to move away from ClassName.prototype.funcName as that’s 10 year old syntax.
As for this, this is something I am slowly thinking about with the current restriction of RPG Maker MZ (it’s not like Unity where we can just extend a class and attach it to a game object), but I was thinking of some native hook. But I am unsure YET how to approach this. If I was in C#, this is as simple as using an Event Listener. But the workflow for RPG Maker plugins is very big on monkey patching, so forcing users into not using this is slightly more complicated.
As for compatibility, I’m conflicted on if rewriting the core scripts is worth it over contributing to another open “maker” like RPGPaperMaker or GodotRpgFramework, especially if the end goal is to have “a whole new RPG Maker engine minus the editor”.
There’s a world out there where some of the core is rewritten, but we also implement all prototypes from the old MZ core script (but rewire their behavior to act upon the new system). Not sure how feasible or helpful that’d be though.
As for compatibility, I get ya. Originally my plan was just: man, I really wish RPG Maker would have a modern PixiJS ecosystem! and I started porting it for pure fun and interest (yes, I am weird). This project was purely born out of pure curiosity TBH.
A lot of the breaking changes are purely because of going from V5 → V8 in PixiJS, which broke so many things. I guess I want to bring RPG Maker to a more updated state because of how old the tech (very old libraries) it is actually sitting on, and contrary to Ruby or C#, web updates so fast it’s quite insane, and I do want to give some more years to MZ.
But I won’t deny that even sometimes I sit and wonder if it’s worth my time, as it is a huge undertaking, but the more I push effort and scrape at it, slowly it’s fun to see it slowly come to life and solving issues. But again, I think I am just weird lmao.
As for RPG Paper Maker, I am actually the runtime designer for the V2 core scripts with Wano lmao. However, I fairly learned a lot since last time, and I gotta return to refresh the V3 core script to be more modular and flexible! Didn’t have time recently, sadly.