Improved Battle Graphics for Blizz-ABS
This is a simple idea first coined by LegacyBlade that I have decided to make into a full blown tutorial. What we're going to do is use the features of Blizz-ABS in a way that isn't typical to create eye candy for the soul. A lot of people like XAS simply because of the green chunk inducing Snickers Bar for the cornea, and what this tutorial is about is creating awesome graphical illusions using the mechanics of every RMXP program out there.
How are we going to accomplish this, pray tell? Well, simply put it's going to be a combination of clever uses of the built in animation system, as well as the good common events tab, and the blizz configuration.
Step One: setting up the methods for our animations
- First you're going to have to make a small character sheet. What's great is you can make it 96x96 pixels, and slap in one color, any color, and just import it into your game. Make sure that you select the color as a transparent.
Why do this? We need to have the attacking character's graphic go clear whenever we attack, for that to happen we will need a blank .png file to make the character disappear. This is needed in order to get around the Blizz-ABS battle animations (it's also a venue to add in other effects, if you're inclined).
- Second prepare your animation. It's best to get an animation template to do this, since you'll need to know where the center of each image is.
Here is an animation template via Blizzard
You can add more rows on the vertical of this to add more frames, however the width cannot be changed.
Step Two: How to transfer over to your battle animations
- If you want an easy route for the standard RTP, simply copy the attack templates available from LegacyBlade or other resource makers and copy them to the animation template. Keep in mind however, that Blizz-ABS reduces the size (if you choose it) of all animations by 50%. There's two methods to get around it. Simply turn it off, or increase the size of your character's attack sprite to 200%. Your character must be centered on each frame of the animation so that you avoid visual aberrations.
- Create your animation like you would any other animation. Add in neat effects as extra frames for the animations tab to add a little extra flare. Also, if you want, you can add in extra frames to your character animation themselves to make it appear more smothly animated.
- You will need to have seperate frames for the up facing, down facing, and side to side facing animations. Each character or each weapon will have to 4 different animations because of this. Keep this in mind.
- If you're inclined, because of this 50% decrease in the size of animations, you can actually add more detail into the character models during their attack animations. It's an extra layer to the visual style, but is totally unnecessary.
The in game programming
For this to work you need to have basic knowledge of the RMXP programming language. I'm not talking ruby here, don't worry. But you will need to know how to use the eventing languages.
Currently this setup is for Blizz 1.99 and only a one character party. The use of a call scripts can be made to determine which character is taking action, however I'm unsure of how to do this.
Step One: Creating the shell
- Create a common event and call it "attack" or something like that and set it to a Parallel Process.
- Inside the common event create a Conditional Branch which in this case is "A"
Make sure to have "Set Handling when Conditions do not apply" unchecked.
- Underneath the conditional Branch, put a Wait 1 frames timer.
- Every time you hit "A" will now cause everything in the Conditional Branch to run.
Step Two: Determining the Character's Direction and set the Animation
- Create 4 consecutive Conditional Branches, one for each direction of the character. It should look like this.
- Next add in a Show animation into each of the Conditional Branches. It helps to name you animations based on what you need. I chose to name them "sword up, sword down, etc."
Step Three: Set the refresh counter
- The refresh counter is to keep your animations from playing too quickly. It's important that you match the cooldown time from the Blizz-ABS configuration and the number of frames used in the animation. In this example it's 20 frames for the animation, which takes one second on the screen to complete.
- Create new Wait timers under the Show Animation timers and set them to one frame LESS than your animation takes to complete. The reason is the Wait 1 Frame(s) at the end of the code. In this example set each Wait timer to 19 frames.
- Now that the refresh counter is set, you can hit the "A" key as many times as you want and it will show the animation properly.
This is for those of you who want extra animations for each attack. Like a spin attack, or a jumping attack. We'll use the code we currently have built, however it'll be modified extensively and requires a considerable effort on your part.
Step One: Create the variable
- Create a Variable to use to determine which animation will be played.
- Just under the Conditional Branch: button A is being pressed, place a Control Variable and set it to random 1 through ...
- Keep in mind that for each different attack animation, you need to make 4 new animations. So random 1-2 will mean you need 8 animations, random 1-3 will mean you need 12, and so on.
- Create a new Conditional Branch and have it's paramaters set it checks for the variable's number. Make a new one for each animation. Make sure that it's inside the Conditional Branches that check for which direction your character is facing.
- Copy the code that is in the direction facing Conditional Branch and paste it into the new Conditional Branches you have set up to determine which animation to show for that direction. Change the animations as necessary.
- by the time you're done your common event should look something like this:
All in all that's it, this will give you animations for your character that will look much better than the standard Blizz-ABS animation methods can allow.
Special Thanks to:
LegacyBlade for the idea
Blizzard for the wonderful ABS he's created so far.
There is a way to set this up with the upcomming party AI so that each character will have it's own unique set of animations. However I need help to know what the call script command is to determine which character is attacking and how to play the animation on them instead of player controlled character. Any help on how to do this would be appreciated and cited as a co-writed of this tutorial.