Page 1 of 2
Boarding abandoned ships?
Posted: Mon Dec 10, 2012 8:03 pm
by Bothkill
Often after shooting a ship, the pilot runs with the escape capsule and leaves the ship floating/stationary in space.
Is it possible to board this kind of ships? (standard Oolite speaking, no OXP)
It would be nice to have this feature in the standard Oolite: to be able to board abandoned ships and fly them around, something like when closer than 50m (there must be an EVA suit somewhere in my Cobra Mk III).
Re: Boarding abandoned ships?
Posted: Mon Dec 10, 2012 8:22 pm
by Commander McLane
Bothkill wrote:Often after shooting a ship, the pilot runs with the escape capsule and leaves the ship floating/stationary in space.
Is it possible to board this kind of ships? (standard Oolite speaking, no OXP)
No, sorry, there is no boarding in Oolite, with or without OXPs.
There is a hard technical reason for that: as far as the game engine is concerned, there is no distinction between the player and their ship. Technically speaking, you
are your ship. Therefore you can't leave your ship, and therefore you can't board other ships.
In the upcoming new version of Oolite (the current trunk, v. 1.77) there will be a change to this mechanism, and it will become technically possible to 'divorce' you from your ship. Thus it will also become possible for scripts in OXPs to put you in another ship. However, there will still be the technical restriction that this may only happen if and while you're docked somewhere. This condition will obviously not be met when you're just hovering next to a derelict ship. Thus there also won't be boarding in the future without OXPs. An OXP, however, may find clever ways of circumventing that restriction, and at least
emulate a boarding process.
What you can currently do without OXPs is to shoot the hull up and scoop any containers and hull plates (alloys) that get released.
With OXPs you have some more choices: Fuel Collector OXP allows you to empty the derelict's tanks and fill your own. In order to do that you have to fly close to the wreck, just like you suggested.
Dredgers OXP allows you to salvage the derelict. It will then fly towards one of the Deep Space Dredgers on auto-pilot. But you'll have to escort it, because other salvagers will try to steal your prey from you.
Bothkill wrote:It would be nice to have this feature in the standard Oolite: to be able to board abandoned ships and fly them around, something like when closer than 50m (there must be an EVA suit somewhere in my Cobra Mk III).
See above: not in the standard Oolite, but possibly with an OXP in the next version of Oolite. I know one or two OXPers who may already have something up their sleeves.
Re: Boarding abandoned ships?
Posted: Mon Dec 10, 2012 8:39 pm
by cim
It's not currently possible in standard Oolite. It will be somewhat OXPable from 1.77 onwards, with limitations that make it unlikely to happen outside of tightly-controlled mission scenarios. (Though in those scenarios, it could be interesting)
There are at least two major difficulties with introducing this feature into standard Oolite:
- Game balance: shooting up an Anaconda, capturing it, and selling it would currently get you around 400,000 credits of profit (assuming you sold it for a Cobra III again). Making ships cheaper across the board - and they'd have to be made a lot cheaper - would affect a lot of other bits of game balance, especially with some OXP ships.
Alternatively, you could make the captured ships so badly damaged that their salvage value is basically scrap and spare parts - as in Deep Space Dredgers OXP, though with the added difficulty of having to fly the ship yourself and having no easy way back to your own ship later. I suppose, if you didn't mind your own ship being defenceless for several minutes, you could use this as a way to dump the captured ship's cargo before abandoning it, as in The Virtuous Misfortune.
- Ship data format: ships which can be flown by the player require different information to be specified to ships which cannot be flown by the player. As a consequence, there are for instance four Cobra IIIs in the core game - three NPC variants with different specs, and one player variant. This would need to be rewritten significantly, somehow without breaking compatibility with earlier OXPs. Furthermore, there are ships - especially in OXPs - which are intentionally not player-flyable, but still have escape capsules. This would mean that the boarding attempts often failed for no obvious in-game reason, especially with OXP ships.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 4:20 am
by Rese249er
Planetfall-style docking?
Would the author of Planetfall OXP chime in here?
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 6:42 am
by Thargoid
Yes it would be technically possible, but it would not counter either of the points Cim rightly raises. Doing it and ensuring everything was neat and tidy would be a logistical nightmare I think.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 7:55 am
by Rese249er
Can a player ship be like_ship'd to any ship? If there were a way to read/write shipdata.plist on the fly... some combination of a template and a like_ship shipdata entry?
I'm just throwing ideas out. if I'm on the completely wrong track, feel free to say so.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 8:24 am
by maaarcooose
Commander McLane wrote:Technically speaking, you are your ship.
Not a problem for Disembodied then.
!m!
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 9:53 am
by cim
Rese249er wrote:Can a player ship be like_ship'd to any ship? If there were a way to read/write shipdata.plist on the fly... some combination of a template and a like_ship shipdata entry?
I'm just throwing ideas out. if I'm on the completely wrong track, feel free to say so.
Unfortunately it's not that simple.
Firstly, NPC ships do not (generally) have viewpoint positions or external views set, do not have shipyard.plist entries for allowed equipment, and do not have a defined trade-in price. So we would need to set defaults for these values which are likely to be unsuitable for most ships (and, if the ship does have a player-flyable variant, will almost certainly be different to the values it has). Conversely there are things which NPC ships may have which the player ship cannot (heat shielding above level 2, pylons above 16, thargoid lasers, docking bays, etc.) which would need to be dealt with somehow.
Secondly, the method which builds the internal ship library from the shipdata.plist, shipdata-overrides.plist, shipyard.plist and shipyard-overrides.plist files is quite complex and really not suited to being run live (indeed, we try to avoid doing it at game startup either, if we can!). Indeed, not only would you need to run it live, you'd also need to include the results in the savegame in a way that could be read and meaningfully displayed while the player was in a different instance of the universe entirely.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 10:09 am
by Rese249er
cim wrote:Firstly, NPC ships do not (generally) have viewpoint positions or external views set, do not have shipyard.plist entries for allowed equipment, and do not have a defined trade-in price. So we would need to set defaults for these values which are likely to be unsuitable for most ships (and, if the ship does have a player-flyable variant, will almost certainly be different to the values it has). Conversely there are things which NPC ships may have which the player ship cannot (heat shielding above level 2, pylons above 16, thargoid lasers, docking bays, etc.) which would need to be dealt with somehow.
Certain classes of ships would need to be made unboardable, I guess. As for views, perhaps at the weapon locations of the npc variants? Thargoids would probably have self-destruct mechanisms to prevent privateering... Docking I'll have to give some thought.
cim wrote:Secondly, the method which builds the internal ship library from the shipdata.plist, shipdata-overrides.plist, shipyard.plist and shipyard-overrides.plist files is quite complex and really not suited to being run live (indeed, we try to avoid doing it at game startup either, if we can!). Indeed, not only would you need to run it live, you'd also need to include the results in the savegame in a way that could be read and meaningfully displayed while the player was in a different instance of the universe entirely.
Well frak. I got nothin for that.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 10:40 am
by cim
Rese249er wrote:Certain classes of ships would need to be made unboardable, I guess.
Mmm. I suspect to avoid breaking backward compatibility it would end up just being those for which a new "boarding allowed" flag has been explicitly set, which is why I suspect it will be a few OXP missions only - a rare occurrence as a set piece encounter, rather than a routine operation - and that can be done by combining various bits of current trunk functionality in a suitable way. (Actually, a sufficiently ambitious OXPer could do it more generally, but I think the game balance issues would make it difficult to make
fun as a routine operation. Still, we'll see what happens.)
Rese249er wrote:Thargoids would probably have self-destruct mechanisms to prevent privateering...
Thargoids themselves don't generally have escape capsules in the first place. It's OXP ships with Thargoid lasers which are the issue. (Ships with subentity lasers - which sometimes but not always indicates multiple forward lasers - have a similar issue and are more common)
Rese249er wrote:Well frak. I got nothin for that.
I think that's actually the easier one, since it's just a matter of programming and adding some additional data to the save file. Not the same as "easy", but it's not impossible.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 10:52 am
by Bothkill
An idea for the game balance issue:
Since the boarded ship is not legally owned, upon selling, the trade in value should be extremely low (something like: "
The shipyard boss drags you aside and whispers to you: Hey, we both know this is not perse your ship, so if you really wanna sell her, I can give you no more than 10% its market value since I have to make a lot of ... uhmm.. modifications and paper work to put it legally back on the market").
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 11:55 am
by JazHaz
cim wrote:Rese249er wrote:Thargoids would probably have self-destruct mechanisms to prevent privateering...
Thargoids themselves don't generally have escape capsules in the first place.
Thargoids are well known to fight to the death, so what's the point of having an escape capsule?
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 12:11 pm
by Jake
Here's an idea. How hard would it be to make it possible to tow a ship, with restrictions like a huge speed penalty and no torus drive or injectors while the tow-cable was attached? When -if- you made it to a station, a random reward system could kick in along the lines of what happens when you bring in an escape pod; the owner's insurance providers, the local used ship lot or sometimes the police hand you a certain percentage of the ship's retail value, less a random sum in taxes and other fees.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 12:59 pm
by Smivs
That is possible. There is already a tractor beam available in
one OXP which could do the towing. It suspect it should also be possible to sort out the stuff at the station, although off the top of my head I couldn't say how in any detail. It would have to be OXP, and one problem could be allowing for the large number of ship types available - this OXP would possibly need to know about
all available ship types including OXP ones.
So possible, but far from straight-forward.
Re: Boarding abandoned ships?
Posted: Tue Dec 11, 2012 1:26 pm
by Eric Walch
Rese249er wrote:As for views, perhaps at the weapon locations of the npc variants?
Problem is that you need the exact position of the ships surface. When the view position is inside the surface, you won't see anything of the surface. When the position is on the outside, you might see part of the exterior. Or better formulated: all surfaces of Oolite ships are transparent when looking at it from the inside (=backside). Without manually setting viewpoints for a player ship, you can never be sure about the result.