← Dev Log

The Game Can Talk to the Site Now

· engine, website, technical


Last week's post ended with a caveat: the certification pipeline worked, the weekly challenge worked, the Hall of Fame worked — but nothing in the game actually talked to any of it. You'd have needed to hand it a file yourself. That gap is closed now.

What changed, from the player's side

Four things, all reachable from where you'd expect:

  • Name entry gets a "Play This Week's Challenge" button. Click it, the current seed downloads and pins itself, and you're playing the same dungeon as everyone else this week.
  • The death and win screens get "Submit to Leaderboard" — any finished run, win or loss.
  • The win screen only additionally gets "Submit to Hall of Fame," with a short optional epitaph field. Never automatic. The Labyrinth doesn't announce your victory for you, and neither does the game — you decide whether a run's worth putting a name on.
  • The pause menu gets "Report a Bug" and "Request a Feature," each with a proper multi-line note field now instead of a cramped single line. Every submission still saves a local copy first — the site being unreachable, or not deployed yet, never costs you the report.

Every one of these locks to a plain confirmation once it goes through. No resubmitting the same run by accident, no wondering whether the click registered.

The part that took longer than expected

Wiring the requests themselves was the easy part — the engine already hands over exactly the bytes a submission needs (RunLogDto, RunReportDto), and the site's contract was fixed before any of this started. What actually ate the time was the same thing that eats time in every game UI: fitting it on screen. The death and win overlays were never designed with six extra rows bolted onto the bottom, and it took two failed attempts — one where the leaderboard button vanished off the bottom edge, one where a clumsy fix made it overlap the run summary instead — before landing on a layout that's actually compact enough to hold up on a modest window.

Small thing, but it's the kind of small thing that's the difference between a feature working and a feature merely existing.

What's still not real

Nothing here talks to a live server yet — there isn't one. This has all been proven against a laptop running the site locally. The actual deploy, and the first real weekly seed anyone but me has played, are still ahead.