Skip to content
Struma edited this page Aug 22, 2022 · 6 revisions

What dis?

RPG Maker XP was released in 2003 -- almost 20 years ago (or later than that, depending on when you're reading this). It's old. It's slow. It's kinda sucky. Very sucky. In spite of all of this, people continue to use it to this day, and it's not impossible to understand why; RGSS is a pretty simple and accessible system for making 2D games. As time passes, the limitations imposed by RMXP's age grow in number. It performs poorly, it's not easily extensible due to being closed source, and 32-bit programs are becoming ancient history. Thankfully, Ancurio came along and introduced MKXP, which reimplements nearly all of RPG Maker in its XP, VX, and VX Ace forms.

MKXP like all things came with a caveat, though: it is a pretty barebones reimplementation of RGSS, primarily meant for running on Linux platforms. There's no Win32API or anything similar, and many of the functions that complex games would implement through it are difficult to port. It was a personal project, and very difficult for most other people to use.

So I did my best to fix that, and I did pretty well, I think. I worked on it with the idea that I'd get Pokemon Essentials to run on it, something that pretty much everybody before me had long since given up on doing. If it could run that, it could run pretty much anything, since most other RPG Maker games are child's play in comparison. It can probably run yours, unless you're doing something nuts.

That being said, it's still MKXP, so it's pretty much in a state of endless beta, especially since I don't really have a good reason to keep working on it after I satisfied my own curiosity. It seems to work well enough -- definitely better than base mkxp -- and I don't have much else I'd like to add or fix. I feel like the only big way I could improve upon it now is to redo it from scratch.

The repo's kind of a mess on account of the way I do stuff (write on macOS because that's where working on it is the most pleasant, slap duct tape on everything else to fix them later), mkxp being fussy to work with in general, having transferred to Gitlab for a while and then transferring back, and my own lack of caring how bad it looks, but hey, it works. For being a disorganized single individual trying to support three different operating systems, I think I did okay.

So what all is new?

On top of the benefits already presented by mkxp compared to regular RPG Maker (better performance, support for require and backticks, multiplatform...) mkxp-z provides:

  • Lots of bugfixes
  • Most functions exclusive to VX and/or VX Ace are available regardless of the RGSS flavor you are using
  • A much easier, janky, but still easier way to build that won't make you tear your hair out on Windows or macOS
  • Supports Ruby 1.8.7, 1.9.3, 2.7-3.1. I only actively test >=3.0, though. I may or may not have messed up some preprocessor defines since I added 1.8 and 1.9.
  • Support for modern releases of macOS, Apple Silicon and Metal (toggleable and preferred on Intel, default on ARM64)
  • Win32API as an FFI, regardless of operating system or Ruby version used
  • Many extensions on top of the RGSS API
  • Optional support for Steam achievements
  • You can use (most of) the Ruby 3 standard library! Threads are usable now, too
  • code written by an insane fox with nothing better to do than spend over a thousand hours figuring out how to fix a decade-old engine that runs two-decade old games they don't even care about very much
  • n̶o̴,̴ ̴i̷'̷m̴ ̴n̶o̸t̶ ̵o̴k̴

But that's enough forewords. Click something on the sidebar to the right and get goin'.