366fbd7c498081e1bda83f60bea5400c3a82ba00
Endless Sea
Endless Sea is a small browser survival game built with HTML5 canvas, jQuery, and plain JavaScript. You guide a fish through an underwater bullet-hell style field, avoid incoming hazards, and collect diamonds to trigger temporary power-ups.
Play
- Live demo: https://zbww.github.io/EndlessSea
- Original source reference: https://github.com/zbww/EndlessSea/blob/master/js/main.js
How To Play
- Move the mouse to steer the fish.
- Avoid every flying object except diamonds.
- Collect diamonds to gain temporary bonuses.
- Press
Space,Enter, orPto pause and resume. - Use headphones if you want the full audio experience.
Power-Ups
Diamonds can trigger one of several effects:
- Score bonus
- Speed Down
- 1 UP
- Superfish invincibility
- Big Bomb screen clear
- Small World size reduction
Running Locally
This project is static and does not require a build step.
- Clone or download the repository.
- Open
index.htmlin a modern browser.
If your browser blocks autoplay audio, start the game with a click so music playback can begin normally.
Desktop Build
The project now includes a Tauri desktop wrapper.
Requirements:
- Rust and Cargo
- Bun
- Linux desktop build dependencies required by Tauri on your distribution
Useful commands:
bun install
bun run build:web
bun run tauri:build
Build artifacts are generated under src-tauri/target/release/bundle/.
CI:
- A Gitea Actions workflow now lives in
.gitea/workflows/desktop-builds.yml. - Linux runners build native Linux bundles and cross-compile the Windows release target.
Project Notes
- Most visible game elements are generated dynamically in JavaScript.
- All game graphics are drawn in code with canvas rather than external image assets.
- Audio files are included in the repository under
music/.
Credits
Developers:
- Bobwei Zhou
- Yangmei Lin
Original development period:
- July 12, 2014 to July 16, 2014
Description
Languages
JavaScript
91.1%
CSS
6.6%
Rust
1.6%
HTML
0.7%