<Chuckles>Cody wrote:Oi! Who are you calling a thug? Moi?cim wrote:... thugs (who actively seek out bounty hunters and destroy them)...
The Oolite NPC ecosystem (and other questions)
Moderators: winston, another_commander
- Smivs
- Retired Assassin
- Posts: 8408
- Joined: Tue Feb 09, 2010 11:31 am
- Location: Lost in space
- Contact:
Re: The Oolite NPC ecosystem (and other questions)
Commander Smivs, the friendliest Gourd this side of Riedquat.
Re: The Oolite NPC ecosystem (and other questions)
Effectively the current pirates already have this: they won't pre-emptively attack a ship with no cargo carried, and I don't worry too much about how they know... The JS support in 1.79 would allow someone to OXP similar equipment for the player.Disembodied wrote:New equipment (or at least a refinement of existing equipment)
With the cost of fuel - and assuming no fuel scoop - I'm not sure parcel deliveries are really usable for that at the moment. If you're so short on money you can't afford a refuel and a few TCs of agricultural goods, you need your source of money to be in the current system or perhaps the adjacent one.Disembodied wrote:They can then take a few parcel deliveries more-or-less safely to get enough cash to start trading again.
Where they outpace the target, this should no longer be necessary - they should actually be able to catch up and destroy it. Where the target is faster, then the usual consequence of this is that the group gets strung out - and then they're likely to break off pursuit once the slower ships are out of scanner range, as the odds calculation won't be as favourable. It'll need testing, but I'm hoping this will be enough: for efficiency I'm trying to track as little as possible information about what has previously happened, and make the AIs calculate mostly on the basis of what is currently happening.Disembodied wrote:Give hostile ships the option to give up a pursuit.
Perhaps. The independent pirates still appear in groups, though - they just don't have a large cargo vessel to collect loot, or the weight of numbers to fill one. In the safest systems (Corporate/Democratic systems with no nearby dangerous systems), they're the only type of pirate which appears. They probably shouldn't be tougher than the organised gangs. (The lowest grade of organised gang will look very similar to a small group of independent pirates at first glance)Norby wrote:I suggest to avoid making independent pirates with pulse laser
I'm trying to avoid adding too many extra definitions to shipdata.plist since it makes it harder for shipset maintainers and more necessary for everyone to update their shipsets very quickly once 1.79 is out. So far I already have three extra (pirate versions of the Boa, Boa II and Anaconda) which is three more than is ideal, but can safely be managed by being very careful about what I like_ship.Norby wrote:please make separated definition to the escort variants and leave the original ships with beam laser also in the game.
I'd rather have one entry and some note (probably in script_info) that says that "when the populator adds this ship it should change the front weapon to the appropriate size for its role"
Effectively this is the case: pirates will only let you surrender by dumping cargo if they've actually demanded cargo. If you open fire on them preemptively, they jump straight into combat mode without going through the cargo demand stage, so they'll assume you're a bounty hunter and attack until you're dead (or until they realise they underestimated you). There are some interesting consequences from this when the player joins in a fight against pirates which is already going on: the player won't be told whether or not there's a cargo demand active, but if there is, they can make use of it to surrender.Cody wrote:If the player instigates an attack (lands the first hit?) on a pirate, then the player should be treated as a bounty-hunter.cim wrote:... determining whether the player should be treated as a trader or a bounty hunter at a particular moment.
If you don't open fire, though, they need to decide whether to make a cargo demand or to hide until you go away. I need to think some more about how that assessment gets made.
-
- Competent
- Posts: 63
- Joined: Fri Dec 14, 2012 9:42 am
Re: The Oolite NPC ecosystem (and other questions)
So I can't pirate other pirates? Pirates have loot too. No honor among thieves and all.Cody wrote:If the player instigates an attack (lands the first hit?) on a pirate, then the player should be treated as a bounty-hunter.cim wrote:... determining whether the player should be treated as a trader or a bounty hunter at a particular moment.
- Disembodied
- Jedi Spam Assassin
- Posts: 6885
- Joined: Thu Jul 12, 2007 10:54 pm
- Location: Carter's Snort
Re: The Oolite NPC ecosystem (and other questions)
Hmm ... it's not a common problem, and would only be visible at the very start of the game, but it's possible that a very new player could have tied up all their cash in cargo, jumped to a new system, and then found themselves having to hand it over to pirates. Basically, is there anything indigent pilots can do to get themselves back out into the black? They could, I suppose, trade in the ship for something smaller ... it's a bit desperate, but needs must!cim wrote:With the cost of fuel - and assuming no fuel scoop - I'm not sure parcel deliveries are really usable for that at the moment. If you're so short on money you can't afford a refuel and a few TCs of agricultural goods, you need your source of money to be in the current system or perhaps the adjacent one.
Sounds promising, although where ships are closely matched in speed you could still get very long pursuits. I'm thinking about my own recent experience starting a new Jameson, where I twice got chased all the way to the station by another Cobra III. Apart from it being a waste of the pirates' time, they also came right into the aegis and shot at me while I executed a full-speed, single-manoeuvre docking: it seemed a little obsessive, I thought. Maybe it would be worth making pirates a bit more shy of the zone around the station?cim wrote:Where they outpace the target, this should no longer be necessary - they should actually be able to catch up and destroy it. Where the target is faster, then the usual consequence of this is that the group gets strung out - and then they're likely to break off pursuit once the slower ships are out of scanner range, as the odds calculation won't be as favourable. It'll need testing, but I'm hoping this will be enough: for efficiency I'm trying to track as little as possible information about what has previously happened, and make the AIs calculate mostly on the basis of what is currently happening.
- Commander McLane
- ---- E L I T E ----
- Posts: 9520
- Joined: Thu Dec 14, 2006 9:08 am
- Location: a Hacker Outpost in a moderately remote area
- Contact:
Re: The Oolite NPC ecosystem (and other questions)
Yes, I think they should usually break up their attack when they reach the aegis.Disembodied wrote:Maybe it would be worth making pirates a bit more shy of the zone around the station?
- Diziet Sma
- ---- E L I T E ----
- Posts: 6312
- Joined: Mon Apr 06, 2009 12:20 pm
- Location: Aboard the Pitviper S.E. "Blackwidow"
Re: The Oolite NPC ecosystem (and other questions)
All in all, I'm really starting to look forward to the release of 1.79!
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
I just realised - I never actually explained how I decided this would work. What do you think?cim wrote:set it up so that a few essential behaviours have comms messages attached (initiation of piracy, response to distress calls, police fines, etc.) but it's easy for OXPs to extend both the variety of messages and the set of behaviours with them attached.
The AI library (or OXP AI code) sets up broadcast requests, which take three parameters: a message key, a parameter object (which can either be a dictionary, or a ship which is converted to a standard dictionary), and a priority from 1 to 4
Priority 1: always sent
Priority 2: sent unless this ship has sent a message (of any priority) in the last 10 seconds
Priority 3: sent unless this ship has sent or received a message in the last 10 seconds
Priority 4: sent unless this ship has sent or received a message in the last 60 seconds
This lets you set up messages to liven things up without flooding the comms channel in a big situation.
The key is then looked up in a global communication dictionary, according to the ship's "communications role" and "personality". The role is usually set in AI initialisation, though it can be changed later. The personality can be set at the same time (or later), but if you don't it will pick one at random from the list of personalities assigned to that role (biased towards the group leader personality, if there is one). This happens as:
1) role+personality
2) if not found, and role allows fallback, generic+personality
3) if not found, and personality allows fallback, role+generic
4) if not found, and both allow fallback, generic+generic
Whether fallbacks are allowed for a particular role or personality is up to the person setting them up. As I have it at the moment, most roles allow fallbacks, but the "thargoid" role doesn't. For testing I've just put a lot of messages on generic+generic, but for actual use you'd rarely want to put anything there.
So you could for example have: (key: role: personality)
Commence Attack: Escort: Generic -> "I've got the {target}"
Commence Attack: Escort: Military -> "Acknowledged. Intercepting {target} now."
Commence Attack: Generic: Pirate -> "Yaarrr! To Davy Jones Locker with ye, {target}"
If a non-empty string value is found for the key, it gets passed to expandDescription along with the parameters, and if that gets a non-empty string back from descriptions.plist, it gets sent as a comms broadcast.
- Cody
- Sharp Shooter Spam Assassin
- Posts: 16081
- Joined: Sat Jul 04, 2009 9:31 pm
- Location: The Lizard's Claw
- Contact:
Re: The Oolite NPC ecosystem (and other questions)
Sounds good to me, cim - but then I'm only a dumb pilot.
<nods>Diziet Sma wrote:All in all, I'm really starting to look forward to the release of 1.79!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
And any survivors, their debts I will certainly pay. There's always a way!
- Smivs
- Retired Assassin
- Posts: 8408
- Joined: Tue Feb 09, 2010 11:31 am
- Location: Lost in space
- Contact:
Re: The Oolite NPC ecosystem (and other questions)
Agreed.Cody wrote:<nods>Diziet Sma wrote:All in all, I'm really starting to look forward to the release of 1.79!
These developments sound really exciting, and I'm glad that rather than the 'wish-fest' that we had a while ago with 'Oolite2' this is taking the current game and without major changes to the feel and gameplay, is adding flesh to the bones. These improvements sound like they are filling in the gaps and adding the fine details which are currently absent.
Excellent stuff
Commander Smivs, the friendliest Gourd this side of Riedquat.
Re: The Oolite NPC ecosystem (and other questions)
That certainly makes sense. Though, it's not just the main station they should stay clear of - there are several OXP stations you'd expect pirates to avoid (e.g. Seedy Space Bars). So I think we need a way for stations to signal their likely reactions to ships.Disembodied wrote:Maybe it would be worth making pirates a bit more shy of the zone around the station?
What do you think of this classification for stations?
Hunting: pirates and offenders will actively avoid this station. Default for any clean station with turrets, and any CLASS_POLICE or CLASS_MILITARY station. OXP examples: Sentinel Stations, Space Bars, Behemoths, Astromines.
Galcop: pirates will actively avoid, offenders will mostly try to dock elsewhere. The main station is the only one which gets this by default.
Neutral: pirates won't dock at this station, but won't actively avoid it. Other offenders might dock here. Default for unarmed clean stations with CLASS_STATION or CLASS_ROCK. OXP examples: Constores, Salvage Gangs, RRS stations, Superhubs, etc.
Pirate: pirates will dock and launch from here, other offenders may dock here, clean traders will actively avoid. Default for any (non-Thargoid) station with a bounty. OXP examples: Pirate Coves, Renegade Stations
Thargoid: pirates and traders actively avoid, only Thargoids try to dock. Default for any CLASS_THARGOID station. OXP examples: Thargoid Carrier
All of the default guesses could be overruled by shipdata, of course - but I think this gets most of the OXP ones to have similar behaviour to now. (A few will get put into "hunting" by default that should probably just be "neutral" or "galcop" - Kiotas, for instance - but that's better than the other way round, I think)
I'd rather not encourage OXPs to define their own station classes, because then other OXPs (or core ships!) won't know how to respond to them, but I can add more built-in types if there are cases I've missed
- Mauiby de Fug
- ---- E L I T E ----
- Posts: 847
- Joined: Tue Sep 07, 2010 2:23 pm
Re: The Oolite NPC ecosystem (and other questions)
*Joins the chorus of nodding dogs...*Smivs wrote:Agreed.Cody wrote:<nods>Diziet Sma wrote:All in all, I'm really starting to look forward to the release of 1.79!
These developments sound really exciting, and I'm glad that rather than the 'wish-fest' that we had a while ago with 'Oolite2' this is taking the current game and without major changes to the feel and gameplay, is adding flesh to the bones. These improvements sound like they are filling in the gaps and adding the fine details which are currently absent.
Excellent stuff
- Tricky
- ---- E L I T E ----
- Posts: 821
- Joined: Sun May 13, 2012 11:12 pm
- Location: Bradford, UK. (Anarchic)
Re: The Oolite NPC ecosystem (and other questions)
Chaotic: Any one can dock and launch but fighting is not tolerated.cim wrote:That certainly makes sense. Though, it's not just the main station they should stay clear of - there are several OXP stations you'd expect pirates to avoid (e.g. Seedy Space Bars). So I think we need a way for stations to signal their likely reactions to ships.Disembodied wrote:Maybe it would be worth making pirates a bit more shy of the zone around the station?
What do you think of this classification for stations?
Hunting: pirates and offenders will actively avoid this station. Default for any clean station with turrets, and any CLASS_POLICE or CLASS_MILITARY station. OXP examples: Sentinel Stations, Space Bars, Behemoths, Astromines.
Galcop: pirates will actively avoid, offenders will mostly try to dock elsewhere. The main station is the only one which gets this by default.
Neutral: pirates won't dock at this station, but won't actively avoid it. Other offenders might dock here. Default for unarmed clean stations with CLASS_STATION or CLASS_ROCK. OXP examples: Constores, Salvage Gangs, RRS stations, Superhubs, etc.
Pirate: pirates will dock and launch from here, other offenders may dock here, clean traders will actively avoid. Default for any (non-Thargoid) station with a bounty. OXP examples: Pirate Coves, Renegade Stations
Thargoid: pirates and traders actively avoid, only Thargoids try to dock. Default for any CLASS_THARGOID station. OXP examples: Thargoid Carrier
All of the default guesses could be overruled by shipdata, of course - but I think this gets most of the OXP ones to have similar behaviour to now. (A few will get put into "hunting" by default that should probably just be "neutral" or "galcop" - Kiotas, for instance - but that's better than the other way round, I think)
I'd rather not encourage OXPs to define their own station classes, because then other OXPs (or core ships!) won't know how to respond to them, but I can add more built-in types if there are cases I've missed
- Diziet Sma
- ---- E L I T E ----
- Posts: 6312
- Joined: Mon Apr 06, 2009 12:20 pm
- Location: Aboard the Pitviper S.E. "Blackwidow"
Re: The Oolite NPC ecosystem (and other questions)
Looking back at Jens' OP in the original thread formally announcing Oolite2, it's interesting to see how many of Jens' original ideas have been or are in the process of being implemented, in some form, into Oolite..Smivs wrote:I'm glad that rather than the 'wish-fest' that we had a while ago with 'Oolite2' this is taking the current game and without major changes to the feel and gameplay, is adding flesh to the bones. These improvements sound like they are filling in the gaps and adding the fine details which are currently absent.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
- Disembodied
- Jedi Spam Assassin
- Posts: 6885
- Joined: Thu Jul 12, 2007 10:54 pm
- Location: Carter's Snort
Re: The Oolite NPC ecosystem (and other questions)
How about something like Restricted-<type>, where only ships of a certain defined class go to? That might let OXP makers create e.g. an isolated research station, that's closed to non-affiliated shipping.cim wrote:What do you think of this classification for stations?
Hunting: pirates and offenders will actively avoid this station. Default for any clean station with turrets, and any CLASS_POLICE or CLASS_MILITARY station. OXP examples: Sentinel Stations, Space Bars, Behemoths, Astromines.
Galcop: pirates will actively avoid, offenders will mostly try to dock elsewhere. The main station is the only one which gets this by default.
Neutral: pirates won't dock at this station, but won't actively avoid it. Other offenders might dock here. Default for unarmed clean stations with CLASS_STATION or CLASS_ROCK. OXP examples: Constores, Salvage Gangs, RRS stations, Superhubs, etc.
Pirate: pirates will dock and launch from here, other offenders may dock here, clean traders will actively avoid. Default for any (non-Thargoid) station with a bounty. OXP examples: Pirate Coves, Renegade Stations
Thargoid: pirates and traders actively avoid, only Thargoids try to dock. Default for any CLASS_THARGOID station. OXP examples: Thargoid Carrier
Re: The Oolite NPC ecosystem (and other questions)
Definitely on the "anyone can dock and launch" one.Tricky wrote:Chaotic: Any one can dock and launch but fighting is not tolerated.
Fighting not being tolerated is difficult to implement in this stage of the assessment, but anyone being attacked by a station or its defense ship group will get a ridiculously unfavourable odds assessment - especially if the station is armed - so "fighting is not tolerated" can be simulated by making the station AI have a sensible response.
Yes. It might be sufficient to have simply "Restricted", which by default all ships actively avoid, and "Private" which they won't avoid but won't dock with either. Then the ship AI (and probably station AI) can make exceptions to that by not using the default "friendlyStation" and "hostileStation" tests.Disembodied wrote:How about something like Restricted-<type>, where only ships of a certain defined class go to?