Here is version one of my rubik’s cube. You will find instructions in the .blend file.
If you want to edit it, go ahead. I’ll leave it open source.
Planned features for version two:
-sounds
-textures
-timer
-scrambler
-new rotation system
-ingame help/settings
If one pushes rotate buttons while spinning the cube, it breaks the cube by being unsure of what to do. The control scheme is very awkward, I can’t remember the function of 12 relatively obscure keys very well.
The cube itself is pretty, it looks good. Rotation is good as long as I’m not turning the cube at the same time.
Another method, one that I prefer, is mouse control. perhaps if you left click on a face, it rotates clockwise, and if you right click it rotates counterclockwise. This is more intuitive, albeit inconvenient for back and lower faces. Click drag rotation is probably ideal, but I have no idea how to program that.
Ah yes. The infamous breaking cube. I don’t know how to fix that. Also, if you turn two faces at the same time it will break (as it would in real life). There was another bug that I just fixed a couple minutes ago. (link is updated)
As for the controls… If you are good at rubik’s cubes, the controls would be very simple. I made the keyboard controls similar to ‘finger tricks’. For me, I can manipulate the cube expertly already. All you have to do is look at the cube (not at your fingers) and it comes naturally. That is, if you do finger tricks.
I think it would be nice to be able to have different ways of turning the cube. I might add that a little later.
I’m not sure what you mean by finger tricks. I can solve a rubik’s cube in about 2 minutes, but I have trouble remembering the key layout here.
Anyways, as for multiple turns, my solution is relatively simple.
One object has a timer property. This will automatically count up, and is measured in seconds.
Then your other object has something like the following run in python:
delay = 0.5
if keydown ‘w’ and otherob.timer > delay:
(indent) rotate cube side and otherob.timer = 0
I’ll check out the key layout again, trying to visualize a cube underneath my fingers…
EDIT:
Oh, and the turning while spinning camera can be solved by leaving the cube immobile while moving the camera around the cube. An immobile cube is also easier to find specific parts of.
to move the camera around the cube, place an empty in the centre of the cube, parent the camera to the empty, set the camera to be looking at the empty, and attach arrow key sensors to rotation of the empty.
As for the finger tricks: http://lar5.com/cube/speed.html
-that gives a nice explanation of finger tricks
If you have youtube:
-that video is kind of long, but by the end, you should know how to do finger tricks
Once you know how to do those, you might understand why the keyboard is setup the way it is. Hey, you might even improve your time by 20 seconds or so. (not related- I use the friedrich’s method, 36 seconds average; partial F2L - for all those rubik’s cube nerds)
I will try to improve the rotation system soon. Not too soon though. You could probably do it yourself if you want. But then it would be your rubik’s cube. (now we can’t have that, can we?)