A downloadable plugin

Download NowName your own price

Ever want your project to look like a commercial game? Everyone does, right? Well what better way to immediately give that impression than on the very first screen the player sees?

This plugin allows you to configure splash screens which show before the title screen on your project. A splash page can be a static image, which fades in, hangs on screen a set amount of time, and then fades out, or a video, which plays until completion.

The delays are configurable, and you can even configure it to skip splash screens if the player presses a key, or a mouse button. (Either the current screen, or all remaining screens).

There are two versions of this plugin, so download the one for the correct RPGMaker you use. Differences in how videos are played between MV and MZ required me to make them separate files.

Terms of Use:

  • Free for commercial and non-commercial use, with credit to me, Ramza.
  • Do not edit the header of this plugin, or claim sole ownership of it.
  • Editing the plugin to add new features, or fix compatibility problems is allowed.
  • Redistributing this plugin is also allowed.
StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(4 total ratings)
AuthorRamza
Tagsplugin, rmmv, rmmz, RPG Maker, video

Download

Download NowName your own price

Click download now to get access to the following files:

MZ Plugin Download 11 kB
MV Plugin Download 11 kB

Development log

Comments

Log in with itch.io to leave a comment.

This plugin seems to only work during project testing mode,  upon distributing/exporting the project, it stops working.

I'm trying to get a 7 second webm file to play.
When I load the distributed version it just boots into a black screen with no warnings and I am unable to skip to the title.

I tried converting the file from webm to mp4, and I still got a black screen and no sucess with getting the splash screen to work but was able to press z and get this warning.      If I try loading the mp4, and dont press anything eventually it will boot into the title after the length of the video, despite the video not loading and it just being a black screen 

Is this a web deployment? This plugin has been around a while, and I have to assume at least one other person in all that time has deployed it in a project, but this is the first I'm hearing of this.


It might make sense if it was a web deployment.

(2 edits)

Nope just a regular, on PC, Windows deployment.
I can get the video to play both in project testing, and in an event but it wont play during the deployed project and only shows up as a black screen.     Is this something to do with the issue of the filepaths being broken upon deployment o Windows 10?  Deprao, another user was talking about this in the comments earlier

Deprao was talking a couple months ago about how deploying a project on windows 10 will break the filepaths for videos

"Alright, after looking a little more into it, I think I've got some useful information. Because of not managing to get a black screen "debugger" video to run after deploy (turns out video file paths are unreadable after deploy if you include the first slash: "movies/video.webm" works but not "/movies/video.webm", at least on my end [Windows 10]) for a rather embarrassing amount of time, I found a probably fancier solution.

I tried deleting the first slash in the plugin, so it read as "movies/video.webm that didn't work though,    do I have to change text in the rpg_core.js or the js script of the plugin itself that I have to edit?   He was having the same issue as me I'm pretty sure but he got his splash screen video working on windows 10 after deployment somehow.

But I do believe this is the issue I'm having  As I am also on windows 10, and videos will only load as a black screen with no errors.  But everything works perfectly in Project testing and on events.

Hello! I downloaded your plugin but am running into some issues. I have the correct file path but continue to get this result when trying to playtest in MV. I don't know why the file type shows up twice. Any way I can rectify this? Thanks for your help!


Greetings.

I'm sure you figured it out by now, but the problem is that, for some reason, the directions say to include the file extension in the name, but the plugin appends".png" to image files automatically, meaning the error it cannot load ffs_splash.png.png is actually because your image isn't called ffs_splash.png.png, so it doesn't exist.

You can fix this by removing the '.png' from the file name in the plugin (ie: /img/pictures/ffs_splash instead of /img/pictures/ffs_splash.png).

(1 edit)

Hi again,

I tried to do what you suggested and it doesn’t work/show up in playtesting. Even exporting the build gives me this error (I changed the file name to splash1). I tried with the file type and without. Same thing. It either crashes or doesn’t show my splash screen. Is the file name case sensitive (like PNG vs png?) I’m honestly not sure what else I could do. I’d love to know if there’s anything else I could do, though!

Sorry if I sound clueless/if I’m asking too many questions.

Edit: Because itch.io refuses to work for some reason, I will just explain it. It is supposed to say "Failed to load: /img/pictures/splash1.png" and I am not sure what to do.

(2 edits)

Hi! Loved this plugin, excellent work you're doing - really saves a bunch of coding! But my mind's been boggling with a troublesome issue: works almost perfectly during project testing (with one small issue, if I run and do a first click on the title screen after the splash video plays out, the video's audio will play. But that's not this matter's problem, just adding it here).


The issue being: when I run the distributed project, it simply does not load nor shows a warning. The screen opens pitch black and does not change, no matter the input nor the time passed, been having a hard time to figure it out... any ideas? Thank you in advance for your work!

EDIT: I actually solved it. For some reason, I had stored as game resources both an mp4 and a webm of the same video I wanted to play, probably because I assumed it worked the same way with audio files (m4a and ogg). Seems like MV gets bamboozled by multiple extensions of the same file and couldn't play either, lol (I also assume the lack of warning/handling is due to MV not having a native "VideoManager", as far as I've seen). Taking away the .mp4 video solved it, silly me.

(the audio issue mentioned earlier persists, though. I find it to be minor, but wouldn't be so sure about it for bigger projects. No clue on it, yet.)
 

Hey there.

I'm really not sure that there's anything I can do about the sound continuing into the title screen. Some other people have reported it as well, and the truth is, this plugin is only reusing the built in function that rpgmaker has to play videos. I suspect this is an issue in the engine itself, and I don't have the know-how to fix it. 

The best suggestion I could think of was to have the final splash video just be a couple of frames of a black screen with no sound, so that if the skipping bug happens, there's no audio continuing.

I'm glad you solved the other problem on your own, I wouldn't have guessed that as the cause, although it makes sense. The two different video formats are for mobile and desktop deployment, so it should only keep one of the files on deployment depending on which platform you targeted. If both ended up in the folder, I could see how the engine could get confused.

~Ramza

I understand, thanks for the tip! Have a good one!

(4 edits) (+1)

Alright, after looking a little more into it, I think I've got some useful information. Because of not managing to get a black screen "debugger" video to run after deploy (turns out video file paths are unreadable after deploy if you include the first slash: "movies/video.webm" works but not "/movies/video.webm", at least on my end [Windows 10]) for a rather embarrassing amount of time, I found a probably fancier solution.

But I believe it's quite unreliable though, since it involves directly altering the base code for a project and I don't know yet how this would or even should be implemented as external/plugin code...

So, knowing it's an issue due to the built-in video player implementation, I went through a bunch of the base code and found the following function in rpg_core.js, line 2856, component of the Graphics class:


Graphics._onTouchEnd = function (event) { 
    if (!this._videoUnlocked) {         
        this._video.play();
        this._videoUnlocked = true;     
    }
    if (this._isVideoVisible() && this._video.paused) {
        this._video.play();
    } 
};


Since it's not my code and i'm still new to JavaScript in particular, the way I understand this function is as some sort of handler for video playback on input (given Input._onTouchEnd) or minimizing/alt-tabbing during video playback.

Since video playback events were not originally intended to happen on the title scene or rather without any input at all, which probably includes player character touch, it makes sense for this issue to not be addressed, which is the first condition happening. Here's a change on the first condition I added that solved it for me (swapped some lines for comments to highlight the change): 


Graphics._onTouchEnd = function (event) { 
    if (!this._videoUnlocked && !Scene_Title) { 
        //rest of the code 
    } 
    //second condition 
};


That way, the condition should be checked for every scene, except during the title scene, which is when the pre-title splash media plays (before drawing the main menu screen), as I've come to understand while tinkering around.


This has worked for me smoothly so far, having tested with multiple playback requests queued, but not with different videos (not sure if it would differ. Blame that on my laziness, which did not want to grab, convert to webm and test with other videos at that moment). However, doing this change ought to negatively affect any other video playback in the title scene (menu navigation), in case you'd include one in your game.


Therefore, further extensive testing might be required to assure a proper solution. Haven't found anyone talking about it so I thought this might be useful, at least towards a better comprehension on future modding regarding video playback.


PS: Upon further analysis on RPGMaker MV's video playback while writing this comment, I noticed the variable _videoUnlocked is initialized as false, only changing after going through the first condition mentioned above (which requires it to be false). Which in turn made me think on how the problem actually happens by the base code, in summary:

  1. The video play function is called, which then loads the video;
  2. The function which handles video load then calls the function that updates video visibility, turning it off;
  3. Steps (1) and (2) are normal. But pre-title splash videos are not played by input, so they never go through the Graphics._onTouchEnd function, leaving the variable Graphics._videoUnlocked as false, unchanged;
  4. That means MV will understand your video as not really having played yet, leading to your next input (iirc during testing this happened no matter the inputplaying an "invisible" video only once, enough to "locking it" (setting Graphics._videoUnlocked = true) from playing again. This is also why the issue doesn't happen when you input during a playback - which will either skip or do nothing (depending on plugin settings) - it (kinda?) reads that first input as the input that plays the video, "locking it".

So another solution came to me: to set Graphics._videoUnlocked = true after loading/playing its respective video anyway. Haven't tested that yet, but it might be riskier than the other hard coded solution. If it's possible to bring the logic presented here properly and polished out of the base code to plugin development, it should be handy.

Have not had the time to try that yet, plus having very little JavaScript experience and barely any search results about solutions on this issue makes it quite the time-consuming activity. Hope this helps and finds you well!

(+1)

Thanks for digging into this.

If I understand correctly, I can fix this issue by setting that flag to true during the creation of the window that causes the video playback to start. I did a quick test on my own, but I'm not able to reproduce the sound carrying through issue on my end at all. In my simple test I have one splash video and nothing else. Hitting a key to skip it, or pressing a mouse button seems to skip it normally with no sound continuing through to the title screen. If I do it with two videos, and skip them both, I get the same - no sound playing through the title screen. 

I added a line to set that flag as true in the window that shows the videos immediately when it is created, and that doesn't seem to stop anything from working on the splash screens, and doesn't cause an issue with audio playback, but I never saw the original issue so I don't know that it fixes it either.

Window_DummyWindow.prototype.initialize = function(rect) {
Window_Base.prototype.initialize.call(this, rect);
this._frameCount = Ramza.PTS.params.waitFrames - 12
this._waiting = false
Graphics._videoUnlocked = true
};

Basically I just added the last line to that function in the MV plugin. Try that and see if it changes anything? I suspect it might also cause an issue with video playback elsewhere in game, as the flag will start true unless I also reset it later.

(4 edits)

Alright! So, thing is, the issue really isn't there when you skip, it happens when you don't: 

Let's say you have a video followed by an image: not skipping/pressing anything during the video playback makes your next input (whether be it while the image plays or later on the title screen) to play just the audio of the video played earlier (as if it's playing in the background).

In case of multiple videos, to my understanding, each is a separate instance of video handled by graphics processing, so skipping all or each one of them will not land into an issue. Not skipping, on the other hand, will result in the same as explained above, except that the repeated playback will be from the last video played (the latest video instance)


Nevertheless, about the patch: hypothetically, I thought it should work seamlessly to, indeed, set that flag as true on the plugin-side, just didn't really know where...It should work properly because not only the variable would be set once per instance(per video) but also because the plugin code is only intended for the title scene (or, rather, maybe inbetween the boot and title scenes) - not affecting the rest of the game.

I did testing with multiple splash videos; splash videos and image; splash media + events (sole movie players and play movie inbetween an event's other actions) and, well..Seems to work properly so far! I have only not tested with playing videos via title screen (menu navigation), but I decided to not bother with that, since MV does not have built-in functionalities to edit the menu screen selection flow (as far as I've known).

Since this is a solution to circumvent an issue done by the engine itself not accounting for unintended use cases... hopefully it keeps working, lol. Let me know if you'd like any recording about the problem/testing or any other problems about this that may come, best regards!
 

Hey, I've been trying to get this plugin for splash screens to work,   How did you end up getting your export to work  with the splashsceens for windows 10? running into the same issue

Hello! Let me just thank you for such an amazing plugin. It's great! I do, however, have issues when I deploy my game. During playtesting, the pre-splash screens work as normal. When playing the deployed game however, this screen shows up. Once I hit retry, the normal image loads like it should, but I was curious to know if there is a fix so that this doesn't show up at all? Am I doing something wrong?

It looks like this might be an issue with caching. I suspect because the splash screen loads as one of the first things the engine does, it tries to render the first splash screen before the images for it have been cached. 

A plugin that pre-caches specific images might resolve this, but otherwise the fix would be to apply a brief wait period on the splash scene before any splash screens are supposed to show. It might only take a few frames, so it could be nearly unnoticeable.

I'd try a precache plugin first and see if that helps at all. Patching the plugin is also an option, but I haven't had a lot of time for updates lately, so you might be stuck waiting a long time for something that could be a real simple fix.


~Ramza

I got it working near seamlessly but the videos audio is muted, the main title screen is fine and normal but the audio is silent. If there isn't audio available then I understand but I hope reaching out can solve this.

Hello there.


I have a couple of thoughts on why that might be happening.

First, it could be that the audio codec used in the video is not supported on the target platform. To verify this, I'd first try playing the video directly using some sort of media player. If that works, the next step would be to try to play it in a normal event in the engine.

The other option is that something set the volume of all videos in engine to be muted. The plugin doesn't have any built in video controls, so it should use the defaults. It might be possible that during a previous test play you muted the video from somewhere else in the game, and that setting is kept during the splash videos.

Audio should be supported. The webms I, ahem, legally acquired on the internet to test it with had audio, and the audio playback was fine. There have also been complaints of the audio continuing onto the title screen when skipping videos, so other users have had sound working as well.

Unfortunately there isn't much more troubleshooting I can do, as all this plugin does is launch a container for the video which is already something rpgmaker did.

~Ramza

(+1)

Turns out the codec was bad I re-rendered the vid and it works fine thank you!!!!

(1 edit)

this hello! plugin isnt working for me i have a 9 second intro to my rpg maker MV game but it isnt working its just showing a black screen i have read the comments i tried to troubleshoot but i was unable to fix it the custom logo plugin is off when i set the movie to play in an event to test if it works it does work but i have no idea why this isnt working the parameters are in the image and when i press enter on the black screen it shows this

Deleted 231 days ago

Hi there, I'm sorry you're having trouble here, so let's try to fix it.

Try turning off skip mode to see if it's somehow being skipped before it starts playing.

Also, there was a change in the MZ core files a while back that broke this plugin completely until an update, which effectively stopped it from doing anything at all. Double check that you have the latest version of it by redownloading it here and using the newer plugin file.

Also ensure that the movie will actually play during a regular 'play movie' event in game as well. If there's something incompatible about your movie file, that will let us know that the problem is with the file and not with the plugin, since it's just using MZ/MV's ability to play the movie files that's already built into the engine.

~Ramza

Deleted 231 days ago
Deleted 231 days ago
(1 edit)

That last bit does sound like a bug, as the videos don't play on the title scene at all, so there should be no menu or anything for the player to interact with.

The incompatibility with the CustomLogo plugin is likely the same thing that broke it in MZ a while back:

This plugin aliases the call to change scenes in rpg maker, which happens any time you swap from any scene to another scene. Menus, battles, map transitions, shops, etc. It specifically just calls the original function (so it works normally) unless the following is true about the call:

  • The scene you're in is Scene_Boot (which is the very first scene that loads when the game opens)
  • The scene that is called is Scene_Title

In that case, it intercepts that call and sends the scene manager to Scene_PretitleSplash (or something like that, I don't have the code right in front of me), which shows the splash screens in the given order, and then sends the player to Scene_Title after. If you have some other plugin (or the newer Core files for MZ), Scene_Boot doesn't point into Scene_Title, so this plugin never triggers. In MZ it pointed to a different scene called Scene_Splash, which I presume was created for a similar reason, but doesn't seem to be used at all except to then send the player to the title scene.

In any case, the incompatibility can be fixed by modifying my alias, by adding whatever the CustomLogo scene is called to the check, it will intercept it as it would the boot scene and work.

But also, this splash plugin can be used to show a static image as a splash screen too, so you might not even need that logo plugin if you're using this one.

I'm not really sure how it could be playing videos on the real title scene though, unless it's not waiting for the video to be finished before continuing on to the next scene. That would be a pretty major bug. I'll see what I can do about it.

~Ramza

Deleted 231 days ago
(1 edit)

Good afternoon!

A friend of mine was trying to use this plugin on MV. On his end, it works fine, but for some reason on my end, I keep getting this weird error about "currentTime" having a double value that's non-finite.

He has a few other plugins from YanFly, but I'm unsure if that's the issue because it works just fine for him. Do you have any ideas what could be causing this? 

Thank you in advance!

Good evening.

The only time currentTime is used in the plugin is during a skip. To skip the video to the end, it sets the current frame of the video currently playing to the last frame, which causes the video to end. I did this because I couldn't figure out how to make it actually abort the video playback, as I'm just using the built in video playback from rpg maker.

If I'm correct, you're getting this error because you're skipping videos, and he likely isn't because he's not. What the error actually means, though, is a mystery to me. It could be an issue with the actual video, as the error would seem to imply that it can't properly detect how long the video is to set the current time on the playback to the end of it.

Hi thanks for the plugin, I get an error when I use it, I have mz. thank you.

Good day.
That error doesn't mean much to me, unfortunately. It sounds like something failed to load, possibly the video file you chose, but without the console output I wouldn't know where to start troubleshooting.

Make sure the path of the file you're loading is correct, and that it doesn't have any spaces in it.

Hi it works fine for me but it seems to play again in the background on the title screen after playing once?

Good day.

This plugin shouldn't be capable of doing this unless you have something else that's going back to Scene_Boot on the title screen. 

The normal flow without this plugin:

Scene_Boot -> Scene_Splash -> Scene_Title

With this plugin:

Scene_Boot -> Scene_PretitleSplash -> Scene_Splash -> Scene_Title

This plugin aliases the SceneManager.goto function, checks for what the current scene is, and what the scene called is, and injects scene_pretitlesplash only if it's currently in Scene_Boot and going to either Scene_SPlash or Scene_Title. It doesn't change anything on the title scene at all, and the only time is plays splash screens is on the pretitle splash scene. The only way it could replay these is if something sent the interpreter back to Scene_Boot and it started the whole process over again.

~Ramza

Hey there! I'm really new to RPG Maker MZ as a whole, so this may entirely be me, but the Plug-In is not working for me and I'm not sure why. From what I understand, this Plug-In should allow a video or picture playout before the Main Title comes up. 

I've installed the Plug-In, I've chosen it to be a video, and then I've entered the file path that's inside the game folder:

/movies/Witch Hunt.mp4 

And then I apply it - I don't change any other settings, just set it to video, enter the file path, and then applying it. I go to PlayTest the game, and...no video plays. The only other Plug-In I have installed is a 3D Plug-In, but I've also tried to disable that just to be safe - it still doesn't play anything prior to the title screen. I'm not sure if I'm somehow missing a step, I've double-checked the comments here and followed the instructions closely. Any tips?

I've also converted to .webm and removed the space in the file, so it now reads as: /movies/witchhunt.webm 


but still does not play during play test. 

Okay, so I looked into this a little bit, as you're not the only person to report it (see below), and I was once again unable to reproduce the problem on my end. It works fine in my test project, with images and with videos.

The problem, as it turns out, is that some update to the core files in the past made it no longer work anymore. I made a brand new test project and copy+pasted the same test files I was using in the test project into it, and it doesn't work. In fact, none of the splashes work, not even the images.

I looked into it a bit more and it seems that RMMZ has an entire splash scene that it defines in RMMZ_Scenes that it goes to before the title scene. I'm not sure what this scene actually does, though, as I don't see any options in the database to use it. Anyways, I managed to quickly fix the issue, as my plugin aliases the function to call a scene, checks if the current scene was Scene_Boot, and that the scene being called was Scene_Title, and then intercepts that call to send it to my pretitle splash scene instead. I just changed that to intercept scene_title or scene_splash. 


The fix will be uploaded shortly.

~Ramza

(2 edits)

mz version isnt working? have this on the default with no other plugins active. they are webms

Hello. If I keep clicking too fast the video sound will play in the background while the title screen is on. Is there any way to fix this?

Hello there.

A couple of people have told me of this problem, and there's not much I can do to resolve it.

The plugin doesn't do anything fancy with video playback, it just uses the built in function from rpgmaker to play them, so any problems with playback it has (low framerate, sound issues, etc) are coming from the engine itself, not the plugin. I might maybe be able to mitigate this specific problem by only allowing the videos to be skipped after a certain number of frames, and maybe that'll give the garbage collection functions time to do their jobs and stop this from happening. But since I'm only using the default engine to play those videos, the problem would still happen any other time a video player.

The best thing I can suggest is to have the final splash video be a very short blank video with no sound (like a couple of frames), so that if it is skipped past and its audio keeps going, it won't have any audio to interfere with the title screen.

Got the MZ version, but I can't seem to add photo's/video's to the sequence. Can you explain how this works?

  • Put your videos/splashes into a folder inside your project (the default movies and/or img/pictures folder work well here).
  • Open the parameters for the splash plugin.
  • Open the parameter for 'Splash Screens'.
  • Double click a blank space in the list (labeled 1, most likely).
  • The next window that comes up is a spot for you to set what this splash is
    • Select either video or image for the type box
    • for the file box you need to type the full path to the video/image
      • /movies/1603494526247.webm /img/pictures/Actor1_5
    • CustomHold is a value for static images only, when you set it, that image stays on screen for that amount of frames, instead of the default amount set in the normal plugin parameters.
  • Add as many splashes as you like. You can drag them around to adjust the order they're played in game.

~Ramza

(+1)

This worked perfectly for me right out the gate for a video intro on RPG Maker MV. Thank you.

Bro, is this plugin not work with Visustella? (MZ), because how hard I try, nothing happen (I put your plugin even before Visustella plugins.

Hello there. I'm sorry you're having issues with this plugin.


When I released it, I had tested it with a base MZ (and MV) project, so there's no guarantee that it worked with Visustella plugins. However, I've received no messages prior to now indicating there was a problem with them.

Do you have some sort of a VS title screen plugin? Anything else that might be modifying the startup sequence?

What happens if you turn off all other plugins temporarily? Is this project deployed already? Does it work in test play? What format are your videos? I had tested exclusively with .webm videos I'd downloaded somewhere, mp4s for mobile deployment might not work at all. Heck, mobile deployment probably doesn't work at all either. Also insure your video files are in the correct folder, and that there are no spaces in your file tree, as MZ has issues navigating those sometimes.

Also give a try with a static splash screen as well.

~Ramza

Damn, you're quick :D

Can't wait to use make use of these new plugins.