Galleries: Other

The Defense of New Atlantis v1.0
A Game programmed in Flash ActionScript

Play the game in its own resizable window

This game was my final project for CPT 284 at Aiken Technical Institute. The game is built in Adobe Flash using ActionScript 2.0. Graphics are original, created using Adobe Illustrator.

The Defense of New Atlantis is based off the classic game Missile Command but takes place underwater, defending domed cities from attack. The object of the game is to survive as long as possible by defending the two cities using three gun turrets.

Gameplay Design

While other versions of Missile Command use discrete "stages" which allow turrets and ammunition to be replenished, New Atlantis's gameplay is continuous, and the "level" simply indicates how far the player has advanced, which also impacts difficulty. Instead of using ammunition for the defense turrets, the turrets recharge automatically, but cannot fire more than twice in quick succession. If a turret is destroyed, it will slowly regenerate, and is vulnerable to attack while being rebuilt. Also, to compensate for only having two cities to defend, each city's defensive shield can absorb two impacts before being destroyed.

One unique gameplay addition to New Atlantis compared to similar games is the presence of civilian "evacuation ships" in the battlezone. If the player accidentally shoots down one of the ships marked with the Red Cross, they recieve a steep score penalty. On the other hand, if the ship successfully crosses the area and leaves the battlezone without being destroyed, then a bonus is added to the player's score for successfully defending the ship. If the ship is destroyed by the enemy, then no score bonus or penalty is given. Like the cities, the shield protecting the evacuation ships can absorb two impacts before being destroyed.


Before the game itself took shape, I created a simple set of vector motion functions which were later used in the game itself. These functions, which include finding the angle between two points and finding X and Y components from a vector, are used for the aiming of the turrets as well as in all angular motion.

To keep track of all objects for collision testing, two object arrays are used: a Turret Targets array and an Enemy Targets array. Enemy missiles simply check for collision against the Enemy Targets array, and blasts from the defense turrets check for collision with any objects in the Turret Targets array.

Version History

  • v1.0 - Initial release; submitted as final project for CPT 284

All site layout, graphics, and content © 2007 Jonathan Sheppard.     Contact:
This site is best viewed with Firefox or Safari.