Hi,
This is intended to be a full list of (my) suggested changes to correct game balance. I don't really want to suggest new features or bug fixes here; however in some cases this was necessary to address game balance issues.
Economy
Every item/block should have an inherent value (e.g. a thruster block may have a value of 690 credits). When there are standard conversions from one item type to another item type, the inherent value of the items should reflect those standard conversions. For example; for coarsing and refining ores, if 10000 L1 blocks of awesomite can be refined into one L2 block of awesomite (which can be coarsed back into 10000 L1 blocks), and if the value of an L1 block of awesomite is 10 credits then the value of an L2 block should be 100000 credits.
The base price of an item in shops should depend on the inherent value of the item, the desired stock level and the quantity of that item in stock; using a formula like "price = value * ( (1 + stock_level / stock_quantity) / 2)". A shop's selling price should be higher than the base price by some factor (shop markup) and the shop's buying price should be lower than the base price by the same factor; so that shops make profit. A shop's stock level may be 10000 and a shop's markup may be 110% (but both of these could be settings in the server's configuration).
Combining all of this; the selling price for an item in a shop should be determined by "(value * ( (1 + stock_level / stock_quantity) / 2)) * markup" and the buying price for an item in a shop should be determined by "(value * ( (1 + stock_level / stock_quantity) / 2)) / markup". There should be no arbitrary limit for the quantity of items in stock (like there currently is) and if there's a massive quantity in stock (e.g. millions of rock blocks) then the item just becomes cheap/worthless.
For example; if the inherent value of a thruster block is 690 credits, the stock level is 10000 and shop markup is set to 110%; then a shop that has 1 thruster in stock would sell a thruster for 3795380 credits and buy a thruster for 3136677 credits, and a shop that has 100000 thrusters in stock would sell a thruster for 417 credits and buy a thruster for 345 credits.
Reasoning: This creates the ability for players to become merchants (buying items at over-stocked shops and selling them at under-stocked shops); which would make the game more interesting and would also help to fix some problems on multiplayer servers (e.g. the shop near the initial spawn point running out of things that beginners need and shops near asteroids refusing to buy things like rock and lava). It would also encourage players to develop factories at strategic locations (e.g. near shops that have an abundance of the ingredients needed, or near shops that have a shortage of the produced item).
In addition; shops should stock minerals. If a shop has lots of L1 awesomite and no L2 awesomite, then a player should be able to make profit by buying L1 blocks, refining them, and selling L2 blocks. However, the desired stock level should depend on the mineral's level (e.g. "mineral_stock_level = stock_level / (mineral_level * mineral_level)", so that if the normal desired stock level is 10000 then a shop would try to keep 10000 L1 blocks, 2500 L2 blocks, 1111 L3 blocks, 625 L4 blocks and 400 L5 blocks). Note: Before complaining about this being massively unbalanced, please see the "Minerals" section below.
Reasoning: This creates the ability for players to become miners (selling minerals to shops), or create mineral processing plants (making profit from refining/coarsing minerals), or create manufacturing plants (buying minerals and selling items like thruster and shield blocks).
When the trading guild services a shop (and when the "/shop_restock" command is used) the difference between the desired stock level and the quantity in stock should be adjusted according to a restock ratio using a formula like "stock_quantity = stock_quantity + (stock_level - stock_quantity) / restock_ratio". The restock ratio may be 50 (but could be a setting in the server's configuration). For example, if the restock ratio is 50 and the stock level is 10000; then if a shop had 1 item in stock then it'd end up having 201 items in stock after restocking, and if a shop had 100000 items in stock then it'd end up having 98200 items in stock after restocking. This is a minor change to the current game (a much more complex alternative would be to simulate traders that buy and sell items from shops to make profit, just like a player controlled merchant would).
Manufacturing
Currently there are 2 different systems (the cubeatom system and factories). Trying to balance both systems against each other and trying to balance both systems with the economy (and maintaining the code for both) is extra work for little gain. The cubeatom system is poorly documented, isn't understood by most players, is currently buggy and isn't very logical/realistic. Therefore my first suggestion here is to remove the cubeatom system from the game entirely.
The first step in balancing the factory system is adjusting the randomly generated recipes. For the initial recipe; the sum of the inherent values of the ingredients multiplied by an efficiency ratio should be (approximately) equal to the inherent value of the produced item/block. The efficiency ratio may be 4 (but could be a setting in the server's configuration); and should be set so that initially a player loses net worth by manufacturing, but after the recipe has improved the player gains net worth by manufacturing.
For example, if a block of L1 awesomite has an inherent value of 10 credits and a hardened hull block has an inherent value of 2716 credits, then a recipe that converts awesomite into hardened hulls would initially consume 1086 blocks of L1 awesomite per hardened hull (items with a total value of 10860 credits converted into an item that has a value of 2716 credits); but after the recipe has improved (so that it produces 10 times as much) it would consume an average of 1086 blocks of awesomite per hardened hull (items with a total value of 10860 credits converted into 10 items that have a total value of 27160 credits).
Reasoning: The current recipes are excessively erratic, which makes it impossible to effectively balance. The current recipes also allow a player to keep buying recipes (using the best recipe they've previously obtained to produce items to buy new recipes) until they get lucky, which means that with little work players end up producing massive amounts of expensive blocks from very few cheap raw materials.
Higher level minerals should be possible ingredients for randomly generated recipes. For example, a recipe for an expensive item (e.g. faction module) might consume some L2 minerals instead of lots of L1 minerals.
Reasoning: Currently the only sane thing to do with higher level minerals is to coarse them, and there's no reason for anyone to bother refining minerals. If some recipes used higher level minerals then it'd make the game more interesting.
Some recipes should not be random and should not improve through use. For example, the recipes for coloured (hardened and normal) hulls should always consume one (hardened or normal) grey hull block and one paint of the corresponding colour, and the recipe for yhole nucleus should always consume one yhole. Recipes for raw materials (rock, ice, wood, foliage, etc) should not exist at all.
Reasoning: For these cases the current system doesn't seem very logical. Removing the recipes for raw materials makes mining and exploring more interesting.
Currently, because factories are so badly balanced (over powered) the prices of recipes is hideous (so that only people that can gather enough blocks to buy the recipe can use/abuse it). After factories are balanced, the prices of recipes should be severely reduced (e.g. set to 10000 credits and nothing else, with no refunds) to encourage an economy based more on supply/demand and player skill/effort (and so that the economy is less like "the rich get richer").
Minerals
Currently coarsing and refining minerals is extremely unbalanced. For example, a single L3 mineral block can be sold to a shop for 1614 credits; or it can be coarsed to produce 100000000 L1 blocks which can then be converted in a factory (with a "lucky" recipe) into 1000000000 hardened hulls worth 2716 credits each (1614 credits vs. 2716000000000 credits - seems a little unbalanced to me). The suggested changes above fix this (e.g. an L3 mineral block would have an inherent value of 1000000000 credits and you're not going to get a "lucky" recipe).
However, at 10000:1 the number of lower level blocks you get from coarsing (and the number of lower level blocks you need for refining) is still excessive. For example, a single L5 mineral block represents 10000000000000000 L1 blocks. I suggest nerfing this ratio down to 20:1; so that you only need 20 L1 blocks to create an L2 block (and only get 20 L1 blocks from coarsing an L2 block), and so that an L5 block represents 160000 L1 blocks.
Reasoning: This helps to make mining a sane career choice, rather than the current "get one L3 block and never need any more of that mineral ever again" approach.
Inherent Block Value
These need some work/balancing, but there's lots of items with different prices and I don't want to list every single item here. Instead, I'm only going to mention a few that stand out to me.
Currently hardened hulls are about 12 times as expensive as normal hulls. Hardened hulls only have twice as much HP and twice as much armour as normal hulls, and therefore should only be about 4 times as expensive as normal hulls. This brings their price down to about 900 credits each. The price of glass should (still) be between normal hulls and hardened hulls (as it has the same HP and armour as normal hulls but is a little special) so the value of glass would need to be dropped to around 500 credits too.
Minerals need to be more expensive (L1 minerals have the same value as plain old rock). The price of an L1 mineral should be about about 150 credits (which would make an L5 block worth 24000000 credits after the change to the coarsing/refining ratio).
Loot
The other thing that could effect the economy is loot from destroying enemy ships and stations (e.g. pirates). In my opinion, the loot from pirate ships is currently a little excessive, but (because pirate stations quickly become rare, especially in multiplayer) this probably shouldn't be changed until/unless pirate bases become less rare (maybe they should spawn more often, I don't know). Pirate ships are the same - currently too much loot, but also too rare.
Weapons
Conventional weapons are mostly right how they are (anti-matter cannons for short/medium range faster moving targets and missiles for longer range slower moving targets). My only suggestions here is to increase the speed of heat-seeker missiles (e.g. 50% faster than fire and forget) and increase the distance they travel before trying to lock onto a heat source (currently people don't use them much because the risk of blowing up your own turrets is too high). The speed of dumb-fire missiles needs to be even faster (e.g. 100% faster than fire and forget).
Disintegrators are also mostly right. A single disintegrator block can do a lot of damage (especially against targets that don't have shields) and the radius of the blast should probably be less for a single-block (e.g. 5 block radius for a single disintegrator, increasing to a 20 block radius for a large group of disintegrators).
Misc. Devices
The power drain beam can be a weapon (e.g. a "vampire" ship) but it can also be a used for fleet support (e.g. support ship with exposed power for other ships to take). There's no statistics or other information on how power drain beams work anywhere (in the game or on the internet) so I'm relying on some testing I did and a little guesswork for balancing these. From what I can tell the number of power drain blocks effects how often the beam takes power from the target and how much power it takes. This makes small arrays of power drain beams (e.g. less than 15 blocks) useless/annoying because it's too hard to keep the beam aimed at the target's exposed power blocks for long enough to do anything at all (especially during battle or if you or the target is moving). I'd suggest a very small fixed delay between individual drains (so it seems like a continuous drain) where the number of blocks in an array only effects how much power is drained per second, so that small ships equipped with power drain beams are practical. For fleet support, power drain beams stun the friendly supply ship's regen and continue to drain the friendly supply ship's power when your ship's power tanks are full. This makes using power drain beams for fleet support awkward (e.g. a few ships could waste all of the supply ship's power by accident). To fix this; if the target belongs to the same faction, the target's power regen shouldn't be stunned and draining shouldn't occur if your ship's tanks are full.
Power supply beams and astrotechno beams don't really effect game balance much, so I'm skipping them.
Jammers and cloakers are mostly unbalanced. Jamming consumes 50 e/sec per block and cloaking consumes 100 e/sec per block (e.g. if a ship has 20 blocks then it needs 3000 e/sec power regen to sustain both cloak and jammer). Power regeneration gets more efficient (regen per block) as it approches 600 blocks per power group. This means that it's easier to get enough power regen to perma-cloak a large ship with low mass (e.g. 200 * 100 * 200) than it is to get enough power regen to perma-cloak a small ship (e.g. 16*10*20 with less mass). For larger ships (about 6600 blocks) you hit the "1 million e/sec" regen limit and perma-cloak becomes virtually unobtainable beyond that. For temporary cloak, due to the way power tanks work (more power tanks means more power storage per tank) it's even easier with a huge ship (where you have the space to throw a very large number of power tanks on it and get a large amount of storage per power tank to extend the time cloaked). All of this seems backwards to me - it should be easier to cloak a small ship than to cloak a medium/large ship, regardless of whether it's temporary or permanent cloaking. For example, it should be possible to perma-cloak a tiny (e.g. 16*10*20) ship while still having hardened hulls, some (weak) shields, some (weak) weaponry and usable thrust. My suggestion here is that both cloaking and jamming should consume a non-linear amount of power. For example, "power_consumption = K * total_blocks * total_blocks / 600" where "K" is 1 for jammers and 3 for cloaking.
Note: I'm aware that the suggested changes to power drain beams combined with cloaking/jamming changes makes it easy to have a small perma-cloaked "vampire" ship that hunts down large un-armoured ships and leaches their power. This is intentional (large ships should have armour/hulls).
Salvaging cannons are mostly fine how they are. However, they don't consume any power at all (and some people have massive planet eating ships with 3*245 arrays of "200 block" salvaging beams, who are flying around devouring entire worlds with no downside!). Each salvaging cannon block should consume around 20 e/sec of power. I think the same applies to astrotechno beams (which should also consume some power) but I haven't tested that.
Shields
The current shield capacity and shield regeneration rate are fine. The time a shield takes to recover after taking damage is also fine; however I don't like "steps" (e.g. people refusing to add one more block of shields because they have 4095 shield blocks and one more block would suddenly add 50% to their shield recovery time). For this reason shield recovery should be replaced with a (roughly equivelent) formula that gives a smooth curve rather than steps, like "recovery = (shield_blocks / 1024) * (shield_blocks / 1024)".
Shield regeneration power consumption is too little. Currently 1 point of shields consumes 1 point of power and the power consumed by shield regeneration is virtually unnoticable on any ship of any size. This should be increased by a factor of about 10 (so that it takes 10 points of power to create 1 point of shields). In addition; it should cost some power to maintain the shields (when they aren't regenerating), like 20% of the power consumed by regeneration. For example, with 1000 shield blocks you'd have 80678 shield capacity and 268 s/sec regeneration, so it would consume 2680 e/sec for about 30 seconds to regenerate fully after shields are down, then continue to consume 536 e/sec to keep the shields at full strength.
Power
The current power generation and power storage is fine. What isn't fine is that power generation blocks create power from nothing, and a huge ship that consumes a lot of power (for thrusters, shields and weapons) has zero running costs. For balancing the game (and giving people a reason to use small/medium ships) the game needs fuel and fuel tanks. A fuel tank block should store 100 units of fuel, and power generation blocks should convert one unit of fuel into 100 units of power (so with 1234 fuel tanks you'd store 123400 units of fuel and be able to generate 12340000 units of power). Fuel should be purchased from shops and should cost 1 credit per unit. This means that (for example) a ship with 1000 shield blocks that consumes 536 e/sec of power to maintain shields would also cost 5.36 units of fuel per second (and cost the owner 19296 credits per hour in refueling costs). A player should also have the ability to turn their shields off (more specifically, stop shield maintenance and let the shields naturally deplete) to avoid these running costs. When docked, turrets should automatically take fuel from the ship they're docked on (so that turrets don't need fuel or fuel tanks).
In addition, the game needs solar panel blocks that do generate power from "nothing" (without any fuel costs or fuel tanks). The power generated by a solar panel would be around 20 e/sec, with the restriction that the solar panels must be on the outside of the ship; where "outside of the ship" means no solid blocks attached to the same ship (at any distance) in at least one of the 6 (left, right, up, down, fore, aft) directions (so that it's not too complex to implement). This makes solar panels a good target for weapons (less HP and armour than hulls), especially power drain beams (as you'd have to have them exposed). This gives players the ability to design "green" (free to run) ships that use on solar energy alone (for example, a flat 100*100 ship lined with solar panels on the top and bottom would generate 400000 e/sec), or to use a mixture of solar and fuel (e.g. have just enough solar panels to cover the power consumption caused by shield maintenance), or to have an armoured ship (where all power comes from fuel to avoid weak points in the outer hull).
Ship Handling
Note: I suspect that for large ships bad handling (with no way to design any large ship with good handling regardless of how much weapons/shields/armour you sacrifice in the name of thrust) is being used for game balance. When fuel is added to the game this shouldn't be necessary (fuel/power costs, fuel tank mass and thruster mass should be enough to preserve game balance).
Forward thrust for ships is fine. Everything else doesn't make any sense (there's no thrusters in any other directions so there should be no thrust in any other directions, and current ships shouldn't be able to turn, strafe, roll or slow down). Ignoring logic/physics; turning is fine for "baby ships" and too slow for everything else. Rolling (which probably should be the same rotational speed as turning) is too fast for small/medium ships, but can also be very "twitchy" (pressing 'Z' or 'X' very briefly can cause an uncontrollable 60 degree roll depending on luck and frame rate, especially when you're close to a large object like a planet).
Essentially; all other thrust (reverse, strafe, turn and roll) need to be like forward thrust, using directional thrusters and very similar "mass/thrust" ratios; so that the player can choose their own compromise between ship mass, acceleration and power consumption (and fuel consumption and running costs). This would also allow some very different ship handling characteristics (e.g. ships with weak directional thrusters, where you need to rotate the ship and use the powerful rear thrusters to slow down) rather than having "all ships of similar masses have identical handling regardless of how they're designed".
The current game already allows thrusters to be placed so that they point in any direction. All thrusters in a thruster group would need to have the same orientation (any thrusters with a different orientation would be in a different thruster group). A ship should have 6 values for thrust (forward, backward, left, right, top, bottom). These thrust values are used directly for directional movement (forward, reverse, sliding/strafing). Each rotation should use the average of 4 out of the 6 thrust values - e.g. for turning left/right you'd average forward, backward, left and right thrust (top and bottom thrusters don't help you turn left/right any faster); for turning up/down you'd average forward, backward, top and bottom thrust; and for rolling clockwise and anti-clockwise you'd average left, right, top and bottom thrust. This also means that a ship with rear thrusters and nothing else will be able to turn left/right/up/down (but won't be able to strafe, slow down or roll).
Also; for ship rotation (but not turrets) the game should use the center of the ship's bounding box as a "pivot point" (where the center of the ship's bounding box is a crude approximation for the ship's center of mass), and the game should not use the location of the ship's core for ship rotation. Ideally this should include rotations caused by collisions (not just rotations caused by thrusters).
Note: The suggested changes to ship handling are intended to be relatively easy to implement while also being "good enough" (given that this is a game and not a physics simulator). These suggested changes are not perfectly realistic, and better thrust (and center of mass) behaviour is entirely possible (at the expense of much more complex implementation and related code maintenance issues).
Given that I'm suggesting a ship needs more thrusters (in more directions), the amount of thrust generated by thrusters should also be tripled to compensate for the extra space thrusters would otherwise need to consume on ships.
Turret Handling
Turret turning (left, right, up, down) should be the same as ship turning (turrets without thrusters shouldn't turn at all, and adding more thrusters to the turret should make it turn faster). This would make turrets more challenging to design, and would mean that huge fast turning turrets consume a lot more power/fuel (and have higher running costs) than smaller or slower turning turrets.
Other Notes
A ship's mass should include the mass of all docked ships and turrets. This prevents exploits - e.g. ships with very little mass that use huge turrets, internally docked power supplies (and power drain beams to transfer power from them to the small ship) and docked shields in an attempt to get all the advantages of a large ship while avoiding the disadvantages of a large ship's mass (and breaking game balance for large ships).
Either docking areas should not be allowed to overlap (easier to implement), or turrets/ships should not be allowed to dock if they could overlap (harder to implement). This prevents more exploits (20 large turrets all overlapping on a tiny ship, lots of internally docked 30*30 power supply ships squeezed into a 30*40 space, etc).
Weapons where the output is behind other blocks should damage/destroy the blocks in front of them even if those blocks are part of the same ship/turret. This prevents people from hiding weapons behind hardened hulls, and may make damage more interesting (e.g. if the weapon's output block is destroyed by an enemy the game chooses a new weapon output block which may be behind something important). It also makes ship/turret design a little more challenging/realistic (e.g. people designing weapon arrays more carefully in case the weapon's output block is destroyed).
Beams (salvage, astrotechno, power drain, power supply, etc) should also effect any blocks in front of them, even if those blocks are part of the same ship/turret. This may allow for new interesting/obscure ship designs (e.g. a layer of astrotechnobeams placed behind hardened hulls so that a ship can self-heal its own front armour; a salvaging cannon behind a disintegrator tipped ramming pole so that the pilot can remove/salvage their ramming pole in flight before docking, etc).
Thruster groups should be disabled (shouldn't contribute to thrust or consume power) if/when the group doesn't have at least one thruster that is "exposed" (no solid blocks attached to the same ship at any distance in the direction that the thruster's back is facing). This prevents unrealistic "chicken roaster" ships (where thrusters do nothing more than heat up the inside of the ship like a fan forced oven).
Please note that the exposed weapon output and exposed thruster suggestions are intended to improve combat; so that ships must have some weak points that skilled pilots can target, and so that players can choose different combat tactics for difference scenarios. For example, a skilled pilot might assess a capital ship's design and decide to take out its thrusters to stop it escaping before attempting to take out the heavily armoured core (rather than having "only bother targetting the core" combat).
This is intended to be a full list of (my) suggested changes to correct game balance. I don't really want to suggest new features or bug fixes here; however in some cases this was necessary to address game balance issues.
Economy
Every item/block should have an inherent value (e.g. a thruster block may have a value of 690 credits). When there are standard conversions from one item type to another item type, the inherent value of the items should reflect those standard conversions. For example; for coarsing and refining ores, if 10000 L1 blocks of awesomite can be refined into one L2 block of awesomite (which can be coarsed back into 10000 L1 blocks), and if the value of an L1 block of awesomite is 10 credits then the value of an L2 block should be 100000 credits.
The base price of an item in shops should depend on the inherent value of the item, the desired stock level and the quantity of that item in stock; using a formula like "price = value * ( (1 + stock_level / stock_quantity) / 2)". A shop's selling price should be higher than the base price by some factor (shop markup) and the shop's buying price should be lower than the base price by the same factor; so that shops make profit. A shop's stock level may be 10000 and a shop's markup may be 110% (but both of these could be settings in the server's configuration).
Combining all of this; the selling price for an item in a shop should be determined by "(value * ( (1 + stock_level / stock_quantity) / 2)) * markup" and the buying price for an item in a shop should be determined by "(value * ( (1 + stock_level / stock_quantity) / 2)) / markup". There should be no arbitrary limit for the quantity of items in stock (like there currently is) and if there's a massive quantity in stock (e.g. millions of rock blocks) then the item just becomes cheap/worthless.
For example; if the inherent value of a thruster block is 690 credits, the stock level is 10000 and shop markup is set to 110%; then a shop that has 1 thruster in stock would sell a thruster for 3795380 credits and buy a thruster for 3136677 credits, and a shop that has 100000 thrusters in stock would sell a thruster for 417 credits and buy a thruster for 345 credits.
Reasoning: This creates the ability for players to become merchants (buying items at over-stocked shops and selling them at under-stocked shops); which would make the game more interesting and would also help to fix some problems on multiplayer servers (e.g. the shop near the initial spawn point running out of things that beginners need and shops near asteroids refusing to buy things like rock and lava). It would also encourage players to develop factories at strategic locations (e.g. near shops that have an abundance of the ingredients needed, or near shops that have a shortage of the produced item).
In addition; shops should stock minerals. If a shop has lots of L1 awesomite and no L2 awesomite, then a player should be able to make profit by buying L1 blocks, refining them, and selling L2 blocks. However, the desired stock level should depend on the mineral's level (e.g. "mineral_stock_level = stock_level / (mineral_level * mineral_level)", so that if the normal desired stock level is 10000 then a shop would try to keep 10000 L1 blocks, 2500 L2 blocks, 1111 L3 blocks, 625 L4 blocks and 400 L5 blocks). Note: Before complaining about this being massively unbalanced, please see the "Minerals" section below.
Reasoning: This creates the ability for players to become miners (selling minerals to shops), or create mineral processing plants (making profit from refining/coarsing minerals), or create manufacturing plants (buying minerals and selling items like thruster and shield blocks).
When the trading guild services a shop (and when the "/shop_restock" command is used) the difference between the desired stock level and the quantity in stock should be adjusted according to a restock ratio using a formula like "stock_quantity = stock_quantity + (stock_level - stock_quantity) / restock_ratio". The restock ratio may be 50 (but could be a setting in the server's configuration). For example, if the restock ratio is 50 and the stock level is 10000; then if a shop had 1 item in stock then it'd end up having 201 items in stock after restocking, and if a shop had 100000 items in stock then it'd end up having 98200 items in stock after restocking. This is a minor change to the current game (a much more complex alternative would be to simulate traders that buy and sell items from shops to make profit, just like a player controlled merchant would).
Manufacturing
Currently there are 2 different systems (the cubeatom system and factories). Trying to balance both systems against each other and trying to balance both systems with the economy (and maintaining the code for both) is extra work for little gain. The cubeatom system is poorly documented, isn't understood by most players, is currently buggy and isn't very logical/realistic. Therefore my first suggestion here is to remove the cubeatom system from the game entirely.
The first step in balancing the factory system is adjusting the randomly generated recipes. For the initial recipe; the sum of the inherent values of the ingredients multiplied by an efficiency ratio should be (approximately) equal to the inherent value of the produced item/block. The efficiency ratio may be 4 (but could be a setting in the server's configuration); and should be set so that initially a player loses net worth by manufacturing, but after the recipe has improved the player gains net worth by manufacturing.
For example, if a block of L1 awesomite has an inherent value of 10 credits and a hardened hull block has an inherent value of 2716 credits, then a recipe that converts awesomite into hardened hulls would initially consume 1086 blocks of L1 awesomite per hardened hull (items with a total value of 10860 credits converted into an item that has a value of 2716 credits); but after the recipe has improved (so that it produces 10 times as much) it would consume an average of 1086 blocks of awesomite per hardened hull (items with a total value of 10860 credits converted into 10 items that have a total value of 27160 credits).
Reasoning: The current recipes are excessively erratic, which makes it impossible to effectively balance. The current recipes also allow a player to keep buying recipes (using the best recipe they've previously obtained to produce items to buy new recipes) until they get lucky, which means that with little work players end up producing massive amounts of expensive blocks from very few cheap raw materials.
Higher level minerals should be possible ingredients for randomly generated recipes. For example, a recipe for an expensive item (e.g. faction module) might consume some L2 minerals instead of lots of L1 minerals.
Reasoning: Currently the only sane thing to do with higher level minerals is to coarse them, and there's no reason for anyone to bother refining minerals. If some recipes used higher level minerals then it'd make the game more interesting.
Some recipes should not be random and should not improve through use. For example, the recipes for coloured (hardened and normal) hulls should always consume one (hardened or normal) grey hull block and one paint of the corresponding colour, and the recipe for yhole nucleus should always consume one yhole. Recipes for raw materials (rock, ice, wood, foliage, etc) should not exist at all.
Reasoning: For these cases the current system doesn't seem very logical. Removing the recipes for raw materials makes mining and exploring more interesting.
Currently, because factories are so badly balanced (over powered) the prices of recipes is hideous (so that only people that can gather enough blocks to buy the recipe can use/abuse it). After factories are balanced, the prices of recipes should be severely reduced (e.g. set to 10000 credits and nothing else, with no refunds) to encourage an economy based more on supply/demand and player skill/effort (and so that the economy is less like "the rich get richer").
Minerals
Currently coarsing and refining minerals is extremely unbalanced. For example, a single L3 mineral block can be sold to a shop for 1614 credits; or it can be coarsed to produce 100000000 L1 blocks which can then be converted in a factory (with a "lucky" recipe) into 1000000000 hardened hulls worth 2716 credits each (1614 credits vs. 2716000000000 credits - seems a little unbalanced to me). The suggested changes above fix this (e.g. an L3 mineral block would have an inherent value of 1000000000 credits and you're not going to get a "lucky" recipe).
However, at 10000:1 the number of lower level blocks you get from coarsing (and the number of lower level blocks you need for refining) is still excessive. For example, a single L5 mineral block represents 10000000000000000 L1 blocks. I suggest nerfing this ratio down to 20:1; so that you only need 20 L1 blocks to create an L2 block (and only get 20 L1 blocks from coarsing an L2 block), and so that an L5 block represents 160000 L1 blocks.
Reasoning: This helps to make mining a sane career choice, rather than the current "get one L3 block and never need any more of that mineral ever again" approach.
Inherent Block Value
These need some work/balancing, but there's lots of items with different prices and I don't want to list every single item here. Instead, I'm only going to mention a few that stand out to me.
Currently hardened hulls are about 12 times as expensive as normal hulls. Hardened hulls only have twice as much HP and twice as much armour as normal hulls, and therefore should only be about 4 times as expensive as normal hulls. This brings their price down to about 900 credits each. The price of glass should (still) be between normal hulls and hardened hulls (as it has the same HP and armour as normal hulls but is a little special) so the value of glass would need to be dropped to around 500 credits too.
Minerals need to be more expensive (L1 minerals have the same value as plain old rock). The price of an L1 mineral should be about about 150 credits (which would make an L5 block worth 24000000 credits after the change to the coarsing/refining ratio).
Loot
The other thing that could effect the economy is loot from destroying enemy ships and stations (e.g. pirates). In my opinion, the loot from pirate ships is currently a little excessive, but (because pirate stations quickly become rare, especially in multiplayer) this probably shouldn't be changed until/unless pirate bases become less rare (maybe they should spawn more often, I don't know). Pirate ships are the same - currently too much loot, but also too rare.
Weapons
Conventional weapons are mostly right how they are (anti-matter cannons for short/medium range faster moving targets and missiles for longer range slower moving targets). My only suggestions here is to increase the speed of heat-seeker missiles (e.g. 50% faster than fire and forget) and increase the distance they travel before trying to lock onto a heat source (currently people don't use them much because the risk of blowing up your own turrets is too high). The speed of dumb-fire missiles needs to be even faster (e.g. 100% faster than fire and forget).
Disintegrators are also mostly right. A single disintegrator block can do a lot of damage (especially against targets that don't have shields) and the radius of the blast should probably be less for a single-block (e.g. 5 block radius for a single disintegrator, increasing to a 20 block radius for a large group of disintegrators).
Misc. Devices
The power drain beam can be a weapon (e.g. a "vampire" ship) but it can also be a used for fleet support (e.g. support ship with exposed power for other ships to take). There's no statistics or other information on how power drain beams work anywhere (in the game or on the internet) so I'm relying on some testing I did and a little guesswork for balancing these. From what I can tell the number of power drain blocks effects how often the beam takes power from the target and how much power it takes. This makes small arrays of power drain beams (e.g. less than 15 blocks) useless/annoying because it's too hard to keep the beam aimed at the target's exposed power blocks for long enough to do anything at all (especially during battle or if you or the target is moving). I'd suggest a very small fixed delay between individual drains (so it seems like a continuous drain) where the number of blocks in an array only effects how much power is drained per second, so that small ships equipped with power drain beams are practical. For fleet support, power drain beams stun the friendly supply ship's regen and continue to drain the friendly supply ship's power when your ship's power tanks are full. This makes using power drain beams for fleet support awkward (e.g. a few ships could waste all of the supply ship's power by accident). To fix this; if the target belongs to the same faction, the target's power regen shouldn't be stunned and draining shouldn't occur if your ship's tanks are full.
Power supply beams and astrotechno beams don't really effect game balance much, so I'm skipping them.
Jammers and cloakers are mostly unbalanced. Jamming consumes 50 e/sec per block and cloaking consumes 100 e/sec per block (e.g. if a ship has 20 blocks then it needs 3000 e/sec power regen to sustain both cloak and jammer). Power regeneration gets more efficient (regen per block) as it approches 600 blocks per power group. This means that it's easier to get enough power regen to perma-cloak a large ship with low mass (e.g. 200 * 100 * 200) than it is to get enough power regen to perma-cloak a small ship (e.g. 16*10*20 with less mass). For larger ships (about 6600 blocks) you hit the "1 million e/sec" regen limit and perma-cloak becomes virtually unobtainable beyond that. For temporary cloak, due to the way power tanks work (more power tanks means more power storage per tank) it's even easier with a huge ship (where you have the space to throw a very large number of power tanks on it and get a large amount of storage per power tank to extend the time cloaked). All of this seems backwards to me - it should be easier to cloak a small ship than to cloak a medium/large ship, regardless of whether it's temporary or permanent cloaking. For example, it should be possible to perma-cloak a tiny (e.g. 16*10*20) ship while still having hardened hulls, some (weak) shields, some (weak) weaponry and usable thrust. My suggestion here is that both cloaking and jamming should consume a non-linear amount of power. For example, "power_consumption = K * total_blocks * total_blocks / 600" where "K" is 1 for jammers and 3 for cloaking.
Note: I'm aware that the suggested changes to power drain beams combined with cloaking/jamming changes makes it easy to have a small perma-cloaked "vampire" ship that hunts down large un-armoured ships and leaches their power. This is intentional (large ships should have armour/hulls).
Salvaging cannons are mostly fine how they are. However, they don't consume any power at all (and some people have massive planet eating ships with 3*245 arrays of "200 block" salvaging beams, who are flying around devouring entire worlds with no downside!). Each salvaging cannon block should consume around 20 e/sec of power. I think the same applies to astrotechno beams (which should also consume some power) but I haven't tested that.
Shields
The current shield capacity and shield regeneration rate are fine. The time a shield takes to recover after taking damage is also fine; however I don't like "steps" (e.g. people refusing to add one more block of shields because they have 4095 shield blocks and one more block would suddenly add 50% to their shield recovery time). For this reason shield recovery should be replaced with a (roughly equivelent) formula that gives a smooth curve rather than steps, like "recovery = (shield_blocks / 1024) * (shield_blocks / 1024)".
Shield regeneration power consumption is too little. Currently 1 point of shields consumes 1 point of power and the power consumed by shield regeneration is virtually unnoticable on any ship of any size. This should be increased by a factor of about 10 (so that it takes 10 points of power to create 1 point of shields). In addition; it should cost some power to maintain the shields (when they aren't regenerating), like 20% of the power consumed by regeneration. For example, with 1000 shield blocks you'd have 80678 shield capacity and 268 s/sec regeneration, so it would consume 2680 e/sec for about 30 seconds to regenerate fully after shields are down, then continue to consume 536 e/sec to keep the shields at full strength.
Power
The current power generation and power storage is fine. What isn't fine is that power generation blocks create power from nothing, and a huge ship that consumes a lot of power (for thrusters, shields and weapons) has zero running costs. For balancing the game (and giving people a reason to use small/medium ships) the game needs fuel and fuel tanks. A fuel tank block should store 100 units of fuel, and power generation blocks should convert one unit of fuel into 100 units of power (so with 1234 fuel tanks you'd store 123400 units of fuel and be able to generate 12340000 units of power). Fuel should be purchased from shops and should cost 1 credit per unit. This means that (for example) a ship with 1000 shield blocks that consumes 536 e/sec of power to maintain shields would also cost 5.36 units of fuel per second (and cost the owner 19296 credits per hour in refueling costs). A player should also have the ability to turn their shields off (more specifically, stop shield maintenance and let the shields naturally deplete) to avoid these running costs. When docked, turrets should automatically take fuel from the ship they're docked on (so that turrets don't need fuel or fuel tanks).
In addition, the game needs solar panel blocks that do generate power from "nothing" (without any fuel costs or fuel tanks). The power generated by a solar panel would be around 20 e/sec, with the restriction that the solar panels must be on the outside of the ship; where "outside of the ship" means no solid blocks attached to the same ship (at any distance) in at least one of the 6 (left, right, up, down, fore, aft) directions (so that it's not too complex to implement). This makes solar panels a good target for weapons (less HP and armour than hulls), especially power drain beams (as you'd have to have them exposed). This gives players the ability to design "green" (free to run) ships that use on solar energy alone (for example, a flat 100*100 ship lined with solar panels on the top and bottom would generate 400000 e/sec), or to use a mixture of solar and fuel (e.g. have just enough solar panels to cover the power consumption caused by shield maintenance), or to have an armoured ship (where all power comes from fuel to avoid weak points in the outer hull).
Ship Handling
Note: I suspect that for large ships bad handling (with no way to design any large ship with good handling regardless of how much weapons/shields/armour you sacrifice in the name of thrust) is being used for game balance. When fuel is added to the game this shouldn't be necessary (fuel/power costs, fuel tank mass and thruster mass should be enough to preserve game balance).
Forward thrust for ships is fine. Everything else doesn't make any sense (there's no thrusters in any other directions so there should be no thrust in any other directions, and current ships shouldn't be able to turn, strafe, roll or slow down). Ignoring logic/physics; turning is fine for "baby ships" and too slow for everything else. Rolling (which probably should be the same rotational speed as turning) is too fast for small/medium ships, but can also be very "twitchy" (pressing 'Z' or 'X' very briefly can cause an uncontrollable 60 degree roll depending on luck and frame rate, especially when you're close to a large object like a planet).
Essentially; all other thrust (reverse, strafe, turn and roll) need to be like forward thrust, using directional thrusters and very similar "mass/thrust" ratios; so that the player can choose their own compromise between ship mass, acceleration and power consumption (and fuel consumption and running costs). This would also allow some very different ship handling characteristics (e.g. ships with weak directional thrusters, where you need to rotate the ship and use the powerful rear thrusters to slow down) rather than having "all ships of similar masses have identical handling regardless of how they're designed".
The current game already allows thrusters to be placed so that they point in any direction. All thrusters in a thruster group would need to have the same orientation (any thrusters with a different orientation would be in a different thruster group). A ship should have 6 values for thrust (forward, backward, left, right, top, bottom). These thrust values are used directly for directional movement (forward, reverse, sliding/strafing). Each rotation should use the average of 4 out of the 6 thrust values - e.g. for turning left/right you'd average forward, backward, left and right thrust (top and bottom thrusters don't help you turn left/right any faster); for turning up/down you'd average forward, backward, top and bottom thrust; and for rolling clockwise and anti-clockwise you'd average left, right, top and bottom thrust. This also means that a ship with rear thrusters and nothing else will be able to turn left/right/up/down (but won't be able to strafe, slow down or roll).
Also; for ship rotation (but not turrets) the game should use the center of the ship's bounding box as a "pivot point" (where the center of the ship's bounding box is a crude approximation for the ship's center of mass), and the game should not use the location of the ship's core for ship rotation. Ideally this should include rotations caused by collisions (not just rotations caused by thrusters).
Note: The suggested changes to ship handling are intended to be relatively easy to implement while also being "good enough" (given that this is a game and not a physics simulator). These suggested changes are not perfectly realistic, and better thrust (and center of mass) behaviour is entirely possible (at the expense of much more complex implementation and related code maintenance issues).
Given that I'm suggesting a ship needs more thrusters (in more directions), the amount of thrust generated by thrusters should also be tripled to compensate for the extra space thrusters would otherwise need to consume on ships.
Turret Handling
Turret turning (left, right, up, down) should be the same as ship turning (turrets without thrusters shouldn't turn at all, and adding more thrusters to the turret should make it turn faster). This would make turrets more challenging to design, and would mean that huge fast turning turrets consume a lot more power/fuel (and have higher running costs) than smaller or slower turning turrets.
Other Notes
A ship's mass should include the mass of all docked ships and turrets. This prevents exploits - e.g. ships with very little mass that use huge turrets, internally docked power supplies (and power drain beams to transfer power from them to the small ship) and docked shields in an attempt to get all the advantages of a large ship while avoiding the disadvantages of a large ship's mass (and breaking game balance for large ships).
Either docking areas should not be allowed to overlap (easier to implement), or turrets/ships should not be allowed to dock if they could overlap (harder to implement). This prevents more exploits (20 large turrets all overlapping on a tiny ship, lots of internally docked 30*30 power supply ships squeezed into a 30*40 space, etc).
Weapons where the output is behind other blocks should damage/destroy the blocks in front of them even if those blocks are part of the same ship/turret. This prevents people from hiding weapons behind hardened hulls, and may make damage more interesting (e.g. if the weapon's output block is destroyed by an enemy the game chooses a new weapon output block which may be behind something important). It also makes ship/turret design a little more challenging/realistic (e.g. people designing weapon arrays more carefully in case the weapon's output block is destroyed).
Beams (salvage, astrotechno, power drain, power supply, etc) should also effect any blocks in front of them, even if those blocks are part of the same ship/turret. This may allow for new interesting/obscure ship designs (e.g. a layer of astrotechnobeams placed behind hardened hulls so that a ship can self-heal its own front armour; a salvaging cannon behind a disintegrator tipped ramming pole so that the pilot can remove/salvage their ramming pole in flight before docking, etc).
Thruster groups should be disabled (shouldn't contribute to thrust or consume power) if/when the group doesn't have at least one thruster that is "exposed" (no solid blocks attached to the same ship at any distance in the direction that the thruster's back is facing). This prevents unrealistic "chicken roaster" ships (where thrusters do nothing more than heat up the inside of the ship like a fan forced oven).
Please note that the exposed weapon output and exposed thruster suggestions are intended to improve combat; so that ships must have some weak points that skilled pilots can target, and so that players can choose different combat tactics for difference scenarios. For example, a skilled pilot might assess a capital ship's design and decide to take out its thrusters to stop it escaping before attempting to take out the heavily armoured core (rather than having "only bother targetting the core" combat).