Page 5 of 9
Re: Musings for v.1.92
Posted: Wed Jul 13, 2022 9:17 am
by Redspear
Cholmondely wrote: ↑Tue Jul 12, 2022 9:52 pm
There should be some way of agreeing to travel with others as a group without dosh being involved. But this is OXP stuff really, no?
Does synchronised torus address this?
Re: Musings for v.1.92
Posted: Wed Jul 13, 2022 11:54 am
by Switeck
Cholmondely wrote: ↑Tue Jul 12, 2022 9:52 pmLooking at it from another perspective, just followed a Refugee Adder through his wormhole to Celabile (he
did advertise - Communications Pack A?). I seemed to have no way of accepting his offer. Feeling protective I tried to tail him to the main orbital, but he kept trying to dodge me. And I had no way of communicating and telling him that I was on his side. It got too frustrating and I eventually buzzed off.
There should be some way of agreeing to travel with others as a group without dosh being involved. But this is OXP stuff really, no?
Also copied to the Iron Ass OXP thread dealing with Refugee Adder AI....
How close were you following?
Unless you're a true escort of a freighter, following much closer than ~2 km is perceived as a possible ramming attempt...on purpose or accident.
Re: Musings for v.1.92
Posted: Wed Jul 13, 2022 2:01 pm
by szaumix
Switeck wrote: ↑Wed Jul 13, 2022 11:54 am
Unless you're a true escort of a freighter, following much closer than ~2 km is perceived as a possible ramming attempt...on purpose or accident.
Wait, really? I don't think I can remember ever having seen these results from NPCs, and I do occasionally fly close or near to other strange ships because reasons. It can't just be distance you're talking about surely. How can I replicate this behavior?
Re: Musings for v.1.92
Posted: Wed Jul 13, 2022 2:16 pm
by Cholmondely
Between 2-6km mostly. And trying to fly side-by-side, rather than behind (which struck me as potentially threatening).
Re: Musings for v.1.92
Posted: Wed Jul 13, 2022 2:28 pm
by Cody
Is flying as an unofficial escort a good thing for an NPC merchant? Being the player, you may well attract trouble which the merchant might have otherwise avoided. When I used to fly voluntary escort, I'd often "follow" the merchant from ahead. They don't see you as a threat that way.
Re: Musings for v.1.92
Posted: Thu Jul 14, 2022 4:43 pm
by Switeck
From a game mechanic point-of-view, pirates treat the player as a separate category that they look for first. So if the player goes first, they pull all the pirates onto themselves and the traders won't help a bit...not even to ECM a missile that's almost guaranteed to kill the player as they leave the area.
That's why I suggest letting the traders be 15-25 km ahead of the player and either avoid any fights they get into or help them out only after the fight is well underway.
Re: Musings for v.1.92
Posted: Thu Jul 14, 2022 4:47 pm
by Cholmondely
Switeck wrote: ↑Thu Jul 14, 2022 4:43 pm
From a game mechanic point-of-view, pirates treat the player as a separate category that they look for first. So if the player goes first, they pull all the pirates onto themselves and the traders won't help a bit...not even to ECM a missile that's almost guaranteed to kill the player as they leave the area.
That's why I suggest letting the traders be 15-25 km ahead of the player and either avoid any fights they get into or help them out only after the fight is well underway.
Can this really be true? I've read
so much stuff about Oolite
not being player-centred...
Reference:
Cheating
Re: Musings for v.1.92
Posted: Thu Jul 14, 2022 4:52 pm
by Cody
Don't know what happens under the hood, but from experience - yes!
Re: Musings for v.1.92
Posted: Thu Jul 14, 2022 5:39 pm
by Switeck
I made Switeck's Shipping in an attempt to reduce some of the player advantages...and occasionally disadvantages as well.
Its readme covers the changes and often reasoning for changes.
A bit of its features have since been incorporated into vanilla Oolite, often implemented in a different way.
It is a massive headache to me to sort out what's not in Oolite already to revive it and put into Oolite v1.9x as an OXZ.
Re: Musings for v.1.92
Posted: Thu Jul 14, 2022 11:12 pm
by Redspear
Cody wrote: ↑Thu Jul 14, 2022 4:52 pm
Don't know what happens under the hood, but from experience - yes!
Assuming this is still the case...
the smoking gun
Switeck wrote: ↑Thu Jul 14, 2022 5:39 pm
I made Switeck's Shipping in an attempt to reduce some of the player advantages...and occasionally disadvantages as well.
I'm not really familiar with that oxp but I'd say that's a fair way of putting it: the player has both advantages and disadvantages in relation to the non-player.
Re: Musings for v.1.92
Posted: Fri Jul 15, 2022 5:38 am
by another_commander
I was thinking about it. You know, it would be trivial to change that definitive and absolute YES to a probability. Setting it as
Code: Select all
#define PIRATES_PREFER_PLAYER (randf() < 0.5)
for example, would give a 50% chance that the pirates do
not prefer the player.
Re: Musings for v.1.92
Posted: Fri Jul 15, 2022 7:20 am
by cim
Switeck wrote: ↑Thu Jul 14, 2022 4:43 pm
From a game mechanic point-of-view, pirates treat the player as a separate category that they look for first. So if the player goes first, they pull all the pirates onto themselves and the traders won't help a bit...not even to ECM a missile that's almost guaranteed to kill the player as they leave the area.
Depends on the pirate AI.
The JS-based AI used in the core game doesn't do this - pirates just look for any target with a role in the category "oolite-pirate-victim", which may or may not include the player depending on their local reputation. (If the player's local rep is "bounty hunter" then pirates will actively try to avoid them, for example, and if it's "pirate" then they'll ignore them)
If it *does* include the player, then yes, if the player is detected first by them as a matter of scanner range, the pirates will engage the player in a dogfight (after the odds calculation), and a standard trader group will then (because pirates are in the role category "oolite-trader-dislike") not only not help the player but actively try to skirt around the fight rather than ploughing right through it.
The old plist AI for pirates doesn't seem to do this either - the PIRATES_PREFER_PLAYER macro is only used in scanForNearestMerchantman, not scanForRandomMerchantman, but all the core AIs use scanForRandomMerchantman anyway which does just pick at random from contacts (though if the player is moving significantly ahead of a trader group, they're likely to enter scanner range first of course!). This macro doesn't affect the JS AIs at all.
Re: Musings for v.1.92
Posted: Fri Jul 15, 2022 7:22 am
by szaumix
another_commander wrote: ↑Fri Jul 15, 2022 5:38 am
I was thinking about it. You know, it would be trivial to change that definitive and absolute YES to a probability. Setting it as
Code: Select all
#define PIRATES_PREFER_PLAYER (randf() < 0.5)
for example, would give a 50% chance that the pirates do
not prefer the player.
IMO, absolute predictability subtracts from the believable realism of any procedurally generated universe. I would be all for that probability function.
Re: Musings for v.1.92
Posted: Fri Jul 15, 2022 1:15 pm
by Redspear
szaumix wrote: ↑Fri Jul 15, 2022 7:22 am
IMO, absolute predictability subtracts from the believable realism of any procedurally generated universe. I would be all for that probability function.
But, If I'm summarising cim correctly (or even approximately),
cim wrote: ↑Fri Jul 15, 2022 7:20 am
the PIRATES_PREFER_PLAYER macro... doesn't affect the JS AIs at all.
Re: Musings for v.1.92
Posted: Fri Jul 15, 2022 3:39 pm
by another_commander
Redspear wrote: ↑Fri Jul 15, 2022 1:15 pm
But, If I'm summarising cim correctly (or even approximately),
cim wrote: ↑Fri Jul 15, 2022 7:20 am
the PIRATES_PREFER_PLAYER macro... doesn't affect the JS AIs at all.
It only affects what ships are tracked by pirates when scanning for merchants.
Edit: ...and after some quick research, scanForNearestMerchantman, the only method in the code that uses the PIRATES_PREFER_PLAYER macro, does not seem to be getting called by anything, be it core code, scripts or AIs. So yeah, nothing to see here, cim is right.
Edit2: Darn, I completely missed cim's message earlier - could have saved myself the trouble of researching