Amazing Space Adventure #2


Instead of diving right in programming stuff, creating assets etc., I've started this project by writing down ideas that have been floating around in my head for a few weeks already.

Now the scope of this project is becoming clear: it's big! Jikes! There is just so much I want to do with this game. At some point, choices will have to be made, scope will have to be reduced. But for now, just writing it all down.

I won't share the whole thing, it's full if TODO's and question marks. But here's the top of it:

Basic idea

Amazing Space Adventure is a 2D space adventure game with:

  • more or less realistic (2D) gravity and orbital mechanics
  • a ‘cosy size’ universe to explore with lots of amazing things to see
  • aliens, fantastic stories, quests to solve, lots of adventures to have
  • cuteness, humour and non-violent problem solving

When we think of space adventures, we think of travelling in sleek spaceships to different planets, exotic places with different coloured skies, strange life and aliens. We think of blazing stars, colourful clouds of gas and mysterious black holes. A place of wonder and possibilities. 

In reality space is far too big and empty for adventures. Distances between things in space are mindboggeling, inhuman, completely prohibitive to exploration.  

In sci-fi, this is solved by high technology: faster than light travel, warp drives, etc. In games, we just jump from one star to another. We beam down to planets. Or we just move our spaceships linearly, ignoring gravity, Newton’s laws and Einstein’s space-time.  

For this game I’m taking a different approach. I’m going to make space small. Literally, the distances between stars and planets will be small, and the time it takes to travel between them will be short, at moderate speeds. A cosy little universe. Human scale. Now the universe is a place of discovery and adventure again. A place in which stories can take place. And also a place where it’s simple and fun to fly rockets, just using Newton’s laws of gravity.

Motivation

I got the idea to make this game from playing Kerbal Space Program and the Pico-8 game Orbital (and lots of other space games too). The thing about KSP that I love most is navigating using orbital mechanics. But KSP is a very realistic simulation and way too complicated for most casual gamers. It takes hours of building, planning and flying to land on the moon and get back. What I love about Orbital is that it has orbital mechanics, but made easy. Distances are small, you have a lot of fuel, and you get to explore a whole star system. It also has a bit of adventure vibe with some story elements. However, in Orbital, the Newtonian mechanics are not used to their full potential, e.g. you can only orbit around stars, and can’t transition to orbit around planets. Instead, you suddenly jump to a different view to land on the planet.  Also, there are no people, no characters to make the story come alive. (But it’s Pico-8, you can only do so much).  

In this game, I want to have the fun of flying rockets with orbital mechanics, the wonder of space exploration, the excitement of adventures and a bit of humour. (Wow, that’s a lot!)      

Gameplay

You control a little alien character, and his spaceship. The goal of the game is to explore the universe and have little adventures. You fly your ship, land on planets/objects and walk around to discover new things and interact with aliens. 

To get to new places you’ll have to finish quests or find objects in exchange for resources. The main resources needed are fuel and parts for your ship. You’ll have to upgrade your ship with bigger fuel tanks (to get further) and more powerful engines (to get there faster and land safely). 

It’s an open world, so you can’t ‘finish’ the game, although after a while you’ll have seen all there is to see. There could be a main story line that when finished can be considered the end, but the player can also continue just exploring. Since we have a whole universe, the game can be made as big as we want, adding new places and new stories. Perhaps in the far future, the game could have expansions or be moddable. There could also be random generated stuff to improve replayability. 

You can’t really ‘lose’ either. You can get stuck by crashing or running out of fuel, but there should be lots of checkpoints to restart from (e.g. every planet you land on). 

The game will be non-violent: no shooting, killing, etc. There might be ‘evil’ characters who will be obstacles in a quest, but you’ll have to find non-violent means to get past them. This is a peaceful universe. 

Physics

A lot of time will be spent flying your spaceship. 

Flying means: accelerating and steering a rocket. Accelerating is done by firing your engine. Decelerating is done by turning around and firing your engine. Accelerating and decelerating is the same thing in Newtonian physics: i.e. changing speed. Only relative to your target you’ll be accelerating or decelerating. And everything in the universe is moving relatively. If you don’t fire your engine, your speed won’t change, so you won’t slow down automatically (unless when in the atmosphere of a planet). Steering means rotating your ship. In Newtonian physics, when you are rotating, you’ll keep rotating (spinning) if you do nothing. We’ll make the game a bit easier by automatically stabilising rotation. 

Your ship is affected by gravity according to Newton’s laws. That means that you are either  in orbit around an object (planet, moon, star or something else), or falling towards an object (also called landing when done sufficiently slowly), or escaping into outer space. By firing your rocket and changing speed you transition between orbits: from a landed state to stable orbit, to another orbit around another object, to landed again. You’ll need to think about orbits to get anywhere because firing a rocket takes fuel which is finite, and the direct route (a linear path or line) actually uses much more fuel than following the orbits and changing them incrementally. Executing orbital manoeuvres will take a bit of practice, but once you get a feel for it, it’s fun (I think so anyway). The amount of fuel you have should be sufficient to allow some inefficiency in manoeuvres and room for errors. Also, the game will display a trajectory for your ship that will show you your orbit and transitions to new orbits. When you accelerate, the trajectory will be updated in real time, so it should be pretty intuitive.

The universe in this game is ‘a cosy size’. There are lots of places, planets, moons, stars with starsystems, black holes, derelict spaceships etc. Possibly thousands of (generated and crafted) objects to visit. But they are relatively close to each other and easy to get to. In real life getting to the moon takes days, and to get to another planet takes years. In KSP, to land a module on the moon and get back, will take a couple of hours of planning, building, flying and skipping through time; and I’m not including the countless hours of practice on easier missions before you’ll be able to pull it off!  In this game, you can easily fly from your home planet to its moon in a minute or less. That’s because the moon, in this game, is actually close! All distances and sizes in the game are ‘cosy’. Your home planet will be a big ball, maybe a hundred times as big as the player character, but that ratio is much smaller than in real life, where the diameter of the earth is six million times as big as you are tall. In real life, the distance to the moon is 200 million times your length. In this game, the distance to the moon will be perhaps a few hundred or a thousand times the size of the character. (The precise ratios that will make the game fun to play, will need to be determined experimentally).

Some objects (other star systems!) may be quite a bit further. That means that to get there in a reasonable time, you’ll need more speed, and therefore more fuel. Also, some objects will be large and have a strong gravitational pull: to land safely you’ll need a bigger engine to slow down enough. The idea is that when you have enough fuel and a powerful enough engine, you should be able to fly anywhere in minutes. At the beginning of the game, you won’t have enough resources to get there: you won’t be able to escape the gravity well of the home star and it will take too long to get to another star. You’ll have to visit the moon first, and the nearby planets to get the needed resources. So, Newtonian mechanics actually set the pace for the whole game! 

Leave a comment

Log in with itch.io to leave a comment.