Behind the tiles: Building Brookmill Park Birds

The idea started as an experiment in hyper-local content: something about the park I love. Maybe a game? And then one morning, I saw two mallards swimming behind a moorhen in a perfect little row, almost like tiles sliding on a board. Suddenly, a 2048-style puzzle about Brookmill Park’s birds made complete sense.

With no experience in game development (unless you count a 1995 school project where I made a Pong clone) and more than a decade since I last touched anything meaningful in HTML, I needed help. My good old friend ChatGPT was at hand, so I asked it to turn the idea into a working prototype.

The first draft was brutally minimal: no pictures, no styling, just tiles with bird names sliding on a plain grid. It looked like a debugging screen, but the mechanic already worked, so I kept going.

The look changed the moment I applied my site-wide deptford.org styles. The game now felt like it belonged on the site rather than drifting in its own grey box. That made the next step obvious: add visuals.

But what should those visuals be? There were no emojis for most of the birds I wanted. Public-domain illustrations came in mismatched styles. I flirted with SVGs and even found one CC-licensed set, but none had the right feel. So I turned to generated images, using the descriptions and photos from the Brookmill Park page as prompts. The first batch gave me lovely, detailed portraits at 1024×1024 and roughly 500–700 KB each, which was far too heavy for a lightweight browser game.

The temporary fix was to load them in batches, but the real answer was simpler: shrink everything to compact 256×256 icons. They lost the high-resolution look, but they loaded instantly, even on a weak connection. For a tile-based game, speed mattered far more than detail.

The bird progression went through its own evolution. The first bird order was instinctive, but I adjusted it the way I would approach a field note: checking which species actually show up in the park and reshuffling the chain to reflect that pattern. 

Once the images arrived, I also had to rethink their on-tile sizes. A blue tit and a swan live at opposite ends of the scale, and the board can’t show that literally, so a bit of compromise was needed. After a few tests, I found proportions that hinted at real size without making small birds disappear or large birds overwhelm the grid.

Through all this, the mechanics barely changed. I extended the chain by two birds, nudged the encounter probabilities, and added a quick final round after the kingfisher. Everything else was interface work: layout fixes, instructions, button behaviour, and the small touches that turn a functioning prototype into something that feels complete.

The bigger shift came when I realised the game needed an educational layer and a bit of science communication, not just sliding tiles, so I added a Bird info button with short species notes. Now we have a built-in guide to the park’s ecology. 

My beta testers also pointed out that the rules weren’t obvious to anyone who hadn’t played 2048 before, so I added a simple onboarding screen and small directional arrows that appear before the first turn to show how the board moves. 

In total, the project took about twenty-five hours and an endless back-and-forth with ChatGPT. Most of that time was polishing rather than building. The first playable beta — the version that proved the idea worked — was online within hours.

The whole project felt like a science communication exercise: take something real and local, break it into simple parts, and make it delightful for people who might not know the subject at all.

Play Brookmill Park Birds.