Return to “Suggestions”

Post

Dynamic Destruction

#1
I think a great idea for the game would be the ability to damage ships where you hit them - and then have that damage shown. So, say, you hit the cockpit of a ship with a missile, thus taking out the pilot. The cockpit gets destroyed (with realistic damage) and eliminates the pilot, making the ship unable to fly or function. Or, if you hit the engines, then the ship will (depending on how many engines you broke) either become a lot slower or stop altogether and just drift in space. It would be cool to be able to laser off sections of plating and send debris flying into space. I enjoy any cinematic or movie with that kind of destruction :D . To make sure that the superior ships don't immediately blast underdogs into a million pieces, then shields could be added. That way, you have a chance of surviving a missile and not end up drifting around in space because your engines got taken out two minutes after you warped into a battle :ghost: . It would also give meaning to which part of an enemy ship you shoot at, rather than just spraying your lasers randomly and hoping for the best. Kind of like in star wars, when the rebels attacked the second death star, they had a goal - into the reactor shaft - rather than just shooting all over the station. Same principle. It could also mean that, if you hit the cockpit/bridge of a flagship, thus eliminating the leaders of a particular fleet, the rest of that fleet will acknowledge defeat and surrender (or maybe not, it depends how aggressive they are). Also, it means you can rip ships in half with strong lasers! I'm sure every destruction fan out there would like to do that one day :lol: . Also, it means that when you hit a ship in the middle with a laser when it is about to break, the ship actually breaks apart where you hit it, in the middle (ripping in in half) rather than the whole thing playing an explosion animation and then changing it's model to a wrecked-all-over version.

Feel free to comment on the idea and suggest your own modifications to it.
Post

Re: Dynamic Destruction

#2
Some of this is likely to happen, and some of this is extremely unlikely to happen. Specific points on the ship (engines, weapons, shield systems, and so on) will be targetable, according to our current goals. You'll be able to tell your ships to fire at the engines of a cruiser to bring it to a halt, for instance, or wreck the missile pods on a gunship to leave it defenseless.

However...

That damage being actually shown in a visible, non-HUD format is very unlikely. This isn't a AAA game, remember. :D Those things tend to do one of three things to a game:
  1. Kill the framerate, no matter how beefy your rig is
  2. Keep ships from being procedural at all, and simply have pre-defined damage models for each ship
  3. Cheapen the game's depth so that the game will still run despite all the computations taking place (in other words, cut content and stuff-happening-at-once)
More importantly, I suppose, Josh has said that it's not something he's interested in for LT. Any procedural visual effects like that would almost certainly come in LT 2. It's possible he might compromise and show "fake debris" coming off a ship when you hit it (basically particle effects), but they wouldn't actually be "real" pieces of the ship.

It's fun to think about, though. I really like the idea too, and I think it would feel awesome to fire a particle cannon at a ship and, under sustained fire, slowly bore a hole into it. That would feel amazing. :D Not to mention how cool it would be to get out of a massive battle and see your ship in tatters, barely limping along. Visuals are fun. :)


As to cockpits being targetable, I'm not actually sure that's going to happen. It would make it considerably easier to kill enemies - and you! You have to remember that if you can do something, the enemy can do it, too. Getting your cockpit lasered before you're even within gun range would cause a lot of people (myself included, admittedly) to ragequit. :ghost:
Have a question? Send me a PM! || I have a Patreon page up for REKT now! || People talking in IRC over the past two hours: Image
Image
Image
Post

Re: Dynamic Destruction

#3
Talvieno wrote:
Sat Aug 12, 2017 7:52 am
Keep ships from being procedural at all, and simply have pre-defined damage models for each ship

I was thinking about this, too, but the thought occurs: if ships (and stations) can be composed procedurally, why can't they be decomposed (damaged) procedurally?

The two sticking points would seem to be logic and rendering:

  1. code that decides which part of a ship was hit and removes some of the structure from that area
  2. code that can efficiently render objects defined as procedurally-generated structural components

The decomposition logic would have to be written to randomly remove some structural pieces around an impact point. And because huge furballs might happen, where many impacts are occurring (worst-case of 100 damaging impacts per second, maybe?), that logic should be efficient.

But doesn't the code to efficiently render procedurally-generated structures already exist? I thought that's basically what Josh showed off in the image he included last time -- that wireframe-looking blue structure. If LT is already being written to render complex objects quickly, wouldn't removing structural bits actually make this rendering process go (very marginally) faster, since there are fewer structural bits to process for occlusion/shading/etc.?
Post

Re: Dynamic Destruction

#4
Well, you have to do the boolean operation and generate a new mesh and render the new mesh in time, with eventually hundreds of impacts (thus regenerations) per second.
Mesh generation is fast in terms of seconds, yes. But hundreds of generations per second with many ships could get really really taxing.

Oncw its generated its cheap to render, but you have to generate it first.
Post

Re: Dynamic Destruction

#5
Talvieno wrote:
Sat Aug 12, 2017 7:52 am
As to cockpits being targetable, I'm not actually sure that's going to happen. It would make it considerably easier to kill enemies - and you! You have to remember that if you can do something, the enemy can do it, too. Getting your cockpit lasered before you're even within gun range would cause a lot of people (myself included, admittedly) to ragequit. :ghost:
As someone who loves Mech Warrior I have to disagree. It takes a certain amount of skill to aim at and destroy a cockpit. Even more so if the cockpit as a reasonable amount of armor. But this also assumes that ship designs have exposed cockpits, which may or may not be the case in LT. Blowing up weapon mounts is fun and encourages the player to have an understanding of the ship which is being fought.

Personally though, I'd let big ships have target-able guns and systems while I would have fighters only have target-able systems for simplicity,


(Yes, I love Star Wars and Mech Warrior and often reference them)
Image
Post

Re: Dynamic Destruction

#6
Talvieno wrote:
Sat Aug 12, 2017 7:52 am
As to cockpits being targetable, I'm not actually sure that's going to happen. It would make it considerably easier to kill enemies - and you! You have to remember that if you can do something, the enemy can do it, too. Getting your cockpit lasered before you're even within gun range would cause a lot of people (myself included, admittedly) to ragequit.
I did mention shields as a balancing point there. Also, it'll be super hard to aim at a cockpit when the enemy is MOVING, so it's not that easy. Shields could basically make sure that the small weapons, like lasers, don't get through to the actual ship first, so rather than hundreds of tiny little pieces having to be broken off from laser shots, with the shields on only things like railguns and cannons and missiles will have sufficient power to penetrate shields and take chunks out of the ship. Anyway, I remember an image gallery sometime ago (May I think) where Josh did a "stress test" with asteroids. So, if you think of broken off pieces as mini asteroids...

Also, the larger the ship, the harder it will be to actually get through its shields. And if, for example, you manage to cleave a ship in half with a laser, then you don't have to worry about millions of individual pieces lowering frame rate everywhere if it was a clean cut :D .

Oh and btw, Avorion (which is another space game) already has the ability for you to break off parts of ships where you hit them (such as engines) so it is possible...
Devoted to providing LT with daily doses of eureka moments.
Post

Re: Dynamic Destruction

#7
S46 wrote:
Sun Aug 13, 2017 2:29 am
I did mention shields as a balancing point there. Also, it'll be super hard to aim at a cockpit when the enemy is MOVING, so it's not that easy. Shields could basically make sure that the small weapons, like lasers, don't get through to the actual ship first, so rather than hundreds of tiny little pieces having to be broken off from laser shots, with the shields on only things like railguns and cannons and missiles will have sufficient power to penetrate shields and take chunks out of the ship.
So you say a ship without shields becomes completely pointless and that everyone must use projectile weaponry to be competitive.
Because lasers bounce off shields and projectiles ignore them and constantly whittle down the target's capabilities.
S46 wrote: Anyway, I remember an image gallery sometime ago (May I think) where Josh did a "stress test" with asteroids. So, if you think of broken off pieces as mini asteroids...
Except those asteroids were static (aka physics free) and not generated in packs of a hundred every second in combat with mesh recalculations for all hit ships with every hit.
S46 wrote: Also, the larger the ship, the harder it will be to actually get through its shields.
Which doesnt matter at all because you have to do that anyway to the shields, with or without cutting systems :P
S46 wrote: And if, for example, you manage to cleave a ship in half with a laser, then you don't have to worry about millions of individual pieces lowering frame rate everywhere if it was a clean cut :D
(Emphasis added)
Yes if[/] its a clean cut.
And if theres only exactly one weapon firing at the ship, the cleaver. And not a dozend or two other ships firing at it and generating chunk after chunk.

S46 wrote:
Oh and btw, Avorion (which is another space game) already has the ability for you to break off parts of ships where you hit them (such as engines) so it is possible...


And avorion is also a voxel(ish) game with all the drawbacks that includes.

Also the performance declines steeply when the player builds one very large ship with many blocks (aka destroyable parts which would be the interesting part of your suggestion).
And now think what happens when the player has a dozend of such ships, going against another dozend npc ones of equal size with all of them clawing at each other and recalculating meshes and generating the chunk meshes.
With probably dozends of systems being calculated at the same time in which you want stuff going on besides the single massive performance hog clash.
(Like other, similar clashes for example because you arent the only one doing anything in that universe)
Post

Re: Dynamic Destruction

#8
Cornflakes_91 wrote:
Sun Aug 13, 2017 3:29 am
(Like other, similar clashes for example because you arent the only one doing anything in that universe)
Are you suggesting that EVERY system will still be loading broken off parts and such even though the player is millions of light years away?

Also, lasers will slowly wear down shields, of course, and if you have stronger shields, you can deflect stronger missiles... ...and anyway, it doesn't have to be simulated to the point where hundreds of tiny pieces are spurting out of every damage point you made. It could be a kind of particle effect for smaller pieces, and actual "real" pieces are larger and fewer. For lasers and such there doesn't have to be lots of real, tiny pieces flying everywhere, just the particle effect (and smaller pieces could then "fade" after so much time) and a damaged area.
Devoted to providing LT with daily doses of eureka moments.
Post

Re: Dynamic Destruction

#9
S46 wrote:
Sun Aug 13, 2017 5:04 am
Cornflakes_91 wrote:
Sun Aug 13, 2017 3:29 am
(Like other, similar clashes for example because you arent the only one doing anything in that universe)
Are you suggesting that EVERY system will still be loading broken off parts and such even though the player is millions of light years away?
No, not all systems. But the ones close enough for the player to notice if theres discrepancies in simulation.

And of course there'd have to be some approximation of the cutting mechanic because it very strongly affects combat.

If your ships lose their drives due to cutting in system they also have to when out-system else you'd have a dis-/advantage when doing battles with you there or not
Post

Re: Dynamic Destruction

#10
BFett wrote:
Sat Aug 12, 2017 10:54 pm
Talvieno wrote:
Sat Aug 12, 2017 7:52 am
As to cockpits being targetable, I'm not actually sure that's going to happen. It would make it considerably easier to kill enemies - and you! You have to remember that if you can do something, the enemy can do it, too. Getting your cockpit lasered before you're even within gun range would cause a lot of people (myself included, admittedly) to ragequit. :ghost:
As someone who loves Mech Warrior I have to disagree. It takes a certain amount of skill to aim at and destroy a cockpit. Even more so if the cockpit as a reasonable amount of armor. But this also assumes that ship designs have exposed cockpits, which may or may not be the case in LT. Blowing up weapon mounts is fun and encourages the player to have an understanding of the ship which is being fought.
Not when you have turrets and large masses of AI-controlled ships. :D Sure, a human might have some trouble specifically aiming at a cockpit, but the addition of cockpits essentially allows the AI to get headshots on you. AI is never allowed headshots in FPS games for a reason: it's just not fun.
S46 wrote:
Sun Aug 13, 2017 2:29 am
I did mention shields as a balancing point there. Also, it'll be super hard to aim at a cockpit when the enemy is MOVING, so it's not that easy. Shields could basically make sure that the small weapons, like lasers, don't get through to the actual ship first, so rather than hundreds of tiny little pieces having to be broken off from laser shots, with the shields on only things like railguns and cannons and missiles will have sufficient power to penetrate shields and take chunks out of the ship. Anyway, I remember an image gallery sometime ago (May I think) where Josh did a "stress test" with asteroids. So, if you think of broken off pieces as mini asteroids...
Okay, a couple points to make here. First off, Josh has always talked about shieldbuster weapons and weapons that could get past shields before they even went down (albeit either harder to aim or with weaker damage). Freelancer, which LT is based on, had some weapons that were particularly good at cutting through specific "types" of shielding, for instance.

As to the stress tests with asteroids, broken off pieces are not the same. The problem isn't keeping them in memory and rendering them. The problem is that you're carving pieces out of a mesh-based system, which is not anywhere near as simple as it sounds - either programmatically or computationally. It can be done, but at a significant resource cost (on the CPU, specifically). It's the reason that although we do technically have the ability to create procedurally destroyable buildings with our current tech, you don't usually see it in FPS games - especially ones with large-scale combat (hundreds of allies/enemies).

With every piece that comes off, you need to do a number of heavy calculations:
  1. First, collision detection - did the projectile hit? If so, where?
  2. Figure out how much of the ship we want to come off. This would have to be based on volume unless we want things to get really weird, which is more heavy calculation.
  3. Create a new object based on the part of the object we want to come off, using our volume calculations. Then create a new mesh for it, and preferably optimize it (which means heavy calculations now for fewer calcs in the future
  4. Create a hitbox for the new object
  5. Cut off part of the mesh on the old one and, probably, remesh a significant chunk.
  6. Now you have to re-optimize the ship's mesh, too, which will take even longer. This assumes your mesh-splitting calculations are perfect (which they probably aren't - splitting meshes is notoriously difficult, and are buggy even in professional modeling software, a lot of times - especially with irregular meshes).
  7. Regenerate the ship's hitbox.
This is a lot of heavy calculation - and all this does is just carve it up into "chunks" that don't even look realistic - more like carving pieces out of jell-o. If you want it to look realistic, you've got a whole lot more that you're going to have to deal with - generating meshes and textures for ship interiors, procedurally generating ship frames and internals to look somewhat believable, believable chunking of debris... In short, we aren't in Kansas anymore, Toto.
S46 wrote:
Sun Aug 13, 2017 2:29 am
Oh and btw, Avorion (which is another space game) already has the ability for you to break off parts of ships where you hit them (such as engines) so it is possible...
Avorion is voxel-based. That means it's essentially already carved up in tiles, and it's quite easy for a computer to cut off pieces and chop it all up that way. It's already in pieces, so there's no real computational work that needs to be done. LT, on the other hand, is not. It uses a mesh-based system, as I mentioned previously. The two are very different. Voxels are notoriously slow to begin with, but have the advantage of being able to carve them up easily. LT would probably not run at all if all its ships were made of voxels. I'm sure you never saw 500-ship battles in Avorion, for instance. (I haven't played, but given that it's voxels, I'm fairly certain you never really saw battles (at a decent framerate) with any more than 25 or so moderate-sized vessels at once.)

edit: Seems I was ninja'd several times. I really ought to refresh more often. :lol:

Anyway, just for fun, let's say you have a 100-ship battle in LT, which is one-fifth of what Josh has told us we might be able to expect. Then, let's say each ship has five weapons (which is a very low estimate) and fires five shots per second (again, low estimate, as the LT Prototype had you spitting out much, much more for some weapons). Then, let's say only one fifth of all weapons hit. We're looking at 30,000 chunks per minute, and millions, if not billions, of separate calculations. Assuming each debris model is only 100 polygons (another low estimate, unless you want to seriously optimize it so the chunks are low-poly, which means more calculations), you're looking at an addition of around thirty million polygons per minute (more than that, actually, because of having to add more polys to the ship too). Your CPU and GPU are going to melt. :lol: It's a wonderful idea, but realistically speaking, our computers aren't powerful enough for it yet. If it was a battle with only five ships, I'd say, sure. Absolutely feasible. Unfortunately, LT has a lot more than five ships going around at any one time.

Or... we could do what a lot of other games do and just have ship models "decay" with low-poly pre-genned "chunks" that fly off and then disappear after a couple seconds, which would cut most of the time down. It wouldn't be plates flying off, and the ship model would change very abruptly at, say, 75%, 50%, 25% HP (if we go by an HP system, which isn't guaranteed, I think - I don't actually know). ...But it would work. It's a compromise of sorts.

reedit: Actually, the "random chunk debris" idea isn't that bad. If we don't actually take chunks off the ship while we're doing it, and we unload the new (very low-poly) bits very fast, and don't have to do hitboxes for the chunks - they're just graphical - we could make it look pretty neat from a distance. Of course, it won't look good at all from up close, but still... it's something. :squirrel: But it would probably look better to just have sparks or something, I suppose...
Have a question? Send me a PM! || I have a Patreon page up for REKT now! || People talking in IRC over the past two hours: Image
Image
Image
Post

Re: Dynamic Destruction

#11
Well maybe dynamic destruction is possible. If you recall, the old ship designer used procedural pieces which when combined together formed the ship. So it may be possible for these pieces to be targeted individually and destroyed. I think a lot of it has to do with how ships are generated in LT. If ships are built in a similar way to how the ship designer functions then it may be possible for dynamic destruction to occur.
Image
Post

Re: Dynamic Destruction

#12
If that's what you mean by dynamic destruction, then, yes, it's probably possible. You'd still need to regenerate hitboxes and meshes every time, but it wouldn't be nearly as bad as if we were carving out chunks. You could expect some general weirdness in some places, though, with debris object clipping and the like... assuming the debris didn't have collision calculation. If it did, then it would be just as much trouble as carving out chunks, because you'd have to split off the new pieces the same way.
Have a question? Send me a PM! || I have a Patreon page up for REKT now! || People talking in IRC over the past two hours: Image
Image
Image
Post

Re: Dynamic Destruction

#14
Cornflakes_91 wrote:
Sun Aug 13, 2017 12:01 pm
You'd also would have to do checks if the ship is still one continous piece. Which is also not cheap computationally.
And you dont want floating "connected" ships with holes through them
How difficult is it to check that all the pieces are connected? Other games have done that to some degree anyways.
Image
Post

Re: Dynamic Destruction

#15
Much as I admire what Josh and Co. are doing with procedural generation I'm pretty sure that Star Citizen will be the king of "Dynamic Destruction". If you want that feeling of your ship falling apart around you in detail, look no further than that blockbuster. I'm not sure what we will get in LT but I'm not expecting that sort of super realism. Actually, I've never expected it.

I will settle for a system much less ambitious than that in the first outing of LT. If the gameplay is addictive I can use my imagination as to some of the detailed destruction. :angel:

Something similar to Freelancer will suffice IMO....but you probably already knew that's what I would say. :mrgreen:

Online Now

Users browsing this forum: No registered users and 4 guests

cron