Simply put, a ‘window’ is a group of animation frames.
‘Windows’ are used to split and organize sections of attacks, control their animation speed, and add specific behaviors during an attack (such as changing the player’s movement speed). In a basic attack move, each attack window plays in sequence from start to finish.
There are four essential ‘Grid Indexes’ for windows, which define the length, duration and animation of a window:
- AG_WINDOW_LENGTH defines the length of time that the window will play for. Like most fighting games, Rivals of Aether runs at 60 ticks per second. So if your AG_WINDOW_LENGTH is set to 30, the window will last for half a second.
- AG_WINDOW_ANIM_FRAME_START is the first animation frame that this window will play. It’s important to remember that the first frame of an animation is considered ‘frame 0’. So for example, If ANIM_FRAME_START is set to 2, the window will skip ‘frame 0’ and ‘frame 1’, then play the animation from ‘frame 2’ (the third frame) onwards.
- AG_WINDOW_ANIM_FRAMES specifies the total number of animation frames to be played over the length of the window. No matter what AG_WINDOW_LENGTH is set to, the window will play all of the AG_WINDOW_ANIM_FRAMES stretched over that length. So for example, if a window had a AG_WINDOW_LENGTH of 12, with AG_WINDOW_ANIM_FRAMES set to 3, each of the 3 animation frames would appear for 4 in-game ticks each.
- The final important Grid Index is AG_WINDOW_HAS_WHIFFLAG. In Rivals of Aether, when a normal or aerial attack doesn’t hit its target, its recovery time is increased by 50%. This mechanic is called ‘whifflag’. There are some exceptions: Jab Combos and most Special attacks do not have whifflag. By setting ‘AG_WINDOW_HAS_WHIFFLAG’ to ‘1’, you can specify which window(s) should have whifflag when the attack misses.
Most commonly, attacks are split up into three windows: One for the attack’s ‘startup’ frames (before the attack), one for ‘active’ frames (during the attack), and one for ‘recovery’ frames (after the attack). When attacks are split up in this way, it makes it very easy to adjust and balance the move later by only changing a few ‘AG_WINDOW_LENGTH’ numbers. Below is what a typical 3-window attack might look like in action.
Of course, you are not limited to just three windows. You can use several windows in any order, which can be useful for when you need a specific animation timing, or when your animation has several attacks performed in a row.
Remember to make the recovery window(s) after a normal/aerial attack have whifflag, and make sure that the AG_NUM_WINDOWS value equals the number of windows you have written into your attack.
Experiment with window lengths and RoA’s various Attack Grid Indexes to create an attack that suits your needs. The Grid Index system is versatile enough to make many styles of normal attacks without any additional code.
Leave a Reply