No description
- TypeScript 55.3%
- Python 43.2%
- HTML 1.5%
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. |
||
|---|---|---|
| docs | ||
| qa | ||
| src | ||
| .gitignore | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| STATUS.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
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/.