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.

By Elia Kabanov

science writer and data journalist