Page 1 of 8

[WIP] Bounty system OXP

Posted: Thu Nov 05, 2015 8:21 am
by phkb
As part of my development of the Bounty Hunting OXP (discussed here), I'm also taking a shot at redesigning the way bounties work in general, based on the discussion that took place here.

Edit: You can now try out version 0.4.2 of the bounty system here:
OXZ format: BountySystem.oxz
OXP format: BountySystem.oxp (extract OXP folder to your AddOns folder, then restart Oolite holding the shift key down)
Note: See later posts (from this point) for updated info on how the OXP works, or visit this Wiki Page: [EliteWiki] Bounty System. OXP available via download manager as well.

I've got some calcs working, but I wanted to throw it open for some discussion to see what folks think. [Alert - Serious number-crunching ahead]

I've divided all offenses up into three severities (1, 2 and 3). Severity 1 are minor offenses (like smuggling). Severity 2 are serious offenses (like shooting the space station). Severity 3 are major offenses (like killing an innocent ship or a police ship).

If a player gets a severity 1 offense, it will degrade over time, and by distance. The calculation is:

Code: Select all

Original_Bounty_Amount - (0.8 * Number_Of_Days_Since) - (If(Current_Distance_From_Origin > 1) then (Current_Distance_From_Origin - 1) else 0)
So, at a distance of 1 LY from the system where the offense was committed, a bounty of 10 would degrade to 0 after 12 days.
At a distance of 5 LY from the system a bounty of 10 would degrade to 0 after only 7 days.
At 10 LY out, the bounty wouldn't appear - the player would be clean.

If a player gets a severity 2 offense, a similar thing happens, just with different coefficients:

Code: Select all

Original_Bounty_Amount - (0.5 * Number_Of_Days_Since) - (If(Current_Distance_From_Origin > 10) then (Current_Distance_From_Origin - 10) else 0)
So, at a distance of 1 LY from the origin, a bounty of 10 would degrade to 0 after 20 days.
At a distance of 5LY a bounty of 10 would still take 20 days to degrade. Only once you get part the 10 LY range do things move a bit faster. At 15 LY a bounty of 10 would degrade to 0 after 10 days.

If the player gets a severity 3 offense, here's the calc:

Code: Select all

Original_Bounty_Amount - (0.1 * Number_Of_Days_Since) - (If(Current_Distance_From_Origin > 40) then (Current_Distance_From_Origin - 40) else 0)
With this calc, at 1 LY distance from origin, a bounty of 10 would take 96 days to degrade to zero, and you would need to travel out to 50 LY from the origin to make it degrade faster.

I've got a spreadsheet here (download from Box.com) in ODS format if someone wants to play around with the calcs. Let me know what you think.

Re: Bounty changes

Posted: Thu Nov 05, 2015 9:32 am
by Imaginos
Yep, those calculations all seem sensible to me phkb.

Re: Bounty changes

Posted: Thu Nov 05, 2015 12:33 pm
by Amah
Oh, boy, oh boy... nice idea! phkb, your recent projects reall add to my Ooniverse. As told before I do like smugglers, franke'n'used respray for my own device and the engine blowing up because of shipconfiguration was an inspiration for my cargorun story in outworld.

Thanks a lot, consider me already a fan.

As for fines, there should be some way to pay off GalCOP at least minor offenses or do some task to be cleared. (yeah I know there's always hackersoutposts).

Re: Bounty changes

Posted: Thu Nov 05, 2015 1:03 pm
by maik
Just wondering: why would distance have any effect? If I commit a crime and go away it is not forgotten any sooner.

I could imagine stickiness of crimes, e.g. based on government type: anarchies don't talk to each other so you arrive at a new one and to them you seem clean. Corporation states are all connected, your crimes stick to you there. Feudal houses might exchange that information within the house across planets. Something along these lines?

Re: Bounty changes

Posted: Thu Nov 05, 2015 9:27 pm
by phkb
maik wrote:
Just wondering: why would distance have any effect? If I commit a crime and go away it is not forgotten any sooner.
That's a good point. After reading through details about Wildeblood's lost "Criminal Record" OXP, I'm changing the calculations the reflect his logic more. More details to follow. Stay tuned!
Amah wrote:
Thanks a lot, consider me already a fan.
I'm flattered! Thanks for the support!

Re: Bounty changes

Posted: Mon Nov 09, 2015 8:45 am
by Zireael
This looks amazing, add me to the "already a fan" list!

Re: Bounty changes

Posted: Tue Nov 10, 2015 2:16 am
by phkb
After some tweaking to better fit with Wildeblood's suggestions I've made the new system work as follows:

There are still three levels of crime, which I'm describing as a "severity".
- Severity 1 crimes are things like smuggling, which apply only in the system you commit them in.
- Severity 2 crimes are things like shooting the main station, which apply across the chart you commit them in.
- Severity 3 crimes are things like destroying an innocent (police or trader), which apply across all charts.

Bounties will not degrade over time, nor will they disappear with a galactic jump. If you commit a crime in System A in sector 1, and then do 8 galactic jumps to go all the way back to sector 1 again and visit system A, you will find your bounty still exists.

To help the player out of their bounty mess, they can now pay them off at one of two locations: either in the system they committed the crime in, or at the GalCop HQ (of which there is one in each sector). Depending on the severity of the crime, the time delay between committing the crime and being able to pay it will change. So a severity 1 crime can be paid after 24 hours. For a severity 3 crime you have to wait 60 days. And expect the fine amount to be quite hefty!

That covers the details of bounties, which I think makes the bounty system more realistic, but by itself it doesn't make it any more fun. So to make it fun, you're criminal history doesn't follow you automatically. That is, if you shoot at the main station in system A, then jump out to system B, you will initially have a "Clean" rating (as long as you don't have any local bounties recorded in System B, in which case that will be your bounty when you arrive). However, I've also implemented a scanning device (called, for want of a better term, the "Warrant Scanner" - someone please give me a better name!), which will enable both the player and selected NPC's (notably all police vessels and most hunters) to scan ships and make all severity 2 and 3 bounties visible in the current system. So you could go from "Clean" to "Fugitive" in a matter of moments without firing a shot. There will be a warning that you are being scanned, which will give you a couple of seconds to do something about it.

Now all I've got to do is create my list of special bounty ships, write a movement algorithm, spawn the ships at appropriate times, create a "Most wanted" list and update it periodically with data from the ship movement algorithm and I'm done! Easy, eh? :shock:

Thoughts and comments welcome, particularly about the "no degrading" item. Or about the other stuff. Whatever you want really.

Re: Bounty changes

Posted: Tue Nov 10, 2015 5:17 am
by phkb
One question to think about: In the scenario where you have shot at the main station in system A, and then jump to system B, you will initially have the status of "Clean". But then you're scanned by a bounty hunter and your crimes become visible in system B. You then jump to system C. Again, your listed as "Clean". If you then jump back to system B, should your bounty be (1) nothing, your clean again because the scan was only temporary, or (2) what it was after the bounty hunter scanned you, because by scanning you your crimes have now been verified in a new district.

Re: Bounty changes

Posted: Tue Nov 10, 2015 8:46 am
by Day
Hi phkb,

I like a lot the "scanning" idea.
Here's something: some systems wouldn't recognize the severity of an offense in another system (with which they're at war, or in cold war). It could be interesting to have a guy killing cops in a system, being rewarded in the neighboring system, then having to deal with the consequences when he enters a neutral system.

Hmm, maybe a neutral system doesn't exist as such. For every couple of systems at war, every other systems might have a different stance as to how to deal with the offenders :
- recognize the offense and deal with it,
- extradite the guy,
- do nothing,
- expulse him from the system,
- congratulate him,
- reward him...

Re: Bounty changes

Posted: Tue Nov 10, 2015 9:24 pm
by phkb
Day wrote:
some systems wouldn't recognize the severity of an offense in another system
I think it comes down to who we believe is responsible for cataloging and prosecuting crimes - is it the local planetary authorities, or is it GalCop? If the former, then technically all crimes committed in a system only apply to that system. Think current Earth legal boundaries but on a galactic scale. Unless two planets have extradition arrangements, I can do whatever I like in one system, then go to the next and my crimes don't apply anymore (mega-oversimplification. Legal people - don't shoot me!). But if it's GalCop who is attempting to police the spacelanes, then it's GalCop law that applies, which would be independent of the local planetary authority.

My feeling is that it's GalCop who does the policing, therefore GalCop law applies. But that's just me.

Re: Bounty changes

Posted: Tue Nov 10, 2015 9:37 pm
by Smivs
phkb wrote:
My feeling is that it's GalCop who does the policing, therefore GalCop law applies. But that's just me.
No it's not. I believe that you are absolutely right.

Re: Bounty changes

Posted: Tue Nov 10, 2015 9:43 pm
by Cody
<nods emphatically>

Re: Bounty changes

Posted: Thu Nov 19, 2015 7:00 am
by phkb
Work continues on this OXP. But I'd like to throw the gates open for input on how to best implement the movement algorithm. For those who haven't been keeping up, I'm trying to implement a richer bounty hunting experience by internally tracking the movements of a set number of "GalCop's Most Wanted". The movements for a trader in this environment are actually pretty easy: pick either a milk run (2 system) or a spacelane (multi-system) track, and periodically move ships from one system to the next. When you get to end of the track, turn around and go the other way.

That opens up the way for some analysis to take place by the player, and with some educated guesswork you can work out where they next might visit.

But what about pirates, assassins and hunters? What movement logic can be applied to those ships that (a) makes sense from a character point of view, and (b) would make the process of tracking them interesting? Any and all thoughts taken at this point. Don't be shy! :)

(And in case anyone is interested, I've decided on option (2) above. Once you're scanned in a system and your bounty has been revealed, that bounty will always be present whenever you revisit the system, even if the offense was committed elsewhere.)

Re: Bounty changes

Posted: Fri Jan 15, 2016 4:41 am
by phkb
Here's a question for those who are interested:

At the moment, in this new world order I'm creating, severity 1 crimes (things like smuggling) are only applicable in the system you committed the offense. However, I'm contemplating the option of allowing those crimes to propagate among systems of a similar government type. This would spice up the system quite a bit, adding a bit more nervous tension whenever you see your ship being scanned.

So, first off, is that a good idea? If so, would it be a 1-for-1 propagation? ie. Democracy to democracy, Anarchy to Anarchy, but never Democracy to Corp State. Or would there be some cross-over between some government types? eg Confeds, Democracy and Corp States share offender info, Dictatorships and Multi-Govs (maybe)? Would Anarchies share with anyone, even other Anarchies? So many options.

Also, would there be a distance limitation for such an arrangement? So, a democracy might share offender info with other democracies within a 15/20 LY radius, but they don't care about democracies on the other side of the chart.

Thoughts?

Re: Bounty changes

Posted: Fri Jan 15, 2016 5:01 am
by UK_Eliter
Difficult questions, phkb!

I'm for both identity-and-difference of government types, and distance, affecting sharing of information/bounty persistence.

Perhaps you could have it this way: within a short distance (some 30 light years?), systems will tend strongly to share information with each other, yet with the probability of sharing decreasing as one moves towards the anarchy end of the government spectrum; beyond that physical distance, sharing is less likely, and more affected by government type.

Perhaps someone good at maths could come up with an equation? (Presuming that what I've said is even precise enough to allow of being made more precise!)