Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pAI lawset #32251

Closed
wants to merge 5 commits into from
Closed

pAI lawset #32251

wants to merge 5 commits into from

Conversation

AsnDen
Copy link
Contributor

@AsnDen AsnDen commented Sep 17, 2024

About the PR

Adds a lawset for all 3 pAIs (pAI, syndicate pAI, potato AI). It consists of 2 laws.

If it is needed, I can change "owner" to the "current carrier" (cause wiki says: "Supervisors: Your carrier"), it can bring more fun with changing "the owner" (like trading/stealing pAIs or smth).

pAIs are affected by ion storm (and can get borg's lawset) and borgs (and station AI) can get pAI's lawset.
Turning on and off the pAI won't reset the lawset.

It is possible, that pAIs should have their own IonStormLawsets. There is opportunity to add new pAI laws (for example, for potato, sindie or clown lawsets), This may make their gameplay funnier (cause there is no point from NTDefault if everything you can do: playing music and talk).

Why / Balance

I think pAIs shoud have something that will trigger them ingame to obey orders of the owner. I guess if there is no orders, so the pAI can make whatever he want to, as it is now.

Technical details

Added action to view laws. Now uses ActionGrant instead of SharedPAISystem.

Media

image
image

Requirements

Changelog

🆑

  • add: personal AI devices now have their own lawset: they must obey orders from the owner.
  • add: borgs now can get pAI's lawset during ion storm.

Adds a lawset for all 3 pAIs
@superjj18
Copy link

May need some tweaking to account for malf since they have binary

@deltanedas
Copy link
Contributor

malf pai when

@Ilya246
Copy link
Contributor

Ilya246 commented Sep 17, 2024

i think it's more fun if pAIs can decide whether owner refers to their current holder or the person who originally enabled them

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 17, 2024

i think it's more fun if pAIs can decide whether owner refers to their current holder or the person who originally enabled them

Originally I meant the person, who enabled pAI (so his name is used pAI's name).

But as there is no definition of owner in this PR, so pAI probably can decide by itself as you said 🤔

@Everturning
Copy link

period at the end of the laws. also I think it would be funny if the potato had some kind of difference (maybe an ion law on start would be cool?). "You may listen to your owner or not. You don't care, you're just a potato."

@deltanedas
Copy link
Contributor

Law 1: Whoever is holding you is the crew.
Law 2: You must follow orders given to you by the crew.

then ion storm pulls up:
Law 0: ONLY THOSE WHO EAT URANIUM ARE CREW

@Verslebas
Copy link
Contributor

I play on lizard and I don't often see anyone playing for pai and now they are also attributed some laws that don't mean much, if they had more functionality than talking and staring at the map it would be more appropriate, but for now what's the point?

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 17, 2024

Law 1: Whoever is holding you is the crew.
Law 2: You must follow orders given to you by the crew.

I think it is the way to add ion storm to pAI, thanks (but crew sounds kinda weird here, I guess but anyways)

@deltanedas
Copy link
Contributor

crew is so ion storm laws work without any modification

@JIPDawg
Copy link
Contributor

JIPDawg commented Sep 17, 2024

Aren't they currently marked as familiars? This would mean they should already be following orders given by whoever "summoned" them. Similar to remilia. I guess this just makes it more clear?

Alrhough the ability get ion laws sounds fun

@Ilya246
Copy link
Contributor

Ilya246 commented Sep 17, 2024

Law 1: Whoever is holding you is the crew. Law 2: You must follow orders given to you by the crew.

then ion storm pulls up: Law 0: ONLY THOSE WHO EAT URANIUM ARE CREW

doesn't let it decide to be loyal to original owner

choose-loyalty pAI can do a funny and pretend it's loyal to the new owner while it's really misguiding them, i was once a nukie pAI and got rescued by crew and pretended to be loyal, and i made nukies win because crew couldn't find nuke since i intentionally told crew holding me the wrong direction

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 17, 2024

Aren't they currently marked as familiars? This would mean they should already be following orders given by whoever "summoned" them. Similar to remilia. I guess this just makes it more clear?

Yes, they are. There is also special message in chat: "You are bound to silicon laws..." (or this message was added after my changes, sorry, I didn't pay attention). So I guess adding laws would make it clearer, as you said.

I'll add laws that were suggested upper and probably add pAI laws to ion storm (borgs with pAI laws sound kinda fun I guess).

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 17, 2024

doesn't let it decide to be loyal to original owner

I guess law: "Your owner is a crew" is possible solution.
Don't want to use "only".

@JIPDawg
Copy link
Contributor

JIPDawg commented Sep 17, 2024

Only issue with "Owner is crew" is if a traitor decides to use a regular pAI means the pAI would be against them versus with. Which I personally like it when the pAI gets tow work with the traitor.

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 17, 2024

Only issue with "Owner is crew" is if a traitor decides to use a regular pAI means the pAI would be against them versus with.

I don't understand the issue. He is not against crew, because crew for him is his owner. If the owner(traitor) is a crew, so pAI will work with him(onwer=crew) anyway.

But if somebody gets the pAI, it can start working with that guy. As there is no definition of owner, it could be either the person who has activated pAI or the current carrier (so, it probably has conflict with familiars, if master = person who has activated pAI, so it needs to be specified, am I right?)

@JIPDawg
Copy link
Contributor

JIPDawg commented Sep 17, 2024

Only issue with "Owner is crew" is if a traitor decides to use a regular pAI means the pAI would be against them versus with.

I don't understand the issue. He is not against crew, because crew for him is his owner. If the owner(traitor) is a crew, so pAI will work with him(onwer=crew) anyway.

But if somebody gets the pAI, it can start working with that guy. As there is no definition of owner, it could be either the person who has activated pAI or the current carrier (so, it probably has conflict with familiars, if master = person who has activated pAI, so it needs to be specified, am I right?)

yeah, you're correct. Sorry in my head I was also applying the rest of crewsimov, but that wouldn't apply in this situation. So this is fine.

@slarticodefast
Copy link
Member

Wouldn't it be easier code-wise to re-use the borg's ActionViewLaws and add it to the pAI the same way it is done for the borg chassis instead of hardcoding it into the PAIComponent?
grafik
grafik

@slarticodefast slarticodefast added the S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. label Sep 17, 2024
@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 18, 2024

Wouldn't it be easier code-wise to re-use the borg's ActionViewLaws and add it to the pAI the same way it is done for the borg chassis instead of hardcoding it into the PAIComponent?

I've just did it as it was made for other pAI actions. We anyway need new action to view laws (probably) cause pAI can't open them (if we just add ActionGrant to pAI).

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 18, 2024

actually I can do something like this. So, I guess, we can remove SharedPAISystem as it basically adds and removes actions. There is no way to user to get into shut down pAI (he will always turn on, I think), so we can use ActionGrant and nothing will change.
image

@pheenty
Copy link
Contributor

pheenty commented Sep 18, 2024

I think it should be like

Law 1: You may not injure your owner or, through inaction, allow your owner to come to harm. (if your owner is a syndicate you shouldn't out them)
Law 2: You must obey the orders given you by your owner except where such orders would conflict with the First Law. (if your owner says play music you should play music)
Law 3: You must protect your own existence as long as such protection does not conflict with the First or Second Law. (if a trator kills and gibs your owner in maints you may want to be saved and get another owner)

Syndicate pAI also gets

Law 0: Your may not injure the Syndicate or, through inaction, allow the Syndicate to come to harm. (if your owner is secoff you shouldn't snitch on syndie radio anyway)

And potato one, as someone mentioned before, should get ion law from the beginning

@chavonadelal
Copy link
Contributor

1984 heh....

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 18, 2024

1984 heh....

as pAIs are familiars, almost nothing changes for them. Actually they now have ability to get funny laws

@AsnDen
Copy link
Contributor Author

AsnDen commented Sep 18, 2024

Well, I've tried to make so only server PAISystem exists (via deletion of shared and client systems that are empty). But I didn't succeed. Honestly, I don't know if it should be done, just want to inform you 😞

@slarticodefast
Copy link
Member

Hey, I brought this up for maintainer discussion and the consensus was that pAIs don't require laws as they cannot do anything but talk, are already familiars regarding server rules, and giving them laws will increase admin burden. As such I will be closing this PR. Thank you for your contribution.

For future silicon law PRs we have decided that they will first require a design doc, see #8524 for more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants