asteroid-defense
This project is solving the Asteroid Prospector challenge. Description
The main goal of this application is to increase engagement with the public, particularly youth, with regards to the untapped potential of asteroids as a resource, as well as bringing awareness to the slight possibility of danger that could result from asteroids colliding with earth. It also demonstrates some of the planetary physics involved with asteroids and their orbits.
With the recent announcements of two major companies, Planetary Resources and Deep Space Industries, announcing their investment in asteroid mining, proliferation of asteroid resources will be an inevitable future. We hope that this game would serve to spark some public interest within this field, especially with the youth.
Gameplay & Mechanics
The objective of the game is simple. Keep the earth alive for as long as possible by preventing asteroids from colliding with earth. In order to prevent collisions, projectiles are launched by swiping from the Earth towards the direction of the asteroid.
There are two type of projectiles that can be launched:
- Mining units
- Nuclear missiles
World killer sized asteroids, distinguished by their size, will appear from time to time and will require the use of nuclear missiles to either change its current trajectory, or destroy it completely.
Mining Units
- These are the default projectiles which the user can launch infinitely.
- Upon contact with an asteroid, asteroid will shrink and disappear which will yield resources based on the size of the asteroid.
- The resources gained will go towards the acquisition of nuclear missiles.
- Every 100 resources results in 1 nuclear missile.
- If the Earth is damaged, mining asteroids will replenish its health.
- Mining units do not affect "world killer" sized asteroids.
- To launch a mining unit, swipe from the Earth towards any direction. A mining unit will be launched which will continue to travel in that direction until it collides with an asteroid.
Nuclear Missiles
- These are explosive projectiles acquired from mining asteroids.
- These are intended for use only with "world killers".
- The number on "world killers" indicate the number of nuclear missiles required to destroy it.
- If a nuclear missile does not hit an asteroid directly, it can still change the trajectory of that asteroid.
- To launch a nuclear missile, swipe from the earth to a desired point of detonation. The nuclear missile will detonate where the swipe ends.
Technology
Built entirely in Objective-C, the application takes advantage of iOS's SpriteKit library. It is a 2D library that handles majority of the animations and physics. This engine was needed to be augmented to provide more realistic gravitational physics between the different elements in the game.
Roadmap
- Add onboarding to inform user of gameplay & mechanics.
- Add incremental difficulty and leaderboards
- Release in the App Store
Project Information
License: MIT license (MIT)
Source Code/Project URL: https://github.com/adam-borzecki/asteroid-defense