Oolite Bulletins

For information and discussion about Oolite.
It is currently Sat Sep 22, 2018 12:59 am

All times are UTC




Post new topic  Reply to topic  [ 25 posts ]  Go to page Previous 1 2
Author Message
PostPosted: Wed Jul 18, 2018 12:54 am 
Offline
Commodore
Commodore
User avatar

Joined: Tue Jan 21, 2014 10:37 pm
Posts: 2164
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...
Quote:
how likely is it for this scenario to happen?
Well, it depends on the situations you find yourself in. If you're always fighting small numbers of ships, the chances are probably small. But if your being hounded by a dozen, and two or three of them all fire missiles at you at once, it could actually happen regularly.

As for the fix, my analysis so far indicates the solution might have to be in the core code. In the routine that deals energy damage (ShipEntity.m, line 13109ff) it's checking for a ship status of "STATUS_DEAD" to determine if damage should be delivered to the ship. If it's dead, then it exits at that point. I think this routine should also check for STATUS_ESCAPE_SEQUENCE (possibly for the player only), and if so, exit the routine. I'm doing some tests on this logic at the moment and will let you know what I find out.

[Edit] OK, the code change needs to be in PlayerEntity.m, in the "takeEnergyDamage" routine (line 6154ff). Adding this line, just after the check for [self status] == STATUS_DEAD, seems to do the trick:
Code:
if ([self status] == STATUS_ESCAPE_SEQUENCE) return;
I'll submit a pull request shortly for comment.

_________________
My OXP's
YouTube: Oolite Teaser Trailer


Top
   
PostPosted: Wed Jul 18, 2018 12:36 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5233
It's a trivial change, but it's effect on game mechanics is less trivial. From my point of view, it would make sense that if an escape pod has just launched and, at that precise moment, the ship explodes, then the pod gets hit by the shockwave and has a good chance of being destroyed.

On the other hand, it also makes sense to make the escape pod a bit more "guaranteed" as means of escape. People already rarely (if ever) use it because loading the last save may be just as good a solution. Imagine how much use it will get if it can't even do the job it's advertised for at all times. So yes, from this point of view, safeguarding it in situations like phkb described might actually be more desired.

Let's see what others think and we can decide on the fate of the pull request based on feedback here.


Top
   
PostPosted: Wed Jul 18, 2018 1:00 pm 
Offline
Jedi Spam Assassin
Jedi Spam Assassin
User avatar

Joined: Thu Jul 12, 2007 10:54 pm
Posts: 6112
Location: Carter's Snort
Realism would lean towards having the Escape Pod sometimes fail, or be destroyed. But it's impossible to tell the difference, from the player's point of view, between a "realistic" failure and a bug.

If it's felt desirable, an option - in the event of a probably "realistically" fatal Escape Pod ejection - might be to script in a mission screen which tells the player that their Escape Pod was badly damaged in the explosion, and to wind the game clock on by a significantly larger margin.

_________________
Oofiction: Calliope: a Captain Hesperus adventure | Stranglehold: a Captain Hesperus adventure | Local Midnight in the Vacuum Bar | A Farewell to Arms, Legs, etc.: the Blaze O'Glory Story


Top
   
PostPosted: Wed Jul 18, 2018 1:14 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Sun Jul 19, 2015 1:09 pm
Posts: 526
Quote:
People already rarely (if ever) use it because loading the last save may be just as good a solution. Imagine how much use it will get if it can't even do the job it's advertised for at all times.
I think this is a very good point.


Top
   
PostPosted: Wed Jul 18, 2018 1:20 pm 
Offline
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
User avatar

Joined: Sat Jul 04, 2009 9:31 pm
Posts: 13360
Location: Corke's Drift
Quote:
... it would make sense that if an escape pod has just launched and, at that precise moment, the ship explodes, then the pod gets hit by the shockwave and has a good chance of being destroyed.
This!

_________________
We pray for one last landing
On the globe that gave us birth
Let us rest our eyes on the fleecy skies
And the cool, green hills of Earth


Top
   
PostPosted: Wed Jul 18, 2018 2:11 pm 
Offline
Deadly
Deadly
User avatar

Joined: Mon May 30, 2016 3:54 am
Posts: 170
Quote:
Quote:
... it would make sense that if an escape pod has just launched and, at that precise moment, the ship explodes, then the pod gets hit by the shockwave and has a good chance of being destroyed.
This!
Totally agreed to that, a ship explosion does produce a shockwave, shrapnel's and burning fuel so not every lifepod will make it. Based on my personal created explosions actually quite a few got caught up in the explosion.

_________________
Trying to survive behind the controls of a Caduceus Psi XT in Alpha test :lol:


Top
   
PostPosted: Wed Jul 18, 2018 2:25 pm 
Offline
Commodore
Commodore
User avatar

Joined: Tue Jan 21, 2014 10:37 pm
Posts: 2164
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...
Part of the issue comes down to how I'm attempting to make the OXP work. I am trying to do an escape pod sequence as the very last thing, when the "shipTakingDamage" event is triggered, and the amount of energy damage being passed to the ship is greater than the current energy reserves - essentially, the ship is about the die in the next frame or so. It's only in this scenario that the issue really appears.
Quote:
If it's felt desirable, an option - in the event of a probably "realistically" fatal Escape Pod ejection - might be to script in a mission screen which tells the player that their Escape Pod was badly damaged in the explosion, and to wind the game clock on by a significantly larger margin.
The difficulty here is that, by the time the "failure" of the escape pod is apparent, the "Game Over" screen is being displayed ... which is probably too late to tell the player about it!

Coding a potentially "random" failure, and making it believable to the player, would be simpler if I could rely on the abandonShip function working 100% of the time for the player. As it stands, the randomness of the failure has no explanation, other than, "Well, I guess it didn't work that time".
Quote:
it's effect on game mechanics is less trivial
Well, I don't think the impact on core game mechanics would be particularly large. At the moment, in the core game, the only way to launch the escape pod is manually. You have to do this with some energy left in your energy banks, otherwise you'd already be dead. Because of this, the scenario where multiple energy damage events arriving at the same instant while transitioning to the escape pod is extremely remote. You would have to double-press the escape key with almost no energy left, just as two damage events (say two missiles striking) arrive for the player ship. Possible, but highly unlikely. I'd go so far as to say, I think by now someone would have reported an issue where they launched the escape pod in normal space and got the Game Over screen instead.

I can certainly understand the desire for realism. Having escape pods destroyed by shockwaves makes some sense, but on the other hand, surely escape pod manufacturers would have taken that fact into consideration when designing their pods, knowing that their first taste of space would likely be right beside the exploding hulk of a large ship. Throwing some hand-wavium into the mix, you could say escape pods are launched inside a short-term energy field, designed to protect them from any immediate danger outside the ship, but this shield can only operate for a second or two due to the limited energy reserves of the pod, which is why escape pods are so fragile afterwards.

_________________
My OXP's
YouTube: Oolite Teaser Trailer


Top
   
PostPosted: Wed Jul 18, 2018 4:18 pm 
Offline
Jedi Spam Assassin
Jedi Spam Assassin
User avatar

Joined: Thu Jul 12, 2007 10:54 pm
Posts: 6112
Location: Carter's Snort
Stuff realism. There's enough realism in reality, without it elbowing its way into games!
Quote:
As it stands, the randomness of the failure has no explanation, other than, "Well, I guess it didn't work that time".
This is problematic, I think, because something which works most times but doesn't work sometimes, with no cause visible to the user, is annoying. The player is less likely to think "I guess it didn't work that time (for valid in-game reasons)", and is more likely to think "I guess it didn't work that time (because the game/OXP is buggy)".

Maybe we need to take a more radical approach to the whole Escape Pod idea. Rather than relying on the player - or an automatic process - to eject the pod in time, it could be an automatic one-off "Get Out Of Death Free" card. If you have an Escape Pod, and your ship is blown up, you don't die - you just spin off in your pod.

This, of course, would have a much larger effect on the game, and might need further refinements: e.g. regular payments to keep the Escape Pod active, and a chance - depending on how dangerous a system might be, and/or the player's current legal status - of having to pay a ransom (or a fine) to your "rescuers" before being allowed to continue.

_________________
Oofiction: Calliope: a Captain Hesperus adventure | Stranglehold: a Captain Hesperus adventure | Local Midnight in the Vacuum Bar | A Farewell to Arms, Legs, etc.: the Blaze O'Glory Story


Top
   
PostPosted: Fri Jul 20, 2018 10:21 am 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5233
I'm all up for realism but after some consideration on the responses so far, I tend to think that game behavior being interpreted as a possible bug should never be allowed to happen and might have to be the primary factor for a decision to change.

Maybe we can merge phkb's PR and then see if we could make the default behavior OXPable somehow.


Top
   
PostPosted: Sat Jul 21, 2018 2:48 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Thu Jun 20, 2013 10:22 pm
Posts: 1180
Quote:
Stuff realism. There's enough realism in reality, without it elbowing its way into games!
To the point where it is not counterintuitive I'd generally agree.

Speaking of 'realism', the player's pod is already the only one in the game that's effectively cloaked (never scooped or shot).

If we're worrying about probabilities then rather than have the pod blow up very rarely with no in game explamation, what about being scooped very rarely with an in-game explanation, "Your escape pod was scooped by pirates/police/rescuers and you have lost 50%/25%/0% of your credits in bribes/fines/daring escape/gratitude. Finally, and much later than hoped, you gain access to your replacement ship".

_________________
"With our thoughts, we make the world" :-)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 25 posts ]  Go to page Previous 1 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 9 guests


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

Search for:
Powered by phpBB® Forum Software © phpBB Limited