A top-down pixel art action dungeon crawler built with HTML5 Canvas and vanilla JavaScript.
Control the Godot mascot through dungeon rooms, fight haunted weapons, collect gems, and cast elemental spells to defeat all enemies.
| Key | Action |
|---|---|
| WASD / Arrow Keys | Move |
| Mouse Click | Cast spell toward cursor |
| 1 / 2 / 3 | Switch spell (Fire / Ice / Lightning) |
- 3 Elemental Spells - Fire (rapid), Ice (powerful), Lightning (fast) - each with unique projectiles and sound effects
- 2 Enemy Types - Haunted Swords charge at you; Haunted Shields block from their front (flank them!)
- 4 Dungeon Rooms - Connected rooms with increasing difficulty
- Collectibles - Gems for score, hearts for health, spell pickups to unlock new abilities
- Sound Effects - Shooting, impact, pain, death, pickup, and spell switching sounds
- Particle Effects - Hit sparks, death explosions, spell trails
- Rendering: HTML5 Canvas 2D
- Language: Vanilla JavaScript (ES6 classes)
- Audio: Web Audio API
- Assets: Pixel art from GDQuest Godot Tours 101
- Deployment: GitHub Pages
pixelartgame/
├── index.html # Game entry point
├── css/style.css # Canvas styling
├── js/
│ ├── game.js # Main game loop & state management
│ ├── player.js # Player movement, health, spells
│ ├── enemies.js # Enemy AI (patrol, chase, charge, block)
│ ├── spells.js # Projectile system & particle effects
│ ├── pickups.js # Collectible items
│ ├── level.js # Room generation, walls, props
│ ├── camera.js # Viewport & screen shake
│ ├── input.js # Keyboard & mouse input
│ ├── audio.js # Sound effects manager
│ └── ui.js # HUD, start/game over screens
└── assets/ # Pixel art sprites & audio
# Any static file server works
python3 -m http.server 8080
# Then open http://localhost:8080You can also run the game using Docker:
# Pull the image from Docker Hub
docker pull tertiaryinfotech/pixelartgame:latest
# Or build the image locally
docker build -t tertiaryinfotech/pixelartgame:latest .
# Run the container
docker run -d -p 8080:80 tertiaryinfotech/pixelartgame:latest
# Then open http://localhost:8080- Pixel art assets by GDQuest from their Godot Tours 101 project (MIT License)