So, I got to spend the last several hours considering this topic, since nothing better to ponder on weekdays (and I don't have access to internet during that time anyways). And I have come up with a nice little thought-experiment that has helped cement my opinions on this.
Now, I'll be covering a few things here that have already been mentioned and agreed on, and/or seem completely obvious. That's perfectly fine: I only want to cover this sort of thing so we're clear on certain foundations -- I'll be building up to stuff. I want to consider how the same setup works in various situations and what strikes me as the intuitive result of these conditions.
So, first off, our scenario. In the attached image, I've got this little 'island' with four open doors and orb in front of them, but I want it to change to the layout depicted to the right instead. But... I'm not going to be using Build commands. Instead, I've corraled a Citizen, and dumped a bunch of Build Markers into the arena. Beethro can watch. (And interfere. It's Beethro.)
Now, this is a contrived case. But it has some notable features here that are important:
* There is no guarantee in the order the building is finished.
* The player can interfere with the order.
* The new doors are built one by one instead of all at once with a single build command.
With these constraints, what we'd like to see is that the outcome, after everything new is built, is no different no matter what order things are done in. That's not necessarily a guarantee, but we'll see how things go.
Case 1
The southern orb is the only one connected to anything, and it only toggles the southern door.
Now, let's get the obvious points out of the way. What happens if an open door is built next to an existing open door with a connection? This should trivially be seen as expanding the original door by one tile, and the new door has no connections of its own. So I don't think there's any argument that this is a simple expansion of an existing door, and the orb will still work, toggling the slightly bigger door.
Okay, so what happens if we build another separate open door first, then connect that to our connected open door with another open door? (So instead of expanding the door by two tiles one at a time, we've built the 2nd tile first and then connected it with the 1st tile.) Again, there aren't any conflicts here, and we don't want the order of building to cause something different. This is an argument against an existing door with no connections being "
dominant"
over another door (assuming we were considering 'dominant door merging' here).
The citizen will eventually build the rest of the layout, and will connect the southern door to the rest of the unusued yellow doors. My expectation would be that the southern orb would still toggle this new door.
One final note before we move on to the next case: note the Wall built in the middle of the southern door. If that gets built early, then the door will be split into two, causing two connections. Later builds would then reconnect the door, causing double connections unless we do something about that. If it gets built late instead, then the split/double won't occur. This is another argument that something should be done about an orb connecting multiple times to the same door (if that wasn't already clear from my previous post).
Case 2
So, the things I've taken from Case 1 is that it should be trivial to expand a door, the order the door is built shouldn't matter, and doors without connections don't matter.
With Case 2, the southern orb now toggles the north, west, east and south doors on the island. The rest of the orbs continue to do nothing.
This case is considering how connections from the same orb of the same type get merged. And it's similar enough to Case 1 (especially with the Door Split point in the last paragraph) that I think it should be clear and intuitive that, again, the resulting door will be toggled once by the southern orb, so there will be only one connection remaining when everything is build/merged.
Case 3
Now we get to something a little more debatable. All four orbs are now connected to their nearest door, toggling them. What is the expected result?
Well, the orbs still don't conflict with each other: if you painted open door and connected them all in the editor, all four orbs would toggle the resulting mega-door. But it gets us thinking about "
dominant door merges"
here, where we consider the possibility of only one door's connections remaining.
Here's the kicker though. If "
dominant door merge"
depends on the position of the door, then order of building suddenly matters. Because if we accept Case 1 (doors can seamlessly merge with unconnected doors without dominance), then whichever door connects to the unconnected NW open door first wins (assuming NW has priority -- obviously if priority was given to another location, then it'd be first to that instead).
As a result, I do not find "
dominance"
based on door location to be safe.
There is another possibility, of course, and it's something we'll be looking at with 'connection merges' later: instead of "
Most NW Door Tile"
, we could consider "
Most NW Orb Connection Tile"
. The orbs are all connected to a specific tile on the door, and we can use that to break ties, and as skell noted, it's not even that difficult to break ties that way.
But the problem with that is that I, the architect, have arranged for the initial orb connection to be on the exact spot where that wall gets built on each of the four doors. And as soon as that wall is built, the connection must be moved to another tile in the door, and it always chooses the most NW spot. Once again, build order suddenly matters for the consideration of dominance.
So... again, I do not like the idea of one door overruling all others it connects to with its own connections. I am in favor of merging the connections.
With Case 3, the result I expect is that all four orbs will toggle the resulting door. There is no conflict in the orb connections themselves, and they are still clearly affecting the door they were originally connected to... just everything else as well.
Case 4
Case 4 is the same as Case 3 but with a slight twist: only the southern orb toggles its door, while the other three open their door.
There's not much to discuss on this point since the same observations exist as for Case 3, it's just that we end up with a mega-door that is toggled by the southern orb and opened by the other three. I just wanted it clear that different types of connections still seem intuitive if there's no conflict within a single orb.
Case 5
Okay, now we finally get to what this topic was about in the first place. We're ignoring all orbs but the southern one again. Now the southern orb toggles the south door, opens the west door and closes the east door. What outcome should be expected when the resulting mega-door is formed?
If the connections had all been the same type, a seamless merge as in Case 2 would be intuitive. If the connections had been to different orb, a non-conflicting merge as in Case 4 would be intuitive. As per the problems listed in my previous post, we don't want a single orb connecting multiple times to the same door. So we have three connections, and we have to choose how to reduce them down to one.
As I noted in Case 3, "
orb connection location"
can change, as can "
most NW tile in door"
. As such, build order would cause differences in the result if that was used as a priority system.
So... I agree with Nuntar that the priority should be based on types rather than location, since that would guarantee that no matter how my contrived situation is built, it would result in the same connections.
As for *what* priority system to use... that is going to differ based on personal preference, I'm sure. I do not like Open or Close having different priorities though -- they feel like the same priority to me. I do agree that Toggle is more powerful than both, and should have highest priority.
But I feel that a merge of Open+Close ->
Toggle is actually fine if you consider it being both connections having an effect, just on different strikes of the orb. If there were only Open connections, you'd expect the mega-door to only Open; same if it were only Close connections. If it's both, you'd expect the mega-door to open and close... which it does if you hit the orb often enough.
That said, any priority system is going to end up with the same end-result here, so this feels more like a subjective decision than the rest, so I'm not as concerned about that.
So! Perhaps this was about 80% too long, but I wanted to show my entire train of thought and why I feel tile/connection location may be a mistake. And I also definitely wanted to indicate that there are many 'simple merge' cases such that wiping all connections would feel to be far too punishing to architects. If an edge-case happens, sure, give the architect tools to rectify it... but let's give them a reasonable default before then.
Feel free to take any part of the thought-experiment and tear it to pieces ^_^
[Last edited by TFMurphy at 10-16-2020 07:35 PM]