Skip to main content

User login

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password
Register
  • Home
  • Browse
    • 2D Art
    • 3D Art
    • Concept Art
    • Textures
    • Music
    • Sound Effects
    • Documents
    • Featured Tutorials
  • Submit Art
  • Collect
    • My Collections
    • Art Collections
  • Forums
  • FAQ
  • Leaderboards
    • All Time
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
    • Weekly
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
  • ❤ Donate
General Discussion

[Looking for feedback] GIMP Plugins for Pixel Art

Jakub Neruda
Sunday, October 30, 2022 - 07:28

Hey there fellow Gimp users!

I love Gimp and I use it for basically everything, but whenever I want to make anything game (=pixel art) related, I always lacked the most basic tools like - "how will this look as a tile?", "how will this look as an animation?" or simply exporting tilesets and spritesheets. A great plugin tilemancer solved some of these issues, but I needed more - like JSON annotations for my spritesheets so I don't have to reprogram my whole game when I change a number of frames within an animation.

So I make my own plugin collection for Gimp (2.10.22+). And I hope they help not only me, but you guys as well :)

You can grab a package with the latest version here: Releases · nerudaj/gimp-pixel-art-utils (github.com)

What's in the package?:

  • Tile preview - shows how the currently selected layer will look like in tiled environment. Has various modes of operation, zooming, always on top and manual refresh button.
  • Pixel art exporter (Spritesheetize / Tilesetize) - exports your project as a tileset / spritesheet (depends on whether you are doing animated sprites or collection of tiles). Each mode has different way of packing layers to resulting image. It also exports JSON annotation file so your game can always understand where's what in the image.
  • Animation preview - preview selected layer group as an animation. Always on top, live preview, you can configure FPS, zoom, step through the animation.

Wishlist (aka like this and I will try to deliver):

  • Plugin that will toggle selected layer visible and all others not visible and will update accordingly when you select another layer.Tried this one, but there are various problems in Gimp preventing me to make it usable
  • Animation preview could export current animation to GIF (API for that is super weird)

I will be grad for any feedback you can give me so I can further improve these plugins.

NOTES:

  • I am aware that many artist want to time each frame of animation differently, so they have no use for plugin without a timeline. I currently have only bad ideas on how it could be implemented in Gimp (there is only so much I can do from within a plugin).
  • This post was edited to clear up information that is no longer valid (like merged Tilesetize and Spritesheetize or different properties of Tile preview) and to update images / animations previewing the plugins.
Attachments: 
Preview
tile_preview.gif tile_preview.gif 488.1 Kb [2 download(s)]
Preview
animation_preview.gif animation_preview.gif 1.3 Mb [1 download(s)]
Preview
spritesheetize_tilesetize.png spritesheetize_tilesetize.png 9.6 Kb [1 download(s)]
  • Log in or register to post comments
MedicineStorm
joined 12 years 10 months ago
Thursday, November 3, 2022 - 09:40
MedicineStorm's picture

What is the functional difference between "Tilesetize" and "Spritesheetize"?

--Medicine Storm

 

  • Log in or register to post comments
Jakub Neruda
joined 2 years 8 months ago
Thursday, November 3, 2022 - 11:44

Tilesetize - each top level layer in the project will be exported as a tile. Resulting tilesheet will be as close to square as possible. JSON annotations have specific format.

 

Spritesheetize - each top level item in the project has to be a layer group (= animation clip). Each layer in animation clip is an animation frame. Each clip will always be on a single row of resulting spritesheet, there may be multiple clips per row (there is simple packing algorithm going on). JSON annotations have different format (obviously, you need to annotate multiple clips). Name of the animation clip in Gimp will be used in the annotation.

 

You could pretend that set of tiles are just another animation clip and export them as a part of the spritesheet. In that case, you would get quite long image (depending on number of tiles) because the packing algorithm won't wrap it.

  • Log in or register to post comments