User Tools

Site Tools


runtime_shenanigans

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

runtime_shenanigans [2025/09/28 18:20] – created szprinkruntime_shenanigans [2025/09/28 18:33] (current) – of course i just now notice some minor typos and grammar erros szprink
Line 1: Line 1:
 <WRAP info>This page is currently a work in progress. Not everything is written here yet.</WRAP> <WRAP info>This page is currently a work in progress. Not everything is written here yet.</WRAP>
 ====== Runtime Shenanigans ====== ====== Runtime Shenanigans ======
-It's probably not a secret that RPG Makers are pretty old pieces of software. The oldest one that can be considered usable nowadays has been originally released in 2000 after all! Therefore, the runtimes, or should i say, the engine itself is pretty old and rusty as well. And it can show sometimes.+It's probably not a secret that RPG Makers are pretty old pieces of software. The oldest one that can be considered usable nowadays has been originally released in 2000 after all! Therefore, the runtimes, or should i say, the engine itselfis pretty old and rusty as well. And it can show sometimes.
  
-However, if you want to, you can easily modernize your game a little bit by replacing the original game executable by a community-made recreation that should give your players a little bit better experience. Even better, you can use these to free your games from Windows' shackles and make it cross platform!+However, if you want to, you can easily modernize your game a bit by replacing the original game executable with a community-made recreation that should give your players a bit better experience. Even better, you can use these to free your games from Windows' shackles and make them cross platform!
  
 ===== Legal (?) Disclaimer ===== ===== Legal (?) Disclaimer =====
 While community-made RM interpreters are cool and all, there is one thing to keep in mind. **Technically speaking, you are NOT allowed to use the RTP with them!!!** The license for RPG Maker's RTPs does not allow you to use RTP assets in non-RPG Maker engines. **Unofficial interpreters DO NOT COUNT AS RPG MAKER ENGINES,** therefore, if you distribute your game with RTP included, **you're technically violating RTP EULA!!!** While community-made RM interpreters are cool and all, there is one thing to keep in mind. **Technically speaking, you are NOT allowed to use the RTP with them!!!** The license for RPG Maker's RTPs does not allow you to use RTP assets in non-RPG Maker engines. **Unofficial interpreters DO NOT COUNT AS RPG MAKER ENGINES,** therefore, if you distribute your game with RTP included, **you're technically violating RTP EULA!!!**
  
-Does that matter? As long as you are not planning on selling your game, **probably not.** I doubt Enterbrain/Kadokawa/whoever owns RPG Maker nowadays will want to sue you over this if you are making free, non-commercial games this way, but either way this is not legal advice. Talk to somebody more knowledgeable if you are concerned. What can say is that there are games in the wild that do this exact thing and nobody gives a damn, an example of which is technically [[https://ynoproject.net/unconscious/|Collective Unconscious]], though it only uses the RTP sound effects in few places as far as I'm aware.+Does that matter? As long as you are not planning on selling your game, **probably not.** I doubt Enterbrain/Kadokawa/whoever owns RPG Maker nowadays will want to sue you over this if you are making free, non-commercial games this way, but either way this is not legal advice. Talk to somebody more knowledgeable if you are concerned. What can say is that there are games in the wild that do this exact thing and nobody gives a damn, an example of which is technically [[https://ynoproject.net/unconscious/|Collective Unconscious]], though it only uses the RTP sound effects in few places as far as I'm aware.
  
-Of course, if your game is not using any RTP assets, you can just not bundle the RTP and this won't apply to you. I really hope didn't scare anybody away by saying this...+Of course, if your game is not using any RTP assets, you can just not bundle the RTP and this won't apply to you. I really hope didn't scare anybody away by saying all of this...
  
 With all of that out of the way... With all of that out of the way...
  
 ====== RPG Maker 2000 and 2003 ====== ====== RPG Maker 2000 and 2003 ======
-The runtime for these two is pretty simpledoes not include any scripting engines and such. For them, there's a quite long running project called [[https://easyrpg.org/|EasyRPG.]] These people not only develop the EasyRPG Playerwhich is actually the topic of this sectionbut also they're working on a custom, RM2K(3)-compatible game editor (not really usable yet) and [[https://easyrpg.org/rtp-replacement/|a free (as in freedom) RTP replacement]], that's not yet complete, but what's there looks really, really nice and, if you are REALLY scared of the above disclaimer (or just like the look of these assets), you might want to see if you can make your game only use these.+The runtime for these two is pretty simple. It does not include any scripting engines and such (there are some community made patches for them but that'a different topic). In this case, there is a quite long running project called [[https://easyrpg.org/|EasyRPG.]] These people not only develop the EasyRPG Player (which is actually the topic of this sectionbut also they are working on a custom, RM2K(3)-compatible game editor (not really usable yet) and [[https://easyrpg.org/rtp-replacement/|a free (as in freedom) RTP replacement]], that's not yet 100% complete, but what'already there looks really, really nice and, if you are REALLY scared of the above disclaimer (or just like the look of these assets), you might want to see if you can make your game only use these.
  
 Anyway, advantages of using EasyRPG Player over the stock RPG_RT include: Anyway, advantages of using EasyRPG Player over the stock RPG_RT include:
Line 48: Line 48:
   * **Wii:** Download the [[https://easyrpg.org/player/downloads/#release-homebrew|release ZIP]], extract the easyrpg-player folder, rename it, put your game files in it and edit the **icon.png** and **meta.xml** files to your liking. Finished product can be launched from the Homebrew Channel.   * **Wii:** Download the [[https://easyrpg.org/player/downloads/#release-homebrew|release ZIP]], extract the easyrpg-player folder, rename it, put your game files in it and edit the **icon.png** and **meta.xml** files to your liking. Finished product can be launched from the Homebrew Channel.
   * **3DS:** TODO   * **3DS:** TODO
 +
 +===== Advanced usage =====
 +TODO, will likely become a separate page.
  
 ====== RPG Maker XP, VX and VX Ace ====== ====== RPG Maker XP, VX and VX Ace ======
 In this case, it's a bit more complicated. These programs use something called **RGSS**, the Ruby Game Scripting System. This is the fancy Ruby based scripting engine that allows you to do much more than with bare events. Problem is, it's notoriously dependent on Windows-specific APIs, not to mention the original runtime using now outdated and deprecated DirectMusic for playing MIDIs, causing all sorts of issues. In this case, it's a bit more complicated. These programs use something called **RGSS**, the Ruby Game Scripting System. This is the fancy Ruby based scripting engine that allows you to do much more than with bare events. Problem is, it's notoriously dependent on Windows-specific APIs, not to mention the original runtime using now outdated and deprecated DirectMusic for playing MIDIs, causing all sorts of issues.
  
-Luckily, someone did eventually come up with a open source recreation of RGSS called **mkxp**, however it itself was targetted at experienced developers comfortable with Ruby, since you had to port your game to it yourself. Because of that, it got forked by, as the author themselves say, //"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"// into **mkxp-z**, which actually implements the built-in stock RGSS functions in a cross-platform way. It was originally developed with the goal of running Pokemon Essentials-based games, which are pretty darn complex. The goal is considered by the author achieved, and, well, if it can run PE games, it can probably run most XP/VX/VXA games without much work, and it almost definitely can run yours!+Luckily, someone did eventually come up with a open source recreation of RGSS called **mkxp**, however it itself was targetted at experienced developers comfortable with Ruby, since you had to port your game to it yourself. Because of that, it got forked by, as the author themselves say, //"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"// into **mkxp-z**, which actually implements the built-in stock RGSS functions, modules, all the good stuff, in a cross-platform way. It was originally developed with the goal of running Pokemon Essentials-based games, which are pretty darn complex. The goal is considered by the author achieved, and, well, if it can run PE games, it can probably run most XP/VX/VXA games without much work, and it almost definitely can run yours! 
 + 
 +As a fun fact, latest versions of Pokemon Essentials actually ship with mkxp-z out of box. Talk about irony.
  
 Some advantages of using mkxp-z over original runtime include: Some advantages of using mkxp-z over original runtime include:
   * A resizable, maximizable game window   * A resizable, maximizable game window
   * Improved performance over the original runtime   * Improved performance over the original runtime
 +  * For RPG Maker XP: Technically possible to make your game not be locked to 40 FPS.
   * More modern Ruby version, which might be useful for more technical folks   * More modern Ruby version, which might be useful for more technical folks
   * Ability to use all RGSS functions in all RM versions   * Ability to use all RGSS functions in all RM versions
   * [[https://github.com/mkxp-z/mkxp-z/wiki/Extensions-(New)|Some more extensions for RGSS]]   * [[https://github.com/mkxp-z/mkxp-z/wiki/Extensions-(New)|Some more extensions for RGSS]]
-  * Actually good MIDI player, FluidSynth+  * Actually good MIDI player, that being FluidSynth
   * Ability to port your game to Linux and macOS, possibly even more in the future   * Ability to port your game to Linux and macOS, possibly even more in the future
   * Ability to not use the RTP   * Ability to not use the RTP
Line 87: Line 93:
   * libgcc_s_seh-1.dll   * libgcc_s_seh-1.dll
   * libwinpthread-1.dll   * libwinpthread-1.dll
-If you are downloading mkxp-z from me, these zips already include these. Heck, I even host these DLLs themselves here! If you are not, you'll need to get them from somewhere.</WRAP>+If you are downloading mkxp-z from me, these zips already include these. Heck, I even host those DLLs themselves here! If you are not, you'll need to get them from somewhere.</WRAP>
  
 ==== Putting it in the project ==== ==== Putting it in the project ====
Line 112: Line 118:
 {{:mkxp-soundfont-setup.png?600|}} {{:mkxp-soundfont-setup.png?600|}}
  
-After all that, you should be all set! Try playtesting your game from RPG Maker now. If it works, great! If it doesn't, then I probably missed something in this guide. [[https://szprink.xyz/|Tell me if that's the case.]]+After all that, you should be all set! Try playtesting your game in RPG Maker now. If it works, great! If it doesn't, then I probably missed something in this guide. [[https://szprink.xyz/|Tell me if that's the case.]]
  
 There are more interesting options in **mkxp.json**, but these two are the most essential to set. Snoop around and tinker at your own discretion.  There are more interesting options in **mkxp.json**, but these two are the most essential to set. Snoop around and tinker at your own discretion. 
runtime_shenanigans.txt · Last modified: by szprink

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki