Message #278

From: Roice Nelson <>
Subject: Re: [MC4D] Suggusted Improvements to the MC5D
Date: Wed, 14 Jun 2006 19:59:58 -0500

Hi Doug,

Thank you for the excellent comments. I can’t say when we’ll be able to get
around to all these suggestions, but we will certainly throw them in the "to
do" bin. A couple of the features you request do already exist. I have
some inlines for you below…

On 6/14/06, Doug Lee <> wrote:
> I have been working on solving the 3^5 for the past week or so, and am
> coming pretty close. So far I have noticed several things that could
> be improved.
> I’m sure a few of these points have already been sugguested.
> It would be nice to have a zooming feature, that just zooms the 2D
> prespective distance.

I didn’t have the mouse dragging controls listed on the features page
previously (I do now), but dragging the mouse with the right button down
zooms in or out. Let me know if you meant something else by "zooming the 2D
perspective distance". Your statement might mean having more control over
the projection from 3D->2D, which could be cool (I just let OpenGL do that
for me now).

> When the Sticker type is turned off, it shows up dark grey and is
> still selectable when holding down <Shift>, I am not sure why this is
> the useful. It would probably be best that when a piece type is "off"
> it is not present whatsoever and there is no way of selecting it. The
> puzzle is quite cluttered as it is.

I had this thought too while solving. It felt a little dirty to do this,
like taking away the full nature of the puzzle, but we are already hiding
faces, and dimming really isn’t much different than just removing them all
together. I’d vote for it to be an option though (perhaps just one more
additional level of sticker highlighting).

> There should be a way of undoing
> the entire macro. There could be a way of doing the inverse of a macro.

You can currently do the inverse of any macro by ctrl-double-clicking it
(vs. double-clicking it, which runs it forward).

Charlie and I have talked about how we would improve undo support to handle
macros too (and add redo support at the same time). I agree this is
important, to help keep from getting lost when you need to backtrack.

> Some way of putting some distance between stickers that lie on top of
> each other in the 3D perspective would be nice too. Distance them by
> differing the sizing a lot more.

This is a downside of displaying a shadow of a shadow of a shadow of the 5D
cube (projecting down 3 dimensions). Unfortunately, we can’t single out
certain stickers to move around or resize without making the code much more
complex, and without messing up an elegance the puzzle has by only using
a single set of projection parameters. So you will be limited to changing
the relative sizes of these stacked stickers by changing the projection

Something I thought would be nice (and could help here) is to give more
control over the 5D->4D and 4D->3D projections, specifically removing the
limitation that they only use a central projection. Although I could see
extending the projection options, I don’t think I will ever take the puzzle
away from a single set of projection parameters.

Did you see how to cycle through selecting these stacked stickers on the
features page? That might be useful in the mean time, though I never ended
up using it myself.

> Having some sort of "progress bar"
> would help too, that way I would notice if I’ve veered of course after
> doign something if previously solved pieces are no longer in solved
> position. This is especially useful if those pieces are currently
> hidden and I didn’t want to bother checking each time I perform a
> sequence of moves.

This is a good idea that was also suggested by Remi. You can see his
related emails here (the second one had an attached picture with thoughts
for a suggested interface).

> A toggle that allows me to lock myself in to a certain "3D quadrant"
> would be nice too, you have it default that it is impossible to 3d
> revolve/orbit in such a way as to have +Z on bottom and -Z on top, so
> why not go one step further?

I see, this could be cool. I never wanted to mouse around to the back
either because my macros would then not behave the way I wanted them to
relative to what I was seeing.

> Also having a toggle that places the face
> name (axis name) on the screen might be helpful.
> How about some why of querying a particular piece and then showing a
> pop up of it’s current location on the puzzle and/or it’s
> target/solved location.
> Also it would be nice to see a column in the "Macros Tab" that shows
> the turn count for that macro. There could also be a box somewehre
> that keeps track of the number of turns used… for people going for
> fewer turns.

I like all these good suggestions too.

> A few more pre-defined "display parameters" beyond the defualt would
> be nice. Like having one where either -U or -V would be mroe eaily
> viewable would be great.

I thought what might be cool is to post a set of parameter files online that
people could play with (and macro files too for that matter). But we could
with the installation so they would come as defaults too. Please feel free
to send settings you think would be good.

> Actually now that I think about it, just have a progress bar be a list
> of 4 numbers, for how many of a certain piece type registeres in
> solved position. Elegant and simple :).

Sounds good to me too. I also like the thought of having counters for
solved stickers too (in addition to solved cubies).

> BTW, I had noticed a pop up saying that I solved the cube while I was
> just playing around near solved state, doing and undoing moves… this
> seems to be an undesirable feature.

Yeah, I have a heuristic of whether or not to show that message, and
unfortunately heuristics aren’t perfect. I wanted a "reward" for solving,
but then there is the question of how to tell the difference between a
genuine solve and just messing around near the solved state. I made the
criteria be not just that the puzzle is solved, but that there have been at
least 1500 twists. But if you play around a lot without ever really messing
it up, say by making a long macro that effectively does nothing and running
it a bunch of times, you can still get the reward. Perhaps it is just
better left out.

Thanks again for the great feedback!