The UI for attaching and detaching parts in design mode has been a bit of a thorn in our side from the very beginning. In particular, detaching parts has always been harder than it should be.
We knew what we wanted: to disconnect two parts, you grab one and drag it "away" from the other. To move them as a unit, you drag in any other direction. The goal is to let you grab, say, half of a stack of parts, separate it from the other half, and put it somewhere else. Sounds simple, right?
Unfortunately, defining what "away" means precisely enough to code has proved troublesome. Even we got confused about it sometimes, and resorted to just deleting and re-creating a sticky part.
I think we have finally fixed this!
Today we sat down and really worked through it carefully. The problem was really one of asymmetrical situations, like this:
We knew what we wanted: to disconnect two parts, you grab one and drag it "away" from the other. To move them as a unit, you drag in any other direction. The goal is to let you grab, say, half of a stack of parts, separate it from the other half, and put it somewhere else. Sounds simple, right?
Unfortunately, defining what "away" means precisely enough to code has proved troublesome. Even we got confused about it sometimes, and resorted to just deleting and re-creating a sticky part.
I think we have finally fixed this!
Today we sat down and really worked through it carefully. The problem was really one of asymmetrical situations, like this:
Here, dragging the highlighted box to the right would separate the two parts, but dragging the tube to the left would not. This example may look a bit contrived, but the same sort of situation comes up fairly often with things like solar panels and comm dishes.
But now we've extended the code to handle just this sort of thing! You can now separate these parts by grabbing either one, and dragging in any direction that could be considered "away" from the other part. So grab the box, and drag to the right or up, and they pop apart. Grab the tube, and drag it down or to the left, and again they disconnect. Drag in any other direction, and they move as a unit.
We spent some time loading a bunch of complex designs from our test games, and dragging things around. I'm happy to say that the feeling here is sheer delight; not once did we find a case where parts were stuck stubbornly together, or where they fell apart unexpectedly.
Coming soon in version 0.26... we can't wait to hear what you think of this!
Joe Strout
Lead Developer, High Frontier