||Optimization and Multicore CPU Support
||I have made a few observations, none I have conducted accurately though I have seen them. Tell me if I am wrong.
The game seems to have two issues with the performance:
1: The game seems to be poorly optimized, meaning a small amount of content can take much processing power. I have for example seen that when you farm farmer crop seeds, it can slow your game down horribly when all plants launch their seeds simultaneously. Another more noticeable case is when you meet “Spiky Plants”. I believe it would be possible to make the game a bit more efficient in how it processes independent objects (ships, stations, single blocks, bullets).
2: the game seems to only be able to use two CPU cores at most from my observations. In addition it can only use one core to it’s 100% power mark or near. If it would be possible to make the game use a larger amount of CPU cores, even just 2-3 at 100% I think this would make those 12 core CPUes much more useful than what they are now.
If both these points would have been attained, even to a small degree I think Reassembly would be able to run much more demanding scenarios. Tournaments could possibly run at 1 sim speed with much larger fleets, we could run a much larger area of the map around us in campaign mode and those spiky plants would no more be as dangerous as they are.
These are all my guesses and observations on this matter. All could be wrong, do not take these as facts. I do not know anything about how Reassembly handles these things.
||Proper Campaign Features
Example ideas which could be used in a campaign.
You spawn in a certain place with a few designated "aquiered" or unlocked components and a few resources.
This could be amongst wreckage with your ship halfway broken, forcing you to transform yourself into something much smaller with what you have.
--Seemingly there has been a devestating battle here, seeing big wrecks of capitals and many smaller ships.
The designs seem to be grouped in three kinds of shapes and styles, could there have been a three-way conflict here?--
You find a heavily damaged ship amongst the abondened battlefield and refit/repurpose it into a factory and cargo ship that follows you, helping you out on your journey and making any smaller assets you may need.
Searching, you find a damaged base (proper with walls and turrets, one you can be in physically with your vessel).
--What could have happened here?
The whole area seems to be littered with fortifications and defences.
Many of the structures are broken down to a large degree, we could possibly restore them with time and resources.--
You could for example defend that and gather strength.
You venture out, meeting unknown alien species with unique forms, technology and modules.
--We have met our first contact!
These "beings" seem to be friendly, not attacking us even if we approach to a closer distance.
We could possibly learn from them?--
Expanding your area of coverage you end up finding everything was of no use, an immense alien fleet with technologies you never dreamed of comes from a wormhole destroying everything in its path.
--Emergency, a big signature seems to be coming from (a wormhole or something else).
We have no assets/units at that location, it is something unknown!--
You struggle, and may find a way to escape.
To regather strength.
The way this could work could be to have one big map, almost RTS style.
Or possibly many smaller ones which you can access through portals, gateways or simply going through the border of the one map you are currently in.
Everything in the current map would be active, moving, living, evolving around you.
There could break off fractures from your structures or fleets, running off to develop for themself.
Feeding off the resources they find to grow for themself, these could possibly have the same technologies/modules and designs as you had at that time since they are a part of you.
In addition this could have a huge modding potential, if given acess to modders.
Modders could make their own campaigns, designing the world and events as they please.
There would be possibilities to put in custom sound files (for eksample a voice talking when a certain event is triggered) and many more features.
This would make another, larger than before, source of new unique content.
Coupled with the existing modding features this could give many time more ways to make interesting content.
The rest of the features and ideas need to be made up first before i can add them here.
Something, something..... Hmm, that... Yes and that could work. And that we could also have that feature in such a system if we first make it up... Blabla.......
||This new explosion type would be very different in how it functions and behaves to the usual type, though the purpose would be the same.
The purpose of which is to deal widespread damage.
This explosion type would work by searching for the weakest block or an empty space (with preference for empty space since it is technically weaker than a block) and moving there.
The explosion would destroy the block in the process (if it is empty space in it's reach it will simply move there filling up all empty space it can before proceeding to destroy any blocks).
This would go on until the explosion is out of power.
There would be two values affecting the power of an explosion of this type, explosion volume and explosion strenght.
Both of which would need to be specified on the block or projectile beforehand.
There would also be two values affacting how fast an explosion runs out, block volume and blast resistance.
The block volume would be calculated as a default by how much space there is inside a block, the filled part of a block.
The blast resistance would as a default be 10 on all blocks, if you want the block to have a stronger or weaker blast resistance you would need to increase or decrease the value manually.
The explosion volume would be how much material it can destroy before it runs out (in other words how much volume it can destroy before it can not destroy anything more).
The block volume of a default 1 by 1 square would be 100 volume (since a default 1 by 1 square is 10*10 units), meaning an explosion would atleast need 100 explosion volume specified to break one of these.
So to break a 3 by 3 default square the explosion would need as much as 900 explosion volume.
Though if the explosion has 50 volume left, it has the potential to damage 50% of the total HP of a default 1 by 1 square, which has 100 volume.
The explosion strenght would affect how efficiently the explosion can destroy blocks.
The blast resistance on all blocks by default would be 10, meaning that an explosion would need 10 explosion strength to destroy blocks with a 1 to 1 ratio of explosion volume to block volume.
So to break a 1 by 1 default square with 100 block volume, an explosion with 10 explosion strength would use 100 explosion volume.
If an explosion would have had 20 explosion strength, it would only use 50 explosion volume to break a 1 by 1 default square.
However, if the explosion would have had 5 explosion strenght, it would need as much as 200 explosion volume to break a 1 by 1 default square.
The explosion can lose explosion volume in two ways, by destroying blocks and by filling up empty space.
The empty space left by destroying blocks will also count as empty space and will draw explosion volume in addition to the volume lost in the destruction of the block itself.
This means that an explosion with 10 explosion strength would need 200 explosion volume to destroy a 1 by 1 default square and fill up the space left behind it.
To end the equation, the explosion strength will decrease linearily along with the explosion volume.
If an explosion starts out with 20 explosion strength and 1000 explosion volume, it will only have 5 explosion strength once it has lost 750 explosion volume.
This picture is an illustration of how a volumetric explosion could move and destroy blocks.
In this illustation the explosion has detonated inside the hull, with the help of a piercing shot which then exploded inside.
As seen by the green arrows at the bottom, a part of the explosion volume will be vented outside through the entry hole, reducing the effectiveness of the explosion.
Also as can be seen, the explosion tunnels through the weaker blocks, leaving the more sturdier ones to be.
||Sandbox total resource capacity shown
||It is a pretty simple idea. Would it be possible to make the sandbox show how much the currently selected blocks have total in R capacity? It would be shown together with all the other stats in the bottom right corner.
||I would simply like any weapon to be possible to assign to "thruster" in the binding menu. The AI and player would then use these weapons exactly like they would have been thrusters. This includes turreted and non-turreted weapons.
||Spin-Up and Spin-Down on cannons and lasers
||Allows you to set spin up and spin down times. Meaning while the weapon is firing, it shoots faster the longer it fires until it gets to "maximum fire rate". When it has stopped firing, it will gradually have a slower "effective fire rate" until it gets to the specified "minimum fire rate". You can have a short break in firing and then begin again without resetting to the lowest fire rate completely. It would also give a reason to not stop firing a weapon between engagements.
The maximum and minimum firerates would originate from the default firerate. It would simply be multiplied by two numbers which are specified. For example, if the minimum firerate would be 0.25 and the maximum firerate would be 2. Then the minimum firerate would be 25% of the default firerate while the maximum firerate would be 200% of the default firerate.
In this situation a laser would have more frequent pulses, each pulse doing as much damage as it would do by default. Meaning that the damage increases. On unpulsed, beam lasers the damage would simply increase until it comes to the maximum damage specified.
Charging weapons would charge faster, decreasing the time between each charge. This would increase the damage directly.
||"BELTFED" cannon feature
||It would allow you to set a "Bullets per belt" or "Bullet storage" which decides how many bullets a cannon can store at any given time. These bullets, once "made" do not need any power to be shot. This means the cannon can run fairly OK with much less power than it would otherwise need, if it is used in only shorter engagements.
The default fire rate for cannons will be used to decide how fast the bullets are made in cannons with the "BELTFED" tag. If you set the fire rate of a cannon to 10, then it means the cannon will make 10 bullets per second until the "Bullet storage" is full.
There can be two types of "BELTFED" cannons. Ones that can make bullets while firing, and ones that need to wait until the belt runs out completely or there has been a long enough time since last firing before it can begin to make any bullets again. You can specify how much time you want the gun to wait while idle before it enters a loading state However, even if the cannon can make bullets while the belt is being used, it will have to reload to a specified bullet amount before firing again if the belt manages to run out completely. This can make it smart to not overuse such guns, since then you have a downtime.
||Modular Shields (Shield generator and shield projector)
||I believe modular shields could be a good idea.
The idea is that you have shield generator blocks and shield projector blocks. The Shield generator blocks have HP and regen stats that add to a central ship pool of shield. The shield projector blocks project a shield with the block's shape, there is also a size multiplier for the shield it projects, it could be a large multiplier to cover the whole shield or small to protect just itself. Shield projectors connected to each others on all ports on one side will merge their projected shield.
This would allow you to make shields of any size and shape. You could have a ram at the front of your ship, defending you from any bullets and missiles, being powered by multiple shield generators through your ship. Or you could have shield generators with any shape you want, that cover your whole ship, not just bubbles.
The idea is that the shield system would have something similar to what the game "Liberation Circuit" has, in terms of basics.
These basics is that there is a shield generator and then a separate block on which the shield is projected on.
Shields would get a kind of "mode" system as what explosions have. Explosions have 0: Enabled, 1: Final and 2: Proximity as different modes.
For shields there would be two modes you can choose on the block, 0: Default bubble shields, 1: Modular Shield and then anything else that may get added.
Modular shields are the shields i am trying to suggest here.
The shields would work by having two components, a shield generator and a shielded block.
The shield generator would have to be in mode 1: Modular Shield while the shielded block would need a "SHIELDED" block feature.
The "Modular Shield block" would generate the shield. This is where the shield regeneration, shield HP and other shield stats would come from.
While the "SHIELDED" block would have the shield be projected on it. It would be optimal if the shield projected would have the shape of the "shielded block".
Also, the shields would merge together into one with adjacent "shielded" blocks to form for example a wall of shields or an outer solid shell around a ship.
Each ship and station would have a central "shield pool".
All the shield regeneration, shield HP and other stats provided by "modular shield" generators would pool into a single shield pool for the whole craft.
All "SHIELDED" blocks would have access to the complete shield pool of the craft.
This means that you could for example only have the core of a faction have "SHIELDED" as a block tag.
This would make that core be defended by all "modular shield" generators on the craft.
So if you have 10 generators on that craft, each providing 500 shield regeneration and 2000 shield HP then that core would effectively have 20 000 HP with 5 000 regeneration.
This could make for some interesting bosses in modded factions, having to blow up the shield generators first.
You could also have "SHIELDED" blocks in strategic spots, where they are of the most use.
"SHIELDED" blocks would have a cost that is dependent on two factors, the area of the block and how large the "shield size" stat is.
The "shield size" would be a stat unique to blocks with the "shielded" feature. It would decide how large the shield on that block is.
It would be a multiplier, so 1 would make the shield be exactly the same size and shape of the "shielded" block while 2 would make it still the same shape but double the size.
This would make it possible to make custom "default shield" shapes just by having the "shield size" stat for example be 10 or 20.
However, the "shield size" stat would increase the cost of "shielded" blocks a LOT more than the "shield radius" does on normal shields.
This is one of the ways to make the normal shields still useful. In general the "custom shield" system should be more expensive than normal shields, per area protected.
Additional note: If the "shield pool" reaches zero HP then the whole modular shield system on the ship goes down and turns offline for a while, depending on what the player sets.
The downtime of a modular shield system should be an average of what all the "modular shield generators" have.
If a ship has 2 "modular shield generators", one with 10 seconds downtime and one with 5, then the downtime of that ship's shield should be 7,5 seconds.
Last note: Destroying a "modular shield generator" should remove it's contribution from the shield pool. While unfinished generators should also not contribute any until built.