Adding Depth to your Action Sequences

residntevl

Blideo games
Veteran
Joined
Jul 30, 2012
Messages
37
Reaction score
29
First Language
English
Primarily Uses
RMMV
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!
 
Last edited:

Gabrelik

Almighty Maker of Sandwiches
Veteran
Joined
Aug 29, 2015
Messages
772
Reaction score
1,286
First Language
English
Primarily Uses
RMMV
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!
 

Daisetsu

Shinobi
Veteran
Joined
Dec 22, 2017
Messages
81
Reaction score
14
First Language
German,English
Primarily Uses
RMMV
Nice tutorial! thanks for that.
but is there maybe a demo with example animation?
 

The Stranger

The Faceless Friend
Veteran
Joined
Sep 14, 2012
Messages
3,154
Reaction score
20,350
First Language
English
Primarily Uses
RMMV
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. :)
 

Sales_Kital

Digidestand
Veteran
Joined
Dec 20, 2012
Messages
30
Reaction score
2
First Language
English
Primarily Uses
RMMV
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.
 

Junane

Veteran
Veteran
Joined
Feb 10, 2018
Messages
86
Reaction score
10
First Language
English
Primarily Uses
RMMV
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):
<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.
 

Thedemonpit

Lord of the Formors
Veteran
Joined
Nov 14, 2017
Messages
53
Reaction score
23
First Language
English
Primarily Uses
Other
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.
 

cuzisaidso

Villager
Member
Joined
Jan 31, 2015
Messages
27
Reaction score
2
First Language
english
Primarily Uses
Where can I find the comprehensive list of action sequences? The link provided no longer works.
 

residntevl

Blideo games
Veteran
Joined
Jul 30, 2012
Messages
37
Reaction score
29
First Language
English
Primarily Uses
RMMV
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.
 

artoni

Writer, Editor
Veteran
Joined
Jan 18, 2014
Messages
115
Reaction score
162
First Language
English
Primarily Uses
RMMV
I found Yoshifull's through some heavy searching a bit ago. Couldn't find Pointo8's.

 

Petrus906

Villager
Member
Joined
Jul 30, 2019
Messages
14
Reaction score
10
First Language
Portuguese
Primarily Uses
RMMV
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?
 

residntevl

Blideo games
Veteran
Joined
Jul 30, 2012
Messages
37
Reaction score
29
First Language
English
Primarily Uses
RMMV
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.
 

Attachments

Petrus906

Villager
Member
Joined
Jul 30, 2019
Messages
14
Reaction score
10
First Language
Portuguese
Primarily Uses
RMMV
@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
 

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

Latest Threads

Latest Posts

Latest Profile Posts

And now since I've got the whole game parts working, the *contents* await.

I've invented a cheap way to manipulate weather. Should I get it patented?
It's change from frikin' hot to beautiful at the cost of only 4 beers.
I think is french enough.
Yanfly told me the new earth all animations in MZ look a bit like summoning potatoes and now I can't unsee it. halp

Forum statistics

Threads
100,589
Messages
977,549
Members
132,186
Latest member
layer6ai
Top