A 2D, Java based game where the player fights off monsters in waves while levelling up attack skills. The goal is to survive all 22 waves.
-
Basic Monsters: Standard enemies that chase and damage the player when making contact. In ascending order of strength, they include the: Shadeling, Gloomspawn, Vampire Bats, Shadow Slasher, Obsidian Maw, Withering Wraith, Midnight Abyss, and Chaos Demon.
-
Bosses: Special enemies with extremely powerful attacks and increased health. They appear at the end of the game from waves 20-22, and include
- The Void Titan, which dashes to player every few seconds.
- The Eclipse Harbinger, which unleashes instant-kill beams every 4-6 seconds.
- Anthony's Wrath, which gravitationally sucks players in and deals unbelievable damage!
-
Attack Skills: Player automatically attacks using different homing attack skills with unique effects:
- Luminous Pulse does radial area damage.
- Light Lance shoots a beam across the map that damages all enemies it touches.
- Photon Orbs produces mini blue orbs that float to the nearest enemy that comes within close range.
- Angelic Summons creates angel entities that attack and knock back the nearest monster.
- Starfall Ritual creates omni-directional projectiles of starlight that damage all enemies they pass through.
-
Levelling: After each wave, the player has the option to level up a skill. Three randomly selected skills will appear on screen to choose to level up. The maximum level a skill can be levelled up to is 3; the player must choose another skill to level up afterwards.
-
Super Skills: When all skills are level 3, the player gains access to levelling skills into Super skills with advanced abiltities relevant to the maxed-out attack skill they are replacing.
- Solar Flare stuns all enemies across the screen every few seconds.
- Prismatic Ray shoots beams that split into a rainbow of 5 smaller rays upon hitting the first enemy.
- Celestial Constellation creates orbs that explode on impact and do slight area damage.
- Archangel spawns a massive, very powerful angel that remains on the map and attacks monsters.
- Cosmic Cataclysm shoots meteors toward the player's cursor.
-
Damage Numbers: Floating numbers display how much damage was dealt by each attack on each monster.
- Health bars for both player and boss enemies.
- Progress bars for monsters killed and monsters left to be killed before the next wave.
- Multiple sprite frames to create the illusion of movement (Victor's back hurts!).
- Sound effects and music various sound effects and music to make the game more interactive.
- Wall wrapping player can pass through walls to other side of screen to make more interesting survival strategies.
- Game Countdown 3 second timer before each round starts.
- Knockback When the player comes in contact with monsters
| Action | Key |
|---|---|
| Move Up | W |
| Move Down | S |
| Move Left | A |
| Move Right | D |
- Victory: All enemy waves are cleared and bosses are defeated. A win screen celebrates your success.
- Defeat: Player HP drops to 0 and the game over screen appears.
The game includes an optional debug menu with developer tools such as infinite
health, max upgrades and wave selection. To enable the menu, set
DEBUG_MODE to true in Settings.java and recompile. When enabled, a
"DEBUG MENU" button appears on the main menu.
- Game design, programming, and visuals by Jerry Li and Victor Jiang.
- Java 17+