Created by Jacob Reckhard and Kyle Hennig
As part of the 2017 University of Alberta Engineering contest, we had 6 hours to create the working code and put together a presentation.
- You must visualize and simulate a variable size asteroid field
- When asteroids collide, they must break apart into smaller asteroids, whilst maintaining their original momentum
- There must be a method for changing the number of asteroids in the simulation
- The shuttle must be able to fly anywhere in the asteroid field and avoid the asteroids for as long as possible
Screen size of application:
- Does the program use the full screen size? /5
Interface and usage:
- Does the program use a simple interface? Is it easy to use? /15
Display:
- Do the asteroid and shuttle sizes seem appropriate? Do they accurately represent their real counterparts? /15
Code Readability:
- Is the program coded in a systematic manner? Using appropriate architecture? /8
- Is there a sufficient amount of comments? /2
- Is there an accompanying README? /3
Complete Solution:
- Does the program meet the requirements described in the problem? /5
Part A:
- Do asteroids break apart when they collide? /5
- Can you vary the number of asteroids currently being displayed? /5
- Are asteroids recreated when others leave the screen? /2
Part B:
- Is the shuttle able to navigate through the simulation? /5
- Does the shuttle avoid asteroids for a suitable period of time? /5
- Does the program offer above and beyond features? /10
Performance:
- Does the simulation scale well when more asteroids are added? (Slowdown isn’t too extreme) /5
Bugs:
- Are there any reported bugs/issues? /-15 (-5 per bug)
- Are there any un-reported bugs/issues? /-50 (-25 per bug)
Content:
- Was the presentation clear and understandable? /5
- Was the code well explained during the presentation? /5
Professionalism:
- Did the team appear professional? Were all team members available? /3
- Was the team communication clear? Such as: proper use of jargon, not extremely technical? /2
Presentation:
- Was the presentation interesting? Easy to follow? /5