wiremod / wirebox

Wire for S&Box. Early WIP.
MIT License
37 stars 8 forks source link

(Idea) Breadboards: a player-level abstraction over gates #36

Open Nebual opened 12 months ago

Nebual commented 12 months ago

Picture this: you've got your Flight Controller wired up: it has a dozen gates wired together so that WASD strafe your ship, alt+mouse-x rolls it, alt+mouse-y raises throttle, shift hits the turbo, and X enters Park mode resetting the throttle to 0. You like this setup a lot, and want to reuse it on the next ship, or give it to your friend, without having to write up a full wiring diagram that would get at least a B in Electrical class.

Enter Breadboards: a surface which can have Gates mounted to it, which can then serve as the "external interface" for the rest of the plane (thrusters, Pod Controller, etc). You can configure custom inputs/outputs for the Breadboard (Inputs: "Forward: bool, Strafe Left: bool, Throttle Up: bool" and outputs: "Rear Left Thruster: float, Rear Right Thruster: float"), which means other players (or you in a week when you've forgotten) don't have to dig through the dozen gates to figure out which "A" you're supposed to wire the Forward key to, they just wire to the breadboard's external ports. The breadboard has external/internal ports, which mirror eachother (so if "Forward" is configured as an External Input, it'll be an Internal Output for mounted gates to be wired to).

Additional functionality we could add later include:

This would ideally lead to reusable Breadboards for common tasks, which can be "opened up" to learn what components they're composed of, and tinker with further.