RPG Reactor 0.94.1 - Open Source (MIT) Game Editor and PIXI8 Runtime. Backwards Compatible with RPG Maker (MZ/MV).

RPG Reactor is a new open-source RPG editor and runtime built for RPG Maker-style projects, and is a reaction to RPG Maker, hence the name. It has a modernized foundation: a new editor, updated tooling, and a PixiJS 8-based core script.

The goal is simple:
keep the familiar RPG Maker workflow, but push beyond RPG Maker’s current limits.

RPG Reactor currently supports opening existing projects and running them through the new Reactor core. It is generally backwards compatible with RPG Maker-style projects, but this is still Alpha software, so not every plugin, project, or edge case has been tested yet.

Current Alpha notes:

  • Opening projects works.

  • Creating a brand-new project does not currently work.

  • The included working project is The Star Shift Freelancers Project.

  • This release is the Windows build, but RPG Reactor is designed to work on Windows, Mac, and Linux.

    What RPG Reactor is aiming to improve:

  • Modern PixiJS 8 rendering instead of the older RPG Maker renderer.

  • A new editor built for faster iteration.

  • Better project tooling and deployment options.

  • Built-in asset creation tools through Forge.

    Here’s the forge in action, early build:
    https://youtu.be/EspUATJd7Kc

  • More flexible event, database, map, audio, and plugin workflows.

  • A path toward features RPG Maker does not currently offer out of the box.

    This is an early Alpha, but it works, and it is already far enough along to start sharing with the community.

    If you are interested in the future of RPG Maker-style development, try it out, open the included project, and see where RPG Reactor is headed.

    Also if you’d like to work together to make the project better than ever, let me know, I’m game.

Download RPG Reactor (v 0.92):

Download RPG Reactor (v 0.92) Source Code:

Screenshots:

1 Like

This is absolutely amazing! I hope the Mac version comes out for trial soon.

1 Like

I have a Mac Version. Here’s the link to it, I haven’t fully tested it yet though, I’m on Linux, I’m releasing this kind of rough, it’s 90% of the way there, but if you run into some jank, please let me know.

1 Like

Is this runtime compatible with both RPG Maker MZ and RPG Maker MV plugins? For example, can YEP and VisuStella plugins run simultaneously in the same project?

1 Like

It’s possible to do that, but I haven’t explored that yet. I think it’s a good idea to implement though, and I’ll work on it (I have both MV and MZ projects as well) so I’d like that functionality as well.

Currently the way it works, is the default runtime that comes with Reactor is a PIXI8 runtime, with a pixi_compat.js compatibility shim that makes MZ plugins compatible with PIXI8.

It’s also possible to open your existing project with the existing runtime (for MV or MZ) and it will work in the Reactor Editor.

I could in-theory, extend the compatibility shim to make the engine completely agnositic to PIXI version. I’ll give that a try soon.

I have tried calling some RPG Maker MV UI plugins via iframe in RPG Maker MZ, but the results were not ideal because data cannot be shared between the two games.

If your project can achieve this, it would be wonderful — like an ACE version made specifically for RPG Maker MZ.

Did you just… make what’s essentially a sequel to MZ? By yourself? Man, this is some seriously impressive stuff.

Are you open to releasing this under the MIT Licence (or a similar FOSS one)? If so, I’d be very happy to help contribute to it!

EDIT: I’ve read your post, but I guess didn’t read the title properly, I see that this is indeed released under MIT. I’m currently very busy with setting up community forums and all that, but once the dust settles I’ll try to come help out.

1 Like

Awesome! I look forward to working with you. Let’s do this!

Pretty sure he mentioned elsewhere that he used AI, so I wouldn’t call that “by yourself”.

That said, I don’t know exactly how AI was used. The screenshots imply it more or less works, so I sort of doubt it was vibe coded entirely by AI.

I developed most of the code using AI coding tools such as Codex, Claude Code, and OpenCode (which run in the terminal and can look at the whole codebase at the same time).

For some context as well, I have developed web applications, mobile applications, and database applications the traditional way, but it just takes way longer. Outside of gamedev, I serve as Technology Director for a Foster Care Agency, as well as run my own IT business.

Using the AI to assist in coding is kind of like having digital power tools, something that would have normally taken years, instead takes weeks or months. But I still have to understand my coding fundamentals and architecture to build more complex apps in this way. Not just vibe coding.

Yes, it totally works. Still some rough edges (that will get fixed), but I felt it was good enough for an alpha release.

Good to know it’s definitely not vibe coding and you do at least have some understanding of how code works. Not sure if I’ll try it out, though.

Probably the biggest things that would be able to convince me to use this instead of MZ would be:

  • I can use RPGMaker RTP assets in it.
  • Instead of note tags, I can use something similar to the Plugin Parameters / Plugin Command interface to set arbitrary values on any database object.
  • Robust reference tracking, so you can easily ask questions like “what references item 45?” or “what references the Outside_A5 tilesheet?” or “what uses the Goblin enemy sprite?” or “where is icon 12 used?” or “which BGMs aren’t used anywhere yet?” – I’ve actually coded something that does this as a VSCode extension (not released anywhere though), but it would be so much better if it were built in to the editor. Basically like the built-in Event Searcher on steroids.
  • A way to extend the editor, for example to add entirely custom event commands (not plugin commands, but top-level event commands with an entirely custom editing UI), or custom traits and effects. Maybe even entirely custom database objects (ie, add an entirely new tab to the database that governs an array of custom objects).

I could list a lot of smaller things that I’ve always wished the default editor had, but those are probably the biggest three. And the inability to use RPGMaker RTPs would be the biggest thing that holds me back from trying it.

Good ideas, I’ll see if I can get them folded in. You can use the RTP assets in the engine, if you have previously purchased RPG Maker, obviously I can’t include them in my package, but I’m making my own RTP though that will eventually be part of the package.

Your existing project though should open right up though, regardless of using the PIXI8 runtime or not, you can stick with existing MZ runtime if you want, editor will still work. I still have some rough edges here and there but thought it was good enough for an Alpha release. Source code provided as well, it will just keep getting better and better.

That might actually slightly increase the chance of me trying this out… though even then, it probably won’t be soon, as the game I’m currently focusing on uses the Unreal Engine. (I am still actively working on several MV/MZ plugins, but not any RPGMaker games currently.)

Incidentally, the things I listed above are all easily done in Unreal, which is probably part of why I’ve always wished RPGMaker had them too.

Maybe I’ll add a couple more ideas here:

  • A way to directly select which variation of an autotile to paint. Basically like shift-mapping, except you choose from a palette rather than having to draw a shape on the map to get the variation you want. (Plus, you can choose the normally-unused preview variation.)
  • Don’t crash when invalid variations of an autotile are found on a map. The current MV and MZ both crash if a variation ≥16 is found of a wall side autotile (A3/A4), or if a variation ≥4 is found of a waterfall autotile (A1). (I didn’t test if this crashes the editor; it definitely crashes the runtime.)
  • Allow moving multiple events onto the same tile. There were a few occasions in my recently-released game where I manually edited the map file to put two events on the same space. It would be nice if I didn’t have to. (There were also some occasions where I used move routes to get the same effect.)
  • Undo stack with a redo command

No worries man, just trying to provide a tool to help the community out as the editor and the PIXI8 compatibility thing comes up a lot and nobody has really cracked it, so I thought I’d try.

It’s open source and free, so take it or leave it, I’m not beggin’ ya to try it or anything. When it’s good enough people will adopt it on their own. Just sharing what I’m working on and open to ideas or help in the project getting better.

All good ideas though, worthy of doing. I didn’t know about the autotile crash thing though, what triggers that crash?

You can easily trigger it in a vanilla MV project by writing an invalid value to $dataMap.data. For example:

$dataMap.data[0] = 2296

The crash occurs in Tilemap.prototype._addAutotile (or Tilemap.prototype._drawAutotile in MV) when it’s trying to figure out the actual bitmap to draw. It gets the autotile kind (5 in the above example) and shape (8 in the above example), uses the kind to decide which autotile table to use (Tilemap.WATERFALL_AUTOTILE_TABLE in the above case, but Tilemap.WALL_AUTOTILE_TABLE is the other possibility that can crash), and uses the shape as an index into the autotile table.

That’s all fine so far, but the reason it crashes is it then assumes that the index it found is, in fact, valid. The shape is a number in the range (0, 47), but only Tilemap.FLOOR_AUTOTILE_TABLE has 48 entries – the other two have 4 and 16 entries, respectively. So, if the invalid tile is present, it ends up with undefined and tries to get index [0] of it and crashes.

This only affects A1, A3, and A4 tiles – the invalid tile indices that would correspond to hypothetical F, G, and H sheets don’t have any issues, as they don’t even enter the autotile path.

Ah ok, I’ll see if I can get that fixed. As for the hypothetical F, G, and H tiles, they’re going to be integrated right into the engine/probably going with larger size as well to allow for more variety, and larger objects on map (like building large Palace building or something). I also use Parallax mapping which isn’t bad either, I just make the map in photoshop and then assign the parallax layers to z values.

“After unzipping it, the app doesn’t work properly on my Mac.
Please only look into this if you have the time; I know managing this entire editor must be a huge amount of work. Thanks for all your hard work!”

Yes, I don’t have a mac, while it will be relatively easy to fix this, I need a mac to test for it, I’ll keep working on it. I’ll keep you update when I know more, thank you for letting me know about the issues. I’ll get it fixed.

What does that error message say? Is it something like “can’t run on this version of MacOS”, or maybe something about “untrusted developer”?

RPG Reactor" is damaged and can’t be opened. You should move it to the Trash.