← BACK TO WORK
PROJECT 003PUZZLE GAME

BLOCKFLOW

BlockFlow

A top-down colour-matching puzzle game. Drag coloured blocks onto matching grinders to clear the grid before the timer runs out — readable in a second, with enough constraint layered on top to stay awkward in a good way.

The problem

A matching puzzle dies the moment the player finds one reliable strategy. The design work is in adding constraints that invalidate the easy solution without making the rules harder to explain.

What I built

  • Multi-cell block shapes — 1×1, 2×1, 3×1, 2×2, L, S/Z, T and Plus — so a block footprint matters as much as its colour.
  • Movement constraints locking certain blocks to a single axis, which turns a free-form drag into a planning problem.
  • An ice mechanic: frozen blocks carry a counter that only ticks down when other blocks are consumed, forcing the player to work in a specific order rather than clearing greedily.
  • Ten colour slots and five hand-crafted levels, grids from 7×8 up to 10×14, introducing one mechanic at a time.
  • Velocity-driven dragging that snaps to the grid on release, so input feels smooth but placement stays exact.

Architecture

18 C# scripts on an event-driven design, with singletons for the managers and ScriptableObjects for data. Levels are defined in JSON and loaded from Resources, so new levels need no recompile. Audio runs through separate SFX and music mixer channels with UI toggles.