Page 1 of 1

Cargo scanner

Posted: Wed Jul 10, 2013 10:33 pm
by Cmdr Darkstar
In Freelancer, you could scan cargo pods and ships to find out what they were/what they carried, so you knew if they were worth looting.

Police and pirates would also scan you (and other ships) to see if you had any contraband/valuables they wanted. If you did, they would demand you drop it. (If you did, they would tractor it in; if you did not, they attacked after a short while).

Would it be possible to add something like this to Oolite, either as an opx or a main feature?

It would give would-be pirates (player and PC) a way of determining if a ship is worth attacking. It would also mean a bit more risk for smugglers - even if you had managed to get your legal status down to clean, the cops still might go for you if you were carrying contraband. Conversely, it could make things a bit safer for people haulinglow-value cargoes (or with empty holds), as the pirates are more likely to leave them alone.

Re: Cargo scanner

Posted: Thu Jul 11, 2013 6:53 am
by cim
The main core game feature needed is to define NPC cargo in advance. At the moment, the contents of NPCs holds are only partially defined: they don't exist in concrete form until the NPC is destroyed or dumps cargo. Doing this in a way that doesn't mean 750 individual cargo barrels need to be set up for every Anaconda trader is not entirely straightforward, but is on our list for a future version.

Once that's done having pirates or police perform scans or respond to the hold contents should be practical to OXP.
Cmdr Darkstar wrote:
Conversely, it could make things a bit safer for people haulinglow-value cargoes (or with empty holds), as the pirates are more likely to leave them alone.
A related problem here is that the pirates currently assume that the player ship has the role "trader", even if you're flying an Asp. I want to come up with a better approximation for the player's role than that.

Re: Cargo scanner

Posted: Thu Jul 11, 2013 8:26 am
by Commander McLane
cim wrote:
A related problem here is that the pirates currently assume that the player ship has the role "trader", even if you're flying an Asp. I want to come up with a better approximation for the player's role than that.
The most general way of implementing that would be if the game could determine by the player's actions which "role" they're playing, and treat them accordingly. Absolutely non-trivial, but a really fascinating idea (by coincidence, the same issue came up in the Limit Theory development log today).

Cmdr Darkstar wrote:
Police and pirates would also scan you (and other ships) to see if you had any contraband/valuables they wanted. If you did, they would demand you drop it. (If you did, they would tractor it in; if you did not, they attacked after a short while).
As the player ship's cargo (unlike NPC cargo) is determined and accessible by script, this can be done via OXP. Perhaps you'd like to give it a shot?

Re: Cargo scanner

Posted: Thu Jul 11, 2013 8:39 am
by Smivs
cim wrote:
A related problem here is that the pirates currently assume that the player ship has the role "trader", even if you're flying an Asp. I want to come up with a better approximation for the player's role than that.
Also the player does not know the role the NPCs have been spawned with, although it generally becomes clear pretty quickly if they are 'pirate'. I like this though, as it would not seem right if the other ships sort of broadcast "I am a Bounty Hunter" or whatever. Each new ship you encounter is an unknown quantity at first and that is how it should be.

Re: Cargo scanner

Posted: Thu Jul 11, 2013 9:21 am
by cim
Commander McLane wrote:
The most general way of implementing that would be if the game could determine by the player's actions which "role" they're playing, and treat them accordingly.
This is the sort of thing I'm thinking of, at a high level. Some "roles" are easier to think of rules for detecting than others, of course.
Smivs wrote:
Also the player does not know the role the NPCs have been spawned with
This is true, but very brief observation is usually all that's needed for an experienced pilot to tell the difference between traders, pirates, and hunters.

The current model I'm thinking about is to have a large number of "reputation slots" (100 or so?), which when the player performs an action associated with a role inserts the role into a random reputation slot, overwriting whatever was already there. When the player entered the system, the player would be given a role by picking a random reputation slot, and NPCs would interact with them as if they had that role until the player starts explicitly interacting with them. So if the game has picked "hunter" as your role for this system, other hunters will probably ignore you (or maybe offer to fly with you?), traders may send you distress calls, and pirates will try to stay out of your way ... but if you then start shooting up a trade convoy, anyone witnessing that will no longer consider your role: they'll react as they would to any other ship doing that. Some extra roles might need adding, possibly for NPCs too (maybe distinguish "smuggler" and "trader", maybe add a "thug" role that explicitly attacks police and bounty hunters, perhaps have a "taxi" role for passenger carriers, that sort of thing)

The idea is to simulate a mixture of (imperfectly known) reputation and the NPCs picking up on clues like ship class, flight behaviour, ship name, etc. (and, yes, sometimes getting it wrong). Then there's a lot of interesting stuff which can potentially fall out of that in terms of interaction between the player and NPCs.

Sorry, this is going way off the "cargo scanner" topic here...