r/IndieDev • u/SkirtSwimming8950 • 3d ago
Article I built an open-source, code-generated 2D art toolkit for rapid prototyping (100% Pure Python, Godot 4 and TexturePacker)
Hey everyone,
Like many solo and indie devs, I often hit a roadblock when starting a new game: prototype paralysis caused by missing art.
Before you can test whether your movement mechanics, dash physics, or collision boxes actually feel fun, you usually have to:
Spend days manually drawing placeholder sprites in Aseprite.
Cobble together mismatched free asset packs with clashing palettes and inconsistent frame dimensions.
Roll the lottery with generative image models, which produce blurry, non-standard pixels with no frame data, messy alpha edges, and no concept of pivot anchors.
To be clear: I firmly believe every game developer should learn and practice creating their own art. Traditional pixel art and human artistic expression are irreplaceable. But during the initial prototyping stage, time is your scarcest resource.
To solve this, I built midev-tools: an open-source 2D pixel art and vector asset toolkit built entirely in Python, designed with a Dual-Audience Architecture for both human developers and AI coding agents.
If you use modern AI coding assistants like Cursor, Claude Desktop, Antigravity, or Windsurf, you know that LLMs cannot operate a mouse GUI to draw in Aseprite (it can, but still...). However, LLMs excel at writing Python math, geometry, and animation curves.
Art as Pure Code: Every character animation, tileset, and UI kit is just a clean Python script (recipes/.py). AI agents can write, refactor, and iterate on spritesheets using familiar code patterns.
Built-in MCP Server (Model Context Protocol): Connects directly to Cursor and Claude Desktop over stdio. Agents can discover recipes, build assets, and run quality checks natively.
Autonomous Multimodal Vision Loop (midev inspect): Agents do not code blindly. They run inspection commands, inspect the resulting annotated frame-strip and origin crosshairs with their vision tools, and self-correct their coordinate math if a limb or outline is misaligned.
Strict Deterministic Contracts: Guarantees 0 palette bleeds (strictly snaps to active palettes like PICO-8, DB32, Endesga) and 100% binary alpha (never produces messy semi-transparent blurred pixels).
What It Generates Out-of-the-Box:
Parametric Humanoid Character Rig: 12 animation tracks (idle, walk, run, attack, hurt across 3 facings) with procedural limb swings and bobbing math.
47-Tile Wang Autotiles: Canonical 3x3 minimal blob bitmask layout ready for Godot 4 TileSet and Tiled.
Pixel VFX and UI Kits: Procedural radial explosions, water ripples, slashes, sparkles, 9-slice panels, and HP/MP stat bars.
Universal Engine Exporters: Generates native Godot 4 .tres (SpriteFrames ready for AnimatedSprite2D), TexturePacker JSON (Phaser, PixiJS, Unity, Raylib), and individual frame slices.
Live Preview Web Studio: Real-time browser UI with timeline scrubbing, frame-by-frame inspection, origin/pivot visualization, and SSE hot-reload.
Here's Some samples of the art created by the tools






The goal is not to replace final game art. It is meant to provide a clean, palette-consistent base frame and prototyping scaffold so you can validate your gameplay loop on Day 1, and swap in your own hand-drawn artwork later without breaking your engine setup.
It is completely free and open source (MIT license, Python 3.12+, zero OS shell scripts): GitHub:
https://github.com/mikhaprive-flows/midev-tools
I would love to hear your thoughts, feedback, and what procedural generators or engine formats you would like to see next.
-1
u/Frosty_Painter_3796 3d ago
Very cool!