# What do you want in a ZBLL alg trainer?



## Hazel (Dec 15, 2019)

I'm thinking about creating an alg trainer for ZBLL, as I've been working on learning it. What would people want in an alg trainer that other trainers don't have?


----------



## ProStar (Dec 16, 2019)

Aerma said:


> I'm thinking about creating an alg trainer for ZBLL, as I've been working on learning it. What would people want in an alg trainer that other trainers don't have?



Disclaimer: I'm not learning ZBLL and am not planning on it anytime soon

I'd say a complete list of all ZBLL algs, along with a description on how to recognize each one. Maybe split it up into sections and subsections. For example: have sections for H, Pi, S, AS, etc. and then have sub-sections like "One solved side" or "two matching bars" so that you can easily find the ZBLL you want.


Sorry if you were looking for a different type of ideas than I gave


----------



## Pyjam (Dec 16, 2019)

One thing I dislike with Roman's trainer: many "scrambles" are just "regular" algs with a silly orientation with a lot of B moves.
Sometimes, it gives anoying "scrambles" like: B U2 B2 U2 B' U B' U' B U2 B U2 B U2 B'
I would prefer inefficient algs, longer, but in <R,U,L,D,F>.
It supposes that a solver generates all these bad algs. It's a lot of work.


----------



## RyanP12 (Dec 17, 2019)

Recognition tips. If you can’t remember the alg, hit space and it should show you the alg and what to recognize.


----------



## ottozing (Dec 17, 2019)

#1: Make it do everything this does - http://bestsiteever.ru/zbll/

#2: What Pyjam said. Make the scramble such that they don't give away info about the case you're getting

#3: One thing that I think would help me personally is LSLL scrambles where all edges are oriented. This way I can practice ZBLL recog/recall in the context of something that isn't a pure ZBLL session, but also not a normal solving session where ZBLL doesn't happen as often (rn the best thing that exists for this is doing LSLL scrambles and hoping you know the ZBLS or can do an inefficient ZBLS, which isn't a good way to practice at all)

Good luck with the trainer!


----------



## Tao Yu (Dec 17, 2019)

I'd like some kind of system where you could import/export a set of ZBLL algs as perhaps a txt file so that we could share different sets of ZBLL algs by different people. Maybe it could allow you to upload a set of algs and then you could edit it (add algs, replace algs, reorder algs etc) in the trainer and export so that other people can use it. I also think a lot of people would use a feature where you could just paste any ZBLL algs in a text box, and the trainer will automatically detect which case it is, and add the new alg as an alternative. Something like this would be way easier to use than a spreadsheet.



ottozing said:


> #1: Make it do everything this does - http://bestsiteever.ru/zbll/
> 
> #2: What Pyjam said. Make the scramble such that they don't give away info about the case you're getting
> 
> ...



qqtimer has a ZZ last slot + last layer scrambler which I believe is random state. Maybe this does what you're looking for?


----------



## Hazel (Dec 17, 2019)

ottozing said:


> #3: One thing that I think would help me personally is LSLL scrambles where all edges are oriented. This way I can practice ZBLL recog/recall in the context of something that isn't a pure ZBLL session, but also not a normal solving session where ZBLL doesn't happen as often (rn the best thing that exists for this is doing LSLL scrambles and hoping you know the ZBLS or can do an inefficient ZBLS, which isn't a good way to practice at all)
> 
> Good luck with the trainer!



By this, do you mean giving you a LSLL such that once the F2L pair is solved, you would be left with a ZBLL case you selected?
For example, if you only selected the simple Sune ZBLL, you could be given a scramble such as U2 L U2 L' U' L U' L' R U' R' U R U' R' ?
Of course, the LS case would have to be simple enough that nobody would do it differently than intended, and obviously the scramble would be less obvious


----------



## Hazel (Dec 19, 2019)

Update:
I'm working on making the trainer, but I don't know how to make a bunch of scrambles for each ZBLL case. I looked at the source code for Roman's trainer, but not all the ZBLL cases are in the scramble file??
Do any of you have any suggestions? I don't have access to CubeExplorer...
EDIT: So it seems the "scramble" algorithms in Roman's trainer file are actually algorithms to solve specific scrambles? Not sure how that works...


----------



## Pyjam (Dec 19, 2019)

Yes, some "scrambles" are reverse algs with a rotation.
For example F' U' F U' B U2 B' R2 B' R2 B2 U2 B' is the "scramble" for R U2' R2' F2 R F2 R U2 R' U L' U L
That's what I complained about. I'd like real scrambles in <R,U,L,F,D>.


----------



## Hazel (Dec 19, 2019)

That wasn't what I meant, but I figured it out luckily.
It'll take me a while to implement scrambles from here, but I'm motivated! The trainer is coming along great so far.


----------



## kadabrium (Dec 19, 2019)

sort by depth / alg length


----------



## RyanP12 (Dec 19, 2019)

If you don’t know what algs to use, use Tao Yu/Justin Taylor/Jabari Narrudin algs. You can find them from Tao Yu’s trainer with the rest of those algs.


----------



## Hazel (Dec 19, 2019)

kadabrium said:


> sort by depth / alg length


Is this a feature you want to be added, or a suggestion? Could you clarify what you mean?



RyanP12 said:


> If you don’t know what algs to use, use Tao Yu/Justin Taylor/Jabari Narrudin algs. You can find them from Tao Yu’s trainer with the rest of those algs.



I'll be using Anthony Brooks' algs, and I'll use someone else's for Sune/Antisune.


----------



## Pyjam (Dec 19, 2019)

I don't understand. Why do you need a list of algs?
If the idea is to propose a solution (an alg for each case), you definitively need to use more sources.


----------



## Hazel (Dec 19, 2019)

Pyjam said:


> I don't understand. Why do you need a list of algs?
> If the idea is to propose a solution (an alg for each case), you definitively need to use more sources.


I'll have a suggested alg for each case, and maybe in the future I'll add multiple for each case.


----------



## GenTheThief (Dec 19, 2019)

As said before, it would be nice to have better scramble sequences.

When picking algs like in roman's trainer, display them like on algdb with all 4 sides visible instead of just two. It's really hard to figure out which cases I know because I don't use that 2 sided system.

Just like in roman's trainer, it will show you all of the algs that you've selected before it goes into random mode, to ensure that you get to see all of the cases before you start seeing duplicates. However, if you mess up a case, it would be nice to be able to say that you messed up and it would put it back into the list of cases that you haven't seen yet.
Also stats for each case, like average time for each set and fastest from each set (both ocll and coll groups).


----------



## Hazel (Dec 19, 2019)

GenTheThief said:


> As said before, it would be nice to have better scramble sequences.
> 
> When picking algs like in roman's trainer, display them like on algdb with all 4 sides visible instead of just two. It's really hard to figure out which cases I know because I don't use that 2 sided system.
> 
> ...


I plan on having all of that  and thanks for the stats suggestion, that certainly sounds useful!


----------



## Hazel (Dec 23, 2019)

Update on the trainer:
I've been working on it daily, and it's coming along really nicely! Right now I'm focusing on making it do everything that Roman's does before adding my own features. So far all of the selection screen is done excluding being able to expand each COLL subset into its ZBLLs and choosing specific ones to train, but I'll of course add that in before releasing the trainer. The timer screen right now is just a timer—no scrambles or any options—but that too will change.
Here is a sneak peek at the selection screen:



Spoiler









(also yes I know that the L OLL image is misaligned, I'll fix that)


----------



## WarriorCatCuber (Jan 2, 2020)

Maybe have some printable cheat sheets ? Also, maybe have the option to enter your own algorithm, kind of like on jperm.net. If you didn't yet decide on AS/S, try algdb.net. Keep up the good work, I wouldn't dream of making something like this ! I'll thank you when I learn full ZBLL !


----------



## Hazel (Jan 2, 2020)

WarriorCatCuber said:


> Maybe have some printable cheat sheets ? Also, maybe have the option to enter your own algorithm, kind of like on jperm.net. If you didn't yet decide on AS/S, try algdb.net. Keep up the good work, I wouldn't dream of making something like this ! I'll thank you when I learn full ZBLL !


If you're looking for a printable alg sheet, I highly recommend Anthony Brook's ZBLL PDF. It doesn't have S/As algorithms on it though, so maybe just use algdb.net for that.
I do plan on letting users replace algorithms with their own  I might even make it so it can check whether or not the algorithm actually solves the case.
Work on the trainer is going smoothly. I've been posting updates in my ZBLL Discord server, you can join to see if you like!


----------



## ProStar (Jan 20, 2020)

Bump, I'd like to suggest being able to sort by COLL case, in addition to OCLL case. For example, instead of looking at all the pi cases, you could look at all the pi cases where there's a bar on the right. It'd make it way easier to find a specific case.


----------



## Hazel (Jan 28, 2020)

ProStar said:


> Bump, I'd like to suggest being able to sort by COLL case, in addition to OCLL case. For example, instead of looking at all the pi cases, you could look at all the pi cases where there's a bar on the right. It'd make it way easier to find a specific case.


I'm sorry, this is a bit late. Right now it's set up like Roman's trainer, where you can expand each OCLL into its COLLs, and then its COLLs into their ZBLLs. Are you saying you'd like options for them to be sorted differently?

ALSO - for anybody who cares about this trainer who isn't in my ZBLL Discord server, I'm still working hard on the trainer  I'm still not going to put out a time window for release since there's a bunch of stuff I still need to do (and some of it will be pretty difficult and could take a while), but progress is certainly being made. More frequent updates are in the Discord.


----------



## ProStar (Jan 28, 2020)

Aerma said:


> I'm sorry, this is a bit late. Right now it's set up like Roman's trainer, where you can expand each OCLL into its COLLs, and then its COLLs into their ZBLLs. Are you saying you'd like options for them to be sorted differently?
> 
> ALSO - for anybody who cares about this trainer who isn't in my ZBLL Discord server, I'm still working hard on the trainer  I'm still not going to put out a time window for release since there's a bunch of stuff I still need to do (and some of it will be pretty difficult and could take a while), but progress is certainly being made. More frequent updates are in the Discord.



I haven't checked out Roman's trainer, but how he's doing it is basically what I wanted


----------



## Pyjam (Jan 28, 2020)

I hope the cases are seen from the top instead of a 3D view.


----------



## Hazel (Jan 28, 2020)

Pyjam said:


> I hope the cases are seen from the top instead of a 3D view.


They're a top view, don't worry


----------



## Hazel (Jan 31, 2020)

There's a few important things I need to know for the trainer, and I'd greatly appreciate input from whoever is interested in using it:

In the selection screen, you can right-click on a ZBLL to "flag" it, and it'll have a purple background to show this. Flagging means that the ZBLL will appear twice while going through and practicing which ZBLLs you've selected. this brings up a few questions, though:

1) After you've recapped all the algorithms you've selected (including two of each flagged case), the trainer goes into a mode where it chooses selected cases at random to train you on next. Should the flagged cases continue to come up twice as often as they would otherwise, or should the flagged status be taken away so they occur just as frequently as every non-flagged case?
2) I want the user to be able to un-flag cases while on the trainer screen. When the user un-flags a case, what exactly should happen? Should the duplicate of the case simply be deleted from the list of selected ZBLLs, or what?
3) What exactly should happen if the user flags a previously un-flagged case mid-session? Should a duplicate of the case simply be added on to the end of the list of selected cases?

The way I currently plan to do it is to simply have one to two of each case in the list of selected ZBLLs, depending on if it's flagged or not. So, setting a case to be flagged mid-session would duplicate the case and add it onto the end while in recap mode, and while in random mode, simply double its chances of being selected by the trainer. In either mode, un-flagging a case would delete its duplicate. Does this sound like a good way to go about doing things?


----------



## GenTheThief (Jan 31, 2020)

Aerma said:


> There's a few important things I need to know for the trainer, and I'd greatly appreciate input from whoever is interested in using it:
> 
> In the selection screen, you can right-click on a ZBLL to "flag" it, and it'll have a purple background to show this. Flagging means that the ZBLL will appear twice while going through and practicing which ZBLLs you've selected. this brings up a few questions, though:
> 
> ...



1. Keep the flagged case coming up twice as often. I would un-flag it if I didn't want to keep specifically training that case.
2. Yes, just delete the duplicate case from the list of selected ZBLLs.
3. Add the duplicate in a random position in the last 90% of remaining selected cases. I don't want it to happen right after I flag the other case, and I don't want to know that it's the last case, especially if I flag a couple different ones, because then I'll know in what order and which cases will be coming.

Also, can random mode have some sort of not-so-random aspect to it? Something like the old tetris randomizer, where if a case is the same as the one before it, it selects a new case, even if that case is the same one as before, except maybe it could do this in blocks of 10?
Like, it would select 10 cases (or 10% of a set with a max of 10, minimum of 3. ya know, whatever), and then it would select another set of 10 cases. If any of those cases in the second set were the same as the ones in the first set, it would chose again, but it could still choose the same cases.
This would reduce back to back cases, but not eliminate them, and make sure that the cases get a little bit more spaced out, or something.

I don't know what sort of randomizer you're using, and I have no idea if this would be compatible.


----------



## Hazel (Jan 31, 2020)

GenTheThief said:


> 1. Keep the flagged case coming up twice as often. I would un-flag it if I didn't want to keep specifically training that case.
> 2. Yes, just delete the duplicate case from the list of selected ZBLLs.
> 3. Add the duplicate in a random position in the last 90% of remaining selected cases. I don't want it to happen right after I flag the other case, and I don't want to know that it's the last case, especially if I flag a couple different ones, because then I'll know in what order and which cases will be coming.
> 
> ...


Thanks for the suggestions!
With the current system, after all the selected cases are recapped, it just starts selecting cases entirely at random. I could look into trying that not-so-random aspect, where after 10 (or how ever many) cases, each new case would look at the last 10 and if it showed up in that last 10, it would get one re-roll.
As for your point #3, I could certainly look into making that possible.


----------



## Lazy Einstein (Mar 27, 2021)

Woah! Am I too late to this party? 

If I could dream up ZBLL trainer, I'd want bestsiteever.ru but with:
- customizable colourways
- alg inputs for checking algs
- statistics pre case. (avg time, # of times practiced.)

Hardmode:
- version for mobile for the road

Honestly, bestsitever.ru, Tao's site, and stuff are getting pretty close to good enough. 
Cubing community needs a JARCS replacement that is equal or better than the original. HARCS is okay-ish but good resources shouldn't have big learning curves. Should be login and go.


----------



## Hazel (Mar 28, 2021)

Lazy Einstein said:


> Woah! Am I too late to this party?
> 
> If I could dream up ZBLL trainer, I'd want bestsiteever.ru but with:
> - customizable colourways
> ...


You're a bit late yeah, I've been mostly out of the cubing scene for a little while now xD I'd recommend going over to Roman's thread for his trainer and suggesting these things.


----------



## Lazy Einstein (Mar 28, 2021)

Aerma said:


> You're a bit late yeah, I've been mostly out of the cubing scene for a little while now xD I'd recommend going over to Roman's thread for his trainer and suggesting these things.



Oh! Don't worry. I am all over that. It's a difficult thing to find an area of cubing online that I haven't infiltrated. XD Thanks for the suggestion though.

If you find yourself back in cubing and dealing with ZBLL, let me know. 
Hope all is well with whatever you are doing.


----------

