AutoSprite
Compatible with GameMaker

Sprite Sheet Generator for GameMaker

Generate animated 2D sprite sheets for GameMaker from a prompt or character image. Export numbered PNG frames, then import Sprites faster.

Sprites/spr_player_run
Example AutoSprite character sprite sheet for GameMaker import

GameMaker import

Frames folder to Sprite assets

Numbered PNG frames
Sprite Editor import
GML state ready
AssetSprite
Import pathframes/01.png, 02.png, ...
Runtimesprite_index + image_speed

Output fit

What AutoSprite exports for a GameMaker project

GameMaker can import animated Sprites cleanly when the frame files arrive in a format the Sprite Editor understands.

GameMaker needs

  • Sub-images in the right order
  • Consistent origin across Sprite assets
  • Asset names that match GML state logic

AutoSprite gives

  • Numbered frame PNGs
  • Motion you can preview before import
  • Per-animation folders you can convert to Sprites

AutoSprite Format ZIP

Download one folder per animation, including spritesheet.png, atlas.json, and numbered frame PNGs for GameMaker Sprite import.

Numbered frame PNGs

Use the frames folder to create a Sprite asset without asking GameMaker to slice a two-dimensional grid.

JSON atlas data

Keep frame dimensions, columns, and frame count beside the image export for reference or custom pipeline work.

Consistent characters

Start from a prompt or single character image and keep the same identity across the Sprite assets you wire into an Object.

Export files at a glance

AutoSprite Format ZIP

Recommended

Folder per animation with spritesheet.png, atlas.json, and numbered frame PNGs.

Numbered frames folder

Sprite import

Multi-select frame PNGs in the Sprite Editor Import flow to create sub-images.

spritesheet.png

Pipeline reference

Useful for previewing the full grid, but not the easiest GameMaker import path.

_stripN PNG

Horizontal strip only

Works when frames are laid out left-to-right in one row, such as run_strip25.png.

Actual workflow

From AutoSprite to GameMaker in four passes

AutoSprite speeds up Sprite creation without replacing GameMaker's Object events or GML state logic.

Generate the artDownload framesImport one Sprite per move
01

Prompt or image

Start from a character brief or existing concept art.

02

Frames folder

Download numbered frame PNGs from the AutoSprite Format ZIP.

03

Sprite asset

Import the frames into spr_player_idle, spr_player_run, or another Sprite.

04

Object event

Swap sprite_index in Step or Animation End events.

01

Start with the GameMaker Object in mind

Plan the character as Sprite assets that your Object can swap with sprite_index.

  • Upload a concept image or describe the player, enemy, NPC, or effect you need.
  • Name the art style, silhouette, camera angle, and gameplay role before generating frames.
  • Think in GameMaker asset names like spr_player_idle, spr_player_run, and obj_player.
AutoSprite upload step for creating a GameMaker character sprite
02

Choose one Sprite asset per move

Pick animations that map cleanly to the Sprite resources your Object will switch between.

  • Select idle, walk, run, jump, attack, hit, or a custom action.
  • Keep each move separate so GameMaker can treat it as its own Sprite with its own origin and speed.
  • Use readable names that match your GML branches and Animation End event logic.
Animation selection screen for GameMaker sprite generation
03

Generate, preview, and keep the usable take

Check the movement before importing frames into the GameMaker Sprite Editor.

  • Preview the generated animation in AutoSprite before downloading.
  • Look for clipped weapons, foot sliding, unclear silhouettes, or inconsistent pose spacing.
  • Regenerate or adjust prompts before importing the frame folder into your GameMaker project.
AutoSprite preview screen showing generated GameMaker animation frames
04

Download frames and import as Sprites

Use the AutoSprite Format ZIP for the cleanest GameMaker path: numbered frame PNGs into one Sprite per animation.

  • Create a Sprite, click Import, and select the numbered PNGs from an animation's frames folder.
  • Set Origin to Middle Centre or Bottom Centre, then set playback speed in the Sprite properties.
  • Use _stripN only when you have a single horizontal strip image, not the default 5x5 spritesheet grid.

Frames folder path

Import the numbered PNGs into a Sprite so GameMaker creates ordered sub-images.

GameMaker integration docs

Strip image alternative

Use _stripN only for a horizontal strip, then let GameMaker divide the file into N frames.

Strip import notes
AutoSprite export screen for downloading GameMaker sprite frames

GameMaker import

Settings that keep Sprite assets predictable

A good GameMaker import keeps frame order, origin, playback, and object logic separate.

Ordered sub-imagesConsistent originsGML-ready assets

GameMaker Sprite checklist

Recommended format

AutoSprite Format ZIP

Use the frames folder so each numbered PNG becomes a GameMaker sub-image.

Sprite asset

One per animation

Create spr_player_idle, spr_player_run, spr_player_attack, and other move-specific Sprites.

Origin

Middle Centre or Bottom Centre

Use Middle Centre for general character control or Bottom Centre when feet need to sit on the ground.

Playback

Frames per second

Start around 12 fps for idle/walk and raise run or attack if the motion needs more snap.

Pixel filtering

Interpolate off / gpu_set_texfilter(false)

Keep pixel art crisp by disabling texture filtering in platform options or at runtime.

Runtime control

sprite_index + image_speed

Use sprite_index to swap animations and image_speed as the instance multiplier.

Asset flow

Keep AutoSprite output mapped to GameMaker assets

GameMaker works best when each animation becomes a named Sprite, and your Object owns the runtime decision about which Sprite to play.

  • Import frames into spr_player_idle, spr_player_run, and spr_player_attack.
  • Use one Object to switch Sprites instead of packing every move into one resource.
  • Keep collision masks, Object code, and Sprite playback settings easy to inspect.

GameMaker asset graph

Asset Browser

spr_player_idle

Idle

12 fps

spr_player_run

Run

16 fps

spr_player_attack

Attack

one-shot

obj_player

Step event

sprite_index = spr_player_run

image_speed = 1

Animation End -> spr_player_idle

AutoSprite fills the Sprite assets. GameMaker keeps Object events, masks, and runtime state in charge.

Import guardrails

Common GameMaker import mistakes to avoid

Most GameMaker sprite-sheet issues come from using the wrong import format or mixing Sprite playback with Object logic.

Frame orderOrigin consistencyStrip accuracy

Importing the 5x5 grid as one Sprite

GameMaker treats the full spritesheet.png as one image. Use the numbered frames folder, slice it with Image > Convert to Frames, or import a true horizontal _stripN image.

_stripN used on the wrong layout

The _stripN convention is for frames laid out horizontally from left to right. It is not the right path for a 5x5 grid.

Frame order changes during multi-select

AutoSprite zero-pads filenames so imports sort correctly, but it is worth verifying the sub-image order after a multi-select import.

Origin is set differently per Sprite

Keep origins consistent across idle, run, attack, and hit Sprites so the character does not jump between states.

image_speed treated as the only speed control

The Sprite asset has playback speed, and image_speed multiplies that speed per instance. Tune both deliberately.

Workflow decision

When this GameMaker workflow is the right fit

Use AutoSprite for animation coverage, then let GameMaker own Sprite resources, Object events, and GML behavior.

Use AutoSprite when

Your Object needs animation coverage

Use this workflow when movement, attack timing, enemy behavior, or room readability is blocked by missing Sprite frames.

Use the frames folder when

You are importing the default AutoSprite grid

Numbered frame PNGs avoid the common mistake of trying to make GameMaker slice a two-dimensional sheet as a strip.

Use _stripN when

You have a true horizontal strip

A file like run_strip25.png is a good fit only when all frames sit in one row from left to right.

Use Sequences when

Timing needs events or tracks

Keep simple state swaps in Object events, but consider Sequences for broadcast messages, moments, re-timing, or layered presentation.

Pipeline fit

Built around the way GameMaker developers wire Sprites to Objects

  • AutoSprite sits before GameMaker's Sprite Editor, Asset Browser, Object events, sprite_index logic, image_speed tuning, and optional Sequences.
  • Use it when a small team needs enough character motion to test a room, enemy, or controller before final animation production is ready.
  • The fit question is concrete: generate the character, download frames, import one Sprite per animation, set origin and speed, then switch Sprites in GML.

Prototype before final animation polish

Use generated idle, run, jump, and attack Sprites while you tune input, collision masks, enemy behavior, and room scale.

Keep GameMaker as the source of gameplay truth

AutoSprite supplies frame art. GameMaker still owns Objects, events, variables, collision masks, rooms, layers, and draw behavior.

Choose frames folder or strip import

The frames folder is best for default AutoSprite exports. _stripN is only for true horizontal strips where GameMaker can divide by N frames.

Use Sequences only when they help

Most character state swaps belong in Object events. Sequences are useful when the timeline needs messages, moments, or authored presentation.

GML handoff

Switch Sprites from Object events

After importing AutoSprite frames into Sprite assets, your Object can swap animations with sprite_index and return one-shot moves in Animation End.

  • Import each animation as its own Sprite asset.
  • Use sprite_index to switch idle, run, and attack Sprites.
  • Use image_xscale to mirror a side-view character left or right.
  • Use the Animation End event to return one-shot attacks back to idle.
obj_player events.gml
// Create Event
move_speed = 4;
sprite_index = spr_player_idle;
image_speed = 1;

// Step Event
var _move = keyboard_check(vk_right) - keyboard_check(vk_left);

if (keyboard_check_pressed(vk_space) && sprite_index != spr_player_attack) {
    sprite_index = spr_player_attack;
    image_index = 0;
}

if (sprite_index == spr_player_attack) {
    exit;
}

x += _move * move_speed;

if (_move != 0) {
    sprite_index = spr_player_run;
    image_xscale = sign(_move);
} else {
    sprite_index = spr_player_idle;
}

// Animation End Event
if (sprite_index == spr_player_attack) {
    sprite_index = spr_player_idle;
    image_index = 0;
}

GameMaker use cases

Where a GameMaker sprite sheet generator helps most

AutoSprite helps most when missing Sprite assets are blocking Object behavior, room testing, or animation timing.

Test rooms fasterTune Object statesCover Sprite assets

Object movement prototypes

Create enough idle, run, jump, and attack motion to test keyboard input, room scale, camera position, and collision feel.

Enemy and NPC Sprite sets

Generate readable frame sets for combat enemies, town characters, bosses, pickups, and early placeholders that need more than one pose.

GML state coverage

Export the moves your Step event and Animation End event expect, then switch them with sprite_index while gameplay stays in GameMaker.

FAQ

GameMaker sprite sheet questions

These are the practical questions developers usually ask before they try the workflow in a real GameMaker project.

Q

Does AutoSprite work with GameMaker?

A

Yes. AutoSprite exports PNG sprite sheets, JSON atlas data, and an AutoSprite Format ZIP with numbered frame PNGs. For GameMaker, the frames folder is usually the cleanest import path because each PNG becomes a Sprite sub-image.

Q

What files should I export for GameMaker?

A

Use AutoSprite Format ZIP when you want the recommended GameMaker workflow. Each animation folder includes spritesheet.png, atlas.json, and numbered frame PNGs so you can import the frames into a Sprite asset.

Q

Should I import spritesheet.png or the frames folder?

A

Use the frames folder for the default AutoSprite grid. Importing spritesheet.png directly makes GameMaker treat the 5x5 sheet as one image unless you slice it with Image > Convert to Frames in the Sprite Editor. A _stripN file is useful only for a single horizontal strip.

Q

How do I control AutoSprite animations in GML?

A

Create one Sprite per animation, then assign sprite_index in Object events. Use image_speed as the per-instance animation speed multiplier, image_xscale for left/right mirroring, and the Animation End event for one-shot moves like attack.

Q

Which GameMaker settings matter most?

A

Set a consistent Origin, usually Middle Centre or Bottom Centre, confirm the sub-image order, set Sprite playback speed, and disable texture filtering for crisp pixel art through platform graphics options or gpu_set_texfilter(false).

Q

When should I use GameMaker Sequences?

A

Use normal Sprite assets and Object events for most character state swaps. Use Sequences when you need timeline control, moments, broadcast messages, or a more authored presentation layer.

Generate your first GameMaker sprite sheet.

Start with a prompt or character image, choose the GameMaker animation moves you need, and export frame PNGs when the motion is ready to test.

AutoSprite is not sponsored by or affiliated with YoYo Games. GameMaker is a trademark of YoYo Games Ltd.