output_h264.mp4
The Moon Must Be Ours is a game I developed as technical assessment for Outfit7's recruitment process. The repository stores the Unity project, including all the content created by me, as well as all its dependencies it relies on in order to help streamline the review process.
Development time: 10 days
It is 2021. You, Alon Must, are the leader of the 21st Century space race. To ratify this position, there is still one objective to complete: reaching the Moon for the first time in the last 50 years. You have invested everything on this quest and success is guaranteed, but you are not the only participant in this competition...
The requirements for this assessment were:
- Spaceship: The element under player’s control. Among its main features are: motion based on player’s input, automatic shooting and upgrade by power-up pickup. It can be damaged by enemy shot and enemy or obstacle collision.
- Enemies with behaviours (paths, formations): There are two types of enemy in the game. Vans and Destructors. Vans spawn in groups of four and follow a circular pattern. They drop boxes as their projectiles. Destructors, on their part, appear in groups of three, in V formation and with a linear movement. They shoot smiles. Both can be damaged by player’s rockets.
Three destructors in V formation
- Obstacles: In your journey from the Earth to the Moon you’ll traverse the different atmosphere’s layers, each with its own type of obstacle. On the Troposphere you’ll find Clouds, which don’t cause damage, just blur your vision. Then you’ll move to the Exosphere, where satellites orbit the Earth. These obstacles, following a sinusoidal movement, cause damage if you hit them.
Clouds and satellites overview
- Powerups: There are three types of power up: gun (increases amount of bullets shot), shield (provides a few seconds of protection) and health (increases player’s health).
- Background environment: The background environment has two main parts: the skybox and the spawned objects. The skybox uses a custom procedural shader that changes depending on the atmosphere layer (aka stage of the game) the player is. It evolves from sunset to starry sky. About the background objects, they are obscured and scaled versions of the obstacles.
- Scoring: The scoring of the game is formed by two elements. In the first place, we have the enemy kill count. On the other side, we have a progress bar that shows the stage tha player is now.
Game UI: enemy count at the top. Progress bar on the left margin.
- Engine: Unity 2021.1.3 + Shader Graph
- 3D Modeling: Blender
- 2D: GIMP
Note: All these packages are included in the project
- Text Mesh Pro 3.0.6