HomeGamesUpdatesPricingMethodology
Steam News17 January 20265mo ago

Dev Diary Day 11? is it 11?

im so tired. this was a hard day. here, let him explain what we did. zomg im SO TIRED. What We Did Today — Sprite Sheet Grid Cutting & Preview Pipeline 1.

In this update11

Full notes

Full Dungeon Flop update

Read the full published notes in a cleaner layout. The original post stays linked below.

What changed

0 fixes0 additions29 changes2 removals
  • Fixes
  • UI and audio
  • Performance
  • Gameplay
changed2. Grid Cut Model: Simplified & CorrectedWe killed the wrong abstraction early (important win):
removed2. Grid Cut Model: Simplified & CorrectedRemoved:
changed2. Grid Cut Model: Simplified & CorrectedCell width
changed2. Grid Cut Model: Simplified & CorrectedCell height
changed2. Grid Cut Model: Simplified & CorrectedPadding
changed2. Grid Cut Model: Simplified & CorrectedFinal model:

Dungeon Flop changes

changedWe killed the wrong abstraction early (important win):
removedRemoved:
changedCell width
changedCell height
changedPadding

im so tired. this was a hard day. here, let him explain what we did. zomg im SO TIRED.

What We Did Today — Sprite Sheet Grid Cutting & Preview Pipeline

1. Locked the Core Goal

We committed to a data-driven sprite slicing pipeline, not Unity’s importer:

  • Sprite sheets are authored in-app

  • Slices are defined as rect metadata, not assets

  • Unity sprites/tiles are derived outputs, not the source of truth

This keeps modding, regeneration, and iteration sane.

2. Grid Cut Model: Simplified & Corrected

We killed the wrong abstraction early (important win):

Removed:

  • Cell width

  • Cell height

  • Padding

Final model:

  • Grid is defined by cuts (divisions) only

  • [c]xCuts = 0, yCuts = 0[/c] → whole image (1 slice)

  • [c]xCuts = 1[/c] → split into 2 columns

  • [c]yCuts = 1[/c] → split into 2 rows

  • Total slices = [c](xCuts + 1) * (yCuts + 1)[/c]

This matches:

  • Photoshop guides

  • Unity Sprite Editor behavior

  • Human expectation

3. Grid Slice Generation (Data Layer)

We implemented deterministic rect generation:

  • Uses texture width/height

  • Computes rows/cols from cuts

  • Produces clean [c]RectInt[/c] slices

  • No hardcoded pixels

  • No dependency on UI scale

This is now engine-agnostic slice data.

4. Preview System: Iterated Until Correct

This took most of the day — and it mattered.

Problems Identified

  • UI scaling mismatch

  • Anchors/pivots fighting texture space

  • Preview not aligning with displayed image

  • Confusion between texture space vs UI space

Final Resolution (Key Insight)

The preview must live as a child of the sprite image.

Once previews were:

  • Children of the displayed sprite

  • Using identical anchors & pivot

  • Positioned in texture pixel space

Everything snapped into alignment immediately.

✅ This is the correct solution ❌ Fighting world/UI conversion was the wrong path

5. Grid Preview Rendering

The preview system now:

  • Dynamically spawns overlay Images

  • Each preview slice:

    • References the same texture

    • Uses its slice rect

    • Is alpha-tinted

  • Perfectly overlays the original sheet

This gives:

  • Visual validation

  • Confidence before commit

  • Immediate feedback while adjusting cuts

6. Lifecycle Rules Established

Important behavioral decisions:

  • Changing sprite sheets clears previews

  • Previews are ephemeral

  • Slices are only committed when explicitly accepted

This prevents stale state and UI lies.

7. Architectural Direction Confirmed

We explicitly decided:

  • Sprites are cheap

  • GameObjects are expensive

  • Tilemaps are an optimization target, not a default

The pipeline now cleanly supports:

SpriteSheet → Slice Data → Sprite (UI, props, characters) → Tile (when grid placement is needed)

No duplication. No premature optimization.

8. Optional Future Enhancements Identified (Not Implemented Yet)

Identified but deferred (correctly):

  • Hover highlight on grid slices

  • Click-to-select slice

  • Commit vs preview toggle

  • Tile metadata binding

All possible now — none required today.

Net Result

By the end of the day you have:

  • A correct grid slicing model

  • A visually accurate preview system

  • A future-proof content pipeline

  • No Unity importer dependency

  • No asset spam

  • No dead abstractions

This was a foundation day. It wasn’t flashy — but it removed multiple future blockers.

Source

Steam News / 17 January 2026

Open original post

Changelog.gg summarizes and formats this update. How we read updates.