Is individual block HP pointless?

    Raisinbat

    Raging Troll
    Joined
    Dec 29, 2014
    Messages
    459
    Reaction score
    269
    We keep discussing things to pile on the game, let's discus an old feature that might be obsolete.

    When you're in a fight you always measure ship damage in number of blocks destroyed. A block having excess HP leftover is usually pointless, since the next bullet will typically overshoot anyway.

    Not suggesting we do away with blocks having a HP value, just keeping track of individual values seems pointless. A damage tick that's > HP will destroy the block as usual, with some other solution being applied for damage that's below the HP value. Either damage divided by HP chance to destroy the block, or just ignore it to discourage low damage weapon spam, or post other suggestions in thread.

    Why should this be removed?

    This thread is NOT saying the feature should be removed, it's not in the way or anything, but as far as i understand the block data it's eating up 8 bits of data for each block that could be used for something better. This also imposes a limit on block HP range since you can't have blocks with >256 HP. I'd also suspect there might be performance benefits, but i don't know enough to say. Please correct me if i got this wrong.

    This thread is simply to mark this feature as something that's open for getting cut from the game, or not if there are good arguments for keeping it​
     

    Edymnion

    Carebear Extraordinaire!
    Joined
    Mar 18, 2015
    Messages
    2,709
    Reaction score
    1,512
    • Purchased!
    • Thinking Positive Gold
    • Legacy Citizen 5
    Well, on one hand it could be better if we gave blocks HP plateaus. As in, some blocks have 5 hp, some have 25, 50, 100, 150. That would give us a total of 5 levels of hp each block has, which would only take up 3 bits in the block code.

    However, the problem arises when you realize that the game would still have to track total damage done to each block to see if it was destroyed or not.

    It would then get very messy very quickly trying to figure out how to handle it. Say the block has Lvl 5 hp, and its shot by something that does 1 hp of damage, like a torch. How do you track that? Do you just knock it down to lvl 4 hp? Make it so that it effectively only has 5 hp? And then re-jigger all the weapon damage to essentially be 1-5 damage per shot? But then that also means we have to redo the tertiary effects as well, and pretty soon we're at a complete scratch rebuild of the entire weapon system.

    Also, 8 bits isn't really that much in the long run.
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    ...Also, 8 bits isn't really that much in the long run.
    Yes and no. 8 bits is 1/3 of the total bit count for each block. If just three of those bits were redirected to Block IDs, the Block ID count could increase from 2k to 16k.

    Unfortunately for this suggestion, it really doesn't take into account astronaut-level combat, which could become more important with a fauna update or astronaut boarding improvements.
     
    • Like
    Reactions: MacThule

    Edymnion

    Carebear Extraordinaire!
    Joined
    Mar 18, 2015
    Messages
    2,709
    Reaction score
    1,512
    • Purchased!
    • Thinking Positive Gold
    • Legacy Citizen 5
    Yes and no. 8 bits is 1/3 of the total bit count for each block. If just three of those bits were redirected to Block IDs, the Block ID count could increase from 2k to 16k.
    They've already said they will increase the block bit count if needed, and that "we don't have enough block IDs to add that" doesn't really apply anymore. So don't worry about there not being enough block IDs.
     
    Joined
    Nov 30, 2015
    Messages
    855
    Reaction score
    75
    Yes and no. 8 bits is 1/3 of the total bit count for each block. If just three of those bits were redirected to Block IDs, the Block ID count could increase from 2k to 16k.

    Unfortunately for this suggestion, it really doesn't take into account astronaut-level combat, which could become more important with a fauna update or astronaut boarding improvements.
    Or anything that isn't in the blocks/tick range. You're kinda dising the whole <Frigate ship league.
     
    • Like
    Reactions: MacThule

    Raisinbat

    Raging Troll
    Joined
    Dec 29, 2014
    Messages
    459
    Reaction score
    269
    However, the problem arises when you realize that the game would still have to track total damage done to each block to see if it was destroyed or not.
    Why? Most cases weapon damage far exceeds block HP, and like i said you can handle leftovers in other ways.

    Unfortunately for this suggestion, it really doesn't take into account astronaut-level combat, which could become more important with a fauna update or astronaut boarding improvements.
    Please elaborate on this. I'd assume astronauts still have HP :p

    Or anything that isn't in the blocks/tick range. You're kinda dising the whole <Frigate ship league.
    If your weapons are too weak to break multiple blocks they are de facto worthless. Idk what you consider a frigate but if its more than 100 blocks it shouldn't have problems like that. If it does, it's poorly designed and the game should not be built around accomodating crappy designs.

    I guess this kind of ties into the backwards damage models for hull damage. Schine this is why you need to fix the fucking problems in the game instead of piling more shit on it, you can't discus one issue without 50 others getting in the way.

    What if we went back to pre-armor update punch through for weapon penetration so it's 100% damage instead of these bizzare damage ticks? (was there some issue with this? Not sure why it was changed in the first place, but current system is just ridiculous)
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    ...
    Please elaborate on this. I'd assume astronauts still have HP :p
    ...
    Indeed! In addition to astronauts themselves and their weapons, critical components of astronaut combat is the same as any other FPS: vehicles, buildings, and other cover.
    On one hand, blocks standing between two astronauts should not be indestructable by those astronauts. That would be the situation with most conventional FPS's: the environment is indistructable. That should not be the case in a voxel environment. Damaging the environment is half the fun of a voxel game.
    On the other hand, weaker astronaut weapons should not be able to wipe out a block in 5 hits. Well, unless it is a naturally weak block, like a computer or a glass canister or some such item.

    My point, in agreement with Nickizzy, is that while smaller weapon systems (those that are -not- designed to annihilate entire blocks with every tick) are insufficient for your level of play of Starmade, they are still in use by other Starmade players.
     
    • Like
    Reactions: Raisinbat

    MrFURB

    Madman of the Girders
    Joined
    Jan 31, 2013
    Messages
    1,116
    Reaction score
    413
    Ah, so you're saying that the block data doesn't have keep track of what amount of damage is needed to destroy a block. Instead one could plug the block ID into the formula that interprets that into whether the block is destroyed or has a % chance to be destroyed.

    Well, I don't see any major issues with the idea. A couple of minor ones come to mind.

    Missile damage code would need to be reworked a bit. If you simply applied the '% chance to be destroyed by partial damage' code into each space in the missile's AOE it'll end up giving anything it doesn't outright kill a humorously spongy texture. I'm sure there are plenty of ways to solve that.

    Smaller scale combat and drone combat would come with a certain dissonance. People have complained about lesser examples of RNG so I expect there would be a lot of prattle about one's weapons only having a certain chance to progress the enemy's defeat.

    Perhaps the biggest change would be the meta for PvP ships. Without a maximum penetration length I suspect people will heavily tilt towards alpha weapons with enough damage to make a crater without heavy over-penetration kicking in. Metaweapons, out. Railguns, in.
     
    • Like
    Reactions: Raisinbat

    Raisinbat

    Raging Troll
    Joined
    Dec 29, 2014
    Messages
    459
    Reaction score
    269
    My point, in agreement with Nickizzy, is that while smaller weapon systems (those that are -not- designed to annihilate entire blocks with every tick) are insufficient for your level of play of Starmade, they are still in use by other Starmade players.
    You still have rocket launchers available for that, but i also suggested alternative ways of destroying blocks that doesn't require the HP system. Random chance to have it destroyed as damage/HP chance; a 25 damage gun would have 25/50 chance of destroying a weapon module, 25/100 chance against hull block etc.

    I'm not really familiar with astronaut combat but i don't think it's worth wasting time on. Starmade is not an FPS, and its very easy to make vehicles / ships 100% impervious to astronauts. Astronaut combat needs a lot of overhaul, which i think is coming eventually, but tracking block HP for millions of blocks, most of which will never need it, is just an insane way of enabling that. Also don't see why a pistol should be able to destroy a spaceship. :p

    As for ship weapons, why should stupid decisions be validated just because people are doing it? It's not "insufficient for my level of play" it's stupid, and size is not the cause of it, but bad design. It takes 15 blocks to make a can/pul/ovd weapon able to destroy a single advanced armor block, that is in no way large.

    If world of warcraft had a bunch of people dress up in cow suit and only use emotes should the game be designed to enable this as a valid way of playing the game?

    Smaller scale combat and drone combat would come with a certain dissonance. People have complained about lesser examples of RNG so I expect there would be a lot of prattle about one's weapons only having a certain chance to progress the enemy's defeat.
    Again, it's just bad design, unless your drone absolutely needs to be <30 blocks you're perfectly capable of making weapons that destroy multiple blocks per shot.

    Also, even if you don't destroy the block you're still inflicting armor damage, at least against armored blocks, so it's not like there's zero impact at all, and once they run out of armor HP the blocks become much easier to destroy.

    Perhaps the biggest change would be the meta for PvP ships. Without a maximum penetration length I suspect people will heavily tilt towards alpha weapons with enough damage to make a crater without heavy over-penetration kicking in. Metaweapons, out. Railguns, in.
    But this is already the case; you just waffle your guns and use logic to shoot. The whole penetration model is ridiculous and easy to circumvent, it just encourages massive amounts of projectile spam. Even without logic you can just make multiple turrets/drones with super deep penetration anyway... fuck am i going to start another thread on armor and penetration now :(
     
    Joined
    Nov 30, 2015
    Messages
    855
    Reaction score
    75
    As for ship weapons, why should stupid decisions be validated just because people are doing it? It's not "insufficient for my level of play" it's stupid, and size is not the cause of it, but bad design. It takes 15 blocks to make a can/pul/ovd weapon able to destroy a single advanced armor block, that is in no way large.

    If world of warcraft had a bunch of people dress up in cow suit and only use emotes should the game be designed to enable this as a valid way of playing the game?
    First of all, it took me a good few weeks before I made a ship large enough to blow holes in Adv armor. And that was over the summer. That makes up a good part of the "stick or leave" era of a player's relationship with a game. And I went straight for big ships. I can't tell you how much less cool it'd be if all that time 3/4 my shots would just disappear. You have to make it really obvious that their hitting, because if I start shooting at any armor blocks and it does nothing, that really makes it hard to tell how a weapon works.

    Also, about the "15 blocks", that's a complete micro sized alphaweapon. The first thing I made, and stuck with for a good few ships, wasn't a 1 per 45 seconds alpha shot, it was a pew pew Cannon/cannon. That would take 2k/2k 4000 blocks to pop a block a shot. That's a ton for a new player. And don't expect them to be efficient either.
     
    Joined
    Aug 23, 2016
    Messages
    758
    Reaction score
    129
    Ah, so you're saying that the block data doesn't have keep track of what amount of damage is needed to destroy a block. Instead one could plug the block ID into the formula that interprets that into whether the block is destroyed or has a % chance to be destroyed.
    My understanding is that we aren't talking about chances here: damage is checked to see if it's high enough to destroy the block: if it is, the block is destroyed, if it isn't the block is untouched.

    Basically recording block HP is reduced to 1 bit: full health or dead.

    It does seem like the HP fidelity could perhaps be reduced and there would be benefits to it, but some problems also:
    • how would an astronaut slowly cutting through a block work?
    • How would beam damage work? It does damage over time, not instantaneously per shot.
     

    Raisinbat

    Raging Troll
    Joined
    Dec 29, 2014
    Messages
    459
    Reaction score
    269
    First of all, it took me a good few weeks before I made a ship large enough to blow holes in Adv armor. And that was over the summer. That makes up a good part of the "stick or leave" era of a player's relationship with a game. And I went straight for big ships. I can't tell you how much less cool it'd be if all that time 3/4 my shots would just disappear. You have to make it really obvious that their hitting, because if I start shooting at any armor blocks and it does nothing, that really makes it hard to tell how a weapon works.
    Starmade is terrible at introducing new players and retaining them, no arguments there. Thing is though, 3/4 of your shots are already disappearing. This doesn't make good weapons bad, these weapons are terrible now and they'll be terrible with the change.

    Also, about the "15 blocks", that's a complete micro sized alphaweapon. The first thing I made, and stuck with for a good few ships, wasn't a 1 per 45 seconds alpha shot, it was a pew pew Cannon/cannon. That would take 2k/2k 4000 blocks to pop a block a shot. That's a ton for a new player. And don't expect them to be efficient either.
    So tell people not to use can/can; it's the source of 90% of terrible weapons.

    There are other ways starmade could introduce new players, simply giving a starter ship that doesn't use can/can would immediately alleviate the situation because people become familiar with the slower weapons first. If new players are making mistakes the game should be correcting those mistakes, not accomodating them.

    I'm absolutely no different here, the first weapons i made were pants-on-head retarded as well, i made a can/can/ion machine gun with 50 outputs for fucks sake, then wondered why it took so much power to fire!!! :rolleyes: People learn from their mistakes and move past them, the game doesn't need to accomodate them.
    [doublepost=1483667485,1483667330][/doublepost]
    My understanding is that we aren't talking about chances here: damage is checked to see if it's high enough to destroy the block: if it is, the block is destroyed, if it isn't the block is untouched.
    No that's totally open for discussion. It can just be a chance that the block is destroyed (damage/block HP) which adds some variation but leaves overall destruction same as it is.

    how would an astronaut slowly cutting through a block work?
    Keep the torch on the same block and the torch can keep track. Same as mining in minecraft, no HP there.

    How would beam damage work? It does damage over time, not instantaneously per shot.
    what, no. It does instant damage, it just fires five times.
     
    Joined
    Aug 23, 2016
    Messages
    758
    Reaction score
    129
    No that's totally open for discussion. It can just be a chance that the block is destroyed (damage/block HP) which adds some variation but leaves overall destruction same as it is.
    My mistake.
    I see the reason for considering that behaviour, but for me personally the randomness would be a bit hard to swallow. If HP were removed I'd prefer to see success/failure with no chances between - when I do something i should already know exactly what the results will be.


    Keep the torch on the same block and the torch can keep track. Same as mining in minecraft, no HP there.
    Good point, would work.



    what, no. It does instant damage, it just fires five times.
    Aren't those five times the ticks you want to get rid of?

    If you get rid of HP, should a beam have to able to destroy a block per tick to be effective? (assuming no chance to destroy with less damage)
    If you got rid of ticks, would continuous beams do damage once per second? They couldn't do all the damage up front, because the weapon won't know how long the player plans to hold their finger on the trigger, so you have to either have ticks (whether that's 0.2 or 1.0 sec) or make it impossible for a beam to fire indefinitely and then apply all damage instantly as soon as the beam hits (nice buff for beams?).

    If you hold a continuous beam on a block the block should be destroyed at some point, even if the beam is weak and that point in time is a long way off: that's the behaviour a player expects from a continuous beam (and even a weak rapid fire cannon).
     
    Last edited:

    Raisinbat

    Raging Troll
    Joined
    Dec 29, 2014
    Messages
    459
    Reaction score
    269
    Aren't those five times the ticks you want to get rid of?
    No, the "ticks" i'm talking about (god its such an irrational concept i don't even know what to call it D: ) are when your shots are split into smaller damage packets. You fire a 200 damage beam, its split into a 150 damage tick and a 50 damage tick, those are the ticks that are weird. It's why i said to return to the old punch-through system where a shot just loses damage as it goes through blocks.

    If you get rid of HP, should a beam (cannon slaves) have to able to destroy a block per tick to be effective? (assuming no chance to destroy with less damage)
    It already does, same as all other weapons. People use cannon slave too much.

    If you got rid of ticks, would beams do damage once per second? They couldn't do all the damage up front, because the weapon won't know how long the player plans to hold their finger on the trigger, so you have to either have ticks (of some length) or make it impossible for a beam to fire indefinitely and then apply all damage instantly as soon as the beam hits (nice buff for beams).
    Like before this is really an issue with beams being irrationally handicapped against armor to the point where 99% of their damage just evaporates. You can't keep a weapon focussed on the same block in combat because you and your target are flying around super fast, while spinning around and bumping into shit, it's like trying to knit while riding bumper cars.

    If you hold a continuous beam on a block the block should be destroyed at some point, even if the beam is weak and that point in time is a long way off: that's the behaviour a player expects from a continuous beam.
    Again, knitting in bumper cars. You simply can't keep a beam on one block, and a beam that is so weak it takes several seconds to get through a single block, at that point combat is utterly impractical; try this in combat it does not work; dogfights end up lasting upwards of an hour if your weapons are this pathetic.

    You're all right; if we're talking 3 mass fighters with 2-3 block weapon systems this would definitely handicap that playstyle; but that's not how starmade is played. This playstyle does not function in the game so there's no point catering to it; these ships are too tiny and fast for cannons or beams to reliably hit each other, go try it out i'll wait here.
     
    Joined
    Aug 23, 2016
    Messages
    758
    Reaction score
    129
    No, the "ticks" i'm talking about (god its such an irrational concept i don't even know what to call it D: ) are when your shots are split into smaller damage packets. You fire a 200 damage beam, its split into a 150 damage tick and a 50 damage tick, those are the ticks that are weird. It's why i said to return to the old punch-through system where a shot just loses damage as it goes through blocks.
    That does sound weird...

    It already does, same as all other weapons. People use cannon slave too much.
    Currently you can do partial damage per 0.2 sec, without destroying the block?

    Again, knitting in bumper cars. You simply can't keep a beam on one block, and a beam that is so weak it takes several seconds to get through a single block, at that point combat is utterly impractical; try this in combat it does not work; dogfights end up lasting upwards of an hour if your weapons are this pathetic.
    I understand your point, and don't disagree, but a sandbox game like SM means players will do all sorts of things, including situations where this would mean they see behaviour from the game that doesn't make sense.

    You're all right; if we're talking 3 mass fighters with 2-3 block weapon systems this would definitely handicap that playstyle; but that's not how starmade is played. This playstyle does not function in the game so there's no point catering to it; these ships are too tiny and fast for cannons or beams to reliably hit each other, go try it out i'll wait here.
    Same answer as above I think.

    You're right, I haven't tried dogfighting in tiny ships, but is it much harder than dogfighting with guns in a good flight sim? (That I've done a lot)
    Speeds are similar...maneuverability is the critical issue though.

    I'm not actually against the idea, just playing devil's advocate (with genuine concerns), because until you've looked at all the potential problems (which every suggestion has) there's no way anyone sensible would implement anything.
    If blocks could be streamlined enough to remove an entire byte (7 bits from this suggestion plus 1 more bit) it would possibly be a huge win for the game.
     
    Last edited:

    Lancake

    Head of Testing
    Joined
    Aug 20, 2013
    Messages
    794
    Reaction score
    560
    • Schine
    • Tester
    Interesting twist on something we had since the very beginning. I like the idea but I'm not convinced by it yet, mostly because I haven't given it enough time to think it through but since this is just a discussion anyway, it doesn't hurt to share my first concerns.

    If each block uses their HP as a threshold, where damage above it has a chance to destroy it, and damage below it does something else or the same just with less chance.

    Won't you end up with weird damage models? A single projectile could have enough damage to go through 50 blocks, but because chance is involved now, not all blocks would die.
    If a block didn't die, I would say that we stop propagating its damage but then you might end up with very shallow damage holes for a weapon that is supposed to wipe the floor with your target.

    And how would you tackle low weapon damage? As in fighter vs fighter. Right now that barely works anyway but my own idea was to make armor scale with your AHP. Small ship's advanced armor would be extremely weak compared to a large ship's advanced armor because of the AHP pool difference.

    In order for this to work on low damage too, the chance of a block to be destroyed or the HP Thresholds would need to move accordingly depending on the ship's SHP. That would also be the only reason to have SHP since it would move around the threshold of your entire ship.

    That's what I would do at least (as a first and quick thought)...and as MrFurb mentioned, it wouldn't work well with missiles right now. Reworking it a bit might end up as scratching the missile explosion system.

    I like this idea and I'll definitely try to work out some solid examples, it's just that I don't think we can avoid "RNGesus" here and you'll end up with waffle guns anyway unless we use a very specific chance based system that moves around when it should.

    People like to min/max and this system would not be different in that aspect I believe. You would end up aiming for the highest threshold of a ship size you expect to fight and then make all your single weapon groups in your waffle gun, meet the damage requirements to meet them.
     
    Joined
    Aug 23, 2016
    Messages
    758
    Reaction score
    129
    If each block uses their HP as a threshold, where damage above it has a chance to destroy it, and damage below it does something else or the same just with less chance.

    Won't you end up with weird damage models? A single projectile could have enough damage to go through 50 blocks, but because chance is involved now, not all blocks would die.
    If a block didn't die, I would say that we stop propagating its damage but then you might end up with very shallow damage holes for a weapon that is supposed to wipe the floor with your target.
    I was wrong when I interpreted the OP before, and could be again, but I think the idea was if damage is equal to or greater than the block type's HP value then the block is destroyed.
    If the damage is below that threshold then there is a chance of destroying it.

    And how would you tackle low weapon damage? As in fighter vs fighter. Right now that barely works anyway but my own idea was to make armor scale with your AHP. Small ship's advanced armor would be extremely weak compared to a large ship's advanced armor because of the AHP pool difference.
    Armour behaving differently on different sized ships sounds pretty messy. Inconsistent behaviour is immersion-breaking.
     

    Lancake

    Head of Testing
    Joined
    Aug 20, 2013
    Messages
    794
    Reaction score
    560
    • Schine
    • Tester
    I was wrong when I interpreted the OP before, and could be again, but I think the idea was if damage is equal to or greater than the block type's HP value then the block is destroyed.
    If the damage is below that threshold then there is a chance of destroying it.

    Armour behaving differently on different sized ships sounds pretty messy. Inconsistent behaviour is immersion-breaking.
    If that's the case, you still end up min/maxing around the threshold. In this case you would want each weapon group to exactly deal the threshold damage.

    As for the AHP Idea I mentioned, it's consistent behaviour since all armor would be equally worthless on small ships and equally strong on larger ships but that's all I want to say in this thread, don't want to derail it from the original discussion.
     
    Joined
    Aug 23, 2016
    Messages
    758
    Reaction score
    129
    If that's the case, you still end up min/maxing around the threshold. In this case you would want each weapon group to exactly deal the threshold damage.
    Larger weapons would still destroy multiple blocks...

    At the risk of sounding like I'm speaking on behalf of Raisinbat :-p I don't see any hint that his suggestion was intended to avoid min/maxing.
     

    Lancake

    Head of Testing
    Joined
    Aug 20, 2013
    Messages
    794
    Reaction score
    560
    • Schine
    • Tester
    Larger weapons would still destroy multiple blocks...

    At the risk of sounding like I'm speaking on behalf of Raisinbat :-p I don't see any hint that his suggestion was intended to avoid min/maxing.
    ... to discourage low damage weapon spam, ...
    Perhaps I misinterpreted its context, but to discourage low damage fast firing waffle guns and to encourage slower firing ones seems to be part of the reason why according to Raisinbat, you would want to switch over to this threshold system.

    He mentioned other reasons why to remove the old block HP system such as potentially freeing up 8 bits and an increase in performance. Don't think it would change much in performance but it would probably be worse for missiles.