sprite-expert

Convert Aseprite sprites to C arrays and manage GBDK sprite pools.

Updated Mar 9, 2026
One-click install
npx skills add https://github.com/MatthieuGagne/gmb-nuke-raider --skill sprite-expert
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sprite-expert
Source: https://github.com/MatthieuGagne/gmb-nuke-raider/tree/main/.claude/skills/sprite-expert
Command: npx skills add https://github.com/MatthieuGagne/gmb-nuke-raider --skill sprite-expert

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines the complex process of creating, loading, and rendering sprites for Game Boy Color projects, ensuring efficient use of memory and hardware capabilities.

Core Features & Use Cases

  • Sprite Asset Pipeline: Guides users through the Aseprite-to-C array conversion process.
  • Sprite Pool Management: Explains how to use the OAM sprite pool for dynamic sprite allocation.
  • GBDK Sprite API: Details the correct functions for sprite manipulation and VRAM loading.
  • Use Case: When adding a new enemy character to the game, this Skill will guide you through creating its Aseprite art, converting it to C data, and integrating it into the game using the sprite pool and GBDK functions.

Quick Start

Use the sprite-expert skill to add a new player sprite by following the asset pipeline steps.

Frequently Asked Questions about sprite-expert

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert Aseprite files to C arrays for GBDK?

To convert Aseprite files to C arrays for GBDK, you process the sprite art through an asset pipeline that exports pixel data into C-compatible arrays. This allows GBDK to load the graphical data directly into VRAM for rendering.

What is the OAM sprite pool and how does it work in Game Boy Color development?

The OAM sprite pool in Game Boy Color development is a hardware-managed memory region for dynamic sprite allocation. Using a sprite pool ensures efficient use of the limited 40 hardware sprites available, preventing memory fragmentation during runtime rendering.

How do I manage VBlank timing when rendering sprites with GBDK?

You manage VBlank timing for GBDK sprite rendering by waiting for the vertical blank interrupt before updating sprite coordinates and properties. This ensures flicker-free sprite manipulation by synchronizing memory writes with the hardware display refresh cycle.

How do I load and manipulate a new player sprite using the GBDK C API?

To load and manipulate a player sprite using the GBDK C API, you first load the converted C array data into VRAM, allocate a sprite from the OAM pool, and then apply coordinate system transformations using GBDK functions to position the character on screen.

Does GBDK support dynamic sprite allocation for multiple enemy characters?

Yes, GBDK supports dynamic sprite allocation for multiple enemies by utilizing the OAM sprite pool. This approach manages memory efficiently by assigning and recycling hardware sprite slots as characters enter and leave the active game screen.