Switeck's Shipping v0.5 OXP - Ai, Economy, and Ship changes

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: winston, another_commander

User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Post by CheeseRedux »

Switeck wrote:
I shudder to think how I can make a harder savegame for it.
Start out as fugitive with lots of Trumbles on board?
...At an anarchy. (Riedquat?)
And having taken out a loan with the Black Monks then immediately losing the money at the nearest casino...
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16081
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Post by Cody »

Nasty!
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!
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

Switeck wrote:
My next goal is a better scavenger behavior by ships passing through a system. Cargo Canisters should probably be grabbed by almost any passing ship with a fuel scoop that doesn't have a full cargo load.
...
Even enteringPirateAI.plist should set "clean" and "minor offender" pirates to scavengerAI.plist
This leads into my next step:
Try to make systems more dynamic and lively.

When a new trade ship enters the system at the witchpoint, it should have a few choices on what to do:
1.old style go to + dock with main station
2.sunskim and jump out
to-be-added possibilities:
3.jump straight out, on through route to their next system stop
4.dock with nearest station, not only the main station
5.scavenge/scoop up cargo pods on way to main or nearest station
6.turn pirate!
7.coward mode -- flee all fights?
8.unknown step 8
9.PROFIT!

Newly arriving offenders/pirates could follow similar strategies.
Maybe even add extra arriving pirates or traders based on the TL, economy type, and government type for the system? (Or is that better suited for a system "stocker" OXP?)

A TL4 poor agricultural anarchy should have new pirates arriving on a semi-regular basis but few traders. At a TL14 rich industrial corporate state there should be very few pirates arriving but MANY traders quickly arriving.
User avatar
Commander McLane
---- E L I T E ----
---- 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:

Post by Commander McLane »

Switeck wrote:
Try to make systems more dynamic and lively.

When a new trade ship enters the system at the witchpoint, it should have a few choices on what to do:
1.old style go to + dock with main station
2.sunskim and jump out
to-be-added possibilities:
3.jump straight out, on through route to their next system stop
4.dock with nearest station, not only the main station
5.scavenge/scoop up cargo pods on way to main or nearest station
6.turn pirate!
7.coward mode -- flee all fights?
8.unknown step 8
9.PROFIT!

Newly arriving offenders/pirates could follow similar strategies.
Maybe even add extra arriving pirates or traders based on the TL, economy type, and government type for the system? (Or is that better suited for a system "stocker" OXP?)
Bear in mind, though, that most of this, while giving variation on paper, will be practically invisible for the player.
Switeck wrote:
A TL4 poor agricultural anarchy should have new pirates arriving on a semi-regular basis but few traders. At a TL14 rich industrial corporate state there should be very few pirates arriving but MANY traders quickly arriving.
While this is in line with the usual pirate-to-trader-ratio found in Oolite, it doesn't actually make a lot of sense. What are the hords of pirates going to do in a low-TL Anarchy, if there is no trader to attack? And why should they leave the myriads of easy prey in a high-TL Corporate State alone?
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

Don't be such a downer ending. I know most of it will be hard to notice. But that's like saying... If a player doesn't go looking, they won't see much...so there's no point in eye candy?!

MANY of the traders will neither be looking for fights nor stick around if dragged into one. That's going to be pretty noticeable if you're counting on a nearby trader fighting pirates with you. :evil:

IMO, Pirates have to have bases somewhere besides living indefinitely on their ships. Long-term repairs have to be done. That means at the least they will gravitate to "safe" anarchy systems for repairs. And only few/bold traders will dare go there...but even if the difference is 60-200 traders an hour in a corporate system and 10 traders per hour in an anarchy system, there will still be enough for pirates to hit if they're not wanting instant gratification (and probably death.)

Presumably not every fight ends with 1 side partially or completely destroyed. If anything, pirates and traders alike should run away more often. I'd also expect escape pods to be common items, due to their relatively low cost compared to ...shield boosters?
User avatar
Commander McLane
---- E L I T E ----
---- 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:

Post by Commander McLane »

Switeck wrote:
Don't be such a downer ending.
Sorry. :oops:
Switeck wrote:
MANY of the traders will neither be looking for fights nor stick around if dragged into one. That's going to be pretty noticeable if you're counting on a nearby trader fighting pirates with you. :evil:
But that's not even a change, but exactly what traders are doing right now and have always done. They defend themselves if attacked by a pirate, but get out of the fight as soon as someone else (like the player) enters in. And they never ever enter into the fight of somebody else. So why would you ever have counted on a nearby trader fighting pirates with you? Neither you nor I nor any other Oolite player saw that happening even once, since this game existed.
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

Sometimes...they should help, because otherwise they'll probably die also.
But you're almost certainly right they currently don't.
What I'd been seeing was probably the occasional bounty hunter helping me out...or the trader had already been shot by the pirates and I was helping it out.
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2028
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Post by maik »

While I don't count on other traders helping in a fight, it would add to my immersion if Switeck enabled this :).

After all, they do ask for help and I'm typically nice enough to blast the pirates for them, but why should I be the only nice guy in my ooniverse?
User avatar
Commander McLane
---- E L I T E ----
---- 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:

Post by Commander McLane »

maik wrote:
While I don't count on other traders helping in a fight, it would add to my immersion if Switeck enabled this :).

After all, they do ask for help and I'm typically nice enough to blast the pirates for them, but why should I be the only nice guy in my ooniverse?
It's not on his list, however.
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

I expect some (but not all!) traders to take shots at "targets of opportunity"...though I don't yet know how hard that will be to do.
User avatar
Commander McLane
---- E L I T E ----
---- 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:

Post by Commander McLane »

Switeck wrote:
I expect some (but not all!) traders to take shots at "targets of opportunity"...though I don't yet know how hard that will be to do.
You just need to make an AI for that (practically you would perhaps modify route1traderAI).
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

Way ahead of you there.
I'm already working on a random+deterministic enteringPirateAI.plist and enteringTraderAI.plist so new arrivals are funneled into semi-appropriate roles bases on their legal status and whether their cargo bay is full.

I would just rubber-stamp in the bounty hunter AI .plist file as a possible choice for arriving traders...except I can't seem to find it!

maik,
If you want to test something, and don't mind a little...insanity, try editing enteringTraderAI.plist file. Copy it into a AI folder of a OXP of your choice, and replace the 3 choices with something like this:

ENTER = ("rollD: 10");
"ROLL_1" = ("switchAITo: route1traderAI.plist"); // Bog-standard trader going to main station.
"ROLL_2" = ("switchAITo: route1traderAI.plist");
"ROLL_3" = ("switchAITo: scavengerAI.plist"); // scoop nearby loot, flee all fights, dock with nearest station?
"ROLL_4" = ("switchAITo: scavengerAI.plist");
"ROLL_5" = ("switchAITo: policeInterceptAI.plist"); // Police in intercept/attack mode
"ROLL_6" = ("switchAITo: route2patrolAI.plist"); // Police patrol between sun and planet
"ROLL_7" = ("switchAITo: route1patrolAI.plist"); // Police patrol between planet and witchpoint beacon
"ROLL_8" = ("switchAITo: pirateAI.plist"); // pirates disguised as traders?
"ROLL_9" = ("switchAITo: exitingTraderAI.plist"); // hyperspaces again very shortly after arriving at witchpoint beacon...
"ROLL_10" = ("switchAITo: route2sunskimAI.plist"); // head to sun to refuel and then hyperspaces out...or dies at sun.

Or just test with that table filled only with policeInterceptAI.plist, route1patrolAI.plist, or route2patrolAI.plist to see which one seems most like traders helping out in fights. They'll be acting completely in police roles...because I can't currently seem to find what bounty hunters use.
User avatar
snork
---- E L I T E ----
---- E L I T E ----
Posts: 551
Joined: Sat Jan 30, 2010 4:21 am
Location: northern Germany

Post by snork »

Iirc - there is no vanilla Oolite bountyhunterAI and they use route1patrolAI on creation. (or maybe also occasionally route2)

--------------------

I really like that you want to have more ships picking up free loot.
Of course it is very nice that you can pretty much always go docking, empty your cargohold and go back to the cargo you weren't able to scoop earlier on (full cargo hold), but I always found it odd ("reality-wise") that noone but me player would bother to do so.

Personally however, I won't want to use it as soon as my bloody Adder (your savegame) is in any shape to actually attack someone.

With that much hassle to get it in the first place all the loot shall be mine. 8)
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

snork wrote:
Iirc - there is no vanilla Oolite bountyhunterAI and they use route1patrolAI on creation. (or maybe also occasionally route2)

--------------------

I really like that you want to have more ships picking up free loot.
Of course it is very nice that you can pretty much always go docking, empty your cargohold and go back to the cargo you weren't able to scoop earlier on (full cargo hold), but I always found it odd ("reality-wise") that noone but me player would bother to do so.
Currently police and bounty hunters can go for loot, but only after a missile attack. I never understood why, so, recently I changed trunk that route1patrolAI scans for loot after each fight, not only after a missile attack.

Police can only find pods with pilots in it and will leave plain cargo untouched. In reality not much has changed for police ships. Police ships are rarely defined with scoops and cargo hold, so till now I never witnessed a police going for an escape pod. Hunters generally do have scoops and a small cargo bay, so they should start scooping cargo after a fight, like pirates do.
User avatar
Commander McLane
---- E L I T E ----
---- 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:

Post by Commander McLane »

Switeck wrote:
Way ahead of you there.
:D
Switeck wrote:
I'm already working on a random+deterministic enteringPirateAI.plist and enteringTraderAI.plist so new arrivals are funneled into semi-appropriate roles bases on their legal status and whether their cargo bay is full.
Have you made some test on how many new arrivals there actually are? My guess is that there are not so many. Basically only one for each trader that launches and jumps out from the main station. Except you have added a mechanism that lets more traders jump in. Oh, and I don't think that there are any jumping in pirates currently.
Switeck wrote:
I would just rubber-stamp in the bounty hunter AI .plist file as a possible choice for arriving traders...except I can't seem to find it!
You already have it. It's route1patrolAI. Police and bounty hunters are using the same AI, because they are doing basically the same job. The only difference is that the markTargetForOffence-method only works with police ships. It simply does nothing with a bounty hunter.
Switeck wrote:
ENTER = ("rollD: 10");
"ROLL_1" = ("switchAITo: route1traderAI.plist"); // Bog-standard trader going to main station.
"ROLL_2" = ("switchAITo: route1traderAI.plist");
"ROLL_3" = ("switchAITo: scavengerAI.plist"); // scoop nearby loot, flee all fights, dock with nearest station?
"ROLL_4" = ("switchAITo: scavengerAI.plist");
"ROLL_5" = ("switchAITo: policeInterceptAI.plist"); // Police in intercept/attack mode
"ROLL_6" = ("switchAITo: route2patrolAI.plist"); // Police patrol between sun and planet
"ROLL_7" = ("switchAITo: route1patrolAI.plist"); // Police patrol between planet and witchpoint beacon
"ROLL_8" = ("switchAITo: pirateAI.plist"); // pirates disguised as traders?
"ROLL_9" = ("switchAITo: exitingTraderAI.plist"); // hyperspaces again very shortly after arriving at witchpoint beacon...
"ROLL_10" = ("switchAITo: route2sunskimAI.plist"); // head to sun to refuel and then hyperspaces out...or dies at sun.
I think scavengerAI makes no sense, because it doesn't do what you think it does. It is only for ships that launch from a station and then clear debris around that station. So if you give it to an entering trader, it would only be able to look for debris in scanner range of the witchpoint, in most cases no find any, try to return to its mother station, find out that it has none, perhaps fly to another station instead, but would never care for any debris along the way until it has docked. In other words: you effectively produce a trader that wouldn't care about what is going on around it, a sitting (or in this case flying) duck.

It is perfectly possible to write an AI that would fly along the main route and look specifically for loot all along the way. But scavengerAI isn't it.
Post Reply