Inspiration

The concept was inspired by the themes of sustainability, innovation, and optimization. Operation: Illumission is a game focused on improving the efficiency of solar panel farms. The art style was inspired by older games such as Missile Command.

What it does

Operation: Illumission is a game that stacks your skills at multitasking by allowing the player to control 3 solar panel towers. The play must tilt the panels to align with the sun to get maximum energy while also avoiding getting blocked by the clouds in the sky. Controls: 1, 2, 3 : select the respective solar panel A and D: tilt the selected solar panel W and S: Move the location of the solar panel

How we built it

We built the game using C# in Unity Game Engine and made assets in Piskel and Paintdotnet.

Challenges we ran into

Our first challenge we ran into was rotating our solar panels to the right degrees. We wanted a range of -45 to 45, but when you go under 0, it would break because in Unity, the rotation axis would see it as 175 instead of -5. To combat this, we would use a formula, (angle + 180f) % 360f -180f so that our angle would never loop above 360 or 0.

Another challenge we faced was calculating the angle between the sun and panel. Our solution to this was to get the sun and panel’s coordinate differences so we would be able to calculate the angle using inverse tangent. After getting that angle, we would get the angle difference subtracting the panel rotation from the angle. This would give us a reliable scoring system where you have to put your panel at the right angle to get the maximum amount of points.

One last hardship we had to overcome was getting the movement and disable system correct. The way we wrote our code was extremely messy so a lot of our variables would overlap with each other. We were able to fix it by writing cleaner code so we would not always call the same GameObject over and over again.

Accomplishments that we're proud of

We are very proud of the amount of math we implemented into our code in order for our game to work. It felt like something we were building from scratch without the use of an API or built-in features from Unity. Using our old knowledge of trigonometry was very satisfying knowing that our knowledge from previous calculus courses helped us.

What we learned

In Unity, we learned how to use a Coroutine to stop our GameObject for a set amount of time and also how to use a Singleton. A Singleton was extremely helpful in the long run because we were able to use the functions in the GameManager anytime we wanted without creating a variable reference to that script saving us a lot of time.

What's next for Operation:Illumission

We would like to add more levels and complexities for Operation:Illumission. For complexities, it would be more obstacles than just the cloud and the thunderstorm. Maybe some rain or snow would be a cool feature we can implement.

Built With

Share this project:

Updates