Blaster arcade game
info
This summary page tells you what Blaster is and how the different pages fit together.
Blaster game series
- Blaster arcade game - You are here
- Blaster setup
- Blaster gameplay and features
- Blaster architecture
- Blaster deployment
Blaster introduction
Blaster is my modern take on a classic Galaga-style arcade game: emoji characters, progressive difficulty, leaderboards, statistics and achievements with original music. It runs on Next.js with Phaser 3 on the front end and PostgreSQL on the back, with Clerk v6 for authentication.

What Blaster is
Blaster is a browser-based arcade game where you:
- Choose an emoji as your player character.
- Fight wave after wave of enemies with increasing difficulty.
- Track your scores, accuracy, and progression over time.
- Unlock achievements as you play.
- Compete on multiple leaderboards (score, accuracy, time played, and more).
It is designed as both a fun game and a realistic reference project for:
- Next.js 14 app router applications.
- Integrating Phaser 3 into a React/Next.js UI.
- PostgreSQL-backed stats, achievements, and leaderboards.
- Clerk-based authentication in a real game flow.
- Deploying a stateful app to Kubernetes with GitOps.
How the Blaster pages are structured
To keep things focused, Blaster is split across dedicated pages:
- Blaster setup: local development, PostgreSQL, environment variables, and scripts.
- Blaster gameplay and features: how the game plays, stats, achievements, leaderboards, controls, and UX.
- Blaster architecture: code structure, API routes, migrations, and how React, Phaser, and PostgreSQL fit together.
- Blaster deployment: options for running Blaster in production, from self-hosted to Kubernetes and GitOps.
Each page follows the standard Sphere pattern:
- Context and when to use it.
- Prerequisites and tooling versions.
- Key steps or concepts.
- Verification checks so you know it is working.
Where Blaster fits in The Muppit Sphere
Blaster is one of the application examples in The Muppit Sphere. It shows how I apply:
- Local-first thinking even for a “small” game.
- Muppitify® principles around purpose, modularity, and automation.
- GitOps and Kubernetes practices from the infrastructure side to a real app.
Use it as a concrete example when you want to:
- See how all the moving parts come together.
- Fork or adapt a real application instead of starting from a blank repo.
- Compare different deployment options for the same Next.js app.