Sprites

A sprite should be a strip of animation frames, sequenced one after another from the left to the right. All frames should have the same dimensions. Sprites should be named in the following pattern: [name]_strip[frames].png. For example: walk_strip8.png, telling the parser the animation has 8 frames.

To convert a gif into a sprite sheet, you can either use Game Maker to import and export it as a .png or use an online converter like this one (use the “Stack Horizontally” option to make sure everything is on a single row).

If you want the sprite to replace one of the existing character states without any scripting, you should name it accordingly.

Hurtbox sprites for non-attack states (_hurtbox, _crouchbox, _hurtbox_air, _hitstun_hurtbox) use rectangular collision. Hurtbox sprites for attacks (_hurt sprites) use precise collision instead.

The origin for all sprites is set to top left (0, 0) by default. To help place origins correctly, use the Rivals Workshop Helper.

You can directly reference any custom sprite by calling sprite_get( name:string ) in animation.gml. For example, forcing walk animation to use the dash sprite instead:

if (state == PS_WALK) {
sprite_index = sprite_get( "dash" );
}

(reference on available player states).

You can also change offset and bounding boxes for your sprites in load.gml. For example:

// changing offset of the jump sprite to [94, 138]:
sprite_change_offset( "jump", 94, 138 );
// making it precise:
sprite_change_collision_mask( "jump", true, 0, 0, 0, 0, 0, 0 );

Hit Particles

Hit Particles have a couple differences to how normal sprites work; visit the page for Hit Particles to learn more about how to change those for your character.