A fast-paced, top-down roguelike action game inspired by games like Vampire Survivors and Geometry Wars. Battle through waves of enemies, collect power-ups, and defeat challenging bosses as you try to survive as long as possible.
- Open
index.htmlin a modern web browser (Chrome, Firefox, Edge, etc.) - Select your character:
- Knight: High health, slow movement, melee specialist with a sword
- Archer: Moderate health, fast movement, ranged attacks with a bow
- Mage: Low health, moderate movement, powerful magic attacks with a wand
- Click "Start Game" to begin
- Use arrow keys or WASD to move your character
- Automatically attack nearby enemies with your weapon
- Collect experience gems to level up and items to enhance your character
- Survive as long as possible!
- Defeat powerful bosses that spawn periodically and an ultimate boss wave at the end
Each character has unique stats and starts with a different weapon:
- Knight: High health (50), slow movement speed (0.45), medium pickup range (20)
- Archer: Medium health (35), high movement speed (1.3), large pickup range (25)
- Mage: Low health (25), medium movement speed (1.1), very large pickup range (30)
- Level up by collecting experience gems from defeated enemies
- Choose new weapons and items when leveling up
- Automatic stat improvements when leveling up
- Stat caps prevent overpowered builds (max health: 1000, speed: 5, damage: 10x, etc.)
- Sword: Basic melee weapon with short range
- Spinning Axe: Rotates around the player, damaging enemies in its path
- Auto Bow: Automatically fires arrows at nearby enemies
- Magic Wand: Shoots magical bolts that can pierce through multiple enemies
- Laser Gun: Fires a continuous laser beam at the closest enemy
- Speed Boots: Increases movement speed
- Shield: Reduces damage taken
- Amulet of Power: Increases damage dealt
- Experience Magnet: Attracts experience gems from further away
- Ring of Haste: Increases attack speed
- Crown of Experience: Increases experience gained
- Health Potion: Restores health
The game features a challenging boss system:
- Bosses spawn 5 levels above the player's level
- Bosses are 2x larger with impressive auras and visual effects
- Boss health is 5x higher than standard bosses
- Six unique boss types with special abilities:
- Necromancer: Summons zombie minions and fires death bolts
- Death Knight: Performs whirlwind attacks and charges at the player
- Vampire Lord: Transforms into bats and drains health from the player
- Lich: Casts frost nova and summons skeleton warriors
- Demon: Breathes fire and smashes the ground, creating shockwaves
- Assassin Lord: Creates shadow clones, teleports around the arena, and becomes invisible
- Each boss has unique mechanics and attack patterns
- A final boss wave spawns all bosses simultaneously with doubled stats
- Zombie: Slow movement, high health
- Skeleton: Medium movement, medium health
- Ghost: Fast movement, phases through obstacles
- Bat: Very fast movement, low health
- Slime: Splits into smaller slimes when defeated
The game is built using vanilla JavaScript and HTML5 Canvas, with no external dependencies. It features:
- Object-oriented design pattern
- Sprite-based rendering system
- Efficient collision detection
- Particle effects and visual feedback
- Dynamic difficulty scaling
- Boss AI with unique attack patterns
- Balanced character progression
- Character Balance: Adjusted base stats and growth rates for all characters
- Stat Caps: Implemented maximum values for health, damage, speed, and other stats
- Boss Improvements: Bosses now have glowing auras, larger size, and increased health
- New Boss: Added the Assassin Lord with stealth mechanics and shadow clones
- Final Wave: Enhanced the final boss wave to include all boss types
- Visual Improvements: Added more visual effects, boss name displays, and health bars
The game currently uses simple colored shapes as placeholder sprites. To add your own sprites:
- Add image files to the
assetsfolder - Update the sprite definitions in
js/sprites.js
- Clone this repository
- Open
index.htmlin your browser to run the game - Modify the JavaScript files in the
jsfolder to customize the game
This project is open source and available under the MIT License.