How to make a tileset for a 2D game with AI
To make a tileset for a 2D game with AI, generate each tile as its own image in one art style and one perspective, keep the tiles on a transparent background, and assemble them into a tileset in your engine or map editor. In Ludo.ai's Sprite Generator, use the map tile type for floor, wall and terrain cells, and the horizontal or vertical tiling sprite types for pieces that must repeat, such as platforms or ropes. Each generation is a single tile image rather than a ready-made autotile or terrain set, so you add the terrain rules and collisions in Godot's TileSet editor or in Tiled.
Last updated September 2026
What you need
- Your grid cell size (for example 16, 32 or 48 px) and camera perspective
- A list of the tiles the map needs: base floors, walls, edges, corners and variations
- Your game's art style, or an existing tile or sprite to use as a style reference
- Godot, Tiled or another editor with a tilemap tool to assemble the tiles
1List the tiles and the grid size
Decide the cell size and perspective first, then list every tile the map needs. For automatic transitions (grass meeting dirt, walls meeting floor), include each edge and corner piece your editor's terrain mode expects, since every piece is a separate tile.
2Pick the tile type
Open the Sprite Generator on the New Sprite tab and choose the type in the picker next to the prompt: the map tile type (
tile) for independent grid cells, the horizontal tiling sprite (sprite-tiling-horizontal) for platforms, bridges and fences, or the vertical tiling sprite (sprite-tiling-vertical) for ropes, chains, vines and ladders. All three are generated without a background.3Set the style, perspective and shape
Open Filters and set the Art Style your game uses, the Perspective that matches your map (Top-Down, Isometric, High Angle or Side-Scroll), and an Aspect Ratio of Square for grid cells. Keep these settings the same for every tile in the set.
4Describe one tile per prompt
Describe the surface and material of a single cell, for example "mossy cobblestone floor" or "wooden plank bridge". Leave characters and props out of the prompt and place them as separate sprites on a layer above the tiles. Compare a few variations before you pick one.
5Generate the rest of the set from one reference
Once one tile looks right, open the Image Generator, switch the Generation Mode to Generate with Style, add that tile as the reference and pick the same tile type. Using one reference for every tile keeps colors, lighting and texture detail consistent across the set.
6Check the seams
Open a horizontal or vertical tiling sprite in the fullscreen viewer and use Scroll endlessly or Repeat side by side (Repeat stacked for vertical sprites) to see how the ends meet. Map tiles are independent cells with no seamless-edge guarantee and no repeat preview, so place a few side by side in your map editor and generate another variation if the edges clash.
7Animate water, lava or torches (optional)
On the Animate tab, add the tile as the starting frame, choose the same type, and describe the motion ("water ripples across the surface"). For tiling sprites, choose Forge or Forge Pixel as the Model, because the other models do not preserve the seam. Set Max Frames, Sprite Size and Loop Animation, then export the frames; the steps are the same as in how to turn an image into a sprite sheet.
8Build the tileset in your engine
Scale each tile to your cell size and import it. In Godot, add each image as an atlas in a TileSet (the atlas merging tool combines them into one), set up terrain sets for autotiling, and paint with a TileMapLayer. In Tiled, a Collection of Images tileset takes one file per tile (editing tilesets), and terrain sets handle the transitions.
Specs
| Tile types | Map tile (tile), horizontal tiling sprite (sprite-tiling-horizontal), vertical tiling sprite (sprite-tiling-vertical) |
|---|---|
| Transparent output | Map tiles and both tiling sprite types are generated without a background |
| Repeat preview | Horizontal for horizontal tiling sprites, vertical for vertical tiling sprites; none for map tiles, which have no seamless-edge guarantee |
| Perspectives | Top-Down, Isometric, High Angle, Side-Scroll and 5 others, plus Any perspective |
| Animation | Map tiles and both tiling sprite types are among the 12 image types the Sprite Generator can animate |
| Models for animated tiling sprites | Forge and Forge Pixel |
| Animation frames | 4, 9, 16, 25, 36, 49 or 64 per sheet |
| Animation export | Spritesheets, Spritesheets + JSON (TexturePacker format), Individual Frames |
Tips
- Use a tiling sprite type, not the map tile type, for anything that has to repeat along one axis. Map tiles are independent cells, while tiling sprites are made to repeat and get a repeat preview.
- Generate several variations of your most common floor tile and mix them on the map, so large areas do not show an obvious repeat.
- Keep one art style, one perspective and one style reference for the whole set; changing any of them between tiles is the quickest way to get mismatched lighting.
- For a pixel art tileset, pick a pixel art style and scale tiles down with nearest-neighbor, then keep texture filtering off in your engine; see how to make and animate pixel art sprites.
- For a surface that repeats in both directions, such as a large ground fill, use the texture type instead; see how to make seamless game textures.
FAQ
Can AI make a full autotile or 47-tile set in one go?
Not in one generation. Each generation is a single tile image, so generate the edge, corner and transition pieces one by one from the same style reference, then define the matching rules with terrain sets in Godot's TileSet editor or Tiled.
Can I export a Godot TileSet or a Tiled tileset file?
Tiles download as images, and the TileSet resource or Tiled tileset is built in the editor. Godot accepts one image per tile as separate atlases and can merge them into one; Tiled's Collection of Images tileset uses one file per tile directly.
Do the tiles connect seamlessly?
Horizontal and vertical tiling sprites are meant to repeat along their axis, and the viewer's Scroll endlessly preview shows the join. Map tiles are independent grid cells with no seamless-edge guarantee, so test neighboring tiles in your map editor and regenerate any that clash.
Can tiles be animated?
Yes. Map tiles and both tiling sprite types can be animated in the Sprite Generator from a motion description or up to three keyframes, into a sheet of 4 to 64 frames. Tiling sprites need the Forge or Forge Pixel model to keep the seam. Export Individual Frames to set up the frames with Tiled's tile animation editor or your engine's animation tools.
How do I make isometric tiles?
Set Perspective to Isometric before generating, and keep it for every tile in the set. In Godot, set the TileSet's tile shape to Isometric; in Tiled, set the tileset's orientation to isometric. Then match the cell size to your scaled tiles.
Can I generate tiles through the API?
Yes. Pass tile, sprite-tiling-horizontal or sprite-tiling-vertical as the image_type in createImage, or in generateWithStyle to match a reference image, and the same values in animateSprite to animate a tile.
Related
More guides for Sprite Generator
- How to make a walk cycle for a 2D character with AIApply a walk preset to one character image, pick perspective and direction, export a looping sheet.
- How to turn a character image into an animated sprite sheet with AIAnimate one character image into a sprite sheet using a prompt, keyframes, a preset or a reference video.
- How to make an 8-direction sprite sheet with AIRotate a character to 8 views, animate each view in its direction, export 8 matching sheets.
- How to make and animate pixel art sprites with AIGenerate in a pixel art style, animate with Forge Pixel, export with nearest-neighbor scaling.
- How to make VFX sprites for explosions, magic and hits with AIGenerate an effect as a Sprite VFX still, animate it as a loop or a one-shot, export frames with alpha.
- How to import AI sprite sheets into Unity, Godot, GameMaker, RPG Maker and PhaserPick the right download, then slice the square grid or load the TexturePacker JSON in your engine.
