tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
115 stars 17 forks source link

(Suggestion) Heatsink and Armour Blocks #3342

Open 5URG3 opened 3 years ago

5URG3 commented 3 years ago

Hey tsuna, I know you have a billion things to do right now, and I am not expecting anything, but I had this idea earlier and I wanted to share it before I forgot.

I propose the addition of two new blocks, heatsinks and armour.

These blocks would be “block” only and based on the existing hull block. I believe the block grid is quite efficient in terms of game performance?

These new blocks would function as hull blocks, but with a couple of differences.

First, they would need different textures to hull blocks.

Secondly, their heat dissipation and HP numbers would change. The numbers would need balance testing, but here is an example.

Armour Block +100% HP -50% Heat Capacity

Heatsink Block +100% Heat Capacity -50% HP

These blocks could gain an additional bonus if they form part of a ships surface area, if that is possible to do in-game.

I think these blocks would provide an interesting choice to players. Armour could not be used alone as the ship would overheat, and a heatsink-only build would be very fragile. However, by placing these blocks in particular areas, such as armouring the bridge, a ship could be improved by design. I think this would add depth to the building experience and provide the player with a sense of satisfaction when used effectively.

ProPeach commented 3 years ago

This is an interesting discussion to have. I think the pivotal point of this system is whether or not the blocks can be recognised as "surface" hull. I completely agree with the end goal, more hull blocks with different armour choices in the future can only have a positive impact on a players ability to design an effective and vibrant array of different ships for different jobs with more skilled designers being rewarded with more effective ships.

On the other hand, heat is a key element in how ships are balanced and regulated. If a block is introduced which has a much higher heat dissipation rate which didn't need to be placed on the surface of a ship, I can easily see builders stacking this block on the inside of their ships for a heat bonus, like they would any block. On the inside of a ship, armour value is not such a heavy nerf - sure they're adding lots of mass to their ship, but that can be overcome with more thrusters as they now have a larger hear budget. Hence why the ability to detect whether a heat sink block is on the surface or not is critical. I could be wrong, but I imagine this is a tough calculation to perfect, especially with child entities etc.

Basically in my opinion -

Implementing blocks with a larger armour value which are heavier is a classic and safe option for ship design, and nerfing a more heavily armoured block further with a weaker heat dissipation won't upset that relationship.

Implementing blocks that buff heat dissipation has entirely different results, and hinges completely on the ability to detect them as being on the "outside" of a ship where their nerfed armour value actually comes into play. With that ability it could be a really cool mechanic, without that ability I think they'd have a very negative effect on ship balance and the feeling of design

tsunamayo commented 3 years ago

@5URG3 @ProPeach sorry for the late reply So for sure I will go in that direction. In which extent it is not sure yet. Ideally I wanted to create an alloy mechanic, ie player will mine several base material, each with their own stats in weight, heat dissipation and armor value. Then they could mix them to create an alloy with different stats, better (hopefully) that the sum of their part. This is to spice things up for the career mode. I am not sure yet on the logic of the mixing formula, and also I need to clear things up for the implementation. You would be limited to something like 8 different allow per ship. Now on the heat debate: it wont be heat sink block, just hull block with a higher heat dissipation rate, ie 150%, 200%. (not like 10000%). So like for other hull block, it dont have to be placed outside the ship to work. If you have any idea on how an alloy mechanic could work (or if it has been done in other game), please shoot. Worst case we will just get a few different metal with their own stats, and not alloy mechanic. cheers

ProPeach commented 3 years ago

An alloy mechanic sounds fantastic, although the amount of different alloy hull types you could make with even only 8 base materials is around 40 thousand types... Maybe reduce that to 5 or 6 :D A basic mixing formula could be as simple as just taking an average of the base material stats in the proportions which they are alloyed together, I don't think it needs to be much more complex that that unless some alloys are more obviously OP considering the rarity of their base elements. So for example -

Base Metal A HP - 100 Mass - 200

Base Metal B HP - 50 Mass - 100

Alloy ABB HP - (100 + 50 +50)/3 = 66.7 Mass - (200 + 100 +100) = 133.3

Perhaps the player would mix these alloys in a huge furnace with a "crafting table" like GUI and produce an alloy blueprint so they can manufacture ingots of the alloy, then use a certain unit of ingots to make each block shape. 50 units for a cube, 25 units for a slope etc.

The problem becomes how the player builds with the metal ingots in survival... Maybe the player builds with the basic hull in a shipyard (to save on codex space), then designates which block they want as which alloy with a similar tool to the paint tool? Then the shipyard switches out the basic hull block for an alloy block with a visual like a repair beam firing at the block and the required ingot cost is subtracted from the shipyards inventory. This system would really benefit from improved "paint" tools like area paint and default paint like back in the Skywanderers days.

Even so, I'm still wary of mixing the Heat stat into different forms of hull for the same reasons as my first comment. Players could quite easy forge a high heat dissipation block and fill their heavily armoured hull with it for the best of both worlds. Hopefully play testing will show I'm just being overly cautious!

From a gameplay perspective, how will these alloys look different to eachother? They can't each have a different texture due to the sheer number of alloy permutations... Unless you could make a system that blends textures of different base metals together? If they all look too similar, it may be difficult for an enemy to work out a weak spot, or notice a more heavily armoured section that they should avoid wasting shots firing at.

Garrett-C commented 3 years ago

@ProPeach I guess it depends on a couple of elements. I mean if you end up with high armor low heat (HALH) blocks on the outside but High Heat low Armor (HHLA) blocks on the inside do you not arguably end up with something equivalent to just having loads of thick walls? Like if HALH blocks ended up with double the armor but half the heat and HHLA blocks were the opposite would it not end up similar to what it's like using just hull now?

Another thing is beams could maybe be very effective against low heat blocks, logically they would melt them. Then you could have some kinetics or missiles which are able to penetrate armor by x blocks depending on the weapon etc. So high armor may be able to reduce penetration but would be weak to beams while high heat is strong against beams but weaker against penetration.

In regards to textures I wonder if it could be done with some form of texture from the most prominent material or something.

The alloying idea does sound really interesting for the gameplay. There is certainty a question about how they would be applied to ships but the system is cool. Sounds like something that could work quite well in mp for trade etc.

Maybe there is even an element of some alloys can't be created. Like some elements cant go together or need an additive to alloy.

ultrak2k commented 3 years ago

Aye, an alloy mechanic would be very good Would there be rarer, more location based, harder to get or very hard to refine (complex factories needed) materials that might be better then base ones? Would add more depth to resource gameplay

tsunamayo commented 3 years ago

So it have to be more than simply a weighted average of each stats, otherwise it is a bit pointless. It could a bit more, a lot more, even less! To allow some experimentation, or making the discovery of strong alloy formula interesting. For the look: my plan was to use a base color. For different texture I was thinking of maybe having a crafting recipe for light / heavy , and have a different texture for them (of course heavy would be heavier). Or maybe look at the armor stats of the final alloy, and if is heavy then pick the heavy texture. But that means I need to work on the custom color comeback first... Honestly it is kind of overkill at this stage, I might just work on some basic hull level at first and see if I go alloy later on.

ultrak2k commented 3 years ago

So it have to be more than simply a weighted average of each stats, otherwise it is a bit pointless. It could a bit more, a lot more, even less! To allow some experimentation, or making the discovery of strong alloy formula interesting. For the look: my plan was to use a base color. For different texture I was thinking of maybe having a crafting recipe for light / heavy , and have a different texture for them (of course heavy would be heavier). Or maybe look at the armor stats of the final alloy, and if is heavy then pick the heavy texture. But that means I need to work on the custom color comeback first... Honestly it is kind of overkill at this stage, I might just work on some basic hull level at first and see if I go alloy later on.

Wait, so in an alloy mechanic, would you really only control for strength and heat, maybe weight? Perhaps there should be different damage types and resistences to them, IE, explosive resistence, heat resistence, etc - allowing for more primary base metals and minerals - which would add greatly to depth of the mining and refining side of the game, and also pave way for more general metals which are rarer and harder to refine, as stated above

Garrett-C commented 3 years ago

So it have to be more than simply a weighted average of each stats, otherwise it is a bit pointless. It could a bit more, a lot more, even less! To allow some experimentation, or making the discovery of strong alloy formula interesting. For the look: my plan was to use a base color. For different texture I was thinking of maybe having a crafting recipe for light / heavy , and have a different texture for them (of course heavy would be heavier). Or maybe look at the armor stats of the final alloy, and if is heavy then pick the heavy texture. But that means I need to work on the custom color comeback first... Honestly it is kind of overkill at this stage, I might just work on some basic hull level at first and see if I go alloy later on.

Wait, so in an alloy mechanic, would you really only control for strength and heat, maybe weight? Perhaps there should be different damage types and resistences to them, IE, explosive resistence, heat resistence, etc - allowing for more primary base metals and minerals - which would add greatly to depth of the mining and refining side of the game, and also pave way for more general metals which are rarer and harder to refine, as stated above

I Imagine it could work as something that is added to over time. So in the near future we may just get some form of basic blocks. Then we could get the basic alloy system. Then over time when more features are added more materials could be added. So maybe Tsuna adds missiles and also adds a material that counters it. Then maybe he adds emp/ion weapons and a material that counters it. Maybe some fancy scanner system is added and a material is added to counter it etc.

I kind of imagine it could work well as an evolving system as the game develops.

ultrak2k commented 3 years ago

well less of countering weapon types and more effective against explosive/kinetic/etc, but that would be great yeah

zorozeenee commented 3 years ago

you can already make heatsinks with hull, this would be a bad suggestion

cloudrambler commented 3 years ago

@ProPeach Your suggestion that a heat sink block which works anywhere being a problem is very valid. A ship filled with such things would seem to be disproportionately heat capable. There are a couple of solutions.

If the heat sink blocks have a very low HP contribution, then a ship filled with them would be prone to easy destruction. Because ship hull health is based on HP from all blocks, not just the visible ones. So such a ship may be tough on the outside, but overall vulnerable from damage. You would not use that kind of ship for military purposes, where the fights are long, but it could be advantageous for pirates, as they would not stick around if they were losing the fight. If heat sink blocks have low HP AND high mass, then the balancing effects would really hurt overusing them.

I'm not sure how the heat mechanic works already, but ships get hotter before they fail from heat; so there is a heat storage aspect as well as the heat radiation aspect. I think at the moment hull blocks store heat AND shed it too. If the heat mechanic was such that heat storage was the function of hull blocks and heat radiation was ONLY done by the surface area, then you decouple the two functions. The average rate of heat radiation would be limited by the size of the ship. But you could buffer that average for short term bursts with internal heat stores, from special alloys. This works just the same as shields and power units that have different stats for rate and capacity.

cloudrambler commented 3 years ago

@tsunamayo I have a proposal for an alloy mechanism that will generate interesting results without being too unpredictable.

Firstly there would be a range of base metals. These would each have statistics for three functional criteria: strength (HP), heat capacity, and mass/weight. Those statistics would not be a single number, but a list of numbers corresponding to the proportion used in any alloy. Lets say a scale of 16 data points per criteria.

If a base metal is used to make a hull block alone, then its top data points (16) are used for all criteria. If the base metal is combined with other different base metals to make an alloy, then the data points relating to the chosen proportion is used. The respective data point values from the combined base metals then determines the properties of the finished alloy.

This probably does not make sense from my description, so please take a look at the attached .xlsx file where I have presented some examples (no macros).

Alloys.xlsx

As you can see, the alloys are better than ALL the base metals in some respects, and using small amounts of certain exotic base metals can be just as powerful as using lots of it.

To make this method work, there would have to be some care to set out the statistics of the base metals, along with determining their relative availability. I like this method because it is both repeatable (does not use random generation), but it also avoids singularities (obvious best alloys that would simply get published on the forums and spoil the fun).