Someone in testing wasn't able to run the game and I freaked out.
So this is an explainer for MKXP and why we're using it.
There will also be a linux version!
Hope I'm not interrupting anything.
So, a while back, Jan mentioned that v13 would run entirely on MKXP. There were some people who were concerned about this because of the hardware requirements for the reborn/deso brand MKXP. In response, I said this:
This comment didn't age very well. We may have some issues.
I haven't posted over here before (hi rejuvians) but y'all who know me from the reborn side are probably used to my big-ass deep dives into technical problems.
This is going to be a little bit different (and more serious) than all of those since this involves a problem that I made and can't easily fix. You can skip ahead to "should I worry about this?" if you just want to get to solutions. They exist- they're just not convenient.
MKXP is an open-source implementation of the RPG Maker XP (RMXP) engine. Its original purpose was preservation; RMXP originally came out in 2004 (likely making it older than some of y'all reading this) and technological progression since then has risked old RMXP projects being lost to the sands of time. In ensuring that old RMXP projects would still be functional in the modern era, it implements a lot more recent tech than the original program used. This means that we get much better performance out of the engine. This is a pretty big deal since RMXP itself has a tendency to grind to a halt under the weight of everything the crazy-ass local devs 'round these parts throw at it. The RMXP engine still sucks, but MKXP makes it substantially less noticable.
It also means that we can support mac and linux!
Why isn't rejuv using RMXP still?
If you've checked out reborn/deso, you've seen that there are two exes- "game.exe" and "game-z.exe", which use RMXP and MKXP respectively. Rejuv will only have one- "game.exe"- and it uses MKXP. This decision was made because it means we can use Ruby 3.0 instead of RMXP's version, which is 1.8.1.
Ruby 3 is much faster. v13 won't even be tapping into its full potential since, well, we don't have time for it. The problem, then, is that we can't run two versions of ruby at the same time. Going from ruby 1.8 -> ruby 3.0 is a one-way street- I wanted to pop out some performance comparisons to show how much faster it was, but since it was saved with a different ruby version, my v13 file doesn't work with v12.
If we were still working with the MKXP of yesteryear, this would be a much bigger concern; thankfully, though, we are not. The reborn/deso version has higher hardware requirements- specifically, it requires OpenGL 3.3. v13's version will only need OpenGL 2.0! CPUs have been shipping with OpenGL 2.0 since 2006, so this would make this hardware requirements effectively identical to that of RMXP. Anyone who could run the old engine would be able to run the new one. Thus, we decided that we may as well move engines and get the performance boost.
...but this post exists, so you know that's not the end of this.
So why does this post exist?
The fact that you have a CPU that is OpenGL capable does not mean that windows is going to support it. If your CPU isn't supported by, say, windows 10, it means that this entire time you're probably running microsoft's basic bitch display driver, which comes with OpenGL 1.4. That happens to be what RMXP runs on, but it's not good enough for MKXP.
That's a problem.
Finding out that release day has arrived only for you to be unable to play the game you've been waiting to play fucking sucks. This post exists so (hopefully) none of you have to deal with that.
Should I be worried about this?
If you are able to run reborn/deso MKXP, you are fine.
If you use Windows 7, you should be fine.
If you have a dedicated GPU, you should be fine.
The rest of you: step into my office.
Uh-oh, am I in trouble?
The good news is that there is something you can do to get the game to load. There's a DLL that you can drop in your game folder that will be enough to get the game to open.
Bad news is that it runs like shit. If you want to at least be able to play the new content (which is very good, IMO), this will allow you to do so.
There are a handful of troubleshooting steps you can try to make your CPU/GPU play nicely with windows. You do not have to do any of this now. If you'd rather wait and see if the new engine works for you, frankly, I'd welcome that. I can't test these myself- I'm going through all of this in advance so no one is caught off guard. We've unfortunately only had one case during testing where someone was unable to run the game, despite testing taking an eternity (hey did you know that we have a bug that basically deletes your party and I still haven't found all the cases of it?) so I can't say for sure if any of this works.
It also specifically points the angry mob at me.
Solution 1: Fuck around with windows
This link has a number of troubleshooting steps you can take to try and trick windows into recognizing that you can run OpenGL 2.0. These may or may not work for you, but it sounds like they are worth a try.
Solution 2: Slap linux on a USB
This link will take you to a page that explains how to install ubuntu on a USB. You'll want a decent flash drive for this. It's kind of a pain in the ass to grab an entirely different OS just to run a game, but this option has the best chance of success.
I made a linux version exclusively so this has a chance to work.
Solution 3: Slap windows on a USB
Don't do this. I'm not posting links because they all look sketchy, but you can avoid downgrading operating systems by running windows itself off a flash drive. Just google it. Or don't.
Solution 4: Slap your current PC in the trash
This solution isn't a serious one, but technology has really come a long way in the past 10 years. Even modern budget computers are pretty competent.
Solution 5: Cry
I don't know. At least it might help you feel better?
This is frankly something that I, personally, feel pretty awful about. There's technically a non-zero chance that this is something that I can have fixed for v13.5, but that's pretty unlikely; there's so much shit left to do.
Anyway! Back your regularly scheduled, y'know,