A modern, accessible underwater survival game built with vanilla JavaScript. Navigate through various ocean depths, collect stars, and survive against increasingly dangerous sea creatures.
- Dynamic Stages: Progress through 5 unique environments, each with its own background, music, and challenges:
- Calm Waters: The perfect place to start your journey.
- Reef Waters: Watch out for more active marine life.
- Deep Sea: High pressure and strange creatures await.
- Storm Waters: Navigate through turbulent currents and lightning.
- The Abyss: The ultimate challenge in the darkest depths.
- Unique Enemies: Each creature has its own behavior:
- ๐ฆ Sharks: Aggressive predators that will chase you if you get too close.
- ๐ Octopuses: They spray ink clouds that can obscure your vision.
- ๐ Electric Eels: Watch out for their periodic electric shockwaves.
- ๐น Sea Monsters: Giant beasts with powerful special attacks.
- Power-ups & Progression:
- Collect โญ Stars to increase your score and advance to the next stage.
- Pick up โค๏ธ Lives to stay in the game longer.
- Unlock power-ups to help you survive the harsher depths.
- Difficulty Settings: Choose between Easy, Normal, and Hard modes to match your skill level.
-
Arrow Keys: Move the fish
-
P: Pause / Resume game
-
R: Restart (when game over)
-
1, 2, 3: Quick difficulty selection
-
Virtual Joystick: Drag to move the fish
-
โธ๏ธ Button: Pause game
-
โ๏ธ Button: Settings and difficulty
Fish Adventure is designed with accessibility in mind:
- Screen Reader Support: ARIA labels and live regions for game status.
- Reduced Motion: Option to disable intensive animations.
- High Contrast: Clear UI elements and visual feedback.
- Keyboard Navigation: Fully playable with standard keyboard controls.
Built with a modular architecture:
- Vanilla JavaScript: No heavy frameworks, utilizing modern ES modules.
- CSS3 Animations: Smooth underwater effects and UI transitions.
- HTML5 Canvas/DOM: Efficient rendering of game entities.
- Asset Pooling: Performance-optimized management of game objects.
โโโ assets/ # Game assets (images, music, sounds)
โโโ css/ # Stylesheets
โโโ js/ # Game logic (ES modules)
โ โโโ main.js # Entry point
โ โโโ entities.js # Player and enemy logic
โ โโโ stages.js # Stage and behavior configuration
โ โโโ ...
โโโ index.html # Main entry file
-
Clone the repository:
git clone https://github.com/ageborn-dev/fish-adventures.git
-
Open
index.htmlin any modern web browser.- Note: Since the game uses ES modules, you may need to serve it via a local web server (e.g., using VS Code Live Server or
python -m http.server).
- Note: Since the game uses ES modules, you may need to serve it via a local web server (e.g., using VS Code Live Server or
This project is licensed under the MIT License - see the LICENSE file for details.
Developed with ๐ by ageborn-dev
