Skip to content

Repository files navigation

Vector Keep

License: MITTypeScript 5.9Vite 8DeployPlay on PagesCanvas 2D

A browser-based Star Castle–style vector siege: rotating energy rings with gaps, a central gun that shoots back, homing mines, inertia flight, shields, and a high score saved locally. Built with TypeScript, Vite, and the Canvas 2D API—no game engine, small bundle, runs anywhere you can host static files.

Fan tribute. Vector Keep is inspired by classic late-70s / early-80s coin-op vector games (including Cinematronics-style castle shooters). It is not affiliated with any rights holder, and it does not use original ROM assets, logos, or sampled audio.


Play

Live (GitHub Pages)Play on GitHub Pages →
LocalSee below

Open the live link or run locally, then press Space or Enter to start.

npm install
npm run dev

Vite prints a URL (usually http://localhost:5173).


Controls

ActionKeys
Start (title) / Restart (game over)Space, Enter
Rotate or AD
Thrust or W
FireSpace (up to 4 shots on screen)
ShieldShift (hold; uses energy, recharges)
PauseP

Scripts

CommandDescription
npm run devDev server with hot reload
npm run buildTypecheck + production build to dist/
npm run previewServe dist/ locally (good check before deploy)

Requirements:Node.js 20+ recommended (LTS).


Deploying

GitHub Pages (this repo): Pushes to main run .github/workflows/deploy-pages.ymlnpm ci, npm run build, then publish dist/. In the repo Settings → Pages, set Source to GitHub Actions.

vite.config.ts sets base to /Vector-Keep/ so asset URLs match https://vedjuk.github.io/Vector-Keep/. If you fork or rename the repo, update base to /YourRepoName/ (with trailing slash), rebuild, and push.

Other hosts: After npm run build, upload the contents of dist/ anywhere that serves static files. For a site at the domain root (not a subpath), use base: '/'.


Project layout

src/
main.ts # Canvas + game loop bootstrap
game/ # Loop, constants, Game orchestration
entities/ # Ship, bullets, castle (rings + core), mines
systems/ # Input, collision
render/ # Canvas drawing (vector look, HUD, title)
audio/ # Web Audio beeps

License

This project is licensed under the MIT License.

Permission is hereby granted to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, subject to the conditions in the license file. The software is provided “as is,” without warranty of any kind.

The MIT license applies to this project’s source code and assets only. It does not grant any rights in third-party trademarks or in the classic games that inspired this tribute.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages