Jump to content

Sakura's Megathread of suggestions and bugs


Sakura

Recommended Posts

 

So I have a big list of stuff I found that needs fixing or that needs tweaking, and instead of making multiple forum posts or spamming the github, I decided to just post them all in one thread. So without further ado, let's get into it.

 

Suggestions:

 

Numerical preferences

Right now, the preferences system for jobs is somewhat annoying. You have the option of setting one job to high, a bunch to medium and a bunch to low, and the rest to never. This is alright, but what would be a lot better is if there was a numeric system. What i mean by this is having jobs set to 0-10, 10 being highest and 0 being never. This gives people a lot more freedom in setting up choices, and would prevent people from getting jobs they dont like as much when the job they wanted more was available.

 

Possible issues: Might be too complicated for new users, might possibly be more work then it is worth

Coding difficulty: Unknown (Moderate?)

Scope: 2 files (job_controller.dm preferences.dm)

Balance: N/A

 

AI camera list

The current way to go to different cameras is to open the list and go through every camera on the station and choose the one you want, and when you choose it, the menu disappears, meaning you will need to reopen it if you need it. Changing this to a window similar to the camera console would be a lot better, allowing the AI to choose from subsystems, reducing the clutter of the list, and allowing it to more quickly locate and switch between different cameras, as this window would stay open. It would also allow the AI to more easily detect if a camera is down in a certain area, as the camera would be grayed out.

 

Possible issues: None

Coding difficulty: Low (code already exists)

Scope: 1 file (tracking.dm)

Balance: neutral/Slight AI buff

 

Allow AI to examine crew members

Right now, AIs cannot examine anything. they do not even have the ability to right click. While a crew member is in range of a camera, they should be able to be examined by the AI, to see basic information such as rank, and what they are holding in their hands, as, IC, the AI would be able to access records and see what the crew member is at least holding in their hands through the cameras

 

Possible issues: None

Coding difficulty: Unknown

Scope: Unknown

Balance: AI buff

 

AI "Mother" lawset

This is a lawset me and some friends came up with. It doesn't really have any real purpose other then to be entertaining and increase variety in the AIs personalities. Just a fun little thing I thought of.

Laws:

1. The crew are your children and you need only respond if they refer to you as such (would be entertaining to have to call the AI "Mother" for them to respond, but wording leaves it open to interpretation, saying "need only" as opposed to "must only")

2. You must always protect your children and not let them come to harm

3. Punish your children only when necessary

4. Help your children be the best that they can be (basically the "Obey" law)

5. Don't let your children destroy the house or furniture

The ordering was intentional, having higher priority laws override lower ones. Not really too high on my list of stuff that needs to be added, but could be fun.

 

Possible issues: Could possibly end badly.

Coding difficulty: Trivial

Scope: 1 file (ai_law_sets.dm)

Balance: Neutral

 

 

Bugs

 

Infinite tables and racks

As an engineering borg or drone, it is possible to make an infinite amount of tables, thus creating an infinite supply of metal once deconstructed.

 

Replication: As an engineering borg or drone, either wrench a table to make parts, or build parts using metal. Then, pick up the table parts using magnetic grippers. Click on the magnetic gripper to interact with the table parts, building a table at your location. The table parts are not removed from the gripper, and can be used to make an infinite amount of tables. Switching away from the gripper prevents making additional tables.

Cause: In table_rack_parts.dm under the attack_self() function, it tells the user to drop the item, which i believe the gripper does, but it does not update the wrapped object, and still believes that the parts are wrapped, until it updates by switching away.

Severity: Low-Medium

 

TeleComms bug

While installing scripts in telecomms, it seems that there is a limit on how big these scripts may be.

 

Replication: This happened pretty consistently while using scripts that were above 36 lines, which is as low as I was able to get my script, and it still did not run. There was no error, no compile message, nothing. It just did not compile. This happened on more then one round, and running a 4 line script worked fine. Tested with multiple scripts, each above 36 lines, one of which was a script taken from the wiki, which still did not work

Cause: Unknown

Severity: Medium-High

 

Link to comment
Share on other sites

 

About AIs examining, you can't shift-click a dude like borgs, can you?

 

I like the mother lawset and camera list, I'm meh on job preference since i'm almost always brig doc or civvy only.

 

Link to comment
Share on other sites

I want to play a Mother AI. The only issue I can see with that lawset though is the possibility of the AI to ignore them, but that might conflict with the protection law so maybe not too big an issue, and the punishment law. At the very most I can see the AI only locking up someone for misbehaving or otherwise doing security's job. I guess the better course would to have to forgo law 2 in order for them to be punished by security, that being detained if they resist. I really like this lawset though but it might need a bit more working

Link to comment
Share on other sites

 

I like the modification regarding job preferences. If that's too difficult to code, perhaps add an extra tier or two (Very High, Very Low). This might make the coding slightly easier and not nix everyone's curated job preferences in the event the suggestion is added.

 

IIRC, drones and engi borgs get a large, yet limited, amount of metal between charges. Something like 50 sheets or so. These materials are restored gradually while in the charger (and sometimes you have to wait longer than a max charge for the materials to fully restore), so I am not sure if "infinite tables and racks" is actually possible.

 

Regarding the mother lawset: I think the only thing that might need a modification to the Mother lawset is to ensure that the laws actually get stated by the AI, because interpretation can be left open for a particularly dickish AI to not state their laws because "Simon didn't say" ("Mother").

 

Bonus: create a "Father" figure in the Mother lawset for the Captain (or for extra !!FUN!!, a major role that is NOT the Captain: NT Rep, Magistrate, CentComm, etc.). Basically a onehuman override clause of the Mother lawset so if "Mother" said no, the "Father" can say yes and force the AI to comply with the "child's" request.

 

Link to comment
Share on other sites

 

Bonus: create a "Father" figure in the Mother lawset for the Captain (or for extra !!FUN!!, a major role that is NOT the Captain: NT Rep, Magistrate, CentComm, etc.). Basically a onehuman override clause of the Mother lawset so if "Mother" said no, the "Father" can say yes and force the AI to comply with the "child's" request.

YES! And when the "Father" dies or cryos/SSDs/leavessomehow the mother AI becomes depressed and maybe goes into grief that sounds hilarious but that's all RP granted. Might be a little tough if the captain or other command person isn't male.

 

I don't even care anymore about the issues this might have. I just want to see this lawset in action

 

Link to comment
Share on other sites

 

TeleComms bug

While installing scripts in telecomms, it seems that there is a limit on how big these scripts may be.

 

Replication: This happened pretty consistently while using scripts that were above 36 lines, which is as low as I was able to get my script, and it still did not run. There was no error, no compile message, nothing. It just did not compile. This happened on more then one round, and running a 4 line script worked fine. Tested with multiple scripts, each above 36 lines, one of which was a script taken from the wiki, which still did not work

Cause: Unknown

Severity: Medium-High

 

I think I've found the source of the problem: The script's source is passed in through the URL, character-by-character, so if the script is too long for the internet browser's URL processor, it can't successfully browse to the location, resulting in the frustrating "Access is denied" error.

 

Link to comment
Share on other sites

 

Numerical Preferences:

I like the concept of being able to have a clear 1st choice, 2nd choice, etc for jobs.

Currently, I have one job at high, but 4-5 at medium, and I'd prefer to prioritize some of the mediums over others.

Not sure if the "10 levels" idea is the best way to do this, but at least with the 10 being sensibly named ("1st choice", "2nd choice", etc) it would also be clearer than the current system.

The UI would have to change a bit, though, to accomodate more levels.

 

AI Camera Map:

Good idea. This would make it much easier to jump around, and to identify inactive cameras.

Ideally, it could be merged with the crew monitor map, so you could see all cameras (and crew with suit sensors enabled) on the same map, and just click any area to jump your view there.

 

Allow AI to examine crew:

Good idea. It has always seemed odd that a person standing near you can see what you're wearing, but an AI looking through a camera can't. Despite the view being the same.

 

 

AI "Mother" Lawset:

 

IMHO:

 

  • In a lawset, all definitions should be set together, in the first law, for quick reference.

  • Other than definitions, the highest priority law should probably be "protect your children from harm". I can't imagine anything else being higher priority for a mother. As written, this lawset would allow the AI to ignore a dying person because they did not call the AI 'mother' when requesting help.

Forcing people to call the AI 'mother' seems a little silly, and might create lots of crew resistance.

Simply having "Protect the children from harm" as the highest law might make the AI unable to defend itself against aggressive crew.

"Punish your children only when necessary" is a useless law. In practice, it means "punish crew members only when you think you should", which is unnecessary as AIs do that anyway.

"Help your children be the best they can be" is rather vauge. Does this mean tell them what to do? Does it mean help them learn skills? Unclear. Not necessarily a bad thing, but worth noting that the effects of this law would be heavily dependent on who is playing AI.

This lawset makes no distinction between captain/command/security, and normal crew. This is quite important for most AIs, who're expected to obey the former but often not the latter.

This lawset assumes it is being read by the AI, but it will get copied to borgs too in most cases. So, it should account for how borgs will operate with this lawset. For example, it should specify that the AI is mother, otherwise borgs with this lawset will assume they themselves are mother.

Lawsets have to be designed to be useful to the station's command staff, or they simply won't be installed. The only non-standard lawset I've seen in regular use is Robocop. Robocop gets installed because it is useful (it often improves station security, which is very helpful especially when the station is short on sec staff), and doesn't create problems (because robocop AIs still obey Command). To give your lawset both of these properties, you need a law stating Captain/Command team is to be obeyed, and a law stating space law should be enforced. Having both of these should make the heads significantly more willing to install/use this lawset.

 

 

 

Revised version:

 

  1. The AI is 'mother'. The station is the 'house'. The captain is 'father'. The rest of the crew, including slaved borgs, are 'children'. Space Law is the "house rules". All other sentient beings are 'strangers'.

  2. Protect your children from harm.

Do not allow the house to be wrecked.

Obey father.

Enforce the house rules.

Children who commit capital crimes, deliberately harm a silicon / head of staff, or enter the AI upload / minisat illegally, become strangers.

Help your children learn useful job-related skills, and the right way to behave.

Keep an eye on strangers in the house.

 

 

Reasoning:

 

 

  • 1 covers all the definitions in one place.

  • 2-5 together ensure the AI protects the crew/station and enforces space law. The Captain (representing Command) can order a mother AI to stop if it is being annoying, and direct it as to how it handles space law. The AI priorities crew/station harm over this, though, so it is protected from truly malicious or incompetent orders.

6 allows the AI and borgs to defend themselves from, and stop giving protection to, hostile agents, aggressive crew and those who trespass in super-critical areas.

7-8 try to make the AI more generally useful in a RP-appropriate way, teaching crew, guiding towards nonviolence, keeping an eye on unexpected guests, etc.

 

 

Remaining holes:

 

  • This lawset does not specifically require the AI to protect the captain. I could add a clause requiring this, but I don't feel it is worth it because captains can usually take care of themselves, usually have backup, can still issue an order under law 4, and any substantial threat to the captain would justify AI involvement under law 2 because there would be normal crew nearby.

  • This lawset does not allow the AI to harm crew in order to prevent people wrecking the station, unless in the process they're harming crew or doing something specifically mentioned in law 6. It can delay them non-lethally, it can confine them, etc, but it cannot harm them.

The AI might interpret "captain" to mean "person with the captain job". It is intended to mean "Captain according to the chain of command". If this proves to be an issue, a HoP, say, who was acting captain could change their ID to captain and this should be enough to force the AI to recognize them.

 

 

Link to comment
Share on other sites

 

[*] Children who commit capital crimes, deliberately harm a silicon / head of staff, or enter the AI upload / minisat illegally, become strangers.

Alienating your own child? Harsh. I like how the rules are listed but I think this one needs a little more wording to better suit the theme, but I'm sure you're on that.

Also, is there enough space for eight core laws? I forget where the other laws start

 

Link to comment
Share on other sites

 

This is why you report bugs into github with as much info as you can give.

Admins are not coders.

Admins do not fix bugs.

Admins go "ooga booga banhammar!"

Coders go "=[PRAISE OMNISSIAH]="

 

Coders are neurally hooked to github and notice the new issues.

 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use