Editor Log 1







In the last journal entry, I mentioned that I’m working on an free, open source editor for RPG Maker MV. I thought it could be interesting to make progress updates, as I find it somewhat interesting when other projects do that.


The current stage of the project is that I’ve written serialization and deserialization classes for all event commands in MV, as well as some other classes for other data types, including Events and Maps, though the latter two aren’t complete in their functionality. I’ve also set up a pretty capable frontend (a Vite SPA app with SolidJS). This has been my first big foray into unit testing, and every MV command class is accompanied with a set of tests.

Here are some screenshots:

The editor uses some newer browser APIs. Currently, the hard minimum is supporting showDirectoryPicker, support for which was added to Chromium in October 2020. Firefox unfortunately does not support this API, but a quick search surfaced this ponyfill, which I may try to integrate in the future for Firefox users.

The editor also expects the oklch CSS feature, and will warn you that some things will look weird (though you can still use it). Supported was added to Chromium in March 2023. It’s also supported in Firefox, though that’s a moot point.

This is how the editor view currently looks:

I haven’t yet implemented the rendering of the event sprites in the tile view yet, and instead display the event name (which I believe was initially a temporary debugging thing, but I left it in for one reason or another). I also haven’t implemented the actual tile rendering, and because it is not something used by The Coffin of Andy and Leyley, I will most likely hold off on implementing it for a while.

The sidebar supports including opening and closing folders, as well as clicking on other maps. The Save and Project Settings buttons are not functional, but the undo/redo functionality is, and works as you would expect it to.

I could probably implement the Save button somewhat quickly, given I’m pretty sure I can properly serialize them (though I don’t yet have tests for the Page and Event classes, and I haven’t tested big sets of commands yet). But that’s a task for future me.

The history button in the top right is a debug component that shows the undo/redo history, and is only visible when running the editor in development mode (pnpm dev).

When you click on an event, a pop-up view is opened in the bottom right.

Clicking the full-screen icon toggles it between the small pop-up form and a full-screen view.

I’m not certain I like the interface for this, and I might change it later. Currently, around half of the commands on the first half of the first page are supported, or around 8%.

Here are some of the command components I have implemented so far, in varying stages of completion/polish:

While the interactable values can be updated, there is currently a bug that re-renders the entire command list, which ends up resetting the page tab (the numbered list at the top of the event view) and scrolling you to the top, when you do so.

While I’ve yet to decide on a name, a few have been suggested:

Anyway, my steam has somewhat run out at this point (both in writing all this and working on the project in general), but I hope to continue chugging along with it :)

If you want to follow my progress―note that it is currently read-only, accepting no contributions or error reports―you can look at the repository on Codeberg: https://codeberg.org/basil/editor-v2

✶ ✶ ✶