Creating the Ships List – I

In this article I’ll be speaking about what I’ve been up to with regards to researching and defining the dimensions and specifications of the ships and engines. I aim to have engines and ship sizes which are both believable in size and capabilities, while not necessarily being so accurate as to be confusing for the player. I’m writing this simultaneously with the ships list.


My aim is to make a list of ships, similar in structure the one found here, which should offer a good overview of the capabilities of each ship. As the ships in HORIZONS are to be modular (with interchangable components), each component should be believable in scale and capabilities, affecting the ship as one might expect.

First Stumbling Steps:

What is perhaps obvious, but easily overlooked, is that the physical attributes of a ship need to be reflected in the visual representation of that ship. Initially I created a draft of the ship list and created a nice balanced amount of varied ship classes, even going so far as to defined the hull mass, engine classes and max acceleration/thrust.
When I started to model the Locust I realised that it was quite hard to get the ship to match up with my expectations on paper. That’s not to say it isn’t possible, but I felt modelling the ship first and then working out a set of matching attributes based on the model would ultimately be an easier endevour.

So now I calculate the attributes after I have setup the basic shape of the ships in Blender3D, making sure that have the same dimenions as when they appear in game. As an example of a scout ship, the ‘Locust’ ship has dimensions of 26m / 12m / 6m, with 2 static hardpoints and 1 turret.

Mass, Volume and Density:

My first step was to look at what is needed to work out the acceleration of an object, as I was eager to define how fast each ship would be in-game. This is given by the simple formula:


The force (F) will be defined by the engine class and number of engines on the ship, so we can come back to this a little later. But first I would like to look at the volume and mass (m).

So how do you calculate the mass of an object? A quick google search will reveal that mass is measured in Kg, and that mass is equal to the volume of the object multiplied by its density. Well the density of an object is defined by the density of the materials used to make the object. There will be six main parts which make up a ship in HORIZONS, so is the break down of what makes up the ships:

Hull: The shell of the ship, the hull, defines the basic hit-points (tons). All ship hulls in HORIZONS will be constructed from aluminium, which has a density of 2700 Kg/m3. Taking the volume of the Locust, mentioned above, with a hull thickness of 5cm, the mass would be 135845.2Kg, or 133.7 tonnes (long)

There will also be an option of adding armour plating to the hull of a ship. Armour plating will be made of steel, which has a much higher density at 7850 Kg/m3 which should add a significant amount of tonnage.

It is obvious that just using the rectangle dimensions of the ship is not the most accurate (indeed it is actually quite inaccurate) but it will suffice for my uses as at least the ships will all have a relative amount of inaccuracy in their total masses. It will of course be possible to tweak the overall masses etc. later for balancing out issues and inconsistancies.

Generators : Generators produce electrical energy for use by the different components of the ship. The power generators will be constructed from steel.

Engine: There are two different engines available; sub-light engines for relatively short distances of say, within a solar system, and then there’s jump drive engines. Both types of engine will be constructed from steel, although it is very likely I’ll change the mass of the engines to tweak performace of the ships.

The engines will not take electrical power directly from the power generators, and so will work independantly, running on there own powers sources (hydrogen fuel, nuclear cells or whatever).

Components: There are many different components available, each adding different perks and features to your ship. Component material is mainly Polyetheretherketone, which is a plastic with a density of 1320Kg/m3. The components will require a specific amount of electrical power to function.

Turrets/Pylons: Both turrets and missile pylons will be constrcted from steel again with a density of 8850Kg/m3. I have picked a high density for turrets and missile pylons because heavily armed ships should really have a handicapped acceleration.

Static Hardpoints: The static hardpoints on the ships are what you fire when in the main view first person mode. The number of hardpoints will vary, but typically a ship will have either 2 or 4. For mass and density, they will be comparable to the turrets.

n.b. obviously the density of metals can vary depending on various alloying elements added (tungsten or chrome for example), but these values are taken for simplicities sake.

So that’s the different parts of the ship covered, let’s move onto the actual mass of the ship. We can’t just calculate the ship’s mass from its volume (width*height*length) * denstiy, as this will give the density of a solid object. For this reason it is necessary to calculate two volumes, one for the outer volume of the hull and the other for the inner volume; the empty space. I do this by assigning a wall thickness parameter to the ship, which can be scaled by the player (for a cost in the ship yard) to gear the ship up as either a heavier, more armoured craft or a lightly amoured affair with a faster acceleration.

I mentioned above that I will be using steel as extra plating which can be installed around the ship to increase the hit points. The plating added to a ship will be measured percentage (0% plated – 100% plated). As with the hull thickness, the amount of plating (which has a high density) can be added to increase hit points at the expense of acceleration. This will be available to players in the ship yards.

So now I have the mass of the empty ship (Kg) minus all turrets and components still, as well as the internal space (inner volume m3). We still need to work out two more factors which weigh into the overall mass of the ship, those being fuel and payload. I will not show that here, but instead cover cargo a bit further on as the fuel and cargo will also affect the acceleration of your ship when playing as they affect the overall mass of your ship.

As you can see though, to get the total mass we need to take the hull, components, hardpoints, engines and interior objects into account.

Next up is to define the Force that can be applied on the ship, then hopefully I’ll be able to work out some actual values for acceleration.

Engines and Force

I have created a first draft of proposed engine sizes and thrust generated. I got the values for the engines based on the Rocketdyne Wikipage and this Boeing page but I’ll undoubtidely have to change them when I have larger craft to fly because these are totally untested. Here is an example of Engine classes and the thrust they produce:

Class Thrust (N)
E7 670 KN
E6 980 KN
E5 200 MN
E4 350 MN
E3 530 MN
E2 770 MN
E1 1 GN
E0 7 GN

n.b. the SI for force is Newtons (kilo-, mega- giga-)

So now we should be able to calculate the acceleration of a ship based on the engine class installed in the ship and its total mass. Bare in mind that this is just the sub-light thrusters, and the jump-drives will not be influenced by the mass of the ship itself, but rather the mass of the target and the distance.

So, looking back, we get the acceleration from


Let’s take a look at the Locust MK I ship. it has by default 2 E7 class engine thrusters:

Ship Name Dimensions (m) Hull Thickness(cm) Num Engines Indiv. Engine Thrust Total Engine Thrust Mass Max Acceleration
Locust MK I 26m x 12m x 6m 10cm 3 (E7) 670,000 N 2010000 N 135845.2 Kg F/m = 14.7963 m/s2

And lets take a look at possibly one of the much larger ships in the game :

Ship Name Dimensions (m) Hull Thickness(cm) Num Engines Indiv. Engine Thrust Total Engine Thrust Mass Max Acceleration
Big Battlestation 4,500m x 750m x 900m 120cm 12 (E1) 1,000,000,000 N 12,000,000,000 N 76232496100 Kg F/m = 0.1536 m/s2

And that’s pretty much how I plan on working out the acceleration when I create the rest of the ships.

I will cover jump drives in a later article, when I have made some more progress on the octree scene graph and galaxy generation.

Cargobay, Components and Life Support

Lastly I’d just like to cover some ideas I had for the cargo and transportation with the ship.

As you can see above I already have the interior volume. The interior of the ship will be split into three areas.
Here’s how I plan on assigning the interior space:

Life Support: For each crew member and/or passenger seat on the ship an area of 4m3 will be set aside and used as living space. Living quarters will be needed for all crew, passengers, captured pilots and purchasing slaves from the outer colonies on the black market. So, if you have a small ship with only 4 meters^2, then you cannot pick up passenger missions because as the pilot you’ll already be using the living space.

It will be possible to extend the life support on your ship, but you’ll end up eating into the cargo bay space.
Life support will be measured in seats, with passengers and pilots taking 4 square meters. Space slaves and hostages will take 2 square meters.

Components: In order to install additional components to your ship, you’ll need to ensure that you have the following:

    Enough space to install the component (taking from the interal volume)
    A free component interface
    Enough free electrical power

Each of these 3 points are actually quite flexible, and providing the player has enough credits they’ll be able to install extra component interfaces for a fee (which increases with the total amount of interfaces already on the ship).

There is a difference here between the space required and an interface. The space will come directly out of the interior volume of your ship (so again eating your cargo space), but further to this, if you want to install 6 components you’ll have to first install 6 component interfaces.

Cargohold :

The remaining interior volume will be assigned as the cargohold (m^3), and it will be here that any trade goods will be held when transporting. The amount of trade goods you can transport will be restricted only to the volume (not the mass/weight).

When purchasing and outfitting your ship, you’ll be able to set the percentage of interior volume (minus the life support) which will be assigned between cargo space and component space.

And thats about it. One thing I’d like to say is that most of the information is based on what I have recently read on various websites (after apparently not paying enough in physics class at school). If you happen to see any thing above that is plainly just wrong, or you feel could be done better then I appreciate any comments.


  1. #1 by Chris Harshman on April 20, 2010 - 8:17 pm

    The one thing that really sticks out comming from experience it is far better to have the player assign a certain size to the cargo bay, and storage and make components the float value.

    This is because it will make life much easier when it comes to a full cargo bay and added stuff that would reduce cargo space.

  2. #2 by Robert on April 28, 2010 - 3:27 pm

    Something should you go down the “realistic” path, should be to note the sheer volume of fuel require for SRB and their burn times (Standard Impulse)

    While you might think that the values should give some good variety right now, the nature of them is very different. I mean bare in mind that the current Space Shuttle is approx. half the size of a Jumbo Jet, but only has enough fuel on-board for approx. 120seconds. Given it is designed for LEO Operation using small 1second bursts for movement means this is fine, but fact is that should you want to actually fly it anywhere you’d end up needing to be very careful about burn times and then have quite long waiting periods to get anywhere.

    The added issue is that the said fuel used is actually the biggest issue when considering weight ratio; alright so this issue is bigger within a gravitational area, but it is still quite problematic given that in order for a longer burn time you need more fuel; which adds weight so you need more fuel to compensate. Close to 90% of the fuel on-board Saturn/Aeris Rockets is there simply to compensate for the weight, making them extremely ineffiecient means of travel especially in space.

    This is why Ion Engines are used more and more for long-distance travel, as they can utilise energy for the majority of the reaction and only a small amount of physical fuel (in the form of an ionizing gas) … but their issue isn’t how long they can be used given they tend to carry enough fuel for nearly 3years of constant useage but rather that they have extremely low output force.

    Really the question comes down to how realistic do you really want to be?
    Especially as a realistic game/sim, honestly isn’t quite as fun to play as one that just makes everything up. I mean Elite 2 was quite realistic and fun… but only when really seeing the space travel as purely a means of getting from A -> B to trade and such; combat and space flight are far more enjoyable… in-fact far more hands on in Elite or X. That said even those have their issues.

    Personally I’d suggest trying to strike a nice balance between realism and what is enjoyable to actually play, that is the point in prototyping after all. Elite 2 fans might scream a collective “Nooooo!” should you make flight closer to an aeroplane, but honestly I don’t know how many of them actually fought and flew around systems on manual without using the Startime but I can guarentee you it wasn’t many.

    Don’t get me wrong, I liked the newtonian system in Elite 2. It’s just there are ways to give the feeling of that style of “weightless” flying without making it something that rivals NASAs Shuttle Simulator.

  3. #3 by Lintfordpickle on April 30, 2010 - 10:42 am

    @Chris, thanks for your comment. I guess what you are saying is not so different than what I had in mind. Obviously the amount of space you assign to components will reduce the overall cargo space and visa versa.

  4. #4 by Lintfordpickle on April 30, 2010 - 10:58 am

    @Robert, thanks for your great comment.

    It has spurred me on to write another article which I’ll hopefully post in a few days. In short though I don’t plan on making it so realistic as to not be fun, and I plan on being quite lenient with variables of mass and force etc in order to strike a nice balance for gameplay. It doesn’t make sense (in terms of fun-factor) to require the player to completely fill a cargo hold of fuel just to take off from a planet with a high gravational force.

    I’m thinking of introducing both fuel and fuelless thrusters, both with pros and cons, and letting the player outfit the ships as they like. E.g. Ion thrusters will not require fuel but produce a much lower thrust force than chemical rockets as well as not being able to function within planet atmospheres (they require an environment void of ionized particles). Chemical Rocket engines on the otherhand provide more thrust and are usable within ionized environments (atmospheres), but will require fuel.

    Now I’m just trying to find some equations for calculating fuel consumption of engine thrusters and power/thrust output which I can integrate into the game, then I should have the article finished.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: