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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DNM][WIP] I am afraid I can't do that Dave. || AI Interaction Rework #8659

Closed
wants to merge 13 commits into from

Conversation

TheGamerdk
Copy link
Contributor

@TheGamerdk TheGamerdk commented May 23, 2020

Intent of your Pull Request

Needs #8531 merged

The AI now needs processing relays to interact with machines.
These can be constructed, turned off, reconfigured and all the regular machine stuff.

Currently we have 5 types of relays.
Power Manipulation: APCs, Emitters, SMES units,
Enviromental Control: Air Alarms, fire alarms, firelocks
Telecommunications Control: Using the radio, tcomms machinery.
Machine Interaction: Any other console/machine
Door Control: Opening/closing/whatever doors.

You can automatically connect to relays in your own area.
Other AIs can hack into remote relays that are not in their area by clicking them. THIS NOTIFIES ALL CONNECTED AI'S OF THE HACKING AI'S LOCATION

Relays can be purged from all connections (Even hacked ones) by hitting it with a multitool

TODO:
Maps

  • Update Box
  • Update Delta
  • Update Meta
  • Update Omega
  • Update Icebox

Machines:

  • Generate heat? Cool down AI core?
  • Await sprites
  • Make update_icon actually do something
  • All-in-one Malf Relay

Changelog

馃啈
rscadd: AI Processing Relays
rscadd: AI's can no longer interact with items if the accompanying Processing Relay is offline/missing
/:cl:

@yogstation13-bot yogstation13-bot added the Feature This adds new content to the game label May 23, 2020
@TheGamerdk TheGamerdk marked this pull request as draft May 23, 2020 17:38
@TheGamerdk TheGamerdk changed the title [DNM] I am afraid I can't do that Dave. || AI Interaction Rework [DNM][WIP] I am afraid I can't do that Dave. || AI Interaction Rework May 23, 2020
@ToGWtF
Copy link
Contributor

ToGWtF commented May 23, 2020

As the discussion for this took place on my discord server I claim partial if not full credit for this.

@JamieD1
Copy link
Contributor

JamieD1 commented May 23, 2020

I concur with Tog, I take partial blame/credit for this.

@alexkar598
Copy link
Member

So if an AI is malf it takes a person with a crowbar and a screwdriver and the AI is an expensive paperweight?

@TheGamerdk
Copy link
Contributor Author

So if an AI is malf it takes a person with a crowbar and a screwdriver and the AI is an expensive paperweight?

Malf AI gets to build an all-in-one unit anywhere, just like the borging machine

@JamieD1
Copy link
Contributor

JamieD1 commented May 23, 2020

So if an AI is malf it takes a person with a crowbar and a screwdriver and the AI is an expensive paperweight?

What gamer said

@MegaEmpirical
Copy link

I'm curious about this and up for trying it out/expanding on it.

code/game/machinery/firealarm.dm Outdated Show resolved Hide resolved
code/game/machinery/ai_relay.dm Show resolved Hide resolved
code/game/machinery/ai_relay.dm Outdated Show resolved Hide resolved
code/game/machinery/ai_relay.dm Show resolved Hide resolved
@MacHac
Copy link
Contributor

MacHac commented May 23, 2020

It's an interesting mechanic. I'm not really sure why it exists.

You claimed to me earlier that it wasn't really an AI nerf because these devices are in the AI core. If that's the case, what's the point of adding something like this? Feature bloat can be dangerous; that's what got us our telecomms system that only 5-10 people really understand. If this isn't a nerf, you've introduced a whole new mechanic and system that won't ever really affect anything except to get the shuttle called faster when the AI survives a bombing.

If this is a nerf (and I think it probably is), you should think about adding a compensatory buff. AIs are very easy to counter in any number of ways and are unique among potential antagonists in being unable to hide from security at all. Moving the AI off the station may take the time-to-kill north of three minutes, but its survival ability when caught is still below any human crew. Letting gamers neuter the AI with strategic bombings doesn't help.

You've clearly put a lot of work into this and I'm not against it in principle, but I don't really see this stuff interacting with the round constructively.

@MegaEmpirical
Copy link

People not knowing tcomms is because they're lazy. It's not hard.

@MacHac
Copy link
Contributor

MacHac commented May 23, 2020

Or perhaps it's because it's an overcomplicated, brittle, sparsely documented system that doesn't interface well with anything else in the game, the details of which are only relevant to 2-3 jobs as 'advanced knowledge.'

If the players don't understand a mechanic, it's not the players' fault, it's the designer's.

@MegaEmpirical
Copy link

MegaEmpirical commented May 23, 2020

... If a player doesn't understand something because they're lazy it's obviously their fault.

There is plenty of info on the wiki. Could there be more? Sure, but everything you need is there and the little bit that isn't is easily picked up by anyone that toys with it.

@JamieD1
Copy link
Contributor

JamieD1 commented May 23, 2020

Or perhaps it's because it's an overcomplicated, brittle, sparsely documented system that doesn't interface well with anything else in the game, the details of which are only relevant to 2-3 jobs as 'advanced knowledge.'

If the players don't understand a mechanic, it's not the players' fault, it's the designer's.

If I dont understand rocket science is it sciences fault or mine for not learning and getting off my ass.

@smorgli
Copy link
Contributor

smorgli commented May 23, 2020

I like it because it needs my pr merged

@JamieD1
Copy link
Contributor

JamieD1 commented May 23, 2020

@TheGamerdk
Copy link
Contributor Author

TheGamerdk commented May 23, 2020

It's an interesting mechanic. I'm not really sure why it exists.

You claimed to me earlier that it wasn't really an AI nerf because these devices are in the AI core. If that's the case, what's the point of adding something like this? Feature bloat can be dangerous; that's what got us our telecomms system that only 5-10 people really understand. If this isn't a nerf, you've introduced a whole new mechanic and system that won't ever really affect anything except to get the shuttle called faster when the AI survives a bombing.

If this is a nerf (and I think it probably is), you should think about adding a compensatory buff. AIs are very easy to counter in any number of ways and are unique among potential antagonists in being unable to hide from security at all. Moving the AI off the station may take the time-to-kill north of three minutes, but its survival ability when caught is still below any human crew. Letting gamers neuter the AI with strategic bombings doesn't help.

Don't compare the tcomms system to this, thank you very much.
This is a nerf to building an AI in maint, correct. It's not much of a nerf to the round start AI. The difference between bombing the AI now and before isn't much bigger, other than it potentially creating unique and interesting situations where the AI is crippled in some instances.

AIs are already very powerful. They don't need additional buffs. If this was a giant nerf, like you make it out to be, then yes, they would warrant a buff.

You've clearly put a lot of work into this and I'm not against it in principle, but I don't really see this stuff interacting with the round constructively.

You could say this for literally any other semi-advanced feature.

@boodaliboo
Copy link
Contributor

fantastic pr

@MacHac
Copy link
Contributor

MacHac commented May 23, 2020

Alright, so that's the use case I was interested in. This PR exists to make it harder to build an AI outside of the core. Me point is, this seems like a pretty complicated way to accomplish that specific thing.

You could remove the spare AI board from the RD's office and make it more expensive to print one. That would also accomplish that specific thing without adding a 50-file independent system to the code.

I say it doesn't really interact with the round constructively because most rounds it won't interact with the round at all. I expect it'll be pretty easy for an AI player to play the role for dozens of rounds without knowing what those machines even do. There's no emergent behavior and no interaction with existing systems; in 99% of cases, they either sit in the core and have no impact on gameplay or get blown up seconds before the AI core does.

Furthermore, detaching these things from the AI core itself creates something of a rookie trap. Building a secret AI in maint to accomplish your goals is exactly the sort of emergent shenanigans that makes rounds interesting, but needing to also build 5 more machines screws people that don't already know the system while only adding busywork for those that do. If you can put together an AI, you probably have the resources and ability to build a few more machines.

If these machines provided an advantage when upgraded or had any deeper strategy than 'on good off bad', my opinion might change. As it stands, I think there are better ways to do what you're trying to do.

@TheGamerdk
Copy link
Contributor Author

Alright, so that's the use case I was interested in. This PR exists to make it harder to build an AI outside of the core. Me point is, this seems like a pretty complicated way to accomplish that specific thing.

You could remove the spare AI board from the RD's office and make it more expensive to print one. That would also accomplish that specific thing without adding a 50-file independent system to the code.

I say it doesn't really interact with the round constructively because most rounds it won't interact with the round at all. I expect it'll be pretty easy for an AI player to play the role for dozens of rounds without knowing what those machines even do. There's no emergent behavior and no interaction with existing systems; in 99% of cases, they either sit in the core and have no impact on gameplay or get blown up seconds before the AI core does.

Furthermore, detaching these things from the AI core itself creates something of a rookie trap. Building a secret AI in maint to accomplish your goals is exactly the sort of emergent shenanigans that makes rounds interesting, but needing to also build 5 more machines screws people that don't already know the system while only adding busywork for those that do. If you can put together an AI, you probably have the resources and ability to build a few more machines.

If these machines provided an advantage when upgraded or had any deeper strategy than 'on good off bad', my opinion might change. As it stands, I think there are better ways to do what you're trying to do.

I'm under the impression that you haven't actually read and understood the PR.

If you did, you would understand that it's not a "rookie trap" but an alternative way to nerf maint AI's, while still keeping them semi-viable.

You either go loud with your AI and hack the normal relays, or you build a cozy little AI core in maint.

Just because something isn't drawn into every single round does not make it "bad" or "feature-bloat" as you say.
It adds a nice possiblity for new situations and new RP.
Shutting/neutering the AI like this is much more interactive and fun than "laser hit AI go brrr!!"

I fail to see your argument, either because it's not there, or because you're misunderstanding what this is and how it's intended to be used.

@MacHac
Copy link
Contributor

MacHac commented May 23, 2020

I just think it's overkill for what you're trying to do, and that your time and effort would be better served tweaking existing systems rather than creating a new one. The code bloat and learning curve are problems, but I don't think it's gonna affect that much either way.

People being able to neuter the AI without killing it is a cool possibility, but it's going to depend heavily on map design. It'll be interesting to see if it works.

I withdraw my objection.

@JamieD1
Copy link
Contributor

JamieD1 commented May 23, 2020

I just think it's overkill for what you're trying to do, and that your time and effort would be better served tweaking existing systems rather than creating a new one. The code bloat and learning curve are problems, but I don't think it's gonna affect that much either way.

People being able to neuter the AI without killing it is a cool possibility, but it's going to depend heavily on map design. It'll be interesting to see if it works.

I withdraw my objection.

Hes not trying to nerve maint ai, we could do that several different ways, this is a new ai system to bring more variety and options to how rounds can play out.

@TheGamerdk
Copy link
Contributor Author

I just think it's overkill for what you're trying to do, and that your time and effort would be better served tweaking existing systems rather than creating a new one. The code bloat and learning curve are problems, but I don't think it's gonna affect that much either way.

People being able to neuter the AI without killing it is a cool possibility, but it's going to depend heavily on map design. It'll be interesting to see if it works.

I withdraw my objection.

There's barely a learning curve here. It's 1 or 2 things extra to keep in mind when things go south.

The AI core is recieving a makeover, yes.

@alexkar598
Copy link
Member

stale and abadonned AFAIK. Contact me on discord if you wish to reoopen this pr

@alexkar598 alexkar598 closed this Jun 19, 2020
@alexkar598
Copy link
Member

Bibby has been teasing us with unpushed commits

@alexkar598 alexkar598 reopened this Jun 19, 2020
@TheGamerdk TheGamerdk closed this Jun 29, 2020
@TheGamerdk TheGamerdk reopened this Jun 29, 2020
@alexkar598
Copy link
Member

It has been two fucking months. Im willing to let draft PRs live for a while but theres a limit on how far a PR can clog up the PR list without any visible progress.

@alexkar598 alexkar598 closed this Jul 24, 2020
@JamieD1 JamieD1 reopened this Aug 2, 2020
@smorgli smorgli added the WORK IN PROGRESS This PR will take a while before its complete, but is actively being worked on. label Aug 2, 2020
@alexkar598 alexkar598 added Awaiting - Action - Maintainer This PR is awaiting an action from a maintainer and removed Awaiting - Action - Maintainer This PR is awaiting an action from a maintainer labels Aug 16, 2020
@TheGamerdk TheGamerdk closed this Aug 18, 2020
@MegaEmpirical
Copy link

Sad.

@TheGamerdk TheGamerdk reopened this Dec 17, 2020
@TheGamerdk TheGamerdk closed this Dec 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature This adds new content to the game WORK IN PROGRESS This PR will take a while before its complete, but is actively being worked on.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants