This software is provided "as is", without warranty of any kind. See the LICENSE file for the full GPL-3.0 disclaimer of warranty and limitation of liability.
I'm not responsible if this breaks your setup. Test it before using it in production.
Stranded Horizons is a lightweight browser game built with vanilla HTML, CSS, and JavaScript. You control a survivor, fend off enemy waves, earn coins, and buy upgrades to stay alive longer.
This repository contains the complete source code for the game client and static assets. It is designed to run locally without a backend service or package manager.
- Pure front-end implementation (no framework, no build step required)
- HTML5 Canvas rendering and real-time game loop
- Keyboard movement (WASD / arrow keys) and mouse aiming/shooting
- Wave-based enemy spawning
- In-game shop for speed and damage upgrades
- Local high score persistence via
localStorage
git clone <your-fork-or-repo-url>
cd stranded-horizonsDownload the repository as a ZIP and extract it.
Open index.html in a modern browser, then click Play Now to start.
No package install is required. For best local development experience, run a simple static server:
python3 -m http.server 8000Then open http://localhost:8000.
Current gameplay tuning values are set directly in game.js, including:
- player stats (
health,speed,damage) - enemy spawn interval
- upgrade prices
If you change asset locations, update paths in both game.js and index.html.
This project does not use precompiled artifacts. The source files in this repository are the runnable game.
- Run: open
index.html(or use a static server) - Build: not required
- Regenerate assets: add/edit source images under
assets/and reference them from HTML/JS
- Blank screen or no rendering: ensure JavaScript is enabled and all asset paths resolve.
- Input not responding: click the game canvas first so it receives focus.
- Assets fail to load: verify file names in
assets/exactly match references ingame.js. - Local file restrictions: if your browser blocks local loading behavior, use a static server (
python3 -m http.server 8000).
index.html— landing pagegame.html— game screengame.js— game logicassets/— image assetsdevlog/— progress screenshots and notes
This project is licensed under the GNU General Public License v3.0. See LICENSE.
Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md before contributing.