Turn a layered PSD or OpenRaster file into a ready-to-run Ren'Py layeredimage, with blinking eyes and lip-flap wired for you. Your folders become groups, your layers become attributes, and every piece is trimmed to a small PNG with its exact position. Copy the game/ folder into your project and write show juniper school_uniform happy.

Try it right on this page with the sample character Juniper, or open your own file. The web demo exports up to 3 groups; the download has no limits.

What it does

Layers in, code out

  • Top-level layers are always shown (body, back hair, hair in front).
  • Each top-level folder becomes a group (outfit, eyes, mouth, brows ...), and each layer in it becomes an attribute. A sub-folder becomes one attribute made of all its layers.
  • Every piece is trimmed to its visible pixels and placed with pos, so the images stay small and line up exactly.
  • A live code view and a show ... line update as you click attributes in the preview.

Blinking and lip-flap, wired for you

Put open and open_closed in your eyes folder, and Layer Forge writes the ATL that blinks every few seconds. Put smile, smile_talk and smile_talk2 in your mouth folder, and the mouth moves while the character speaks, through a small callback you add to your Character. It can also write a side image with a crop and zoom you set.

Name your layers, get the code

  • smile* marks the default, +accessories lets several be worn at once, !sketch is skipped, and blush [if happy] only shows with "happy".
  • Names are cleaned for Ren'Py. Clashes, missing defaults and anything else worth checking are listed under Warnings before you export.
  • Folder opacity, hidden layers, clipped layers and switched-off masks are respected.

Tested in real Ren'Py

Every export was run in the Ren'Py 8.5 SDK: lint passes, and Ren'Py's own renders of several looks match the source art (to within 2 pixels on smooth anti-aliased edges). The blink, lip-flap and side image were checked in those renders. A fresh Ren'Py project with the export copied in, exactly as the README says, runs and shows the character talking.

What's inside

  • Layer_Forge.html: the whole tool in one file. Double-click it, and it runs offline in any modern browser on Windows, Mac or Linux. Nothing is uploaded; your art never leaves your computer.
  • examples/juniper.ora and examples/juniper_export/: the sample character (3 outfits, 4 eyes with a blink, 4 mouths with lip-flap, a blush and glasses) and her finished export.
  • README.txt and LICENSE.txt.

Works with

  • Photopea and Photoshop: save as PSD. PSDs saved by Photopea are tested, including folders, clipping and hidden layers.
  • Krita, GIMP and MyPaint: save or export as OpenRaster (.ora). Krita's own .kra files aren't read directly.

Limits

  • PSD: 8-bit RGB. 16/32-bit, CMYK, PSB and ZIP-compressed channels are refused with a message. Smart objects use their last rendered pixels; adjustment layers are skipped with a warning.
  • Blend modes other than Normal are exported as Normal, with a warning.
  • One file is one pose. Make a second file for a second pose.
  • The web demo exports up to 3 groups and leaves out blinking, lip-flap and the side image. The download has everything.

Goes well with

License

Use it on as many of your own projects as you like, commercial or not. Everything it exports is yours to use and change in your games, including games you sell. Please don't resell or redistribute the tool itself.

Thank you!

Thank you so much for checking out Layer Forge! It's built to save you the tedious, error-prone part of setting up layered sprites, so you can get back to writing your story. If you have a minute, leaving a rating really helps me out. I can't thank everyone enough!

Enjoying the tool? Leave a rating!

Purchase

Buy Now$7.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $7.99 USD. You will get access to the following files:

Layer Forge v1.0 (full tool, runs offline) 5.7 MB

Development log

Leave a comment

Log in with itch.io to leave a comment.