Yogstation icon indicating copy to clipboard operation
Yogstation copied to clipboard

[AI] AI Rework 2.5 || The one with cables and golem AIs

Open TheGamerdk opened this issue 1 year ago • 1 comments

Document the changes in your pull request

Instead of AI data cores always being connected you'll now have to wire them up using ethernet cables. The "home" network of the AI is the one where its current core is. If the current core fails it will connect to a different core in the network. You can link 2 remote networks with networking devices (sprites pending, currently solar panels in the screenshot). In this case the AI will also attempt to relocate to a remote core, and switch it's home network. This is done recursively so you can nest networks if you wanted that for some reason. If you have a data core in a separate network, aka in a network that isn't the AIs main network, you'll need a server cabinet with 2Thz of CPU and 3TB of RAM for the core to be "active"

Explanatory picture (Not actual roundstart setup): image Network outlined in red contains the core and a server cabinet. Also contains a networking device(solar panel) Network outlines in blue contains only a server cabinet and networking device. The two networking devices are connected, connecting the red and blue networks and allowing them to share processing power. Connection signified by black line. (Note that solar panels point towards each other, allowing for simple tracking of clusters)

Why?

Why this change you may ask? Mainly for the following 3 reasons (There are more that I have forgotten):

  1. Removal of the AI control console. Making AIs confined to physical networks instead of all data cores means it's now possible to model hacking into the AIs network physically, without being able to build a new core and doing it there. This way you'll need physical access to download the AI like before.
  2. Separation of networks Wanna run 2 AIs with separate resources? You can do that now. Wanna build an AI on lavaland? You can do that now (Reenables AIs for ghost roles)
  3. Making computing networks independent Having computer networks be physical like this allows us to use them for things that aren't just AI related. This way the Netmin will be able to use the processing clusters for bitcoin mining, research and [REDACTED, COMING SOON]

TODO

The things I am yet to complete

  • [x] Require local computing resources for data cores to be active
  • [x] Actually consider local resources for AIs
  • [x] Resource allocation console moved
  • [x] Remove the control console
  • [x] UI for networking devices
  • [x] Allow plugging into individual AI networks
  • [x] Allow uploading of AIs after plugging in
  • [x] Allow downloading of AIs after plugging in
  • [x] Allow individual control of networks through laptops. Allow for bitcoin mining on networks with no AI/cores present
  • [x] Allow control of networking devices from console/laptop
  • [x] Netmin prioritised when AI is present
  • [ ] Server overview + removal of old consoles
  • [ ] A sprite for networking machines maybe (orca working on it)
  • [ ] Map in networking machines on each map
  • [ ] (Expand box sci-maint to create a proper netmin area?)
  • [ ] (Decouple netmin from NTSL?)

Changelog

:cl:
experimental: AI networks are no longer based on bluespace wireless technology. You'll now need to wire up individual servers with data cores for them to work experimental: Each separate network with data cores need 2 Thz of CPU and 4TB of RAM to function experimental: You can link networks together using networking machines. The allowed size of the network you're connecting from depends on the upgrade level of the networking device. Connecting two networks does not remove the above criteria for data cores experimental: AI uploading and downloading is no longer done through the AI control console. You will now need a modular laptop to hook into the network by gaining physical control. This process can be done through a connected network if you so desire /:cl:

TheGamerdk avatar Aug 10 '22 19:08 TheGamerdk

i fixed the bug that broke everything

TheGamerdk avatar Aug 10 '22 19:08 TheGamerdk