- Joined
- Feb 18, 2019
- Messages
- 2
- Reaction score
- 3
- First Language
- English
- Primarily Uses
- RMMV
RPGMaker is a wonder; accessible as HyperCard to one as code clumsy as myself, and extensible enough to actually modify the experience. As I've been developing my own RPG - I'm about 2% done on that front, just started - one of my focuses has been to address the "sluggish" feel of the resultant product. That is to say, RPGMaker's runtime is slow by virtue of Javascript.
Basically I don't like how the default config feels during gameplay, and I'm seeing what can be done to improve it.
It will never run as smoothly as a machine coded game, but I've found a few useful tricks to improve how the game feels when you're playing it. Mostly it involves the use of Plugins, and I'll beg your pardon if you're already conversant with what I suggest using. Also, if there's something you've figured out, please reply to this thread and I'll add it to this post! Perhaps we can improve the reputation of RPGMaker, overall.
On to the list!
Improving RPGMaker Game "Feel"
1. Housecleaning: Remove any resources that you won't be expressly using in your game. Unless you specifically address them, Preloader Plugins will load everything available and waste memory, and slow down performance.
2. Optimizing Your Graphics: PNG files can contain "unnecessary" data, and it's possible to reduce their size by as much as 50% without changing the pixels of which your artwork consists. This is an important step, and can reduce your load times by as much as 30% or more. It's also easy and free: Head on over to psydk.org and download PngOptimizer, then drag the "img" folder onto the PngOptimizer window and watch it shave down your filesizes. It renames the original files by placing an underscore "_" at the beginning of each filename, so be sure to delete those once you're sure they work.
If you're unsure about this step, try it out on a single file or folder, then run your project. I've used this app to trim down files for both my RPGMaker MV project and a texture pack for Minecraft that I manage and design for, and both work flawlessly.
3. Frame Rate Management: Just because you can't tweak RPGMaker's routines doesn't mean you can't manage it's performance, thanks to a few Plugins. Having a lot of parallax and extra logic can increase the minimum hardware requirements for smooth performance, but with these plugins you can decide for yourself what's best, or leave it in the hands of the player. Even a vanilla project will benefit from these plugins, so there's no reason avoid them, really.
You're going to need Yanfly's Engine Core - if you don't already have it - then the following: YEP_OptionsCore, YEP_X_MessageSpeedOpt (essential because there's no changing message speed by default), TDDP_PreloadManager (or whatever you prefer to use), TDDP_FuildTimestep and finally YEP_FpsSyncOption. There's also Animated Tile Option and Battle Speed Option to consider if they're important to you. A lot of this has to do with the game's responsiveness, and when your RPG doesn't feel responsive, it puts players off. I'd love to see these options included by default in a future version of RPGMaker, but in the interim we have to be the mediators of gamefeel.
In a nutshell, these plugins change how RPGMaker MV presents itself in relation to onscreen framerate, and allows it to run out of sync if the hardware can't keep up, or in sync if the screen is running at a higher refresh rate than 60, in the case of higher grade gaming monitors and the like. Both make the game "feel better" and more enjoyable.
4. Audio: There are some things to consider here. While modern CPUs can decode MP3/OGG files manyfold over realtime, high rates will reduce the available CPU time for everything else your game needs to do. Generally you don't need to worry about it, but it is worth considering if you know your game will be played on resource minimal hardware, like a Chromebook with just two threads to leverage. As long as it sounds good, don't overdo it.
Midi will use Microsoft's implementation of DirectX Roland General Midi, but you can do better: BassMidi supports user configurable soundfonts that can spruce up your music. If nothing else it can give you access to soundfonts to use for your own music production if you don't own a MIDI synthesizer or capable keyboard. It's probably too far to go to ask your players to install and configure BassMidi on their own, and as far as I know you can't set BassMidi as the default Midi Device in Windows 10 like you can in previous versions of the OS.
There are other little things like battle music playing after battles load - but there's a plugin for that, I just haven't gotten to it yet. I can update this post when I do, though. I'd much prefer if BGMs started playback at the same time as a map loading, and that may be possible with preloaders other than TDDP's, but again, not quite there yet. Player movement also needs work, but I haven't yet tried any movement plugins to see if they address the "sticky" feel of default behavior.
In summation, that's what I've come up with so far. RPGMaker MV has got to be the ideal tool for someone like myself, and I thought I'd share what I've learned about smoothing out the experience for anyone who might have questions or curiosity about it. If there's anything you'd like me to address individually, let me know and I'll do what I can!
Thanks for reading, and happy RPG Making!
Basically I don't like how the default config feels during gameplay, and I'm seeing what can be done to improve it.
It will never run as smoothly as a machine coded game, but I've found a few useful tricks to improve how the game feels when you're playing it. Mostly it involves the use of Plugins, and I'll beg your pardon if you're already conversant with what I suggest using. Also, if there's something you've figured out, please reply to this thread and I'll add it to this post! Perhaps we can improve the reputation of RPGMaker, overall.
On to the list!
Improving RPGMaker Game "Feel"
1. Housecleaning: Remove any resources that you won't be expressly using in your game. Unless you specifically address them, Preloader Plugins will load everything available and waste memory, and slow down performance.
2. Optimizing Your Graphics: PNG files can contain "unnecessary" data, and it's possible to reduce their size by as much as 50% without changing the pixels of which your artwork consists. This is an important step, and can reduce your load times by as much as 30% or more. It's also easy and free: Head on over to psydk.org and download PngOptimizer, then drag the "img" folder onto the PngOptimizer window and watch it shave down your filesizes. It renames the original files by placing an underscore "_" at the beginning of each filename, so be sure to delete those once you're sure they work.
If you're unsure about this step, try it out on a single file or folder, then run your project. I've used this app to trim down files for both my RPGMaker MV project and a texture pack for Minecraft that I manage and design for, and both work flawlessly.
3. Frame Rate Management: Just because you can't tweak RPGMaker's routines doesn't mean you can't manage it's performance, thanks to a few Plugins. Having a lot of parallax and extra logic can increase the minimum hardware requirements for smooth performance, but with these plugins you can decide for yourself what's best, or leave it in the hands of the player. Even a vanilla project will benefit from these plugins, so there's no reason avoid them, really.
You're going to need Yanfly's Engine Core - if you don't already have it - then the following: YEP_OptionsCore, YEP_X_MessageSpeedOpt (essential because there's no changing message speed by default), TDDP_PreloadManager (or whatever you prefer to use), TDDP_FuildTimestep and finally YEP_FpsSyncOption. There's also Animated Tile Option and Battle Speed Option to consider if they're important to you. A lot of this has to do with the game's responsiveness, and when your RPG doesn't feel responsive, it puts players off. I'd love to see these options included by default in a future version of RPGMaker, but in the interim we have to be the mediators of gamefeel.
In a nutshell, these plugins change how RPGMaker MV presents itself in relation to onscreen framerate, and allows it to run out of sync if the hardware can't keep up, or in sync if the screen is running at a higher refresh rate than 60, in the case of higher grade gaming monitors and the like. Both make the game "feel better" and more enjoyable.
4. Audio: There are some things to consider here. While modern CPUs can decode MP3/OGG files manyfold over realtime, high rates will reduce the available CPU time for everything else your game needs to do. Generally you don't need to worry about it, but it is worth considering if you know your game will be played on resource minimal hardware, like a Chromebook with just two threads to leverage. As long as it sounds good, don't overdo it.
Midi will use Microsoft's implementation of DirectX Roland General Midi, but you can do better: BassMidi supports user configurable soundfonts that can spruce up your music. If nothing else it can give you access to soundfonts to use for your own music production if you don't own a MIDI synthesizer or capable keyboard. It's probably too far to go to ask your players to install and configure BassMidi on their own, and as far as I know you can't set BassMidi as the default Midi Device in Windows 10 like you can in previous versions of the OS.
There are other little things like battle music playing after battles load - but there's a plugin for that, I just haven't gotten to it yet. I can update this post when I do, though. I'd much prefer if BGMs started playback at the same time as a map loading, and that may be possible with preloaders other than TDDP's, but again, not quite there yet. Player movement also needs work, but I haven't yet tried any movement plugins to see if they address the "sticky" feel of default behavior.
In summation, that's what I've come up with so far. RPGMaker MV has got to be the ideal tool for someone like myself, and I thought I'd share what I've learned about smoothing out the experience for anyone who might have questions or curiosity about it. If there's anything you'd like me to address individually, let me know and I'll do what I can!
Thanks for reading, and happy RPG Making!
Last edited: