Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Expanding Battle Animations

I've worked with a lot of different battle system scripts. All the Side-view systems worked differently and setting up animations to work with the side-view systems is tedious. I'm constantly wishing I could set it up normally through the animation editor.
I can rewrite the animation classes (hidden in the help file) so in theory I think I could create an add-on that would allow greater control.

Move target
I've thought of a way to move the target of an animation around so that a hit would knock it up in the air or just backwards. It would require a dedicated pattern, like the first frame on the animation sheet, to represent the target. So imagine a bulls-eye on every animation sheet. Then in the animations tab you'd have that bulls-eye move in an arc but in-game it would be replaced with the battler graphic. Make sense?

Actually having an animation cell be subject to a variable would be very useful. You'd only need one animation in the database as a trajectory of sorts. All throw-able items could use that animation and the cell graphic would change accordingly.

Animation depth
Another limitation I'd like to overcome is that the animations will always appear over the target and never under it. Since the subtract blending option (in my opinion) is useless I think it could be repurposed to instead change it's Z position. So in the editor you could set scorch marks, blood stains, whatever to 'subtract' but in-game it would normal and appear under the battlers.
Or if people really wanted to use the subtract blending, then setting a cell's angle to 360 as an indicator could be a compromise.

My proposed method
The current animation data can be observed like this:
@_animation.frames[a].cell_data[b,c]
a= the frame number of said animation
b= the graphic cells used in said frame
c= is the data array for said cell [pattern,x,y, zoom,angle,flip,opacity, blending ]

The trick would be engineering a method so whenever the first pattern of the animation sheet is used, aka pattern == 0, it would draw something else in it's place, like the target battler's graphic.

Or whenever angle == 360 or blending ==3 (for subtract) it would draw it on a on a lower Z-coordinate, or possible a lower plane.
I think a some side-view scripts have the battler and animations on separate planes.
Anyways, that's what I'm trying to work out.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top