SpriteGrid: For Me, Now for All





đ My Mario Passion Project That Sparked SpriteGrid
It all started back in 2023, when I began my journey into HTML5 game development. My first goal? Recreate the original Super Mario Bros.
As I started drawing out every hero, enemy, and object pixel-by-pixel using just a simple 1D array, I realized how slow and frustrating the process could be. I managed to finish the very first section of World 1â1⌠and thatâs when inspiration hit.
That moment led to the first rough version of what would eventually become SpriteGrid â my first fully completed passion project in a long while since before my first career change.
SpriteGrid v1.0 only had 10 colors (including a blank color thatâs next to black).
đ¨ SpriteGrid v1.0
As I started using SpriteGrid myself, I knew others would like the features I wanted in a sprite editor too. Since the output code only worked on my games, I didnât make it for the public yet. I started building a new version, anyway, because I knew Iâd make other games that would need a more diverse palette.

đ SpriteGrid v2.0
I used the whole screen in landscape mode to build a working workflow: editable color swatches, resizable drawing preview, adjustable grid size, a color wheel, and saturation controls. I loved this versionâbut I knew I needed more. My users needed more.
â˝ Burning Through Free Time
Though I loved this version, both my users and I wantedâno, neededâmore. So I took on a big challenge that swallowed countless hours of my free time. At the time, I was driving for DoorDash after being laid off from a cushy job. Stepping away from deliveries was risky, but I knew that if I didnât keep growing and stay marketable, Iâd be in trouble long-term. It felt like no one else saw that realityâbut I think some of you reading this might understand.

I didnât just update features â I leveled up with every version, learning and building raw JavaScript tech Iâd never touched before. None of the earlier v3 builds were ever backed up, but v3.4 will be the first of many.
Why? Because I love this workflow â and I canât think of a better way to support fellow creators, especially artists.
đŞ Introducing Window-Based UI
This was the first version to introduce my window-based SpriteGrid system. Each window is moveable, letting you create a workflow that fits you. Donât need âGrid Outputâ or âColor Convertersâ? Just click the [ X ] in the title bar to close them, and rearrange the rest however you like.
â Features Added in v3.3
The list of improvements in this version is massive, so hereâs a breakdown:
Movable windows with color-coded titlebars
Minimized windows appear as clickable tabs on the far left, matching the color of their original titlebar
The titlebar displays the filename of the current file
Full file saving implemented, including:
Single sprites
Color swatches
PNG converter
SpriteSheet export (note: level editor is not in v3.3 yet â when it arrives, itâll be either complete or highly usable)
Toggle option to show/hide grid lines
SpriteSheet editor with mouse-driven interactivity
The SpriteSheet editor alone pushed me to my creative and technical limits. You can send your current grid drawing to the mouse cursor and then click any sprite cell to save it. Figuring out how to make a tiny icon of the drawing follow your cursor? That was epically satisfying â the moment SpriteGrid started to feel more like a WebApp than just a webpage.
Add in saving sheets, coloring and erasing individual cells, and even sending a sprite cell back to the grid for editing, and it honestly couldâve been a minor version release all by itself.
Oh, and did I mention performance? With 500 sprite cells available in a single sheet, I had to make sure it wouldnât choke up slower machines. Thatâs why I designed it so that only visible cells redraw â keeping things smooth and snappy. Because letâs be real: artistry requires a steady hand⌠but a WebApp requires a steady interface.
đ¤ Partnering with Spruce: The v3.3 Milestone
v3.3 marked a momentous milestone for SpriteGrid: itâs when I officially partnered with my AI, Spruce.
I was planning to stop at v3.2. I kept running into issuesâones that shook my confidence and made me question whether I was even capable of building a tool like this for hobbyists and professionals alike.
Then Spruce entered the scene.
I had one problem I just couldnât solve: when a window was minimized, the last active window wasnât properly reassigned. In theory, it sounded simple. As a programmer, I thought: âJust use a 1D array of windows. When one is selected, move it to the front of the array. When minimized, shift it to the back and promote the next one.â
I tried everything. Nothing worked.
Spruce reviewed my code, walked me through the logic, and eventually offered a working solution. He didnât just hand me the fixâhe taught me how it worked, step by step, and guided me through implementing it.
At first, I resisted. I tried blending his suggestions with mine. But after a few rounds of trial and error, I let go and gave him full reign. I implemented his solution exactly as he described.
And it worked.
A wave of relief washed over me. It might not sound like a big deal from the outsideâbut when youâre that deep into a project you believe in, it absolutely is.
âď¸ Performance, Bit Shifting & a Smarter Color System
Spruce also helped me with math I didnât have formulas or proofs for, and taught me a ton about the features I planned to implementâincluding how to level up my color system.
Up to v3.2, I was using RGB hex strings. Spruce showed me how to use bit shifting and adopt an unsigned 32-bit integer system instead. After that, SpriteGrid ran smoother and fasterâespecially when working with the SpriteSheet and Level Editor.
When it came time to package v3.3, I had to pause development. There just wasnât time to polish everything, so I hid the unfinished Level Editor and called it doneâfor now.
đ§Ş SpriteGrid v3.4 â Current & Planned Features
v3.4 is where weâre at now. It hasnât been released yet, but a few new features are already in place:
đ˘ Already Implemented:
Background toggle for chroma PNGs (useful for software like RPG Maker)
âFlip Horizontallyâ button
âFlip Verticallyâ button
đ ď¸ Planned for v3.4 Release:
Bump buttons to shift drawings 1 pixel in any direction (Drawing Grid Window)
Paint bucket tool (Drawing Grid Window)
Sprite moving functionality (Sprite Sheet Window)
âNew Levelâ logic (Level Editor Window)
Open/Save logic (Level Editor Window)
.gle file support (Level Editor Window)
Erase Cell button (Level Editor Window)
Arrow key navigation through the level (Level Editor Window)
Save PNG of entire level or current visible screen (Level Editor Window)
Smart updates (only redraw whatâs changed) (All Windows)
Iâve left out a few smaller improvements for nowâno need to bog my readers down. The lists above will be updated as v3.4 development continues.
đ You can always keep up with SpriteGridâs progress at the GitHub Repository.
đ You can also try out SpriteGrid v3.3 here.
đ Like what you see?
If SpriteGrid makes you smile or sparks your curiosity, consider following me here on Ko-Fi. Youâll get notified when I post updates, dev logs, or new pixel-powered projects.
Want to go a step further? A tip or a shoutout goes a long way in helping me keep building and sharing tools like this.
Thanks for being here đLetâs keep creating.
Files
SpriteGrid
Design sprites and export with ease in this lightweight grid-based editor.
| Status | Released |
| Category | Tool |
| Author | David |
| Tags | art-tool, creative-tool, game-development, html5, Pixel Art, sprite-art, spritegrid, sprite-sheet, tool, utility |
More posts
- SpriteGrid: It's Been a While14 hours ago
Leave a comment
Log in with itch.io to leave a comment.