RPG Maker MV

RPG Maker MV

54 ratings
Adding Depth to your Action Sequences
By Resi ♥
This guide covers extra information for developers learning how to make their Action Sequences appear more visually pleasing to their players.
   
Award
Favorite
Favorited
Unfavorite
Introduction
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! http://actionsequence.cf/
An in-depth explanation to each command used in Action Sequences - https://1drv.ms/b/s!AogJZkMPBfS28G6WR9k0URpiAflP
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:
<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:
<finish action> reset camera reset zoom 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 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:
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.
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:
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:
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:
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!
4 Comments
keex 7 Aug, 2019 @ 9:42pm 
NUMBA?
Iavasechui 25 Mar, 2019 @ 7:37pm 
Manual is gone. Link leads to an empty place.
小乙 24 Mar, 2018 @ 9:49am 
good
Maxim 23 Mar, 2018 @ 9:04pm 
This was an aawesome write up on Action Sequences. I will definitely be using this as reference material for when I create more of my own(I've dabbled, but I haven't deep dived into it).

Look forward to seeing your next write up!

Cheers!