-
-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make planets and stations invulnerable #1048
base: master
Are you sure you want to change the base?
Conversation
Fix issue 1018
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Banged on Serenity as long as I could (before I got shot out of the sky) and could not detect any damage done to the base, so I'd say from a playtesting perspective, this PR is good to merge.
I do not think stations should be invulnerable. Planets? Maybe. Stations? Not so much. |
I don't have a firm opinion on this. However, lacking support for saving the death of a station in the save file means it comes back to life when you load the game. The issue has a discussion of this, including the obligatory issues with Skyrim characters dying and certain storylines getting trimmed. For now, units loaded from star system are invulnerable. We can revisit this after we fix the bugs. |
I have to agree with royfalk's comments. Someday in the future development, it would be wonderful to have the need and ability to destroy a station to advance a campaign storyline. That would make for an amazing and awesomely deep story line. The only problem right now with the game engine, is that as soon as you save your game and reload, the destroyed station reappears. I can only imagine how much programming would go into making sure destroyed stations stayed destroyed in saved games. As much as I personally would like to see a fully destructible environment, I'm guessing it's not likely to happen for a while? |
An update to my earlier review - I was documenting some of my findings with docking, and was flying a routine patrol mission to Phillies ( a planet in Cephid-17 system), and I was almost within the distance to have the docking countdown show up (approx. 260,000 km away - see my comments under the docking PR) when Phillies blew up right in front of me. I'm running a version of master with PR's 1036, 1039, 1047 and 1048 cherry-picked and merged. It looks like the problem of planets blowing up is not resolved after all. |
I think the auto-destroy logic destroyed it. |
To clarify my last comment. I am still experiencing planets disappearing, and I have merged this PR into my clone of master. I had two more (Broadway and Phillies) disappear tonight while flying around testing docking distances. |
So I added some debug messages. In any case, the message in the game about destroyed units and flightgroups does not appear connected to this. Please play test and see if you get different results. |
Will do. Haven't tested yet with the latest branch, but playing with a version of the branch that I compiled a few days ago, I actually witnessed Atlantis being destroyed. I was pretty far away, but the explosion was still pretty impressive! |
As a follow-up, here's a snippet from my log file, after watching Atlantis explode: [2025-03-06 16:55:46.114607]: Auto ejecting NPC Quite a number of missile attacks on Atlantis! |
I only see three attacks on Atlantis. I see a whole bunch of missile attacks on ships.
is potentially infinite damage and therefore causing Atlantis to die. |
Seriously, where can I get that missile?
Sent from Samsung tablet
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Roy Falk ***@***.***>
Sent: Thursday, March 6, 2025 8:56:41 PM
To: vegastrike/Vega-Strike-Engine-Source ***@***.***>
Cc: kheckwrecker ***@***.***>; Review requested ***@***.***>
Subject: Re: [vegastrike/Vega-Strike-Engine-Source] Make planets and stations invulnerable (PR #1048)
I only see three attacks on Atlantis. I see a whole bunch of missile attacks on ships.
However,
[2025-03-06 16:55:46.518591]: Missile damaging Atlantis/. (dist=0.000 r=4.219 dmg=-nan(ind))
is potentially infinite damage and therefore causing Atlantis to die.
Looking at this further, it looks like a single explosion with radius 15000000 is hitting all of these ships.
I'll need to investigate this further.
—
Reply to this email directly, view it on GitHub<#1048 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AXLDIT2L4ZQOQVPE67PMNDD2TDVETAVCNFSM6AAAAABYDCORS2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMBVGI3TENJVGY>.
You are receiving this because your review was requested.Message ID: ***@***.***>
[royfalk]royfalk left a comment (vegastrike/Vega-Strike-Engine-Source#1048)<#1048 (comment)>
I only see three attacks on Atlantis. I see a whole bunch of missile attacks on ships.
However,
[2025-03-06 16:55:46.518591]: Missile damaging Atlantis/. (dist=0.000 r=4.219 dmg=-nan(ind))
is potentially infinite damage and therefore causing Atlantis to die.
Looking at this further, it looks like a single explosion with radius 15000000 is hitting all of these ships.
I'll need to investigate this further.
—
Reply to this email directly, view it on GitHub<#1048 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AXLDIT2L4ZQOQVPE67PMNDD2TDVETAVCNFSM6AAAAABYDCORS2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMBVGI3TENJVGY>.
You are receiving this because your review was requested.Message ID: ***@***.***>
|
I think you're onto something, @royfalk . I think that infinite damage value is likely wiping out the planet in one shot. Where is that value coming from, is the next question. Followed by, what do we do about it? |
Makes sense, I suppose. |
@@ -45,6 +45,10 @@ void DamageableObject::AddLayer(DamageableLayer* layer) { | |||
InflictedDamage DamageableObject::DealDamage(const CoreVector &attack_vector, Damage &damage) { | |||
InflictedDamage inflicted_damage(3); // Currently hard-coded default is 3! | |||
|
|||
if(invulnerable) { | |||
return inflicted_damage; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait a second. Shouldn't the logic be the reverse of this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bumping this, as I didn't know if this is an issue or not, but was curious.
I tested some more tonight. Lost two planets - Atlantis and Broadway. I pulled the relevant lines from the log, but I'm not sure it's any new information: [2025-03-08 17:40:42.765275]: Missile damaging Broadway/. (dist=0.000 r=15.494 dmg=250.000) [2025-03-08 17:05:01.350081]: void PlanetaryOrbit::Execute(): A velocity value considered unreasonable was calculated for planet Atlantis; zeroing it out The other thing I noticed tonight, as I was playing a different branch (testing docking distances), was this line in the log file: Probably not relevant anymore, but thought I would report it. |
Yeah, I wish it was different as well, but we have to work with what we've got for now. |
I spent yesterday as well as today futzing around with this and got nowhere.
This was, of course, right after the torpedo hit. |
Also I put some print lines in |
Any way to figure out where the missle(s) coming from? |
It's not a missile. I only observed planets disappearing while fighter barracks/plainfield are fine. |
Unless you mean that Armageddon missile you saw. I have no idea what that was about. |
Is Serenity considered a base or a planet? I always thought it was a base, and it's the one most prone to disappearing. I've watched in the right side VDU Serenity's shields disappearing and then the base itself turning red and finally disappearing. I've even seen (from a distance) it exploding. Something has to be taking them out? If it's not a missile, is it collisions? It's not something stupid like docking being treated as collisions and eventually blowing the base/planet up? Might explain why Phillies tends not to blow up, since there's no reason to dock there? |
Serenity is a unit, not a planet. There's no difference at the moment between a station and a ship. I can also confirm this is also in 0.9, which makes me believe this issue has been flying under the radar for a while now. I've also seen plainfield losing shields in a way that makes me think it's going to SPEC. |
A whole bunch of tests later and I can't figure this out. I'm not sure if planets are actually created as planets and not units. There's something seriously broken in the game. |
I can confirm as well the problem exists in 0.9. My guess is that the problem has always been there. Playing 0.9 last night and I landed on Serenity while it was "under attack"/losing shields/getting weaker - however we want to call it. When I launched into space, my screen turned completely white and then shortly after Serenity exploded right in front of me. I even took some damage to my hull from the explosion. What I can't see is if something was actually hitting Serenity to cause the damage. |
Closes #1018
Code Changes: