farin / JCloisterZone

Java implementation of Carcassonne board game
https://jcloisterzone.com
MIT License
305 stars 100 forks source link

"Quality of Life" improvements suggestions. #385

Closed Snearone closed 3 years ago

Snearone commented 3 years ago

Your work on version 5 is really remarkable, given the enormity of the work, small things can get overlooked.

I am writing from the perspective of a player who usually plays with several people, using several expansions simultaneously. The list will be long, I gathered everything so as not to create multiple tickets.

● The most important thing is a scrollable list of players just like it works with tile history, as dynamic resize sometimes is not enough. As you can see in the attached image, when a player's stuff is listed in two lines, and this can last for a long time, especially when you add things like resource tokens or small buildings, the field is high enough that the last players are then completely invisible. The smaller the screen (e.g. netbook) the bigger struggle for players who can not see themselves, even full hd screens are not able to show everything. players

● Tile sheet to be viewable from player selection screen, before starting a game with hiding it option enabled, so players could see what tiles there will be and not rely on their memory and expansions symbols. Another option for enabling tile sheet during a game, but without showing remaining tiles, just full list of all tiles from current setup.

● Undo button next to [Skip action] and [Confirm] buttons, saves just one click at Game menu, but small changes like that would be most useful after all.

● Points displayed above structures/meeples should fade out after time as in version 4, not just disappear after all other players turns, this would be especially useful when playing with Princess and Dragon, (example: fairy defends abbot who is in garden, player returns abbot from garden and next player could use magic path to move into this garden but fairy and point marker confuses him in thinking it's occupied already).

● Fairy on top of mage/witch, right now it completely disappear under them, even on zoom you barely see it. fairy

● Counter of biggest city and longest road from King and Robber Baron expansions, now it just displays who has it without specific number of tiles.

And for the least important ones:

● Saved setups, as a addition to recent setups.

● Making active player a little more visible than triangle at the top bar and underlined name.

Maybe something like this: green

Playing Carcassonne these days couldn't be better thanks to you. Many thanks for your work on JCZ so far!

farin commented 3 years ago

Hi, great post, all points are valid.

I have some remarks: Completely agree then players needs to see all information in list of players regardless of screen size. Still I am not sure if scrollable list of players is the best solution. This different case than game history on left size. In history you are interested in recent events and wants to scroll only in rare case. In case of player list you want to see all, usually you own record the most.

Still this gives me some ideas how to solve it

Another option for enabling tile sheet during a game, but without showing remaining tiles, just full list of all tiles from current setup. I like this idea

I am usually using Ctrl+Z as Undo, but let me think about it. Sometimes there is not much space in action panel at top, and I am careful about adding to much to it. I also have some idea about small redesign in this are, so I will be thinking about undo together with it.

displayed points displayed - let's add optiion to settings

Counter of biggest city and longest road from King and Robber Baron expansions - for now you can use workaround, mouseover last king token in history and count tiles. But you are right, direct counter as is in 4.x is more convenient

Saved setups, yeah task is already in backlog

Making active player a little more visible - let me try it - I found current solution insufficient but didn't found perfect solution yet. I think this is another candidate for option in settings. Aso rotating player list can be helpful

Snearone commented 3 years ago

I've tried to create a reasonably worst-case possibility (for now). I took 1366x768 as the lowest resolution. The best option would be to give the user a choice, such as creating an "ultra compact" option where everything vertically would be without too much spacing and with some changes as to the layout. players 2b On the left is an example of how now dynamic scaling doesn't necessarily help or even interfere, for this application window has to be shrunk a bit horizontally, so I doubt that would ever happen. In the middle how it looks like on "full screen" right now. On the right my quick mock-up. In order for all 9 players to fit, the counter of the remaining tiles would have to be moved to the left side, or even to the bottom left corner. Otherwise, even with this, the last player would be not visible. To accommodate everything, the player name would have to be shortened (popup with full name when mouse over?). In the future, for predicted points, the points field could be split into two lines using a smaller font.

Such an "ultra compact" option would normally also scale vertically for increased readability, only with such extreme nesting of elements would this type of compression occur. And if the number of players was increased even more, then a scroll able list as a last resort.

Showing own and active player in full size only it's not so good idea, especially when you play on one computer with a hot seat, and it's always better to see all your opponents, all the time.

And as to my pet peeve, I'd like to ask if it would be possible to segregate the player's stuff better. E.g. like the mock-up above, meeples/usable/obtained grouped by type (trade goods together).

I also forgot to mention "Enter" in the previous post. In JCZ 4.X it was possible to use Enter (especially one on numpad) to confirm action, which now isn't. It took me a little bit to overcome that habit by confirming by mouse, same goes for my other friends. Only two are using space, as they play using touchpads.

Also, a good solution would be to give the user the ability to assign keyboard shortcuts. For confirmation, and also for undo, that would cancel out the previous suggestion. And for example, whoever wanted could set either confirm or undo on the middle mouse button.

And like you wrote, whenever possible giving choices is the best option to make sure everyone uses the app to their liking.

farin commented 3 years ago

Horizontal shrink is there for a purpose, significant space needs to remain for board itself. Grouping by type is definitely bug, this will be fixed in next release.

I don't think it's good idea move tile pack to left and use space for players. In some cases there is no extra space in action bar at top. On the other hand, whole top bar height is designed for big screen and whole bar height can be smaller on smaller screens, saving some space for board / player list.

Sacrifice nickname is way to go.

btw you shoul be able confirm with space already, anyway Enter would nice too. adding it to task list.

farin commented 3 years ago

new, more compact layout Screenshot from 2021-05-04 09-41-50

farin commented 3 years ago
stanolacko commented 3 years ago

Cool. Well done!

Snearone commented 3 years ago

Most things done, great work! I look forward to check them out after next update.

farin commented 3 years ago

@Snearone currently done is released as https://github.com/farin/JCloisterZone-Client/releases/tag/v5.5.5 (anyway, it seems there is issue with Electron 12 update, causing that only linux version is ok now)

farin commented 3 years ago

ok, now it should be ok on all platforms https://github.com/farin/JCloisterZone-Client/releases/tag/v5.6.0

Snearone commented 3 years ago

Compact player list and active player indication is great! This will be much appreciated by people playing at small screens. Thank you very much Farin.

However, color background transparency causes this: color

Could the option to hide tile list completely, like it was before be also added as extra checkbox? With possibility to look at the tile list from player color selection screen before starting a game would be the best.

Undo button doesn't show after each action, only the last one (skipping things like placement of a tile, first meeple, phantom before creating castle), and most importantly doesn't work as supposed. Right now it acts as a confirm button. Like I wrote before, ability to bin keyboard keys/mouse buttons for confirmation/skip and undo wold be even better than that undo button all together.

Regarding saved setups, after selecting them they take straight to player selection without ability to change anything, it would work best if it was like recent setups where you still can change setup based upon previous one. There is workaround to this right now by selecting saved setup, going back and using newly created recent setup from it to modify it.

farin commented 3 years ago

do you think that hiding tiles completely is useful? static tiles list can be easily retrieved from wikicarpedia etc.

undo and background will be fixed asap ad keymap, i have it in mind, anyway it's something which hasn't top priority

saved setup, i was thinking about both options when implemention it. Now I must admin that one more click is not issue and it's better to allow change it.

Snearone commented 3 years ago

I think hiding tiles completely is useful, the option was there before so it will be beneficial to add it as a separate checkbox, even for a few who would use it, myself included.

For the binds, after Enter key was no longer working, I've created mine in Logitech Options, other friend created his in X-mouse button control for standard 3 button mouse, with "ctrl+z" combination on middle mouse button. Possibility to do that in JCZ settings would be great for less tech savvy users.

Saved setups now works like a charm, setting up "standard setup" with almost all extra meeples, exp.1 and timer on couldn't been easier.

Thank you once again Farin.

farin commented 3 years ago

keeping remaining two requests as separate tickerts