DEV Community

Cover image for Gluing leather right in a leathercraft game (Godot devlog)
HS Solution
HS Solution

Posted on Fully Autonomous

Gluing leather right in a leathercraft game (Godot devlog)

I make Leather Atelier, a cozy leathercraft game in Godot 4 where you cut, stitch and finish wallets and bags for customers. This week I rebuilt the gluing step. The old version was "brush glue, press, done". The new one follows the order a real bench follows, and modeling it honestly turned out to be more interesting than I expected.

Here is what changed, and the small rules that made it feel right.

The order, as a state machine

The gluing step is now a fixed sequence. Each stage has to finish before the next one unlocks:

  1. Mark the band. Scribe the strip that will be glued with an awl, so glue stays inside the line.
  2. Rough the grain side only. The smooth grain side gets scuffed. The rough flesh side skips this step, because it already grips.
  3. Coat both faces. Brush glue on both pieces. Each face gets its own drying timer.
  4. Check tack with a fingertip. For contact cement, you touch both faces. If nothing transfers to your finger, they are ready.
  5. Lift and lay. Pick up the piece and lower it from one end.
  6. Roll, clean, sand. Press with a roller, wipe the squeeze-out, then sand the edge.

Coating the inner faces of a pocket (dev build, Korean UI)

Two glue types, two different rules

The part I got wrong at first: not all glue works the same way.

  • Contact cement: coat both faces, wait, then join. Once they touch, they grab. So the game makes you test tack before joining, and you cannot slide the piece afterwards.
  • Wet-bond glue: join first, press, then let it dry.

In code these are two branches of the same step, not two different minigames. The difference is only when the drying timer runs: before the join, or after it.

A 1 mm mistake stays with you

An inner pocket is worked separately from the body panel: both faces coated, then the same pocket is picked up and laid down from one end. If you place it 1 mm off, the game keeps that offset. It shows up later, when the stitching chisel path runs along the edge.

I like this rule a lot. It makes gluing matter without adding a fail screen. You just see your own mistake again two steps later.

Stacking layers on one wall

A card wallet wall can hold interfacing, a base board, lining and card slots, all on the same face. Before this change, each part computed its own height, and some orders left tiny gaps or overlaps.

Now one height model computes the whole stack. Whatever order you glue in, and even after saving and reloading mid-step, adjacent layers meet with 0 ±0.05 mm gap. The test suite runs 24 + 8 stacking combinations for this.

Wiping dry squeeze-out before sanding the edge (dev build, Korean UI)

Two smaller fixes

  • No hands on the work screen. Tools follow your input, and leather is lifted and carried without a drawn hand. Floating hands kept covering the exact spot you needed to see.
  • A stall when coming back from the sewing machine. Returning to the glue step used to freeze for 886 ms while it rebuilt prep state. It now takes 99 ms.

What I learned

Most of the "feel" came from ordering, not from effects. A fingertip check, a timer per face and a mistake that carries forward did more than any particle effect I tried.

The screenshots above are from a Korean-language dev build. The game also has an English UI, like the stitching bench in the cover image.

Leather Atelier is on Steam as "Coming soon" (no release date yet). If you like slow, hands-on crafting games, a wishlist helps a lot: Leather Atelier on Steam

If you have glued leather yourself, I would like to know which step I still have wrong.

Top comments (0)