A 20-title collection of browser games behind one launcher page, hosted on GitHub Pages.
▶ Play it live: https://przemekzur.github.io/games/
| Game | Type | Tech |
|---|---|---|
| Asteroids | Arcade shooter | Vanilla JS / Canvas |
| Lumen Rift | Original two-level horizontal shooter with a capsule power selector and orange Option followers | Vanilla JS / Canvas |
| Mortal Combat 1: Neo Exchange | Fighting | Vanilla JS / Canvas |
| DOOM | Retro raycasting FPS | Vanilla JS / Canvas |
| Snake: Childhood Remix | Arcade classic | Vanilla JS / Canvas |
| Pong: Neon Rally | Arcade duel | Vanilla JS / Canvas |
| Breakout: Prism Crash | Arcade action | Vanilla JS / Canvas |
| River Raid | Vertical shooter | Vanilla JS / Canvas |
| Fintech Heroes: Ledger of Dominion | Turn strategy RPG | Vanilla JS |
| Echoes of the Hollow Crown | Action RPG | Vanilla JS / Canvas |
| Space Invaders: Neon Siege | Arcade shooter | Vanilla JS / Canvas |
| Star Trek Voyager — Journey Home | 3D space strategy | Three.js + Vite |
| Star Trek Voyager — Definitive Edition | 3D space strategy | Three.js + Vite |
| Red Frontier — The Long Launch | Narrative prequel / campaign bridge | Vanilla JS |
| Red Frontier — Mars Colony | 3D colony / terraforming strategy | Three.js (CDN) |
| Jetpack Rush: Neon Run | Endless runner | Vanilla JS / Canvas |
| Stellar Siege | 3D multiplayer RTS (StarCraft-like) | Three.js (CDN) + PeerJS lockstep |
| Grass Frenzy | Casual arcade | Vanilla JS / Canvas |
| Loop | Thinking puzzle | Vanilla JS / Canvas |
| Nova Duel | Starship duel | Vanilla JS / Canvas |
Eighteen of the 20 games, including Lumen Rift, are self-contained static HTML/JS:
open their folder's index.html or serve the repo root with any static server. The
two Voyager games are Vite projects; see their
folders for npm run dev instructions (voyager-game-v2/README.md
documents what's new in the Definitive Edition).
# the hub + all 18 static games
npx serve . # then open http://localhost:3000
# a Voyager game (dev server with hot reload)
cd voyager-game-v2
npm install
npm run devEvery push to main triggers .github/workflows/deploy-pages.yml,
which builds both Voyager games with Vite, bundles them with the static games and
the hub page, and publishes everything to GitHub Pages. You never commit build
output — dist/ folders are gitignored.
Contributions are welcome — bug fixes, new features for existing games, or even a whole new game cabinet for the hub.
main is protected: it can't be deleted or force-pushed, and changes land only
through pull requests. The flow:
- Fork this repo and clone your fork.
- Create a branch for your change:
git checkout -b feat/my-improvement
- Make your change and test it locally (see Running locally above).
- For static games: just open the game in a browser.
- For the Voyager games:
npm run devto test, and make surenpm run buildstill passes.
- Push to your fork and open a Pull Request against
main. - A maintainer reviews and approves — once merged, the site auto-deploys.
- Create a new top-level folder (kebab-case, e.g.
my-game/) with anindex.htmlentry point. - Add a card for it in the hub's index.html (copy an existing
<article class="card">block). - For a static game, keep its assets self-contained so it works from its local
index.html; if your game needs a build step, add the build + copy steps to deploy-pages.yml the same way the Voyager games are handled.
- Keep games self-contained in their own folder — shared code goes in shared/.
- No build output in commits (
dist/,node_modules/are gitignored). - Match the style of the code you're touching.
- Be excellent to each other in issues and reviews.
Found a bug but don't want to fix it yourself? Open an issue — include the game, what happened, and your browser.