Lots of great ideas about the inner working of the average traffic cop.
Dock yeah!

Lots of great ideas about the inner working of the average traffic cop.
A group of 10 of you flying around "accidentally" shooting people 2 or 3 times each and then they let one take the kill, so they get the bounty. Keep on doing this for as long as you like if it's timer based and then at the end, blow up your friend for the bounty he has.
I can understand something being implemented in warzones as you're on the same side, but in normal space it would be too easy to exploit.
The easy solution is to make the timer global to everyone... all warnings are broadcast to everyone in the vicinity. Think of it as a proxy for the police pilots mood. If you annoy him or he feels threatened you are more likely to get a bounty. To be honest a simple personality simulation for the police would be very easy to implement and would make the game feel more realistic and would be hard to exploit. Individual police could then have their own unique personalities. Also, some systems could become notorious for the police being a bunch of total gits.I'd even add a small "memory" to individual police pilots that allow them to remember which commanders recently irritated them. The effects of the pilots general "irritation" level + the commander specific short term is used to decide how to respond.
I'd like to see bribes added to the game, which would tie in nicely if the police had personalities.
I do love it when people say something would be very easy to implement![]()
Hello Commander Rath!
The Kill Warrant Scanner performs a very specific function: it cross checks a target vessel to see if it has bounties issued against it by factions *other* than the faction controlling the space where you are currently.
By doing this, you learn about those bounties and get to claim them once you have destroyed the ship.
However, the scanner does *not* give you any additional permission to engage the target. If it is clean locally, then you will be committing a crime if you attack it. The local faction doesn't care a single jot if the ship is wanted elsewhere.
As for the accidental shooting issue: we're looking at it. The problem is, the game has no way of identifying intent, so if we relax the rules we risk introducing fairly nasty exploits, where groups of ships can do significant damage because "he got in my way, guv'nor, honest!"
We've got a few ideas we're mulling over though, so we might tweak it in the future.
Hello Commander Rath!
The Kill Warrant Scanner performs a very specific function: it cross checks a target vessel to see if it has bounties issued against it by factions *other* than the faction controlling the space where you are currently.
By doing this, you learn about those bounties and get to claim them once you have destroyed the ship.
However, the scanner does *not* give you any additional permission to engage the target. If it is clean locally, then you will be committing a crime if you attack it. The local faction doesn't care a single jot if the ship is wanted elsewhere.
As for the accidental shooting issue: we're looking at it. The problem is, the game has no way of identifying intent, so if we relax the rules we risk introducing fairly nasty exploits, where groups of ships can do significant damage because "he got in my way, guv'nor, honest!"
We've got a few ideas we're mulling over though, so we might tweak it in the future.
I'm a physicist and experienced software engineer with a strong understanding of AI. Trust me, it is easy to implement. A basic version could be written as a simple decision tree with some heuristic to decide on the scale of impact. The algorithm would only need access to and ability to store instance local state (to record the state of the actor), so there would be no major issues with scalability. It would be about 100 lines of code or so.
I'm sure you are and I'm sure you know that would fit into their programming without any implications at all.
Solution - Lasers dont damage untargeted vessels.
Its untidy, skill reducing, immersion breaking and a bad mechanic but it stops the accidental clipping of allied ships and also a group grief scenario where lots of cmdrs could hit someone once and kill them without penalty.
I'm not going to waste my time discussing this with you. If you haven't got anything useful to contribute why don't you just be quiet.
Solution - Lasers dont damage untargeted vessels.
Its untidy, skill reducing, immersion breaking and a bad mechanic but it stops the accidental clipping of allied ships and also a group grief scenario where lots of cmdrs could hit someone once and kill them without penalty.
A basic police model:
Initial instance state:
police_tolerance = 3 # value depends on government, local factors etc... range is [3-6]
police_warning_expiration_time_offset = 900 # 15 mins per level
police_hit_expiration_time_offset = 300 # 5 mins per level
Per actor state (players + NPCs):
police_warning_level = 0
police_warning_expiration_time = 0
police_warning_rep_modifier = in range [-2, 2] corresponding to hostile, unfriendly, neutral, friendly and allied
police_hit_level = 0
police_hit_expiration_time = 0
Events modifying state:
EVENT hit to shield
* any (actor1) -> wanted actor (actor2)
* no action
* any (actor1) -> clean actor (actor2)
tolerance = instance.police_tolerance + actor1.police_warning_rep_modifier
actor1.police_warning_level += 1
actor1.police_warning_expiration_time = sim.time + instance.police_warning_expiration_time_offset
actor2.police_illegal_hit_level += 1
actor2.police_hit_expiration_time = sim.time + instance.police_hit_expiration_time_offset
decrease_reputation(actor1)
if actor1.police_warning_level < tolerance and actor2.police_illegal_hit_counter < tolerance:
if actor1 is human:
do_warning_and_fine_logic()
else:
give_bounty_to(actor1)
EVENT hit to hull
as above but:
* any (actor1) -> clean actor (actor2)
actor1.police_warning_level += calc_warning_increase(hit.damage)
actor2.police_illegal_hit_counter += calc_warning_increase(hit.damage)
EVENT hit causing death
* any -> wanted actor
* (current behaviour - award bounty to player)
* other -> clean actor
* (current behaviour - place bounty on player, player becomes wanted)
EVENT per_N_sim_frames
if actor.police_warning_level > 0 and actor.police_warning_expiration_time < sim.time:
actor.police_warning_expiration_time = sim.time + instance.police_warning_expiration_time_offset
actor.police_warning_level -= 1
if actor.police_hit_level > 0 and actor.police_hit_expiration_time < sim.time:
actor.police_hit_expiration_time = sim.time + instance.police_hit_expiration_time_offset
actor.police_hit_level -= 1
The function do_warning_and_fine_logic should be fairly obvious, depending on the warning and hit levels you will get a graded warning or fine.
The actor state and logic above also allow the police to warn that another hit on CMDR_blah will result in a bounty, in addition to general warnings.
The calc_warning_increase() function would be a simple damage % to warning level increase: [0-99.9% of hull strength] -> [2,5]
e.g. hit damage is 90% of full hull strength = warning level of 4 (ie you will likely get an instant bounty if you are not v.friendly!).
The particular scale could be a tunable per instance e.g. set by government type etc...
Ok money where my mouth is, this is relatively simple model that should address the basic concerns.
Code:A basic police model: Initial instance state: police_tolerance = 3 # value depends on government, local factors etc... range is [3-6] police_warning_expiration_time_offset = 900 # 15 mins per level police_hit_expiration_time_offset = 300 # 5 mins per level Per actor state (players + NPCs): police_warning_level = 0 police_warning_expiration_time = 0 police_warning_rep_modifier = in range [-2, 2] corresponding to hostile, unfriendly, neutral, friendly and allied police_hit_level = 0 police_hit_expiration_time = 0 Events modifying state: EVENT hit to shield * any (actor1) -> wanted actor (actor2) * no action * any (actor1) -> clean actor (actor2) tolerance = instance.police_tolerance + actor1.police_warning_rep_modifier actor1.police_warning_level += 1 actor1.police_warning_expiration_time = sim.time + instance.police_warning_expiration_time_offset actor2.police_illegal_hit_level += 1 actor2.police_hit_expiration_time = sim.time + instance.police_hit_expiration_time_offset decrease_reputation(actor1) if actor1.police_warning_level < tolerance and actor2.police_illegal_hit_counter < tolerance: if actor1 is human: do_warning_and_fine_logic() else: give_bounty_to(actor1) EVENT hit to hull as above but: * any (actor1) -> clean actor (actor2) actor1.police_warning_level += calc_warning_increase(hit.damage) actor2.police_illegal_hit_counter += calc_warning_increase(hit.damage) EVENT hit causing death * any -> wanted actor * (current behaviour - award bounty to player) * other -> clean actor * (current behaviour - place bounty on player, player becomes wanted) EVENT per_N_sim_frames if actor.police_warning_level > 0 and actor.police_warning_expiration_time < sim.time: actor.police_warning_expiration_time = sim.time + instance.police_warning_expiration_time_offset actor.police_warning_level -= 1 if actor.police_hit_level > 0 and actor.police_hit_expiration_time < sim.time: actor.police_hit_expiration_time = sim.time + instance.police_hit_expiration_time_offset actor.police_hit_level -= 1 The function do_warning_and_fine_logic should be fairly obvious, depending on the warning and hit levels you will get a graded warning or fine. The actor state and logic above also allow the police to warn that another hit on CMDR_blah will result in a bounty, in addition to general warnings. The calc_warning_increase() function would be a simple damage % to warning level increase: [0-99.9% of hull strength] -> [2,5] e.g. hit damage is 90% of full hull strength = warning level of 4 (ie you will likely get an instant bounty if you are not v.friendly!). The particular scale could be a tunable per instance e.g. set by government type etc...
This is a very simple model but should fix our current gripes with the policing system.
Regarding fines something like this would be good:
fine 100Cr - illegal weapon strike
fine 200Cr + [0, 1000] Cr - illegal weapon strike resulting in damage (fine depends on damage)
BTW there may be the odd typo above.
As a developer I actively encourage my users to propose solutions to problems they encounter, particularly the technically literate users. Developers have finite time and they don't always have the luxury of being able to invest time thinking about problems that are a low priority. I don't understand why you seem to have taken against brainstorming a possible user derived solution, given that the users are the very people who will be using the code. Are you aware the whole frame-shift drive idea was derived from the users?
Why don't you start using your testing skills to do something useful like spotting holes in the logic?
Hello Commander Rath!
The Kill Warrant Scanner performs a very specific function: it cross checks a target vessel to see if it has bounties issued against it by factions *other* than the faction controlling the space where you are currently.
By doing this, you learn about those bounties and get to claim them once you have destroyed the ship.
However, the scanner does *not* give you any additional permission to engage the target. If it is clean locally, then you will be committing a crime if you attack it. The local faction doesn't care a single jot if the ship is wanted elsewhere.
As for the accidental shooting issue: we're looking at it. The problem is, the game has no way of identifying intent, so if we relax the rules we risk introducing fairly nasty exploits, where groups of ships can do significant damage because "he got in my way, guv'nor, honest!"
We've got a few ideas we're mulling over though, so we might tweak it in the future.
As you may or may not have noted I have been testing the game since Premium Beta 1 in June, so yes I am aware of just how many things have been derived from the users, I actually think they "accidentally" broke my create a new ticket page a few weeks ago as they were getting fed up with meI am also aware of just how many times this discussion has been had and we've had all these suggestions before. It's not a bad thing to have discussions about things, but when people start new topics without checking the old ones you end up with the same ideas being batted around again and I have to ask the same questions again, as I like to pose the other side of the argument to see if people have though about how small things affect the whole. Most are generally ignored as they haven't, some are answered and we move on. Not sure which logic you want me to spot the hole in though.
So back to your last point though, before we got distracted, how far would the range of "all" ships be? It would seem harsh to extend the punishment to someone who's 15-20Km away from the battle for example. And if you were in a fight and there was another PC there also fighting, you could deliberately hit the Security until they were one shot away from attacking and then wait for the other PC to make a mistake. A mistake more likely to be made as they don't have the worry about any difficulty in fighting near other ships as they don't have to be as careful with their firing.