Orbital Space - An open world Sci-fi adventure

http://chrisdalke.com/media/logoMedium.png

`Hi guys! Orbital Space is my first large-scale game. I’ve worked on many small-scale projects and this is an idea I’ve had for a while. It seems to be the age of construction games with the success of minecraft and other tile-based games. I’ve always loved the idea of a spaceship construction game, but all the ones I’ve seen have been lacking in depth and complexity, or do not allow the player to completely customize their ship - instead, it feels like you are piecing together premade parts or layouts. In response to this, I’m creating Orbital Space: the space simulator and construction game that I would like to play.

I’m starting this thread to show progress, look for suggestions, and to keep myself accountable so I continue to stay motivated to work on the game! - Chris
`
About
Orbital Space is an 2d open world Sci-fi adventure at galactic scale.

Explore the world around you: Each game you start has a star system with procedurally generated asteroid belts and planets. Asteroid belts are a hub for industrial activity, as you will find a wealth of resources and space stations hidden among the rocks. Fly away from the belts and you will find planets; centers for commerce and activity, they are filled with potential missions and interactions. Both of these areas have potential for conflict, however, as numerous groups fight for resources.

Build your spaceship or space station: Every piece of the world is simulated on block scale, so you can create and destroy anything you want. It is up to you to build whatever type of ship or space station you like. Your ship will behave differently depending on its physical attributes. Construct a ship that will match your interests within the world. You could build a sprawling asteroid mining ship, a light and fast cruiser, or an armored warship - The decision is up to you. To find components for your ship, you could visit the asteroid clusters to find raw materials which can be machined into technology, or you can visit a space station to trade resources and currency with the locals. The shipyards also contain previously designed ships which you can purchase using your credits.

Negotiate alliances within the several political factions that exist in the world. You are free to accept quests from either of the groups, and as you explore the world you will find many NPCs that will offer quests. Orbital Space has deep RPG mechanics, so you can setup your character to focus on whatever skill you find fit. Whether you would like to be an asteroid miner, political diplomat, or a bandit, you can customize your skills to ready yourself for any task. As you complete missions and sell your resources, you will gain currency in the form of GU (Galactic Units), which can be used to win friends, influence people, and buy cool

Features

  • 2d, Top down camera style
  • Procedural world filled with quests, missions, and characters
  • Fully constructible/destructible spaceships and space stations
  • Technology tree based on mining, refining and trading resources
  • NPC Factions and epic war-scale space battles
  • RPG-style Player levelling system
  • Real simulated economy for buying and selling commodities
  • Limited scale and detailed universe - Focused on quality rather than infinite spread

Screenshots
Early Spaceship Construction
In these screenshots, it’s hard to see, but you are able to place blocks on spaceships, which can rotate and move around in space. As a player, you can seamlessly enter and leave the spaceships, and your orientation and movement is in relation to whichever object you are currently riding.

http://chrisdalke.com/media/screenshot5.png

http://chrisdalke.com/media/screenshot7.png

http://chrisdalke.com/media/screenshot17.png

Early Main Menu
These are some early pictures of the main menu. I’m using LibGDX’s scene2d system to create UIs, combined with a custom pixel art skin.

http://chrisdalke.com/media/screenshot20.png

http://chrisdalke.com/media/screenshot22.png

http://chrisdalke.com/media/screenshot23.png

Updates
May 2016 - First Forum Post!
November 2015 - Started work on Orbital Space

Demos
The first demo will feature the following:

  • Procedural asteroid field generation
  • Game saving and loading
  • Spaceship construction with infinite resources
  • Thruster physics for spaceships
  • Player movement inside and outside of ships
  • Physics collision between ships and world

I plan to have the first demo released by the end of June 2016. Keep an eye on this thread!

Creating something because you would personally enjoy it is a great idea. This looks interesting, so I’ll post here to keep updated. Good luck!

Looks good so far! If you need any programming / LibGDX help just say so and I will be happy to help ;D

Thanks! I’ve been stuck on writing a function for custom AABB collision raycasting so as procrastination I just added features for ingame screenshot and video recording. Now, you can press a button and the game will start a recording. When you press the button a second time, it finishes the recording and saves it to a file.

There’s noticable lag ingame, but the game’s loop is decoupled from the display loop so it doesn’t affect gameplay. In the recording, the video framerate is smooth. Here’s a video of the main menu.

aj_2gAvjTEM

[EDIT] Finally got the collision code working! It took a frustrating amount of effort. Currently this collision code doesn’t reference the game object tree, it simply looks at the grid tiles on the ship to determine collision when on a spaceship. When off the spaceship, I will be using a physics library since the ship movement is largely governed by thrusters and other physics features.

To do this, I record the delta movement between the start and end of the simulation state. Then, I rewind the velocities and add the X and Y components separately and perform a collision check for each of the movement steps. Right now, I’m just setting the delta values to 0 when you hit something, but in the future I will modify this to find the normal of the surface you collide with and get a position based on an offset of that normal.

lPNFyTkvhxQ

[EDIT 2]
Just got thrusters working. The thrusters receive signals from the player input and will be the primary way to move ships around. In the future thrusters will take energy or fuel to run. I just added these as a test of the initial concept and it’s looking great, especially with a particle effect.

I haven’t spent enough time working on the code so I wasn’t able to get the particle effect to rotate, but in the final game when you pilot the ship, the WASD keys will each map to all of the thrusters in that key’s direction. You can position your thrusters in such a way to create any sort of movement from those 4 directions.

BPhuJchpdRw