can any solo indie devs out there who work on tile-based retro systems (gameboy, nes, etc) describe their workflow for me? right now i'm editing art in aseprite, exporting as png, converting to gameboy-format 2bpp to include in the ROM, and hard-coding tile indexes in my program (e.g., here's the list of tile indexes to draw the donut sprite, here's the list of tile indexes to draw the little house...). it's tedious and fragile and there has to be a better way?
i don't WANT to make my own pixel/tilemap editor but I will if I have to
also donuts and houses were just examples, i am not making a donut house game
@aparrish searches "You Own a Donut Shop!" on steam, gets sad.

@aparrish

You could use Tiled, save as JSON, and create a small script to convert it to the required format (no idea of what format GB uses).

@aparrish don't threaten me with a good time
LDtk

LDtk (Level Designer Toolkit) is an open-source 2D level editor for indie devs, with a strong focus on user-friendliness.

@aparrish I remember watching these, might be some tips. https://m.youtube.com/@SquidGodDev
SquidGod

Hi! I'm a full time software engineer and I like making games in my free time. This channel is mainly devlog and tutorial videos relating to this quirky little handheld called the Playdate. Thanks for stopping by!

YouTube
@aparrish Personally I simply use paletted formats, and more specifically 4bpp/8bpp BMP. Then there is no ambiguity as I have full control over which palette entries correspond to which indices and unless I edit the palette the order's fixed, then my converters know exactly what to do. A nice 8bpp pixel editor is http://grafx2.chez.com, gimp also should support indexed paletted formats. Not sure about aseprite too but it might?
GrafX2 - The ultimate 256-color painting program

@ggn helpful to know, and I like the look of grafx2. my problem isn't so much managing palette indexes as it is managing indexes into the tilesetโ€”i.e., it would be nice if there were a way *in the pixel editor* to say that x, y, and z tiles are frame 1 of the bunny sprite, and a, b, and c tiles are the giant cheesewheel that gets added to the background layer dynamically, etc.

@aparrish I use ProMotion in tileset mode, export the graphics as indexed 256 colour .bmp files (it was easier to write a loader), and everything else is just quick and dirty commandline-driven conversion tools written in C++ to output converted tiles, maps and palettes.

I'm more of a coder though - I'm fine coding tools, but I couldn't draw a decent sprite if my life depended on it.

@antireality sure but how do you keep track of which tiles in the tilesets correspond to which thingies in the game? maybe i'm overthinking this

@aparrish At the moment I have a script that says where in the source image an item is, and then after conversion I write out an assembly file with the tile numbers.

One of these days I'll write something better. The more I write this down the worse my solution sounds in my head...

@antireality sometimes the answer really is just "it's not worth automating, just do it by hand" and i'm okay with that (sometimes) haha
@aparrish there is tiled. I don't know if it's what you are looking for.
https://www.mapeditor.org/
Tiled

Flexible level editor

Tiled