QWERTYcube - A keyboard operated and JavaScript based open source Rubik's Cube

Hello again.

I hope it's ok to post in such an old thread, but I've released version 0.9.2 of QWERTYcube and this seemed like the perfect place. The big new feature is mobile support. Some highlights:
  • Full Mobile Support - Touch is now supported in the same way the mouse is on desktops. Tested on Nexus 6 and iPhone 6s.
  • Button Bar - There is now a bar of buttons at the bottom of the screen.
  • Rotation Lock - Clicking Lock or K prevents the cube from rotating when the grey background is clicked.
  • Improved Help - The help is now more detailed.
  • Improved Sizing - Now the maximum sized cube is used that does not exceed the canvas that it's on regardless of the cube orientation or screen dimensions.

Check out it's (slightly) updated home page at http://selliott.org/puzzles/qwertycube . I've added a new screenshot of it on a mobile device.

I've subjected some of my friends to it and part of the feedback I've received is that the algorithm I'm using to convert mouse gestures into cube moves is sometimes difficult and unintuitive, but it works once you get used to it. It helps to keep swipes between and parallel to the black gaps that separate the cubies. I don't know if I want to rework the algorithm, but I'll happily evaluate any pull requests.

I'm looking forward to your feedback.
 
Seems good, but there's some issues,

I can't really do z rotations when the top face is yellow or white.

Mouse controls could be improved, sometimes when you try to do a wide turn you do a slice or face move instead.

Might want to add better keyboard controls, http://www.ryanheise.com/cube/speed.html the controls listed there is what a lot of good cube sims use.

Also, it said that you used random moves to scramble it, random state scrambling is much better, you should use that.
 
Seems good, but there's some issues,

I can't really do z rotations when the top face is yellow or white.

Do you mean rotating the cube about the Z-axis by moving the mouse in the grey background? Yellow is on top by default, and it seems to work for me, but I take your word it that there's an issue. An alternative to moving the moue on the grey background is to use Z or Shift-Z or a mouse gesture that crosses all three layers.

Mouse controls could be improved, sometimes when you try to do a wide turn you do a slice or face move instead..

Fair enough. It is a bit odd and unintuitive, so I've been told by my friends. As to exactly what it's doing, in case it's helpful - when the mouse is pressed the program determines where on the surface of the cube the mouse was clicked. Moving the mouse and then releasing it produces a vector. That vector is then crossed with each of the three axis to determine which axis would produce the most torque, if the vector was force. Layers are then rotated about that axis. Whichever layers are touched between mouse down and mouse release are rotated.

But I'm open to better ways of doing it.

Might want to add better keyboard controls, http://www.ryanheise.com/cube/speed.html the controls listed there is what a lot of good cube sims use.

QWERTYcube is flexible enough in that it allows the keys to be remapped, but admittedly it's not possible to fully simulate the cube that you linked to. That cube depends on being able to do certain keystrokes simultaneously. As it's written QWERTYcube places each keystroke in a queue as soon as it's pressed - there's no provision for doing more than one move simultaneously.

Also, I have a lot of keys that do non-move things, so I'd have to figure out how to remap those.

Also, it said that you used random moves to scramble it, random state scrambling is much better, you should use that.

You may have seen the discussion about that earlier in this thread. Actually, by default it is using a random state scrambler named "jsss" now.
 
I've just released version 0.9.3 with various enhancements some of which were inspired by AlexMaass' feedback - Heise key mapping is now just a click of a button away. Also, it's now possible to make moves by single clicking, which may be preferable to click and drag in some cases. Enhancements since 0.9.2:
  • Heise Key Map - Heise key bindings can now be turned on by clicking a button.
  • Multi-touch Support - It's possible to do two compatible moves simultaneous with two simultaneous touches.
  • Single Click Moves - In addition to clicking and dragging it's now possible single click on a sticker to trigger a move.
  • Improved Help - The help is now more detailed.
  • Faster Replay - Large numbers of moves are now replayed more quickly.
  • Color Button - Easily cycle through the color schemes.
Check out it's (slightly) updated home page at http://selliott.org/puzzles/qwertycube . I've updated the screenshot of it on a mobile device.

As always I'm looking forward to your feedback.
 
[*]Heise Key Map - Heise key bindings can now be turned on by clicking a button.

It seems that the Heise Key Map is not fully supported. For example, ";" key should be a "y" rotation. A full key-map table used in csTimer is listed here:
I => R
K => R'
W => B
O => B'
S => D
L => D'
D => L
E => L'
J => U
F => U'
H => F
G => F'
; => y
A => y'
U => r
R => l'
M => r'
V => l
T => x
Y => x
N => x'
B => x'
. => M'
P => z
Q => z'
Z => d
C => u'
, => u
/ => d'
 
I've just released version 0.9.4 with the Heise fix mentioned in the previous comments. The Heise key bindings now match those listed in qq280833822's comment. As far as I can tell the Heise keybindings are now a super set of the key bindings in Ryan Heise's Java applet - there are four key bindings listed that are not exhibited by the applet, but that's fine.

Check out it's (slightly) updated home page at http://selliott.org/puzzles/qwertycube .
 
Back
Top