• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 40,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

ZBLL trainer

Roman

Member
Joined
Jan 10, 2013
Messages
686
Location
Dubai, UAE
WCA
2012STRA02
YouTube
Visit Channel
This tool will help you to practice ZBLL recognition and execution.


bestsiteever.ru/zbll
  1. Select ZBLL cases you would like to practice
  2. Scramble the cube without looking at it
  3. Start the timer (spacebar)
  4. Try to recognize and execute ZBLL as fast as possible
  5. Figure out what cases you do slower and work on them.
Happy practising!

  • Spacebar to control the timer;
  • Delete to delete last result;
  • Shift+delete to clear the session.

This method of selecting cases and the general workflow may not be perfect but it's the best I've came up so far. Feel free to share your opinion and make suggestions!

Edit: If you don't know what is zbll or have trouble with cases notation or recognition, reading first 4 pages of this document should be a great starting point: ZBLL Algorithms 3.0 by Simon Swanson

GitHub repository: click
 
Last edited:

pjk

Administrator
Staff member
Joined
Mar 13, 2006
Messages
6,685
WCA
2007KELL02
SS Competition Results
Looks and seems to work great, well done. My only suggestion would be to make it work and format responsively to devices of different screen sizes. The cube preview seems to overlay into the text on smaller screens.
 

xyzzy

Member
Joined
Dec 24, 2015
Messages
2,873
Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?

One possible way to do this could be to generate the ZBLL first, apply 10 or so random moves, then feed that into the solver.
 

Roman

Member
Joined
Jan 10, 2013
Messages
686
Location
Dubai, UAE
WCA
2012STRA02
YouTube
Visit Channel
I know it might take a while, but I would love to see a 'show suggested alg' feature that's hidden unless you click it, so that if there are cases we don't know or forgot, we can learn it there
I initially thought adding this feature by default. Different people use different algs for one case, but the suggested alg can be the one from Swanson's algs list. There's one little issue though: besides the alg itself there should be an info about the starting position (because the preview picture shows the cube in random y-axis orientation). Can you think of a way to display it nicely?

Is it possible to show average of a session? and also have PLL in there so that all cases are covered?
As for plls, I don't think adding them to zbll trainer is an appropriate thing to do.
I can add average though, but does it make sense to display a global average for the session? I was considering grouping times by OLL or COLL and display averages for the groups like I did with the PLL trainer. Any ideas?

Any way to start/stop the timer for ipad users? When I press space bar with my ipad keyboard the timer just goes green but does not start. Does this only work for computers?
Awesome, Roman. Can you make it mobile-friendly?
Yep, I will add the feature of starting the timer from touch devices when I have time (this Sunday I think).

My only suggestion would be to make it work and format responsively to devices of different screen sizes. The cube preview seems to overlay into the text on smaller screens.
Sure, I will fix the layout also.
 

Roman

Member
Joined
Jan 10, 2013
Messages
686
Location
Dubai, UAE
WCA
2012STRA02
YouTube
Visit Channel
Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?

Right, I am awared of this problem. Fixing it is the next big think to do.
Thanks for pointing it out!

For each zbll {
- pre-generate a lot( >100 ) of different minimal length solutions. (because generating algs on the fly using 2-stage will give nasty 20-move scrambles).
- Only leave those whose length is in fixed range - something like [13..16] should be appropriate.
- Eliminate similarly-looking algs using levenshtein distance. That is, out of all algorithms for every case find two most similar and get rid of one of them. Do this while the algs list size is > 20.
}.
 

obelisk477

Member
Joined
Aug 26, 2010
Messages
1,144
Location
Raleigh, NC
WCA
2009BATT01
YouTube
Visit Channel
Right, I am awared of this problem. Fixing it is the next big think to do.
Thanks for pointing it out!

For each zbll {
- pre-generate a lot( >100 ) of different minimal length solutions. (because generating algs on the fly using 2-stage will give nasty 20-move scrambles).
- Only leave those whose length is in fixed range - something like [13..16] should be appropriate.
- Eliminate similarly-looking algs using levenshtein distance. That is, out of all algorithms for every case find two most similar and get rid of one of them. Do this while the algs list size is > 20.
}.

Don't know how easy it would be, but Lars Petrus' site already has generated every algortihm that solves a LL case that is 17 moves or less. So maybe you could pull from there.

Also, why Swanson's list? Surely Jabari's (BindeDSA) is the most up to date
 

Ksh13

Member
Joined
Oct 18, 2015
Messages
141
Location
Norway
WCA
2016HARA02
YouTube
Visit Channel
Just found out about this, instant bookmark. This is a fantastic ZBLL trainer that I will for sure use a lot when I try to pick up ZBLL again, great work Roman :).
 

FJT97

Member
Joined
Apr 3, 2013
Messages
434
WCA
2012THIE01
this is exactly what I've been looking for
E: this is the dream tool I've been searching for almost two years.

This!!!!

Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?

One possible way to do this could be to generate the ZBLL first, apply 10 or so random moves, then feed that into the solver.

And this.


This is the greatest tool ever made. I can't even. Thank you Roman!!


After using it for a few hours:

A delay would be nice, so that accidentally hitting the spacebar wouldn't end in a new timing.


Multiple sessions would be nice.

A column next to the cases, where i could put my alg(s) for the case, so that site would also work as my personal database. That would be really neat, cause tend to forget my algs :p That way i would have all at one place

And you deserve a big hug for this site!
 
Last edited:

YTCuber

Member
Joined
Jun 30, 2015
Messages
203
You should consider sharing your code on github, as that makes it easy for coders to contribute.

Feature request: if I'm practising only a small set, after a while I start to recognise the case from the scramble sequence, which defeats the purpose. Is it possible to randomise the scramble for each case?
[...]
This can be solved by rotating the case around y a random number of times. F R U R' U' F' would be L F U F' U' L' for example. Then you can also add an option for random AUF, enabled by default, which generates AUF before or after the algorithm. You can also write F R U R' U' F' as D F R U R' U' D'. All of these solutions don't require solvers. I will post the code here if this turns out to be a good idea.

A suggestion for selecting cases: You select the set by typing the first letter: H L P(i) S T U A(s). Select the next category with numbers 0-5 (or 1-6). Pressing space toggles all cases, or press 1234567890AB to toggle individual cases. As an example, selecting Pi FBFB C/A requires pressing P, 2 and 4.
 
Last edited:

xyzzy

Member
Joined
Dec 24, 2015
Messages
2,873
This can be solved by rotating the case around y a random number of times. F R U R' U' F' would be L F U F' U' L' for example.

The problem here should be really obvious. If I see a B' U2 B U B' U B being generated, I don't even need to look at the cube to know that (i) it is a 2GLL case and (ii) it's a Sune from some angle. I might not immediately know what angle it is, but this takes away the hard part of the recognition instantly. No amount of AUFing will mask this.
 
Last edited:
Top