View unanswered posts | View active topics It is currently Fri Dec 13, 2019 4:16 am



Reply to topic  [ 9 posts ] 
Rework to explosive radius 
Author Message
User avatar

Joined: Mon Aug 17, 2015 4:44 pm
Posts: 669
Reply with quote
There was a post on the forums, viewtopic.php?p=9190#p9190, that suggested scaling damage with explosive radius. Thanks to DarkWingedDemon for the idea, and this was the original suggestion (which I like):

Code:
Applied Damage = Base Damage * (1 - (Distance / Max Radius))


But I got thinking about how to take it one step further. In a vacuum, concussive force is roughly this formula:

Code:
f = fb / d^2


Where f is the measured force at any given point, fb is the force at its origin (base force), and d is the distance from the explosion. I'd like to see Reassembly take an approach a bit more like this if even remotely reasonable. The obvious result is that weapons will no longer have fixed explosive radii but instead scale with a formula like this:

Code:
Damage = Base Damage / Explosion Distance^2


Thus, the range at which an explosion does 1 damage could be calculated thusly:

Code:
Radius = Base Damage^(0.5)


Reassembly uses a rather fine level of detail, where the smallest square blocks are actually something like 10 x 10, and so the distance will have to be scaled. My formula makes the assumption that a small square block is a radius of one. This would put the Antimatter Cannon's max splash radius at approximately 220 units converted to current game stats now, the Nuke at 310. The Plasma Bolt would have a radius of 70.

The net result is that the splash weapons would, in most cases, apply a smaller chuck of damage over a larger area, which in my opinion does a much better job of emphasizing their value as counters to large bodies of armor as it would prevent massive sections from regenerating. At the same time, it diminishes their effectiveness at instantly destroying ships which we see very, very frequently with the nuke and only in niche cases with everything else.

Now, these square root and power functions can be fairly CPU Intensive and so I'd want to keep those calculations to a minimum as the game can already have a significant number of performance stutters. And so to simplify the matter using the current collision detection, we can actually create four explosions. First, though, Maximum Blast Radius would have to be calculated on ship load or when the projectile is fired (which would be more friendly toward the Plasma Mortar, whose radius/damage is determined by charge time).

Code:
Max Radius = Base Damage^(0.5)
Explosion one: Damage = Base Damage / 4, Radius = Max Radius
Explosion two: Damage = Base Damage / 4, Radius = 3 * Max Radius / 4
Explosion three: Damage = Base Damage / 4, Radius = Max Radius / 2
Explosion four: Damage = Base Damage / 4, Radius = Max Radius / 4


The above system may be more CPU intensive than simply calculating distance per-block on one explosion, or it could be faster. Thoughts? Comments? Critiques? Mons is irrational and needs to stop?

Strawpoll for reasons: http://www.strawpoll.me/6025769

EDIT: Corrected math, Nuke does 1000 damage, not 600.

_________________
NMSS Reassembly Tournament Archive

We have a Discord, too


Last edited by MonsPubis on Tue Nov 17, 2015 1:31 pm, edited 3 times in total.



Sun Nov 15, 2015 6:41 pm
Profile
User avatar

Joined: Fri Jan 24, 2014 10:11 pm
Posts: 1295
Location: Ames, IA
Reply with quote
How would it calculate the damage affecting blocks it completely covers? Would it be the closest point from the center of the explosion to the block?

The explosion graphic should be re-made to diminish as it expands if this were to be implemented.

_________________
The game where I originated as a member of this community. . VISUAL BASED MOD KIT!!
Shellcore command EP2


Sun Nov 15, 2015 7:19 pm
Profile
User avatar

Joined: Mon Aug 17, 2015 4:44 pm
Posts: 669
Reply with quote
Camo5 wrote:
How would it calculate the damage affecting blocks it completely covers? Would it be the closest point from the center of the explosion to the block?

The explosion graphic should be re-made to diminish as it expands if this were to be implemented.


The block would, ideally, take damage based on its closest point to the blast. I'm not sure how the game calculates collisions using the explosion radius currently, but I expect it can be coopted. Would need to hear from Arthur to know for certain.

The explosion graphic with the ''four explosions" method could do this easily. If one were to employ alpha channel in the rendering, it would naturally be more vibrant toward the center and less vibrant outside. Otherwise, I know the engine does some dynamic shading on armor blocks currently, but I don't know if it simply applies that to the whole block or if it can shade dynamically. The specifics of how to visually render depend very heavily on the engine.

_________________
NMSS Reassembly Tournament Archive

We have a Discord, too


Sun Nov 15, 2015 7:35 pm
Profile
User avatar

Joined: Sun Apr 12, 2015 3:13 am
Posts: 283
Reply with quote
Just a few things:

1) Physic is a BAD game designer

2) We are dealing here with "Futurtech", so some of our formula could be "wrong" (or incomplete). And some weapon could use things that we don't understand that allow it to hit a 400 radius area with only 15 "damage of force"


This is not a bad idea, but would limit the modder (and the Great Creator) in their abilities to have weapon of huge power strike a small zone and of low power to strike a large one!

The thing that I truly like is the scale with distance.
As a on-off option, this could balance some weapon and allow new modding possibilities!
(Thing of a weapon that deal MORE damage at the edge of the area than at it's center O.o)

_________________
Using Beta, always! (Well, for Reassembly)
(Also known as GATC on Steam)


Mon Nov 16, 2015 2:02 am
Profile
User avatar

Joined: Mon Aug 17, 2015 4:44 pm
Posts: 669
Reply with quote
To the best of my knowledge, all radial forces diminish as a square root of distance. Light, explosions, gravity, etc. There could, of course, be some things that I don't know about or things that we haven't discovered, but it wouldn't be unrealistic to design a game that uses it as we are aware now. If you look at the weapons that do splash damage, they're given names like "Nuclear", "Flak", "Plasma", and "Antimatter". All of which obey the above rule. That's a pretty good point that it takes some control away from the mod makers, and so for gameplay variety I certainly think keeping static explosion radius is worth considering. But I do really like the idea of scaling, and the suggestion I quoted at the beginning seems like a good, happy medium.

With that in mind, I disagree that physics makes for bad game design. Physics, done properly, is excellent game design. Our entire life is spent interacting with physics as it behaves in the real world. When games behave as our brains expect them to behave, it makes them far more intuitive and in many cases more satisfying. See Portal, Besiege, Kerbal Space Program, Angry Birds, Forza, Project Cars, and Gran Turismo. Even Reassembly invites the understanding of physics via the use of thrust, mass, and having ejected projectiles use recoil (every action has an equal and opposite reaction).

_________________
NMSS Reassembly Tournament Archive

We have a Discord, too


Mon Nov 16, 2015 3:40 am
Profile
User avatar

Joined: Thu Mar 27, 2014 2:30 pm
Posts: 151
Location: The Core!
Reply with quote
MonsPubis wrote:
There was a post on the forums, I can't find it now, that suggested scaling damage with explosive radius. Apologies to the original author, but this was their suggestion (which I also like):


OP: viewtopic.php?f=2&t=1956&start=40

_________________
The New Terran Republic [http://steamcommunity.com/sharedfiles/filedetails/?id=492719578]
The New Terran Republic V2.0 [http://steamcommunity.com/sharedfiles/filedetails/?id=659890051]


Mon Nov 16, 2015 8:03 am
Profile
User avatar

Joined: Thu Feb 05, 2015 6:07 am
Posts: 366
Reply with quote
DarkWingedDaemon wrote:
MonsPubis wrote:
There was a post on the forums, I can't find it now, that suggested scaling damage with explosive radius. Apologies to the original author, but this was their suggestion (which I also like):


OP: viewtopic.php?f=2&t=1956&start=40


This post? viewtopic.php?p=9178#p9178

_________________
Reassembly Web Dev Kit, by TTFTCUTS!

Muzzle Brake. Because not everyone is a fan of Noisy Crickets!

Empire of the Red Sun


Mon Nov 16, 2015 8:42 am
Profile
User avatar

Joined: Thu Mar 27, 2014 2:30 pm
Posts: 151
Location: The Core!
Reply with quote
Yes, thanks Danny.

_________________
The New Terran Republic [http://steamcommunity.com/sharedfiles/filedetails/?id=492719578]
The New Terran Republic V2.0 [http://steamcommunity.com/sharedfiles/filedetails/?id=659890051]


Mon Nov 16, 2015 9:48 am
Profile
User avatar

Joined: Sun Apr 12, 2015 3:13 am
Posts: 283
Reply with quote
Yup, we often use some physic in many games, but often take liberties.

Kerbal Space Programme is unrealistic on many level, like the density of the planets for example.
Angry Birds don't take into account air drag
Portal? Physic don't like that game ;p (Faster than light travelling (even if there is a SMALL doubt that it's possible) and above 1 efficiency device (energy out of "nothing"))
The car racing games also use MUCH simplified physic models (even if here physic is not the main point of the game ;p)

Taking liberties often allow game balance.

For example, nuke are a BAD weapon in space, as the main selling point of it is the concussive blast (in space?) and EMP effect (A ship is often big enough to absorb it)
You have the same problem with some other powerful explosive (like TNT if I remember well)



Physic tend to be limitative. So, I think it's better to look at it, and copy some of it ;p

_________________
Using Beta, always! (Well, for Reassembly)
(Also known as GATC on Steam)


Mon Nov 16, 2015 11:50 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 9 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software