A captivating puzzle game where you strategically place light sources to illuminate an entire grid. Use bulbs and flashlights wisely to solve increasingly challenging levels!
- Objective: Illuminate every cell on the grid to complete each level
- Light Sources:
- Bulbs: Illuminate all adjacent cells
- Flashlights: Shine light in a straight line (can be rotated)
- Controls:
- Click/Tap to place selected light source
- Click/Tap on existing light sources to remove them
- Click on flashlights to rotate them 90 degrees
- Resources: Manage your limited supply of bulbs and flashlights efficiently
- 🧠 10 challenging levels
- 💾 Auto-save game progress
- 📱 Responsive design
- ❓ Tutorial and help system
- ⚡ Smart inventory management with item recovery system
- Frontend: HTML5, CSS3, JavaScript
- Storage: Local Storage for game state persistence
- Design: Custom CSS with CSS variables for theming
- Architecture: Modular JavaScript with ES6 modules
A modern web browser with JavaScript support:
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
- Clone or download this repository
- Navigate to the project directory
- Open
index.htmlin your web browser
Alternatively, you can play the game online at: Glow Maze
- Bulbs: Illuminate all adjacent cells (up to 2 cells away)
- Flashlights: Shine light in a straight line (up to 5 cells)
- Walls: Block light from passing through
- Rotation: Flashlights can be rotated to change direction
- Start with 10 bulbs and 5 flashlights
- Complete levels to earn more items:
- 6 new bulbs + half of used bulbs returned
- 3 new flashlights + half of used flashlights returned
- Strategic use of items is essential for progression
glow-maze/
├── index.html # Main HTML file
├── styles.css # All game styles
├── js/ # JavaScript modules
│ ├── main.js # Game initialization
│ ├── grid.js # Grid management
│ ├── cell.js # Cell class definition
│ ├── lights/ # Light source classes
│ │ ├── bulb.js
│ │ ├── flashlight.js
│ │ └── lightSource.js
│ ├── inventory.js # Inventory management
│ ├── stateManager.js # Game state persistence
│ ├── utils.js # Utility functions
│ ├── helpMenu.js # Tutorial system
├── levels.json # Level definitions
└── images/ # Game assets
├── bulb.png
├── bulb-accent.png
└── flashlight.png
This game works best on modern browsers that support:
- ES6 Modules
- CSS Grid
- CSS Variables
- Flexbox
- Local Storage API
We welcome contributions! Please feel free to:
- Fork the project
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Enjoy the game! For questions or feedback, please open an issue in this repository.