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

NPC bounty calculation faulty

For test results, bug reports, announcements of new builds etc.

Moderators: winston, another_commander, Getafix

Post Reply
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:

NPC bounty calculation faulty

Post by Commander McLane »

When jumping with fugitive/offender NPCs into normal space and interstellar space I noticed that their bounty is halved for each jump, even misjumps.

The player's bounty isn't halved for misjumps, which is the correct behaviour, and should be applied to NPC's as well.


By the way: scripted NPC misjumps are a cool addition to the game. :D
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Re: NPC bounty calculation faulty

Post by Micha »

That is probably an oversight due to the fact that until shortly, NPC's couldn't mis-jump. It will be fixed shortly.

TBH, I'm not entirely sure why a misjump shouldn't reduce your bounty.
Or why the bounty should be exactly halved on each successful jump.

Surely it should degrade based on time and possibly distance from place of offense.
Might get a bit much though to track each offense by date & system, and then recalculate your 'current-system-bounty' based on your list of unexpired offenses.
The glass is twice as big as it needs to be.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: NPC bounty calculation faulty

Post by JensAyton »

Interesting thoughts, write them down somewhere for EMMSTRAN. :-)
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:

Re: NPC bounty calculation faulty

Post by Commander McLane »

Micha wrote:
TBH, I'm not entirely sure why a misjump shouldn't reduce your bounty.
Because it makes it too easy to become clean by a series of misjumps. This would allow you to become clean before arriving in the very next (close-by) system, which defeats the idea of your legal status staying with you for a while.
Micha wrote:
Or why the bounty should be exactly halved on each successful jump.
Elite-legacy, I think. My guess is that the bounty reduction was done by a simple bit rotation in the byte(s) which stored the player bounty. Seems the least memory-consuming way of doing it. And as the player never knew his exact bounty anyway, only the 'offender' or 'fugitive' string, it didn't matter how it was done internally.
Micha wrote:
Surely it should degrade based on time and possibly distance from place of offense.
Might get a bit much though to track each offense by date & system, and then recalculate your 'current-system-bounty' based on your list of unexpired offenses.
This is, of course, the very basis on which Anarchies.oxp was created in the first place. In fact, Arexack_Heretic came up with some ideas based on calculating bounties for offences committed in each of the 256 systems of a galaxy, and making the final bounty an average of the bounties in the closest systems, also degrading over time. That was in the times of Oolite 1.65, however, and was way beyond what could reasonably be done in legacy scripting.

Therefore Anarchies.oxp went a different, but much easier way, and closer to the default calculation: for fugitives bounties are no longer halved, but only reduced by 10% (was a fixed value of 20 or 10 in version 1.0, because there wasn't even multiplication in legacy scripting). The threshold between fugitive and offender can't be broken easily, so the player may hover just over 50 for quite a while. For offenders nothing changes, because even with halving you still need about six jumps if you start in the forties.

My main problem with a system-based bounty calculation—apart from how to do it—is that legal authority lies—at least partly—with GalCop, not with the individual systems. If it's GalCop's job to keep all space lanes safe, they would have a central database for offenses, and an offender would not be able to get off the hook simply by jumping into the next system where he hasn't yet committed anything. I don't imagine GalCop to be like the police system in American road movies, where the protagonist stops his car a couple of feet behind the state border, and the sheriff who has pursued him for the last hour is completely powerless.
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Re: NPC bounty calculation faulty

Post by Micha »

Done
Err, damn BB snipers! I meant:

@Ahruman:Done.
The glass is twice as big as it needs to be.
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Re: NPC bounty calculation faulty

Post by Micha »

Commander McLane wrote:
Micha wrote:
TBH, I'm not entirely sure why a misjump shouldn't reduce your bounty.
Because it makes it too easy to become clean by a series of misjumps. This would allow you to become clean before arriving in the very next (close-by) system, which defeats the idea of your legal status staying with you for a while.
I consider forced misjumping to be a game-cheat. Personally (others may disagree) I don't think Oolite should code around this 'feature'. At the very least I'd add more, and stronger, Thargoids if the game detects forced mis-jumps rather than accidental ones.

There's a debate somewhere online proposing that this was a debug-function which wasn't removed when Elite shipped.

Anyways, off-topic..
Commander McLane wrote:
My main problem with a system-based bounty calculation—apart from how to do it—is that legal authority lies—at least partly—with GalCop, not with the individual systems.
Yes and no.

Firstly there's communication - trade prices can't be transmitted between systems, so most people have assumed that all communications have to be carried by ships, with an embargo on trade information.
Thus the information about an offense wouldn't necessarily be faster than the offender himself.

Secondly, taking the analogy to the US of A, where you have County, State, and Federal police, it could be similar in Oolite.

Minor offenses are only pursued in the local system (bit of a waste of resources to hunt down the fine for an illegal docking attempt or space drunkenness across the known universe), medium offenses (piracy, or non-lethal friendly fire) amongst local systems, and major offenses (such as killing cops or attacking stations) should definitely be pursued across an entire map.

Anyway, just some random thoughts.
The glass is twice as big as it needs to be.
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Re: NPC bounty calculation faulty

Post by Micha »

Fixed in r4455.
The glass is twice as big as it needs to be.
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Re: NPC bounty calculation faulty

Post by Switeck »

Micha wrote:
I consider forced misjumping to be a game-cheat. Personally (others may disagree) I don't think Oolite should code around this 'feature'. At the very least I'd add more, and stronger, Thargoids if the game detects forced mis-jumps rather than accidental ones.
I suggested there being generally NO Thargoids on the 2nd and subsequent deliberate misjumps. And there should be NO bounty change at all for misjumps. Only when you arrive in an ordinary system should the bounty be reduced...and even then, not by as much as was previously done by standard Oolite. Halving is silly if you're a fugitive...Anarchies OXP reduced by only about 0-20 points seems to make more sense.
Post Reply