Skip to main content

Blaster arcade game

info

This summary page tells you what Blaster is and how the different pages fit together.

Blaster game series

  1. Blaster arcade game - You are here
  2. Blaster setup
  3. Blaster gameplay and features
  4. Blaster architecture
  5. 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:

  1. Blaster setup: local development, PostgreSQL, environment variables, and scripts.
  2. Blaster gameplay and features: how the game plays, stats, achievements, leaderboards, controls, and UX.
  3. Blaster architecture: code structure, API routes, migrations, and how React, Phaser, and PostgreSQL fit together.
  4. 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.