No description
  • TypeScript 55.3%
  • Python 43.2%
  • HTML 1.5%
Find a file
Hermes f773d3c0a2 Responsive canvas and viewport-derived world
Replace the hard-coded 1280x720 canvas with Scale.RESIZE so the game fills
whatever screen it is given, in either orientation.

The world is now derived from the viewport (1.5 screens per axis) rather than
a fixed 2400x1600, with the street at the world's vertical centre. A portrait
phone gets a tall narrow town, landscape a wide short one, and the player
always starts on the street. Landscape vs portrait is now a real playfield
choice, which suits moving toward an adventure-style town.

On resize/rotation the town is rebuilt at the new size and the player, enemies
and pickups are RESCALED BY RATIO in both axes - shifting only y stranded the
player outside a narrower world and off-camera. Screen-anchored HUD elements
are re-docked via layoutUI(), and the control hint now measures itself and
shortens rather than clipping on a 390px phone.

Verified: tsc clean, responsive 39/39 (5 viewports incl. phone portrait and
landscape, live resize, no object leaks), topdown 23/23, aim_powerup 19/19
(5 consecutive runs), gameover 9/9, production build clean. Portrait and
landscape both screenshotted and reviewed.
2026-09-29 19:06:12 +00:00
docs Pivot to top-down RPG: city streets, homes, virtual joystick, tap-to-shoot 2026-09-29 17:49:34 +00:00
qa Responsive canvas and viewport-derived world 2026-09-29 19:06:12 +00:00
src Responsive canvas and viewport-derived world 2026-09-29 19:06:12 +00:00
.gitignore Fix input, gravity, and collision bugs; add QA smoke tests 2026-09-29 14:07:07 +00:00
index.html Fix wave soft-lock, escape penalty, run stats, and mobile touch-action 2026-09-29 14:28:28 +00:00
package-lock.json Fix Phaser boot: use named imports (AUTO, Scale) instead of Phaser namespace 2026-09-28 23:04:04 +00:00
package.json Initial commit: Phaser 4 + TypeScript + Vite scaffold 2026-09-28 22:53:10 +00:00
README.md Initial commit: Phaser 4 + TypeScript + Vite scaffold 2026-09-28 22:53:10 +00:00
STATUS.md Pivot to top-down RPG: city streets, homes, virtual joystick, tap-to-shoot 2026-09-29 17:49:34 +00:00
tsconfig.json Initial commit: Phaser 4 + TypeScript + Vite scaffold 2026-09-28 22:53:10 +00:00
vite.config.ts Initial commit: Phaser 4 + TypeScript + Vite scaffold 2026-09-28 22:53:10 +00:00

Mormongers vs the Heathens

An HTML5 thrower game built with Phaser 4 + TypeScript + Vite.

Dev

npm install
npm run dev

Build

npm run build

Runs on port 3000 in dev mode. Built output lands in dist/.