← Back to Blog

2026-07-01

RetroRelay Launch Devlog — July 2026

Behind the scenes of launching RetroRelay and Aqua Fuse: platform build, Godot export pipeline, community features, and what comes next.

devlogretrorelaylaunchaqua fusegodot

Today RetroRelay goes live. After months of nights-and-weekends work, anyone with a browser can play Aqua Fuse, submit scores, earn badges, and join a community built around monthly retro game releases. This devlog captures where we started, what shipped in July 2026, and what broke along the way.

The Idea

Retro gaming nostalgia usually routes through emulators, ROM archives, or mobile clones stuffed with energy timers. We wanted something cleaner: original arcade-style games that feel classic but run natively on the web — no downloads, no legal gray areas, no predatory monetization.

The pitch crystallized quickly:

  • One new game per month
  • Godot 4.7 → HTML5 export pipeline
  • Next.js platform shell with leaderboards and guides
  • Free to play; optional RetroRelay Plus for ad-free support

Aqua Fuse, a fuse-routing puzzle homage to Rocket Mania Deluxe, became the launch title because it scoped well: grid logic, auto-ignite chains, fish combat scoring, endless replay, small asset footprint.

Platform Architecture

RetroRelay runs on Next.js 15 with the App Router. Gameplay lives in Godot exports under public/games/{slug}/. The Next.js layer handles:

  • Marketing pages and SEO content hubs
  • /play/{slug} embed wrappers
  • Supabase-backed score APIs (/api/scores)
  • Stripe subscriptions for RetroRelay Plus
  • Weekly challenge definitions
  • Open Graph score cards for social sharing

When Supabase credentials are missing — common in local dev — scores fall back to data/scores.json. That fallback saved countless test iterations.

COOP/COEP headers on /games/* paths enable SharedArrayBuffer for Godot threading. We documented the Vercel configuration in vercel.json after discovering default headers silently disabled worker threads.

Building Aqua Fuse

Development started from games/godot-template/ with four shared autoloads:

  • GameState — campaign progression, timers, scoring
  • AudioEngine — SFX/music with persistent mute
  • PlayerSave — local storage plus cloud sync hooks
  • AdBridge — ad placement callbacks for free tier

Aqua Fuse-specific systems:

  • Tile rotation with clockwise/counter-clockwise input
  • Auto-ignite when torch fire connects to rockets in the same row
  • Fish-pool combat scoring and coin-based rocket upgrades
  • Campaign (10 levels + boss) and Endless Mode from level 11
  • Board refills after burns with chain-reaction support

Export command:

godot --headless --export-release "Web" ../../public/games/aqua-fuse/index.html

Load-time optimization focused on texture compression and deferring music until after the first interactive frame. Target: sub-three-second first play on average connections.

Content and SEO Launch

Games do not market themselves. We shipped ten blog posts and guide pages covering:

  • How to play and strategy guides
  • Genre history and similar-game roundups
  • Developer articles on Godot browser export
  • SEO-focused landing content for discovery queries

Markdown posts live in content/blog/ with YAML frontmatter. Game metadata registers in src/lib/games.ts; badges in src/lib/badges.ts reward milestones like Pipe Master (full campaign), Speed Fuser (sub-thirty-second clear), and Infinite Pipes (Endless wave ten).

Google Search Console submission followed docs/SEARCH-CONSOLE.md — sitemap ping, priority URL inspection, game slug indexing.

Community Infrastructure

Launch community touchpoints:

  • Discord server with score webhook notifications (DISCORD_WEBHOOK_URL)
  • Weekly challenges (Speed Run, Endless Marathon, Perfect Flow)
  • Badge system tied to profile pages
  • /free-retro-games-online and /best-browser-puzzle-games category hubs

We skipped loot boxes, energy systems, and pay-to-win boosts. RetroRelay Plus removes ads — that is the subscription value proposition.

What Broke (and Fixed)

Threading without COEP: Initial exports ran single-threaded on production until headers deployed. Lesson: test production headers, not just localhost.

Score race conditions: Concurrent submissions during load tests exposed duplicate entries. API route now validates game slug and clamps score ranges server-side.

Mobile tap targets: Early builds had tight tile hitboxes. We expanded interactive regions without changing visual grid size.

Timer feel on late campaign levels: Playtesters called wave-eight-plus timers punitive. We retuned curves to reward mastery without cheap failures.

Launch Day Checklist

  • Aqua Fuse exported to public/games/aqua-fuse/
  • Production environment variables on Vercel
  • Supabase migration applied (001_initial.sql)
  • Stripe webhook configured
  • Discord webhook live
  • Blog content published
  • Search Console sitemap submitted

What's Next

August 2026 brings RetroRelay's second monthly game — still under wraps, but the template pipeline is proven. Aqua Fuse will receive balance patches based on leaderboard data and community feedback, not feature bloat.

If you are reading this on launch day: thank you for playing. Click Play Aqua Fuse, chase an Endless multiplier, and tell us your high score in Discord.

RetroRelay is live. More games incoming.