asteroid-prospector-exeter
This project is solving the Asteroid Prospector challenge. Description
The Game
Asteroid Prospector is a 2d browser-based game about mining asteroids. You must control your mining craft by changing the rotation and using the thrusters. To mine the asteroid you must break it into its basic components with your mining missile and then return those components to the APE station for them to be refined.
Asteroids
The game contains 3 types of asteroids:
Asteroid type C (Carbonaceous)
Asteroid type S (Silicaceous)
Asteroid type M (Metallic)
Depending on the type of asteroid they will drop a combination of different materials.
Materials
Fuel - Made by separating the oxygen and hydrogen in water or ice (gives your ship a small fuel increase)
Waste - Low value materials, picking them up is not only slightly lucrative but also good for the environment
Construction Materials - Common metals and other elements which would be useful in colonisation and space flight
Precious Metals - Rare earth metals which carry a high value
Refining
Once you have collected materials and your fuel is running low you must return to the "APE Station" for the materials to be refined. You do this by docking with [crashing into] the station. You will then be presented with a breakdown of the elements those materials have been refined into. Each element on the list is linked to a fact sheet about its composition and why it is useful for space travel and colonisation.
The elements are then exchanged for money and your game score is updated. Your ship is also refuelled so you can go back out and find some more asteroids.
The approach
One of the key things I wanted to achieve this year in the Space Apps Challenge was to take a "little and often" approach to developing and releasing the application. I've taken part in hackathons in the past where projects are developed in separate pieces for the duration of the weekend and then thrown together at the last minute, and not always successfully.
I wanted to ensure that no matter how big (or small) the team, we would definitely have something finished and polished at the end. To achieve this I wanted to create something very small and simple in a very short time and release it straight away. That small foundation could then be built on in chunks throughout the challenge.
Many people refer to this methodology as 'agile' development but I purposely didn't use that word at any point during the weekend as I didn't want to spend any time discussing what 'agile' is and get bogged down in the methodology.
How we achieved this
We were successful in achieving this! We made use of open source frameworks such as PhysicsJS and jQuery and built a very basic game with a rudimentary scoring system and countdown timer. Just 2 hours into the challenge we had already released version 0.1 to the internet and people around the world were playing it and giving us feedback on where we should improve it and spend our limited time.
We then split each feature we wished to add into small but complete pieces and released them as soon as they were ready. That way the game was constantly evolving and growing but remained completely playable throughout the weekend.
The asteroid prospector Exeter team
- Jacob Tomlinson - Team Leader, Project Management, JavaScript Development
- Ian Gentry - Project Management, Web Development
- Oli Bird - Graphic Design
- Kris Sum - JavaScript Development
- Karina Williams - JavaScript Development, German Translation
- Gary Lipscombe - Web Development
- Adrian Wood - Social Media, Promotion
- Alexander Berry - Testing, Story
- Faith Yemofio - Testing, Story
- Jack Livsey - Research, Story
- Joanne Livsey - Research, Story
- Ketaki Sharma - Testing, Story, Hindi Translation
- Paul Rogers - Research, Story
Special thanks to
- Elena Meneguz - Italian Translation
- Anke Finnenkötter - German Translation
- Franck Davanier - French Translation
All translations were crowdsourced but some of our translators wished not to be named.
What next
We plan to take the project forwards in a number of ways, including:
Teaching materials
There are already plans for this project to be used in schools, not only as an aid to teaching about space and asteroids but also about project management, time management and programming.
I have also received a request to give a lecture about this project at a university.
Improved gameplay
We have many plans about how we would like to improve the game and expand on the ideas we've already had. Some of these plans are:
- Support for visually impaired users
- Make stronger links between the gameplay and the educational materials
- Add new achievements
- Add power-ups/new technologies
- Mobile support, perhaps porting to other platforms
- Login integration to allow saving achievements and high scores
Project Information
License: MIT license (MIT)
Source Code/Project URL: https://github.com/killfall/asteroid-prospector/tree/gh-pages
Resources
Tutorial Video - https://www.youtube.com/watch?v=s3N34TODZBk
Gameplay Video - https://www.youtube.com/watch?v=fjZK-AP6hhA
YouTube Channel - https://www.youtube.com/channel/UCaFdlzqFGWucaYjafSM1D4A
Twitter - https://twitter.com/APEMining
Tumblr - http://asteroidprospectorexeter.tumblr.com/
Judging Video on YouTube - https://www.youtube.com/watch?v=PnRttvCWk6o
Judging Video on Vimeo - https://vimeo.com/92440803
Play the game! - http://killfall.github.io/asteroid-prospector/