jromang / picochess

GNU General Public License v3.0
74 stars 54 forks source link

Improved menu #155

Closed lucasvdp closed 8 years ago

lucasvdp commented 8 years ago

At the moment each button had its own function depending on the state. Some direct shortcuts under the different buttons while playing are great. But the ">" could be left to enter a dgt3000 style menu (auto pause). When in the menu + and - will cycle through the different items, > Will select an item (or confirm a setting) and < will go back to the previous menu or the game.

This would mean a bit more button pushing, but you no longer need to remember where all the settings are as you will just cycle through the menu's.

A tree needs to be drawn with all the options that need to be configured. And how to group them logically.

LocutusOfPenguin commented 8 years ago

Small update to a menu system - as a thinking proposal. Comments welcome.

Menu

djdekker commented 8 years ago

Perhaps a 'Human Bonus' setting could be added somewhere in the 'Time' menu? I'm thinking of the possibility of adding minutes for the human player using the '+' and '-' buttons. This can be useful in combination with both a Blitz setting and a Fischer setting.

Alternatively, could a 'Manual' mode be useful that allows the user to set the thinking time separately for White and Black using the '+' and '-' buttons? This is really a kind of Blitz mode, but gives more flexibility in the amount of thinking time. Such manual setting does not necessarily have an equivalent White Queen setting.

LocutusOfPenguin commented 8 years ago

yes, sure. Its right now based on what we have. I just moved the level under engine, cause level is engine based (not all engines support level).

Next - but that is not lucas issue - i want to change the board settings, like a3-a6 with wQ, bQ. I think for example that "level" takes too much space and also, i prefer it more logical (as an example, why not use one Q for select the issue, and the other to switch over the options)

lucasvdp commented 8 years ago

looks good,

Guess everything is easy to find in this tree! We probably also need some setting like beep level. (under system?) what else?

What about the buttons while playing (while not in the menu)? At the moment we have: left = last move (keeps displaying) min = position value/ best move (toggle, keeps displaying) p/p = switch sides plus = mode toggle (keeps displaying, how to continue?) Are these the functions we want to (also) access using direct buttons?

Just some first ideas of mine: left = last move sounds logical. Maybe a long push for switch sides? (not used that often and fits the secondary button picture) min = best move for you (your turn), alternative move for computer(computer turn), or is another button more logical? maybe > and put the menu under the pause button? Long push = change beep level p/p = play pause plus(#) = position value, or maybe (also) number of moves? right = menu all messages should only be displayed a short while or until you push the same button again. (or maybe even just while you are pushing the button) At the moment it is unclear how to return to the game.

lucasvdp commented 8 years ago

About the setting with the Queens, using both Queens to select one thing sound a bit to complicated. Maybe keep the white Queen just for time control (each line one timing method) Then use the black for line 6 = game mode line 5 = book line 4 = our favorite 8 skill levels. just an idea, one time line and one other setting line left, any other ideas about how to simplify? Maybe a printed sheet of paper to overlay on your board with the settings and letters for typing a wifi key?

Would be great if everything can be setup with the quick buttons and Queens for the experienced players and intuitively through the menu for people who have not read the manual yet.

LocutusOfPenguin commented 8 years ago

two Qs just an idea. Something like wQa6 = book , wQb6 = time..and bQ a3 = option1, ...option 20. But this is also OK for me: I like to have one line for one stuff..Therefore i said, the level is too big. Also its value is not as big as it was when we only support stockfish engine. Also i dont want to think about is it the white or black Q to do something. Thats right now not logical, and i always use trial & error.

For setting wifi keys i think shiv implement something with a tablet incl. a nice GUI.

djdekker commented 8 years ago

What about this idea?

The same clock button can have a different function before a game and during a game. For example, it doesn't make sense to change the time control during a game. So while playing a game, the button used for time control could be used for something else, for example to display the evaluation of the position.

LocutusOfPenguin commented 8 years ago

first point: i wanted to implement it so, that the first option displayed is the current selection (maybe by a special char like "*" to make it clearer?) 5 menu items are too few. Lucas intention is to make the menu system as easy as possible for a new(!) user. Its very logical, but needs abit more clicks (as said). Its basically same as "gavon". We already did half of it for example with level, engine and so on. But "Position" is example of quick entering with the disadvantage of being not-logical (y have to know each button doing what).

second point: yes. But the clock doesn't support blinking by itself. That means we have to implement this blinking ourselves (at right now its abit tricky with the timing). But in general its good, and following the dgt style with setting time which i like.

BenDGT commented 8 years ago

Dear Mr. Dekker,

Thanks for the suggestion.

I would not be happy with this implementation because it is very different from the normal operation of the DGT3000 clock and therefore confusing.

Plus: A User Interface is always a trade-off between easy to understand (intuitive or at least fast learnable) and fast to use (few keyclicks). You could also say between new users and experienced users. I would choose for the new user, and have the response of every key as predictable as possible.

With kind regards, Ben Spenkelink Manager Product Development email: ben@dgt.nl Digital Game Technology, www.DigitalGameTechnology.com, telephone +31 (0) 53 4305195 or +31(0)6 36139466 address: DGT B.V. , Hengelosestraat 66, 7514 AJ Enschede, The Netherlands [cid:image001.png@01D138D3.C2412840]

From: DJ Dekker [mailto:notifications@github.com] Sent: 16 December 2015 09:15 To: jromang/picochess Subject: Re: [picochess] Improved menu (#155)

What about this idea?

The same clock button can have a different function before a game and during a game. For example, it doesn't make sense to change the time control during a game. So while playing a game, the button used for time control could be used for something else, for example to display the evaluation of the position.

— Reply to this email directly or view it on GitHubhttps://github.com/jromang/picochess/issues/155#issuecomment-165028547.

LocutusOfPenguin commented 8 years ago

with #153 in mind the sound configuration should be part of the new menu system

LocutusOfPenguin commented 8 years ago

make menu also working for a "piface"?!?

djdekker commented 8 years ago

What about setting some engine options using the clock buttons? Things like: hash table size, number of threads, ponder on/off etc. Possibly other options as well.

Changing these settings makes sense if, for example, the user switches engines.

Setting the options with the clock buttons is a lot more user friendly than having the user edit picochess.ini.

LocutusOfPenguin commented 8 years ago

Since 0.58 is so far stable, i will continue with this issue now.

Concerning the queen placing at beginning, i prefer not to change too much to preserve the old api. I will implement it so: wQ: Line 3 => Fischer Increment (a-h) Line 4 => Blitz (a-h) Line 5 => Game Mode (a-e) f-h are free Line 6 => Fixed (a-h)

bQ: Line 3 => Book (a-h) 1st part Line 4 => Book (a-h) 2nd part Line 5 => Level (a-h) Line 6 => no idea (maybe engine?)

Some comments: "Book" is very important in my eyes. So, i'm gonna spend 2 lines for it.

"Fischer" I'm not happy with the current stage. I prefer 8 possibilities, and different time versions => I change that.

"Game mode" prob. better on a bQ line 6 line and reserve the wQ line 5 for a tournament time (as an example). That would have the advantage that all time stuff done with the wQ. But first, there is no "tournament" in near future, and it will break an old api. Ideas?

"Level" can be done 1) each place jumps up 3 levels (a=0 until h=20) OR 2) use two lines and going from level0 to level15. Lev16-20 is not very useful if y keep in mind the engine power (no one really see a difference between 16 and 20, no?). Also middle levels (using version1) can be done by buttons - also i believe hard to see a difference at first glance between for example level 4 and level 5. I decided for version 1 now, ok?

All these queen settings are only shortcuts in the starting position. It is still possible to change all by button's (=fine tuning).

Jürgen

lucasvdp commented 8 years ago

Some ideas for changing the menu's Everything you want together should be behind each other. everything you want to configure separately should be below each other. Of course items are always displayed at there current setting first so you can go over them by Pushing the right most button multiple times. (maybe use the play pause button as a shortcut)

This way you get something like this:

Menu

LocutusOfPenguin commented 8 years ago

Some remarks (mainly for myself):

Some usage examples:

LocutusOfPenguin commented 8 years ago

The direct menu during game-playing (first four buttons) can stay the same. I will change it abit to "<" showing the hint move "-" showing the last score and "+" showing the last move.

Questions:

Answer: Anytime. If players turn stop clock. If engine turn let it run and display the move again on exit-menu

LocutusOfPenguin commented 8 years ago

Is it acceptable that queen placing (=shortcuts) only working in "game-playing" state? Answer: No, but Q placing exit the menu (= so no problem anymore)

Another Problem: without activating the engine (=stop old engine and start the choosen one - in backend!) i don't know if engine supports levels or not. Hmmm - clever solution needed ;-)

LocutusOfPenguin commented 8 years ago

The current state of this issue is as follows:

What is missing for the v0.6 release is:

Features like "middle button", "change settings from engine", "sound system" i will do lateron. Same for the request "level menu under engine". This is my favorite, but i have development time issues! Esp cause i saw a bigger problem somewhere else ;-)

BenDGT commented 8 years ago

Hi Jürgen,

Thanks for the great work! I’ll ask Lucas to compile a new image file for me. At this pace I hope to have a Beta test image early April, what do you think? Next to the software effort there are some choices, documentation and a lot of testing to be done before the release of the DGT Pi, but I feel we are in a good shape. Have a nice weekend, Ben Spenkelink Manager Product Development email: ben@dgt.nl Digital Game Technology, www.DigitalGameTechnology.com, telephone +31 (0) 53 4305195 or +31(0)6 36139466 address: DGT B.V. , Hengelosestraat 66, 7514 AJ Enschede, The Netherlands [cid:image001.png@01D16590.E9A2ED80]

From: Jürgen Précour [mailto:notifications@github.com] Sent: 12 February 2016 11:27 To: jromang/picochess Cc: Ben Spenkelink | DGT Subject: Re: [picochess] Improved menu (#155)

The current state of this issue is as follows:

What is missing for the v0.6 release is:

Features like "middle button", "change settings from engine", "sound system" i will do lateron. Same for the request "level menu under engine". This is my favorite, but i have development time issues! Esp cause i saw a bigger problem somewhere else ;-)

— Reply to this email directly or view it on GitHubhttps://github.com/jromang/picochess/issues/155#issuecomment-183263605.

LocutusOfPenguin commented 8 years ago

Engine move now shown at menu exit. Also some updates on engine "960 & level" done. I also tested the "remote engine". That is also working.

LocutusOfPenguin commented 8 years ago

bQ line 6 queen placing: i will implement engine switching (probl. similar to book a-h file names?) as said before. We have so many engines now and rev2 users prob. miss this feature (cause no button support) Perhaps not at first step for v0.6x.

LocutusOfPenguin commented 8 years ago

bQ a6-h6 will now choose 8 engines (most stable or useful ones - but this order/selection might change without further notice).

Please keep in mind: If you change something inside the engines folder (new/delete/rename engines), you must run ./build-engines.py" afterwards!

djdekker commented 8 years ago

Hi Jürgen, I made a "cheat sheet" for PicoChess v0.60 that may prove useful to less tech savvy PicoChess users: https://dl.dropboxusercontent.com/u/10122745/picochess_060_cheat_sheet.pdf Are these the maps that you have in mind? Greetings, DJ

LocutusOfPenguin commented 8 years ago

Hi DJ, WOW...GREAT!!!

Im working on the docu right now (actually not in DeepMind go time). Perhaps i can also put this pdf inside?

Perhaps y can make a line break in the 3 time codes? But rest seems perfect. THANKS Jürgen

djdekker commented 8 years ago

Sure, please feel free to use the sheet as you wish. I've just added two subtle line breaks in the time codes.

kblaubaer commented 8 years ago

Nice, DJ, thanks! Regards, Michael

Am 13.03.2016 um 12:50 schrieb DJ Dekker:

Hi Jürgen, I made a "cheat sheet" for PicoChess v0.60 that may prove useful to less tech savvy PicoChess users: https://dl.dropboxusercontent.com/u/10122745/picochess_060_cheat_sheet.pdf Are these the maps that you have in mind? Greetings, DJ

— Reply to this email directly or view it on GitHub https://github.com/jromang/picochess/issues/155#issuecomment-195940583.

LocutusOfPenguin commented 8 years ago

There is a small error inside. The levels b5-g5 are one number higher, so: b5=3...g5=18 Perhaps it would be a good idea to order the topics by Q color at first. What y think?

djdekker commented 8 years ago

Ok, I'll correct the levels error tonight. And also check the engines with their version numbers.

Sorting the topics by queen color is a good idea. In that case, I'd like the bQ topics to fit on one page, so the font size should be a bit smaller then.

LocutusOfPenguin commented 8 years ago

The "level" is now below "engine" but it only shows up if the choosen engine really supports levels.

LocutusOfPenguin commented 8 years ago

From software side this issue is closed. But docu is still needed.

bornhaeusser commented 8 years ago

Is the Cheet Sheet gone?? Dropboxlink does not work anymore. Any chance to get it?

LocutusOfPenguin commented 8 years ago

dont know about dropbox. But y can take a look in "manual" folder.

djdekker commented 8 years ago

I noticed that 'reboot' and 'shutdown' have been removed from the 'System' menu. Can the on/off button on the bottom of the clock be used instead?

LocutusOfPenguin commented 8 years ago

i think they are too dangerous. Therefore i removed them on v0.61.

The lucky users with PI can press the buttons on buttom :-) Perhaps move the service files in place before (see release docu at https://github.com/jromang/picochess/releases). Oh, i see this is only for non-pi...But its similar with PI, just take ALL files to move.

Otherwise y can do this: Shutdown is now available by pressing "<" & ">" buttons together (release docu) or use the Q's like yr docu.

LocutusOfPenguin commented 8 years ago

As I said 28 days ago this issue is closed (from software side). If y have other queries please open a NEW ticket (getting too complex to follow >30 comments).