Improving Load Times and "Game Feel"

hastypixels

Writer, Artist, Musician, Educator
Member
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!
 
Last edited:

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,299
Reaction score
11,714
First Language
English
Primarily Uses
RMVXA
There are already several threads about reducing file size and improving performance generally which you might like to check out.

I'm not approving this thread immediately. General Discussion is about discussion, so I think it would be helpful if you could clarify what your discussion point is, rather than a simply listing of things you've done. Some of the things you mention are strictly implementation issues, so should be addressed in the MV Support forum. For example, BGMs should start playing immediately - if you specify them on a parallel process with erase event. If that's not happening, it means that there is an implementation issue you need to get advice on.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Oh wow, just got word the police are looking for an armed suspect within a 2 block radius of my office. Super glad I'm not there right now. :kaoswt:
Sheila Nagase

same caption as before. :3
"Be as honest as you possibly can as often as you can. It makes your lies much easier to believe."
Each new game means new ways to survive and you need to adapt when you have 10 different stores with lots of items for your adventure

Forum statistics

Threads
107,373
Messages
1,029,192
Members
139,470
Latest member
Kalglo
Top