Adding Depth to your Action Sequences

● ARCHIVED · READ-ONLY
Started by residntevl 16 posts View original ↗
  1. This Guide goes over topics that will help you add depth to your Action Sequences.

    Most RPG Maker developers load up their projects with the best available plugins available to make a great game. As a developer yourself you will be told by other developers (some more experienced, some less) that your project absolutely needs Yanfly's Action Sequence Packs if you are using a sideview battle system. These developers are correct. Download the plugins here (if you haven't already):
    http://yanfly.moe/2015/10/11/yep-4-action-sequence-pack-1/
    http://yanfly.moe/2015/10/12/yep-5-action-sequence-pack-2/
    http://yanfly.moe/2015/10/12/yep-6-action-sequence-pack-3/
    Action Sequences are not only considered necessary in RPG Maker MV games, they also enhance the quality of your project, which is what other developers will tell you. I'm here to explain the kind of the depth that you can add to your Sequences to make them stand out to your players.

    Resources
    View and edit Sequences in real time! https://sergeofbibek.github.io/ActionSequenceIDE/
    An in-depth explanation to each command used in Action Sequences - https://edoc.site/download/rpg-maker-mv-action-sequence-pdf-free.html

    Creating a Base
    It is never too late to create good habits and add consistency to your work. When it comes to Action Sequences, they should share similar elements in their <Setup> and <Finish> actions. Here is an example of what your Action Sequences should look like to work with:
    Code:
        <setup action>
          clear battle log
          display action
          immortal: targets, true
          perform start
          wait for movement
          cast animation
          wait for animation
        </setup action>
     
        <whole action>
        </whole action>
     
        <target action>
        </target action>
     
        <follow action>
        </follow action>
     
        <finish action>
          immortal: targets, false
          wait for new line
          clear battle log
          perform finish
          wait for movement
          wait for effect
        </finish action>
    We could run through it line by line, but reference material exists in the plugin's help section and you can go to https://1drv.ms/b/s!AogJZkMPBfS28G6WR9k0URpiAflP and read up on in-depth explanation of each command. To be brief, this creates a Sequence which has a basic <Setup> and a common <Finish>. All of your Sequences should end the same as your decided upon <Finish> for sake of consistency. Your <Setup> Actions can be different, but always remember to maintain key elements which you will use in every <Setup>.

    The best way to create a common <Finish> is to create an Action Sequence which is more complicated than most. Here's an example of what my <Finish> looks like for reference:
    Code:
        <finish action>
          reset camera
          reset zoom
          reset damage cap
          tint screen: normal, 10
          wait: 10
          reset damage cap
          immortal: targets, false
          wait for new line
          clear battle log
          perform finish
          wait for movement
          wait for effect
          show battle hud
          change switch 212: off
        </finish action>
    Each of my <Finish> Actions reset camera and damage, return the screen tint to normal, and place HUD elements back onto the screen. These are all necessary actions to perform for any of my skills, so all skills will have this exact same <Finish> in case I decide to modify a sequence to include any camera modifications, screen tints, or hides the HUD elements. Make your <Finish> unique to what your sequences do.

    Timing
    Vibrato08 ( https://www.youtube.com/user/vibrato08/videos ) is an amazing creator that shows what you can achieve with spending a lot of time on Action Sequences and custom assets. Your style and skill may not be on the level of Vibrato - it may never be - but that doesn't mean your Sequences have to feel dry and boring because of that.

    Players want Action Sequences to feel visceral and responsive when they select a skill. They want to see the Player Character (PC) run across the screen and send a powerful blow to the enemy. The first step towards creating that is timing.

    Think of what your skill is doing. How quick or how slow should it be for the PC to initiate that skill in combat during their Sequence? Players want to be impressed by what you have to offer, so you will want to make sure your timing is just right to get the best reaction out of your players. From my personal experience, for fluid motion and fast-paced combat, 20 frames to move the PC to the Enemy is quick enough without being too fast for the player to enjoy.

    Keep in mind that the PC should be swinging their weapons and those take time as well. You can use motion attack: user to have them swing their weapon and motion wait: user to have the game wait 12 frames before moving on to the next step in the Action Sequence.

    Once you have created an Action Sequence you wish to test out, you can test it out in game or copy and paste its contents into http://actionsequence.cf/ (a site created by SergeofBIBEK) which allows you to view and edit your Action Sequence in real time! Show off the Sequence to a few other people and ask them what they think of it. They'll let you know if it looks to have a natural flow. Do not be afraid to post your in progress work, you can learn more from different opinions.

    Camera Control
    To help make an Action Sequence feel more alive, you want to work the Camera. Take for example, a PC using a rifle and they scope in to shoot the enemy. The best way to show the player what exactly is happening is to use Camera Control. Here is an example of how that can work:
    Code:
          wait: 20
          motion attack: user
          wait: 6
          camera focus: target
          zoom: 200%, 20
          wait: 30
          action animation: target
          wait for animation
          action effect
          wait for effect
    With this, the PC will pull out their weapon and before they "fire" the weapon, it will zoom in on the target and have them be shot half a second later.

    There are many methods of using Camera Control to center focus. You can only zoom in with the Camera Control commands, from 100% and onward, but you can zoom out as long as you are over the base 100% value. Here are a few examples where you want to zoom in to show something important to the player.
    • You want to play an animation on the PC to show them getting pumped for a big attack.
    • You want to hide animations that don't look pretty when they're on the default zoom.
    • Instead of the above, you want the animation to take up the entire screen for Impact.
    • You want to keep the focus closer to the enemy and the PC. Up close and personal, as one might say.
    You can have the game follow a target when you are zoomed in by using the camera focus: <target> command. If you want to zoom in and show the PC run up across the screen to the target, you use camera focus: user. If you want to have the target bounce back and forth after getting smacked by that player, you use camera focus: target in conjunction with move commands. Experiment with the focus and zoom to see how they work together.

    Using Camera Control goes hand in hand with Timing and Impact (which is the next topic). You should always properly time your Zooms and camera movement to match up with what your players will find enjoyable.

    Impact
    Raw, visceral impact. Your skills should feel rewarding to the player. They should feel the blow behind the skill that zooms in and bashes an enemy's skull in. In the standard animations (not the Sequences themselves) impact can be described as a screen flash. RPG Maker's default animations have a lot of screen flash when they should - in fact - be avoided. Having the screen flash for almost every animation played is an assault on the eyes. You should not use screen flashes at all.

    Without screen flashes you can use screen shake to show impact. Take the scoped shot example used in Camera Control. You can add a screen shake as soon as the shot makes its impact on the target, letting the player know that the shot is powerful and has deadly effects.
    Code:
          wait: 20
          motion attack: user
          wait: 6
          camera focus: target
          zoom: 200%, 20
          wait: 30
          action animation: target
          animation wait: 28
          shake screen: 7, 6, 35
          wait for animation
          action effect
          wait for effect
    You can almost always find a reason to include screen shake as much as you could for screen flash. However, you shouldn't go overboard on the shakes, unless it's expected from a character who wields a warhammer and swings it around with reckless abandon. Use it when you want to show a powerful skill at work or when something is really about to happen to the targets or PC.

    Screen tint is a great command to utilize and show impact. You will find yourself finding it naturally works in magic based skills, but it can also be used in different situations dependent upon your decisions regarding your PC. What's got more impact than:
    • The screen going red to let the player know a hellfire is about to swarm the enemy.
    • The screen going blue to telegraph that the enemy is about to drown in water.
    • The screen going bright to showcase the holy magic is here to wash away the sin.
    • The screen going darker, like night to make the assassin's movements look so much cooler.

    There are many, many examples of what you can do with screen tint, but don't spoil the player with it. It's like a screen flash. Too much and it becomes a nuisance the player wishes they could disable. Find that sweet spot and save it for really powerful skills. Don't forget to reset the tint afterwards otherwise your players will really get annoyed.

    Changing the Battleback is also a way to generate impact. In my game I've got a mage of the void who teleports the target and themself to another dimension, showcased by fading out the screen and replacing the battleback. To do something like this, it requires http://yanfly.moe/2017/02/11/yep-125-improved-battlebacks-rpg-maker-mv/ to function. Here's a portion of the sequence to show you:
    Code:
            hide battle hud
            tint screen: -255, -255, -255, 255, 60
            wait: 60
            opacity not focus: 0%, 1
            battleback 3 add: battlebacks1, DarkSpace
            battleback 4 add: battlebacks2, DarkSpace
            wait: 30
            tint screen: normal, 60
            wait: 60
            camera focus: user
            zoom: 150%, 30
            float user: 200%, 45
            motion chant: user
            motion wait: user
            wait for float
    To explain briefly, this hides all the HUD elements, fades to black, makes all targets and allies on the screen - except for the PC and the target - invisible, then the screen fades back in to show the change to the player and the PC starts their execution.
    You can view how this works on your own, place the code into http://actionsequence.cf/ to take a look or try it out in your own project.

    Movement
    This technique is often ignored as soon as a developer has learned how to make the PC move across the screen to swing their sword. You can use movement to do a whole heck of a lot! All characters in battles can move in every possible direction all over the screen. Movement is not just limited to the player characters either, enemies can move around as well, don't forget this!
    Here's a handful of movement commands you have at your disposal.
    • move user: target, position, frames - The standard, which is used to get a character from one section of the screen to another. This will be explained further below.
    • jump user: 150%, 20 - Jumps the user in the air 1.5 times their sprite size for 20 frames (1/3 of a second)
    • float user: 150%, 30 - Floats the user into the air 1.5 times their sprite size in 30 frames (1/2 of a second). The sprite stays there until floated back to 0%.
    • face user: forward - This faces the user forward (of their starting their point)
    These are basic examples and to understand them more in depth, take a look at the reference Yanfly provides or the in-depth manual here - https://1drv.ms/b/s!AogJZkMPBfS28G6WR9k0URpiAflP

    Using these commands in conjunction with each other can allow you to make a character literally fly across the screen towards their target. You can have the PC jump towards or away from an enemy and even have them jump up past the screen boundaries and come down a moment later to crush the target.

    With the default move command, without these flashy ideas racing in your mind aside, you can definitely miss out on a lot of intricacies the command has to offer. From the reference, here's exactly what you can do with the move command:
    Code:
        MOVE target1: HOME, (frames)
        MOVE target1: RETURN, (frames)
        MOVE target1: FORWARD, (distance), (frames)
        MOVE target1: BACKWARD, (distance), (frames)
        MOVE target1: POINT, x coordinate, y coordinate, (frames)
        MOVE target1: target2, BASE, (frames)
        MOVE target1: target2, CENTER, (frames)
        MOVE target1: target2, HEAD, (frames)
        MOVE target1: target2, FRONT BASE, (frames)
        MOVE target1: target2, FRONT CENTER, (frames)
        MOVE target1: target2, FRONT HEAD, (frames)
        MOVE target1: target2, BACK BASE, (frames)
        MOVE target1: target2, BACK CENTER, (frames)
        MOVE target1: target2, BACK HEAD, (frames)
    What I really want to focus on though, is moving the PC around instead of having them be dragged towards the target. You can have the PC move away from an enemy before rushing right back in to deliver the killing blow. You can do it like so:
    Code:
        move user: backward, 512, 15
          wait for movement
          wait: 5
          face user: target
          wait: 5
          zoom: 160%, 15
          se: Wind12, 80, 150, 0
          jump user: 175%, 15
          move user: target, front base, 15
    In this example, the PC moves 512 pixels away from the target on screen, then makes a daring jump towards the same target very quickly, probably to make a massive impact. Use the backward and forward movement to really keep the player entertained when it comes to a character's movement. Remember to play around and experiment to get the proper feel for what your skill should be doing!

    What's next?
    These are relatively simple tricks that any developer can utilize to make their skills feel more refined compared to a lot of other projects using Action Sequences. If you understand how to create an Action Sequence, then all the stuff explained above is what you can use to make the stand out that much more.
    For another guide in the future, I will go over some of my own Action Sequences and explain creating animations to help enhance the diversity of Sequences.
    Thanks for reading!
  2. Great tutorial! I'm utilizing an ABS for the current project, but will be referencing this heavily for the one to follow. Thanks for putting this together!
  3. Nice tutorial! thanks for that.
    but is there maybe a demo with example animation?
  4. Thank you so much for creating this tutorial, I really learnt a lot. Action Sequences are something I really struggle with, and tend to just copy other peoples sequences because I have so much trouble setting up my own.

    It'd be great if you could do more AS tutorials, @residntevl. :)
  5. not sure if you're aware, but the link to the action sequence editor is just sending me to various spam websites, not to a editor of any kind.
  6. Good tutorial; it gave me ideas for my Mark's Strike skill (if you want to see it in action, I'll put the sequence here):
    Sequence
    <setup action>
    clear battle log
    display action
    immortal: targets, true
    perform start
    wait for movement
    cast animation
    wait for animation
    </setup action>

    <target action>
    jump user: 150%, 30
    move user: backward, 600, 20
    opacity user: 0, 15
    tint screen: night, 30
    wait for opacity
    move user: target, back base, 15
    face user: backward
    wait for movement
    perform action
    opacity user: 80, 30
    motion swing: user
    attack animation: target
    wait for animation
    action effect
    wait for effect
    motion swing: user
    attack animation: target
    wait for animation
    action effect
    wait for effect
    motion swing: user
    attack animation: target
    wait for animation
    action effect
    wait for effect
    opacity user: 0, 15
    death break
    wait for opacity
    </target action>

    <follow action>
    </follow action>

    <finish action>
    immortal: targets, false
    tint screen: normal, 20
    wait for new line
    clear battle log
    perform finish
    wait for movement
    wait for effect
    opacity user: 255, 15
    action common event
    remove state 29: user
    remove state 28: user
    remove state 33: user
    </finish action>

    Any ways to improve that?

    Sales_Kital said:
    not sure if you're aware, but the link to the action sequence editor is just sending me to various spam websites, not to a editor of any kind.
    I'm getting that as well; so annoying I cannot test my sequences there.
  7. Do you have any good tutorial videos on how to use this. Im having some trouble and I tend to do better if I can watch something.
  8. Where can I find the comprehensive list of action sequences? The link provided no longer works.
  9. Strange, both reference documents to in-depth documentation of Action Sequences has been removed.
    There were two usernames that had different links to this documentation - @Pointo8 and @Yoshifull
    I am not sure how to contact either of these members to see if they have any copies of their documentation, as I wasn't wise enough to copy the information to my own PC.
  10. I found Yoshifull's through some heavy searching a bit ago. Couldn't find Pointo8's.

  11. Hello, your thread really helped me to get more ways to improve animations :). However, i still cannot find anywhere a way to move an specfic animation towards the target. Like a fireball, for a simple example (i know something like this appears in one of Vibrato's videos, so i guess it's possible?) The only video found, by Sir Applelot on YT, is not exactly what i want. Does anyone know how to do this?
  12. Petrus906 said:
    Hello, your thread really helped me to get more ways to improve animations :). However, i still cannot find anywhere a way to move an specfic animation towards the target. Like a fireball, for a simple example (i know something like this appears in one of Vibrato's videos, so i guess it's possible?) The only video found, by Sir Applelot on YT, is not exactly what i want. Does anyone know how to do this?

    Hi there! I'm glad you found my thread useful.
    As for your question regarding the ability to throw fireballs or use projectiles in combat there are a few plugins out there that are available. The one I use is a translated from Japanese plugin created by a Japanese user. It allows you to take an animation and have it be "thrown" outward toward the enemy. You can even have the animation arc up or down through the air before landing on its target.

    Here is how you would use that plugin.

    A quick guide on using it is as follows:
    In an action sequence you can do
    Code:
    eval: setParams (a, b, c, d)
    Do note the space between setParams and (a, b, c, d). It is supposed to be like that.
    a - Animation ID
    b - Frames it takes to travel to the target
    c - (Optional) Arc Value. Can be Positive or Negative. It Arcs the animation above or below the Actor toward the Target
    d - (Optional) Deflection (Variance). Provides a variance to the Arc value, meaning the Arc won't always follow the same trajectory.

    After you have that all set, be sure to play the animation using
    Code:
    animation a: target
    where a is of course the animation ID.

    Do note, with this plugin, if you setParam of an animation it will always be thrown, even if you don't set the parameters for it in a different skill that also uses the same animation.
    Sneaky Edit
    Here's an example of the plugin in action

    I've attached the plugin to this post for you to download.
  13. @residntevl Thank you so much for the answer and the explanation! This plugin is gonna be fun to work with ^^ Vibrato08's works are awesome
  14. THANK YOU SO MUCH! I was going crazy trying to find a detailed guide like this!



    Now I can FINALLY make those awesome attacks I dreamed about!