Solar Lander


Fly an Apollo-style lander around various planets, landing to earn points and then redocking with the command module to advance to the next level.

Solar Lander a 2D lander game that simulates orbital mechanics and the conservation of angular momentum.  Players fly around in an Apollo-style lander, land on the surface of a planet, and then redock with the command module to advance to the next level.  You start out in orbit around a planet and docked with the command module.  It is your job to make a safe landing on the surface of the planet, then get back into orbit to redock with the command module.  Each planet has its own unique characteristics based on real life planetary bodies with procedural terrain generation.  All of the game's mechanics are simulated with a full physics simulation that runs 1,024 times per second!  This makes the 2D simulation very accurate and very realistic.  There is no arbitrary rotation rate or acceleration.  As you use-up fuel, your maximum acceleration will increase and you will be able to change your rotation speed more quickly.

This game is currently hosted on Steam Early Access, here (with free demo), but will eventually be hosted on this website as well.  The objective of the game is to land on the surface of the planet, and then rendezvous and redock with the command module.  The purpose of this game is primarily go give me experience with creating and releasing games.  The knowledge and experience I gain from making this game will go towards building games without preexisting game engines.

Project Goals

The current goals for this project are listed below along with a status report and which update will have the described feature.  This list will change as items are completed.

Short-Term Goals

Many of the long-term goals (LT Goals) are dependent on these short-term goals (ST Goals).  These short-term goals will be the first to make it into updates and and are generally the highest-priority goals.  These goals may be slowly implemented in periodic updates over the course of a few months.

  1. Modularize the game's code to make updating and maintaining it easier (In Progress: Physics Overhaul Update).
  2. Eliminate unrealistic rotation behavior on large planets (In Progress:  Physics Overhaul Update, Dependent on ST Goal #1).
  3. Eliminate all scene loading except for at the very start of the game (In Progress:  Physics Overhaul Update).
  4. Add more camera controls to the game (In Progress:  Physics Overhaul Update).

Long-Term Goals

The long-term goals are goals that are not going to be implemented until much later in development.  Many, if not all of these goals are dependent on the short-term goals making it into the various updates to the game.  Long-term goals may be up to a year or more away from being implemented.

  1. Implement input inertia for key/button inputs that control engine thrust (In Progress:  Physics Overhaul Update).
  2. Implement in-game axis reassignments, sensitivities, and dead zones (In Progress:  Physics Overhaul Update).
  3. Add Tutorial and Scenario game modes (Not Started Yet).
  4. Implement LUA support for custom game modes (Framework in Place).
  5. Implement vehicle and planet modding (Not Started Yet).
  6. Implement LAN and Internet multiplayer game modes (Not Started Yet).
  7. Implement custom physics engine to override Unity's default engine (Not Started Yet).
  8. Migrate game away from Unity engine without compromising availability for Linux and Mac platforms (Not Started Yet).

Physics Overhaul Update

The Physics Overhaul Update is an in-progress update that is centered around overhauling the game mechanics (mainly around the physics simulation) to make the game behave more realistically than it currently does.  The main focus of this update is to eliminate the jerky rotation that happens when you are over large bodies.