Defender

Defender

This is a project that I started a while ago, to try and program the classic arcade game ‘Defender’ by Williams, from 1981, in JavaScript.

The game will play in your internet browser window, so set the size of your window, to the size that you would like to play the game in, and then press F5, to resize.

Keyboard Controls

ARROW keys = Player ship movement.

CTRL = Fire laser \ SHIFT = Smart bombs

ENTER = Select between screens

SPACE = Hyperspace

Xbox Gamepad

Left Thumbstick = Player ship movement

Green button = Fire laser

Blue button = Smart bombs

Red button = Hyperspace

Final Version > Defender 1.7


Defender 1.0

  • Front, End & Level Completed Screens.
  • Basic movement for player and lander.
  • Mountains (procedurally generated) .
  • Game scaled to any window size.
  • Starfield & Scanner.
  • Collision detection.

Defender 1.1

  • Lander, Mutant, Bomber, Pod & Swarmer’s, are now in, with some animations.
  • Humans are now implemented, and can now be picked up by landers or player.
  • Different coloured explosions, for different enemies.

Defender 1.2

  • Baiter is now in.
  • Hyperspace has been implemented.
  • If all humans have been captured \ destroyed, world will destroy, and all landers will turn into mutants.

Defender 1.3

  • Updated start screen.
  • Persistent hi-score table implemented ( Shows top 5 hi-scores)

Defender 1.4

  • Gamepad support for Xbox controller.
  • Animated score “500”, when saving a human.

Defender 1.5

  • Added insert coin screen.

Defender 1.6

  • Updated player laser graphics.
  • Updated laser & thrust sounds.
  • New swarmer animation.
  • Fixed, game freezing on ‘Game Over’ screen.

Defender 1.7

  • Added extra levels to the game ( 100 in total).

Things to work on

  • Improve player laser graphics, to be more like the original. (DONE)
  • Improve laser & thrust sounds, to be more like the original. (DONE)
  • After 10 levels, the game will restart at level 0, but score will keep going. (DONE)

Known bugs

  • Sometimes, game will freeze on the “Game Over” screen. (FIXED)