Concept Pilot a spaceship via short bursts and the gravitational pull of nearby celestial bodies.
A gravity assist is the use of a celestial body’s gravitational field to alter a spacecraft’s speed/path. In this game, you use gravity assists to navigate across a stretch of space, hopefully without exploding!
As a child, I’d ask my brother Rick for game ideas. A particular idea stuck with him for several years, and when I’d ask for inspiration - he’d mention the “space game.” He described the game as a ship using gravity wells and celestial bodies to navigate an area. I was unconvinced it’d be fun, citing level design issues and the pace the game would need to take to feel smooth.
After years of my brother offering his idea, I eventually dug into Unity, and knew my first game had to be the space game. The concept was generally simple, and I needed a project to learn Unity on, so I trekked forth.
Technically, the game is more based on the Oberth effect (powered flybys) than the slingshot effect used for a gravitational assist, but if you don’t tell anyone, neither will I!
In the Beginning…
An early design decision I made was to utilize 2D space and view the game from a ‘flat’ perspective. This eliminated a lot of daunting design questions, such as “how does a camera show the space while the player is orbiting a planet?” It also enabled physics simulations to be much simpler.
The player’s ship is controlled via the player’s mouse, which in turn means both aiming the thrust direction and setting the thrust power is performed through one interaction. The UX is fairly simple.
After playtesting the basic concept, I added a slow motion effect while the player is determining their next jump. This allows for the player to have a bit stronger grasp on the flow of the game, as well as hitting key jumps.
The level design utilizes ‘moons’ (orbiting bodies) in a few places, which leads to interesting timed jump events. Admittedly, this mechanic could have been explored a bit further.
Where It Landed
The game is really hard. The code isn’t super great. The level design is pretty meh. I learned a lot, and my brother liked it.
Considering this was my first attempt at building a “complete” game in Unity, I am pretty happy with the results. There are a huge number of things I would like to change or build differently. Realistically, the game requires a rewrite from the ground-up, but hey - it was my first try!
In the future, if I ever revisit this game, I’d like to work towards a mobile version as well as desktop. The simple mechanics would translate quite easily to a mobile/tablet context, and the levels are short enough that it could be considered a casual puzzle game.