Mercedes90

Veteran
Veteran
Joined
May 7, 2021
Messages
105
Reaction score
27
First Language
English
Primarily Uses
RMMV
See the gif? Yeah, glitching - Images are not running smoothly as expected.​
I've made some of my own in-game TV screens, monitors, and ads with Adobe Premiere Pro. It turned out promising at first when things went smoothly during a few experiments, but the more I add these kinds of events on the map, the more distortions I'll get in result.​
As shown in the screenshot below the GIF, there are exactly 30 frames (images) added in the "Movement Route" for this Event.​
The file size of each image is between 10 kb to 40 kb.​
Please, don't bother with the "Wait" commands, the glitching occurs even without them. Image resolution doesn't matter either as I've already made tests with the Sprite Sheet size, the result is still the same.​
If this is bad news, and that I have to give up this cool idea, is there not another way to make this run smoothly?​
EDIT: I've re-compressed the file sizes to 4 to 6 kb, yet the problem is the same.​
ezgif-1-3456cd854e32.gif

TV frames.png
 
Last edited:

fizzly

Veteran
Veteran
Joined
Mar 23, 2012
Messages
1,061
Reaction score
691
First Language
Polish
Primarily Uses
RMMV
Did you made it as event command, or did you made it as a event movement? Try to create event normal, as "action button", and put that animation into movement, setting it as Custom.
 

Mercedes90

Veteran
Veteran
Joined
May 7, 2021
Messages
105
Reaction score
27
First Language
English
Primarily Uses
RMMV
Did you made it as event command, or did you made it as a event movement? Try to create event normal, as "action button", and put that animation into movement, setting it as Custom.​
It's an Event Movement. I've already done it with the Action button on, it did not work out that well either.​
Namnlös.png
 
Last edited:

caethyril

^_^
Global Mod
Joined
Feb 21, 2018
Messages
2,986
Reaction score
2,304
First Language
EN
Primarily Uses
RMMZ
I guess this is due to the image(s) taking more than 1 frame to load from file. Typically they would be pre-loaded but I'm not sure if the engine scans auto-move routes for image changes. This is part of the motivation for spritesheets: once the sheet is loaded, there should be no load-from-disk delay when you want to change frames.

Possible solutions:
  1. Increase your game's image cache size. It is possible that the images are getting loaded ahead of time but then are getting pushed out of the cache by other images. RMMV has a default max cache size of 10 MPix, which is fairly small (mobile considerations).

    You can change the cache size using the Community_Basic plugin (present by default in new projects).

  2. Manually request the relevant images ahead of time, e.g. something like this in a Script command for each image:
    • ImageManager.requestCharacter("$TV C - M100");
    I would recommend running this in a Parallel event that runs when you enter the map. Make sure the last command is Erase Event so it only runs once per visit to the map. E.g.

    ◆Script:ImageManager.requestCharacter("$TV C - M100"); : :ImageManager.requestCharacter("$TV C - M110"); : :ImageManager.requestCharacter("$TV C - M120"); : :ImageManager.requestCharacter("$TV C - M130"); : :ImageManager.requestCharacter("$TV C - M140"); ◆Script:ImageManager.requestCharacter("$TV C - M150"); : :ImageManager.requestCharacter("$TV C - M160"); : :ImageManager.requestCharacter("$TV C - M170"); : :ImageManager.requestCharacter("$TV C - M180"); : :ImageManager.requestCharacter("$TV C - M190"); ◆Erase Event
 

GregorDuckman

Villager
Member
Joined
Oct 14, 2021
Messages
21
Reaction score
16
First Language
English
Primarily Uses
RMMZ
This strikes me as a combination of loading time and the way RMMZ/MV handles frame timing compared to XP/VX/VXAce. In the earlier engines, there isn't any sort of frame skipping so if the frame rate drops you will see every frame when it's ready even if that means time slows down. I am pretty sure MZ/MV has some kind of frame skipping and deferred loading, you may be unlucky enough to get frames being rendered in between the first frame unloading and the next frame fully loading so there's no guarantee you will be able to get around this in all cases, unless all of the graphics are loaded simultaneously and kept. I can't seem to reproduce the issue with what I have available.

Here's my hacky suggestion. Instead of breaking the animation frames into individual oversize character sheets, each character sheet can hold 12 frames. Create three events to hold these sheets and a fourth as a parallel process to control the other 3. The first visible event holds a sheet with the first 12 frames of animation, the second has the next 11 frames, the third has the last 7. The second and third should be initially set to one of the empty frames. Set the speed and frequency of all 3 to their highest settings, turn off stepping animation, walking animation, direction fix, turn on through for events two and three.

For your parallel process, start by moving all 3 events on top of each other using "Set Event Location...", then begin a Loop. Inside the loop, do a move route on the first event and use 'Change Image' to run through the different animation frames. At the end of the first set of frames, make a one-step move route that sets the second event to its first animation frame, then make another one-step move route to set the first event to transparent. Then make the move route to run the second event through all of its frames. At the end of those frames, make a one-step move route to have the third event set to its first frame, another one-step to make the second event set to its invisible frame, then run through this event's frames. At the end of this one, you'll want to make a one-step move route that makes event one visible again, followed by a one-step move route to set the third event to an invisible frame. Then the loop repeats. Make sure the move routes are in the order described, so there's no situation where both events are invisible at the same time.
 

Mercedes90

Veteran
Veteran
Joined
May 7, 2021
Messages
105
Reaction score
27
First Language
English
Primarily Uses
RMMV
@caethyril - Thanks a bunch for this! :biggrin: By increasing the cache size was an instant fix! But I've also used the script you provided, just in case, to avoid future issues with this.​
It all runs smoothly now, no matter how many copies I make of this event - Better than expected!​
Thanks again!​
ezgif-1-0c0e560eaa5a.gif

@GregorDuckman - Thank you for taking your time to help me out as well.​
 
Last edited:

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
4,693
Reaction score
1,805
First Language
Dutch
Primarily Uses
RMMV
I'm not a fan of community basics because of some conflicts :p
but to look as the result you have, it looks really nice @Mercedes90 =)

I'm not good with adobe premiere pro or how you extract images out of it,
but it looks amazing and unique as a tv banner you have setted up.
 

Mercedes90

Veteran
Veteran
Joined
May 7, 2021
Messages
105
Reaction score
27
First Language
English
Primarily Uses
RMMV
I'm not a fan of community basics because of some conflicts :p
but to look as the result you have, it looks really nice @Mercedes90 =)

I'm not good with adobe premiere pro or how you extract images out of it,
but it looks amazing and unique as a tv banner you have setted up.
Thank you, @ShadowDragon. I plan to make a whole bunch of different channels of TV/monitor screens throughout the city map, longer/more frames as well. It'll look a lot more alive and atmospheric.​
Adobe Premiere Pro may be really confusing and difficult at the start, and it takes time to get used to it. Also, using Premiere Pro to edit a Spritesheet as a video and then export it as a sequence of transparent PNG images/Spritesheets at the desired resolution and FPS was top-notch, and it saved me a lot of time, rather than editing each frame in Krita or Gimp. I don't know why Youtube tutorials didn't think of this idea. o_O
 

Latest Threads

Latest Posts

Latest Profile Posts

I keep thinking up of new changes or improvements... Edit: Forgot to add the image Gimpwork.JPG
Hello, my nickname is Rigomor, but I am also known as Mopsikus. I work on RPG Maker games, and are currently working on a game called Peony of War.
If the world treats you like an enemy... Then the world must be your enemy...
What started as 1 RPG in development on the Nintendo DS, turned into 4 RPGs in development (1 on VX and 3 on VX Ace). Wish me luck.

Forum statistics

Threads
117,293
Messages
1,106,252
Members
153,480
Latest member
Varlen
Top