Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Player reputations and AI

An area for discussing new ideas and additions to Oolite.

Moderators: winston, another_commander

User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6884
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Post by Disembodied »

DaddyHoggy wrote:
[in fact - if you're too good in one anarchy system perhaps either:

1) the supply of traders willing to come to the system dries up - it's just not worth the risk
2) traders start coming through in convoys with heavy escort or naval support (humanitarian aid runs because nothing is reaching the main system stations and therefore the planet below)
3) Galcop and/or the navy make a show-of force raid on the system and you're the Ace of Spades on their deck of cards.]

However, if you have to jump through a non-anarchist system to get to your next hunting pool then your reputation has everybody on the hunt for you - traders - police - bounty hunters - that's going to be one hell of a run to the sun to skim and jump back out!
That would all be workable: if your local rep gets high enough, then the types of non-pirate shipping will start to change. I think your 1), 2) and 3) could be progressive steps. Well, combine 1) and 2): the number of lone traders dwindles, and the number of escorted ships increases. Then the number of bounty hunters goes up, then GalCop starts taking an interest, and then – if you still don't take the hint – you might trigger a full-on Navy raid!
maik wrote:
Disembodied wrote:
If they're just passing through, though, trailing destruction in their wake, then some of the local pirates might feel like having a go at them (especially if their bounty is small and their kill-count is low).
Or they might feel that you're intruding on their territory. Kind of like what various mafia clans around the world have been showcasing, e.g. in NYC in last century's 30s. Or look at the gang wars that are going on in northern Mexico at the moment.
Definitely! I don't think piracy should be a valid career option until you're at least Dangerous. After that point you might get a bit of grudging acceptance, or at least most pirates would regard you as probably more trouble than you're worth. Better to go off and shoot up some merchantman: it'll be less likely to turn into a fight to the death.
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 »

Smivs wrote:
Just a thought but one easy way to address at least one of these points is to make Pirates scan for status like the Police and Bounty Hunters do.
This way they could attack Clean ships and perhaps Offenders, but leave Fugitives alone. This way you could work with a Pirate Band if you are Fugitive. You wouldn't really be one of them, but at least they would appear to tolerate your presence.
All this would require is a simple change to the AI.
Having said that I do like the idea of actively becoming a Pirate...there are some really good ideas above, and I think they should be explored where practical.
Would be easy by changing the LURk state of the current pirateAI into:

Code: Select all

    LURK = {
        ENTER = ("setSpeedTo: 0.0", performIdle); 
        ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP"); 
        "ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED"); 
		"TARGET_LOST" = ("setStateTo: TRAVEL_TO_LURK_AREA", "pauseAI: 0.5");
        "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); 
        "NOTHING_FOUND" = ("setStateTo: COLLECT_LOOT"); 
        "TARGET_FOUND" = (setTargetToFoundTarget, checkTargetLegalStatus); 
	"TARGET_CLEAN" = (checkGroupOddsVersusTarget);
	"TARGET_MINOR_OFFENDER" = (checkGroupOddsVersusTarget);
        "CARGO_SCOOPED" = ("setStateTo: CHECK_CARGO"); 
        "ODDS_GOOD" = (groupAttackTarget); 
        "ODDS_LEVEL" = (groupAttackTarget); 
        "GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP"); 
		"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
        UPDATE = (scanForRandomMerchantmen, "pauseAI: 5.0"); 
    }; 
Now it only attacks clean and minor offenders, but not the big offenders or the fugitives. Maybe something to add in anarchies.oxp? Not in plain Oolite though
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

Extend warring factions further. Systems' governments come into play. If you're in a multi-government system, multiple factions on the world already may be trying to kill each other. And that extends into space as well. Some factions may be seeking to promote space trade, while others see trade ships as helping enemy faction/s. To some extent, this might also exist even in Feudal realms -- various nobles wanting to eliminate/take over rivals. Even anarchies might have powerful factions despite not being more than micro-governments in their own right.

Most of this seems better set to create system-specific missions, where being on a mission might get pirates in that 1 system to ignore the player. This is assuming ai shps can be told to ignore certain tagged ships.
User avatar
tinker
Deadly
Deadly
Posts: 166
Joined: Tue Jul 22, 2008 7:45 am
Location: Sachsen

Post by tinker »

Coming at this idea from another angle.

I see the attraction for some people of being a pirate and would like to see more varied AI behaviour from ships I pass in the night, but I have no interest in being a pirate, though I am not averse to following them about at times and scooping cargo from their victims.

I play differently than most people seem to, for me the challenge is to live long and prosper without fighting, in two years of pleasurable playing I have only just got over 120 kills.

One of the drawbacks as I see it is you can only be clean, offender of fugitive. Should there not be some other status settings such as "squeaky clean" and "Mmm Shiney" as well as perhaps something even worse than fugitive such as being on the "most wanted" list. I realise this would be more complex to add as the Oolite core uses bounty to calculate offender status and the new status' would imply a negative bounty but it would mean that someone who is clean for months would not suddenly get offender status for the next few days because of one small slipup.

Having more offender status levels would then, together with some ideas from earlier in the thread, would make it possible to carve different career paths and create lots more faction options.
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6884
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Post by Disembodied »

tinker wrote:
Coming at this idea from another angle.

I see the attraction for some people of being a pirate and would like to see more varied AI behaviour from ships I pass in the night, but I have no interest in being a pirate, though I am not averse to following them about at times and scooping cargo from their victims.

I play differently than most people seem to, for me the challenge is to live long and prosper without fighting, in two years of pleasurable playing I have only just got over 120 kills.

One of the drawbacks as I see it is you can only be clean, offender of fugitive. Should there not be some other status settings such as "squeaky clean" and "Mmm Shiney" as well as perhaps something even worse than fugitive such as being on the "most wanted" list. I realise this would be more complex to add as the Oolite core uses bounty to calculate offender status and the new status' would imply a negative bounty but it would mean that someone who is clean for months would not suddenly get offender status for the next few days because of one small slipup.

Having more offender status levels would then, together with some ideas from earlier in the thread, would make it possible to carve different career paths and create lots more faction options.
It might be better if this level of refinement was in the game, but kept hidden from the player. Keep the same public rankings – Clean, Offender and Fugitive – but allow variations in AI behaviour based on more subtle shadings that take into account things like kill count, length of time in any one legal state, etc., while keeping these shadings secret. I think having other ships gradually change how they behave, depending on how you behave, without any overt change in your legal standing, would be more interesting. Making it a public score feels too "gamey", if you know what I mean.

I'm not sure, though, if you could accrue good behaviour to offset criminal activity: I think any crime – accidental or otherwise – should tip you into Offender status, even if you've been a total Goody-Two-Shoes since leaving Lave. Maybe, though, a high "good behaviour" score might reduce the time it takes to lose a criminal ranking, or reduce the original crime score (a bit), or make it slightly less likely that the police will attack you, or – assuming the crime is small enough – allow you to absolve the offence with a fine and a bit of scrubbing the docking bay.
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Post by Smivs »

Disembodied wrote:
– allow you to absolve the offence with a fine and a bit of scrubbing the docking bay.
Scrubbing? Sweeping it was bad enough :cry:
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

tinker wrote:
Coming at this idea from another angle.

I see the attraction for some people of being a pirate and would like to see more varied AI behaviour from ships I pass in the night, but I have no interest in being a pirate, though I am not averse to following them about at times and scooping cargo from their victims.

I play differently than most people seem to, for me the challenge is to live long and prosper without fighting, in two years of pleasurable playing I have only just got over 120 kills.

One of the drawbacks as I see it is you can only be clean, offender of fugitive. Should there not be some other status settings such as "squeaky clean" and "Mmm Shiney" as well as perhaps something even worse than fugitive such as being on the "most wanted" list. I realise this would be more complex to add as the Oolite core uses bounty to calculate offender status and the new status' would imply a negative bounty but it would mean that someone who is clean for months would not suddenly get offender status for the next few days because of one small slipup.

Having more offender status levels would then, together with some ideas from earlier in the thread, would make it possible to carve different career paths and create lots more faction options.
You're not alone - DaddyHoggy proudly announces he still has less than 30 kills - mostly because I ran out of fuel for injectors or to jump away and they wouldn't leave me alone. Playing the pacifist/coward is almost role-playing and is quite a challenge!
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

If you're in a big furball space fight with pirates, traders, and police ships and you even hit a trader once by mistake...having a squeaky clean reputation should at least prevent the battle from turning into everyone versus you. :cry:
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 »

DaddyHoggy wrote:
Playing the pacifist/coward is almost role-playing and is quite a challenge!
Just a small note that these two are not at all interchangeable. In the real world pacifism usually takes a lot more bravery than bellicism. There is not the slightest bit of cowardice in facing your enemy unarmed, even giving yourself in their hands, and trying to convince them to resolve the conflict without resorting to violence. He who turns the left cheek to the person who just has hit the right one is certainly not a coward.

</thread derailment>
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2022
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Post by maik »

Commander McLane wrote:
DaddyHoggy wrote:
Playing the pacifist/coward is almost role-playing and is quite a challenge!
Just a small note that these two are not at all interchangeable. In the real world pacifism usually takes a lot more bravery than bellicism. There is not the slightest bit of cowardice in facing your enemy unarmed, even giving yourself in their hands, and trying to convince them to resolve the conflict without resorting to violence. He who turns the left cheek to the person who just has hit the right one is certainly not a coward.
</thread derailment>
Yes, but in the Oolite world, pirates don't stop attacking you because they suddenly discover their conscience or because of unfavourable media attention or because you talk them out of it. So here pacifism necessarily has to equal cowardice, i.e. turning and fleeing.
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 »

As I said, it was just a small RealLife™-note, not meant to be applicable to Oolite, which—for some strange reason I couldn't yet figure out—sometimes seems to be a wee tiny little slight bit less complex than RealLife itself. :wink: And I just wanted to make sure that DaddyHoggy (whom I respect very much) doesn't mix up two completely unrelated things courtesy of a possible slight professional bias. :)
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

Commander McLane wrote:
As I said, it was just a small RealLife™-note, not meant to be applicable to Oolite, which—for some strange reason I couldn't yet figure out—sometimes seems to be a wee tiny little slight bit less complex than RealLife itself. :wink: And I just wanted to make sure that DaddyHoggy (whom I respect very much) doesn't mix up two completely unrelated things courtesy of a possible slight professional bias. :)
I'm fine - and I understand.

My "character" in Oolite - will always run away if given the choice - only when cornered do I fight - and quite often I managed to force (in a one-on-one) the pirates to turn and flee - not truly a pacifist - but that's v. hard to do in Oolite because it's still a game and if I've spent an hour trading and haven't docked with a main station for a while (grrrr....) therefore my game isn't saved - going "ok, vaporise me if you will, I have the moral high ground" isn't much fun or practical and it should still be both.

I wanted to make a million Cr with less than 100 kills - I don't think I'm going to make it, but it'll be as close as I can within the game mechanics.

Just a different way to play the game, an experiment...
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
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 »

One could even amend Eric's amended code further and add an element of random. The higher the bounty on the potential victim's head, the less likely the attack (but still possible):

Code: Select all

    LURK = {
        ENTER = ("setSpeedTo: 0.0", performIdle); 
        ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP"); 
        "ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED"); 
		"TARGET_LOST" = ("setStateTo: TRAVEL_TO_LURK_AREA", "pauseAI: 0.5");
        "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); 
        "NOTHING_FOUND" = ("setStateTo: COLLECT_LOOT"); 
        "TARGET_FOUND" = (setTargetToFoundTarget, checkTargetLegalStatus); 
        "TARGET_CLEAN" = ("rollD: 2");
        "TARGET_MINOR_OFFENDER" = ("rollD: 4");
        "TARGET_OFFENDER" = ("rollD: 8");
        "TARGET_FUGITIVE" = ("rollD: 12");
        "ROLL_1" = (checkGroupOddsVersusTarget);
        "CARGO_SCOOPED" = ("setStateTo: CHECK_CARGO"); 
        "ODDS_GOOD" = (groupAttackTarget); 
        "ODDS_LEVEL" = (groupAttackTarget); 
        "GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP"); 
		"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
        UPDATE = (scanForRandomMerchantmen, "pauseAI: 5.0"); 
    }; 
Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Post by Zireael »

Will someone make it into an OXP?
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6884
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Post by Disembodied »

<yoda>Difficult to see ... always in motion is the future.</yoda> If someone wants to do it badly enough, and spends the time and effort, then all things are possible. Apart from a >7 light-year jump, and laser coolers. :) You could even give it a go yourself. There are lots of people here who are willing to help.
Post Reply