Planet Impact

A work-in-progress game of 5+ years, built from the ground up in Unity.

Physically simulated planets orbit around a star in the title screen of Planet Impact.

Key Features

  • Mobile same-device multiplayer
  • Realtime 2D shadows
  • Gravitational physics simulation
  • Music and sound effects

Description

This project arose quite on accident...

After playing Thomas Was Alone as a kid, I became rather fascinated with its simulation of 2D shadows, and desperately wanted to re-create the effect in a project of my own one day. During my junior year of high school I finally got my hands on the Unity game engine and had a chance to do just that; however, being completely new to Unity, C# and games programming in general, achieving this small task turned out to be a considerable challenge. Nevertheless, I persevered, and found immense satisfaction in the learning process — so much so that after successfully implementing a satisfactory 2D shadow simulation I challenged myself to take the project further.

Before long, I was set on creating a 2-player competitive local multiplayer game for mobile devices in the vein of Pocket Tanks and Drive Ahead; thus, "Planet Impact" was born.

The action of Planet Impact takes place in a small solar system consisting of 6 planets and 1 central star. Each player controls 3 of these planets, one of which they select to be their "base." Players take turns launching asteroids into the solar system in an attempt to destroy their opponent's "base" planet, relying on their understanding of gravitational physics to do so. Numerous powerups, hazards, and other modifiers add to the fun!

All of the art, code, sound effects and music in the game were made by me, from scratch.

Demo

The animation that plays when the game starts.
Setup Phase 1: Each player places their planets (the blue and orange squares) around their half of the solar system.
Setup Phase 2: Each player selects a planet to be their "base" — the planet they must to protect to win the game.
Setup Phase 3: Each player places a defensive satellite in orbit around one of their planets. These can be manually controlled to shoot down incoming asteroids.
Setup Phase 4: Powerups and hazards (blackholes and portals) are placed randomly throughout the solar system.
After all setup phases are complete, the game begins in earnest.
Players take turns launching asteroids at each others planets in an attempt to destroy them, during which the other player may attempt to intercept the asteroid using their defensive satellite. Asteroids are affected by the gravity of all the celestial bodies in the solar system, so an understanding of gravitational physics is necessary to succeed.
A player wins once they destroy their opponent's "base" planet.

Tools Used

Languages: C#, HLSL

Software: Unity, Aseprite, Bosca Ceoil, Audacity, Git