SL BLACK STUDIOS · INDEPENDENT GAMES

BOROUGH · 23 OCTOBER 2026

Bringing Borough’s tram arrival to life

Filling out Borough’s tram-arrival scene, responsive foliage wind, painted details, and more movement for Sage.

This week I’ve been filling out Borough’s tram-arrival scene and giving its plants a bit of life. The grasses, shrubs and hanging vines are now in the development demo, with wind and local interactions starting to tie them to what’s happening around them. I’ve also been building up Sage’s animation library and refining how I add painted detail to the models.

Fuller planting and more natural placement

The first grass pass was too sparse compared with the 2D reference. Adding more clumps helped, but varying their scale made a real difference too. Larger patches break up the fine blades, especially near the camera, while the tracks and platform stay clear.

I took a similar approach with the shrubs: fuller leaves, varied sizes and groups that frame the opening shot rather than compete with the tram. The leaf artwork is deliberately simple. Flat colour and a readable silhouette are doing more useful work here than lots of tiny painted marks.

The hanging vines needed a different kind of adjustment. After varying their sizes, I moved their attachment points into the bridge’s grout lines. That small placement change makes them feel as though they’re growing from the masonry instead of being pinned onto its face. The wall-climbing and corner variants still need their own placement work.

Two groups of olive-green shrubs with dark branching stems sit in tall grass beside the tram tracks; part of the yellow and red tram is visible behind them.
Development capture of the approved shrub scale variation, with larger and smaller clusters among the grass.

Wind that responds to the scene

I started the wind system with one existing grass, shrub and tree in a separate test scene. That let me compare calm weather, a breeze and stronger gusts before carrying the approved motion into the demo’s foliage shaders.

Godot’s global shader parameters give the foliage a shared wind direction and strength. The weather drives those values, so the plants respond together without needing to adjust every material separately. The bases and attachment points stay anchored while the exposed parts move.

On top of that weather wind, the passing tram now creates a local gust and a short trailing wake. Nearby grass bends as it goes by, then settles. Foot-contact bending is also integrated after the standing test: the grass gives way underfoot and recovers when the pressure is gone. Walking and running still need closer visual checks, but the interaction is working alongside the wind rather than replacing it.

Painted details fitted to the model

I’ve been refining the texturing process around smaller, generated hand-painted components. Instead of spreading the same detail everywhere, I fit selected pieces to the actual model: bark around a fork, marks along a rock face, or wear at a contact point.

The important part is the blending. Those details need to sit inside the existing palette and leave quieter areas alone. I then check seams, lighting and outlines in Godot, where a texture that looks good on its own can read very differently on the assembled asset.

Eight separate groups of grey and cream painted stone marks, including broad angular patches and narrow edge details, arranged on a transparent background.
Approved generated rock-detail source artwork. These painted components are fitted and blended into the model, not used as a finished texture sheet on their own.

The rock textures have passed review and placement has begun around the arrival area. I’m building up the shoreline next. The fuller tree is also in the demo for an in-scene visual check, rather than treating its close-up geometry cleanup as finished.

More movement for Sage

Sage now has her normal idle, run and flirt idle in the demo animation library. Her approved eyes and painted appearance are preserved, with blinking and gaze working alongside the animations.

Her walk still needs review before I build the idle, walk and run blend space. Having the individual clips in place is a useful step, but it isn’t the same as having the whole movement system finished.

What’s next

Next I’m continuing the shoreline dressing, checking the tree from the game cameras and working through the remaining vine placements. Sage’s walk and the player’s seated shorts fit are also still on the list. The clothing tests are staying separate from the demo while I work out a drape that behaves through the transition, not just in one pose.

It’s good to see the arrival scene filling out. The next job is to make these pieces feel as though they belong together when the camera and characters are moving through it.

KEEP READING

Back to
the studio journal.

All dev-log posts

INDEPENDENT GAMES · MADE IN CANADA

Small worlds.
Made with curiosity.

A home for the studio’s games, artwork, and development journal.

  1. Make the next step clear.

    Poot Patrol is available on iOS. Borough is in development. ShoNiMals is an early prototype. Each now has its own page and a relevant next step.

  2. Keep the personality; give it room.

    Larger artwork, shorter introductions, consistent navigation, and a readable journal let the games and the solo-studio story do the talking.

  3. Preserve what is already there.

    The full dev-log text and existing privacy policy are carried over. Original journal dates and URLs are preserved. Third-party mood-board references are linked rather than presented as studio work.

  4. Keeping in touch.

    The contact form saves messages in a protected studio inbox on this Site. Tester interest is saved alongside contact messages in the protected studio inbox. Contact details and storage information are available in the privacy policy.

The studio’s latest game information and original journal posts live here. ShoNiMals’ typographic panel is a design treatment, not new game artwork. Contact submissions are stored privately on this Site. No email is sent by the contact form.

Visit slblackstudios.com