spacechem-community-developers / SpaceChem-Community-Edition

Release repository of the SpaceChem Community Edition
39 stars 1 forks source link

Modes for Sensor and Quantum Tunnel components #64

Open arpy0 opened 4 years ago

arpy0 commented 4 years ago

I don't know how possible it is, but I'd like to see the possibility of different modes modifying the behavior of the Sensor and Quantum Tunnel components.

Following the rules that a single sensor and two quantum tunnels must always have the same behavior as in the vanilla game, and that behavior must generalize, I think there's two easy alternate modes you could have:

For sensors, the mode would be to have the sensors work as an AND group instead of an OR group - each sensor must have the same atom on them to be enabled.

For tunnels, the mode would be to have tunnels only swap with the tunnel with the same quotient div 2 as them (that is, 1 with 2 and 3 with 4). For missions that have an odd number of tunnels, the spare tunnel simply swaps with itself - effectively just removing all bonds connected to an atom.

csaboka commented 4 years ago

I don't think implementing these behaviors would be the hard part - the UI would be. We would need a way to indicate the alternative behavior to players. (You don't want to rely on documentation to tell players "tunnels behave differently in this reactor".) We would also need space in the already crowded ResNet puzzle editor UI to toggle these.

I'm also not seeing much benefit for AND sensors. They would have very niche use cases as far as I can tell. It would also mean that more sensors actually make a puzzle harder, since to make a sensor instruction work, the player would need to arrange scenarios where all of them have the same atom on them.

arpy0 commented 4 years ago

The AND gate I admit isn't terribly useful - if someone were to design a puzzle around it, it'd be for the same reasons as using Bond- components or single input/output reactors. It's not supposed to be more permissive (which the vast majority of features in SpaceChem are). I'm not sure how you could identify it through UI though - perhaps an indicator like with the bonder priority labeled with an "A" or something?

Tunnels I think are the more interesting feature to have the different modes for. I think the UI would have paired tunnels have "A" or "B" depending on the pairing, rather than the current numbering scheme.

As for finding space on the ResNet editor... I'll get back to you on that. It could be as small as a radio button that has a tool tip that explains what the difference is, but maybe there's something better.

12345ieee commented 3 years ago

I am for marking this WONTFIX, it's complicated to show in the UI, complicated to put in the editor and I haven't really seen usage cases.

gdavid04 commented 3 years ago

Tunnels could also have an alternate mode that preserves bonds when the bonded atoms end up adjacent to each other after teleported. The visual indicator for it could be the same line that is shown between adjacent bonders.