DCupu Eventing - Skippable Event

Kuro DCupu

Trust me, I'm a veteran RMer
Veteran
Joined
Jul 6, 2014
Messages
432
Reaction score
1,378
First Language
Bahasa
Primarily Uses
RMMV
This eventing tutorial works with most RPG Maker.

I must admit, that even though it's NOT PERFECT and INCONVENIENT, this is probably the most relatable way of making a skippable content in your game.

What is this about?
Common question from most player : "Can we skip the cutscene?"
Yes, this tutorial is trying to answer that very question.

Feature
Allows your player to skip event content with a press of button.

Requirement
  • Basic knowledge of how event page works.
  • Understanding of how parallel process works.
  • Difficulty level : Apprentice

How?
It's actually so simple (it just tricky) that I can't put difficulty rating to this tutorial and could be explained with just a few sentences.
  1. Your main event will just contain a loop, waiting for a button trigger.
    upload_2019-9-5_1-6-16.png

  2. Add an extra page with parallel process trigger which contain your actual event.
    upload_2019-9-5_1-4-34.png

Full explanation
What happens there, you just make two event page running at the same time. The true nature of parallel process event is that it immediately run when the condition are fulfilled and immediately cut-off when the condition are not fulfilled. You can say that parallel event is like a fake event that run on different line than the normal event. Making use of this trait, you use self switch A to trigger your skippable content while actually you are trapped inside a loop waiting for a button trigger. And when you press that button, you instantly ended the parallel event.

Points to be noted
  • If you want the event to wait for the player input, it's necessary to trapped the event inside a loop.
  • Always leave breathing space (at least wait 1 frame) when using loop.
  • Multiple parallel process may possibly run at the same time. BUT inside an event, only a single page with higher priority may run. Normal event have a nature to finish its page first while parallel can be cut-off in the middle. That contradiction is what make this phenomenon.
  • For the advanced skip button option, you might want to use conditional script / script call for that.
What we learn?
  • Events run in two way. Inside interpreter (main), and outside interpreter (parallel).
  • Main event trait
    - Player don't have control.
    - Stable. When another main event condition fulfilled, It will queue until the last main event finished.
    - Will finish its page content first before checking its condition again.
  • Parallel event trait
    - Player may still have control.
    - Unstable. May cut off in the middle when its condition are not met completely disregard the main event.
    - Will constantly checking its condition.
  • Event pages technically ARE parallel disregarding its type. This are proven by how two event page can run at the same time in a single event. The active page may have changed, but the main event still following its rule by trying to finish its content first, EVEN though another page are also running.
What made it imperfect
is when dealing with the window message. If an event page is like a timeline that always move, window message freeze it. It play by its own rules. Yeah, skipping will still work, only after you escape from window message, so it will be a little weird. When window message are involved, you will be limited to only use [cancel] button as the skip button and are not allowed to use show choice. However it can be solved using a conditional script or script call that allow you to forcefully escape the window message.

For the last, let me know if there's something you don't understand or what would you like to suggest to improve this tutorial I made.

Thank you ~
 
Last edited:

Wavelength

Edge of Eternity
Global Mod
Joined
Jul 22, 2014
Messages
5,111
Reaction score
4,401
First Language
English
Primarily Uses
RMVXA
Very neat trick!! Just confirmed (to my own surprise) that this works in Ace. I had no idea multiple pages of the same event could run at once under these conditions.

You can use a different key to skip the cutscenes (such as SHIFT) as part of the Conditional Branch - this will allow you to activate the "Cancel" option inside the Choice Box without any issue.

Finally, to everyone reading - while @Kuro DCupu does mention it in a Comment inside the event body (between the Fadeout and Fadein), I can't emphasize enough how important it is to Reconcile everything that may have been skipped!! Any movement of characters, map transfers, switches or variables that were changed, screen tints, pictures onscreen... those all need to be set to the state they would be in if the player hadn't skipped the cutscene, or you're going to run into unexpected behavior later (it could even freeze your game or make it unplayable). You have to be so careful to do this! I recommend doing it between the Fadeout and Fadein, like Kuro suggested, so it doesn't look janky to the player.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

okay, i experimented with some more fonts, let me know if theyre easier to read and if you have a preference!

Hiatus; Still doing my best to get employed. :hwink:
Finally took the plunge and got myself MV. Time for some productivity!
Not more Goblins but variations of the Irish Merrow this time...

Okay so now you can prepend a JS library to your Haxe plugin. You can also prepend your attribution information to every compiled plugin.

Forum statistics

Threads
99,169
Messages
962,576
Members
130,744
Latest member
slatlift
Top