Asset Types

Understanding sprites, BOBs, bitmaps, fonts, and animations.

Sprites

Hardware sprites are the Amiga's built-in moving objects. They're rendered by the display hardware without consuming CPU or blitter time, making them ideal for player characters, cursors, and bullets.

Sprite Basics

Sprites are stored as interleaved bitplane data, with control words at the start and end. Miggy Draw handles this format automatically when you export.

// Generated sprite structure
UWORD sprite_player[] = {
    0x6060, 0x0000,  // Position/control
    0x0180, 0x0180,  // Pixel data (interleaved bitplanes)
    0x03C0, 0x07E0,
    // ... more rows ...
    0x0000, 0x0000   // End marker
};

Sprite Colors

Amiga sprites use color registers 16-31, shared between sprite pairs:

Sprite Pair Sprites Color Registers
00, 117, 18, 19
12, 321, 22, 23
24, 525, 26, 27
36, 729, 30, 31
Tip

Sprites in the same pair share colors. Use this to your advantage by grouping related sprites (e.g., player and player's bullets).

BOBs (Blitter Objects)

BOBs are software-rendered graphics using the Amiga's blitter chip. Unlike hardware sprites, BOBs have no size limits and support up to 5 bitplanes (32 colors).

Shadow Masks

BOBs use a separate 1-bitplane mask to define transparent areas. In Miggy Draw, use the Mask Tool (7) to paint the mask directly:

// Generated BOB with mask
UWORD __chip bob_enemy_plane0[] = { /* bitplane 0 */ };
UWORD __chip bob_enemy_plane1[] = { /* bitplane 1 */ };
UWORD __chip bob_enemy_mask[] = { /* shadow mask */ };
Note

The __chip qualifier ensures the data is placed in chip RAM, which is required for blitter operations.

Bitmaps

Bitmaps are general-purpose graphics for backgrounds, tiles, UI elements, or anything that doesn't need to move. They support 1-5 bitplanes.

Bitmaps are exported as separate arrays per bitplane, suitable for direct use with the Amiga's display system.

Fonts

Miggy Draw creates bitmap fonts compatible with the Amiga's text rendering. Each font can contain multiple sizes with configurable character ranges.

You can import TrueType fonts and convert them to bitmap, or draw each glyph by hand in the font editor.

Animations

Animations combine multiple images into frame sequences with configurable timing.

// Generated animation structure
typedef struct {
    UWORD frameCount;
    UWORD *frameDurations;
    void **frames;
    BOOL looping;
} AnimationAsset;

Continue to Editing to learn about drawing tools and image operations.