GNOME Bugzilla – Bug 664972
Use a new game screen
Last modified: 2018-05-22 12:22:29 UTC
Use a new game screen that shows the game options at the start of a game. This means that preferences dialogs for game difficulty can be removed and resolves the issue that options can be changed while a game is in progress. See the Sudoku start screen for ideas.
Created attachment 209651 [details]
Design for glchess game window including details for the new game screen
I spent some time reading human interface guidelines: http://developer.gnome.org/hig-book/3.0/design-window.html.en and sketched a design for the deal.
Here is a basic game screen design prepared for the glchess window which I'll be implementing if approved. The four promotion types will also display the respective icons (just fancy whites) next to the names to make it look more illustrative.
Everything is designed using GtkGrids avoiding GtkBoxes which are close to deprecation.
How its working is thought presently:
-Initially only an unfinished game resume/start fresh game choice will be shown (whenever applicable)
-grid_game_preferences will be visible only when (a) user selects to start a fresh game from the previous choice or (b) as an initial screen when there is no unfinished game auto-saved
-game engine choice of opponent will be sensitive only when some engine is detected installed on the user's system
-grid_game_engine_settings (for engine choice and difficulty) will only be shown when game engine is the opposing player
-when remote friend is selected as an opposing player, the contact chooser will be displayed. (this bit to be implemented for bug#664946)
-once begin is clicked, this screen is made invisible and the game setup will be displayed.
We can probably ignore the technical design in last comment.
I had a discussion with the designers and we quickly came up with a more easy interface sketch like http://dl.dropbox.com/u/5031519/chess-start-wizard.png by Allan Day.
In addition to that, I'll make difficulty visible as an option and put game duration and promotion type settings into an "advanced settings" expandable option right above the "Start" button. That should make users more happy avoiding a lot of overwhelming options :)
Awesome! Allan is a great designer and that looks really good. The expandable advanced settings you've proposed sounds good. You also need to add the type of AI (gnuchess/crafty etc) into those settings.
Looking forward to seeing this in 3.6!
Will the user understand the AI type? I would not know any more than easy/medium/hard :)
I think only advanced users will want to change the AI (and for most people there will be only one available so the combobox will be insensitive). I'm making the assumption that most users will never expand the advanced settings. However, we do at some point need to choose which AI to use.
(In reply to comment #5)
> I think only advanced users will want to change the AI (and for most people
> there will be only one available so the combobox will be insensitive).
yes and the Robot opponent and AI choice should be absent totally incase there is no AI installed.
> making the assumption that most users will never expand the advanced settings.
> However, we do at some point need to choose which AI to use.
Allan seems to be thinking more about it. I noticed his updates. http://dl.dropbox.com/u/5031519/chess-start-wizard.png
I'll wait a bit for letting him complete.
Presently we can only show friends from accounts which are active via Empathy. It might be worth considering to be able to connect/disconnect accounts using the universal GOA window maybe!
Created attachment 210100 [details]
OK, the designs have stabilized, so I have implemented them using glade with a minute change in the preferences screen incorporating the above comments.
Here's a shot.
I would like to ask you if you can consider bug#655761 saying that promotion type should be selected during the game and not set before. Thanks.
Agreed, the promotion type should be set during the game.
bug#655761 has introduced another consideration in terms of making the design work.
Please refer to the preferences screen attachment again.
Since it now contains only a "Choice of robot" setting which is applicable only when the opponent is selected as "Robot", we should have the preferences button totally absent/hidden in-case the choice of opponent is made something else but "Robot".
OTOH, to me hiding/making invisible a preferences button doesn't seem like an ideal way to make design work. Any other option than hiding? Views?
(In reply to comment #10)
> bug#655761 has introduced another consideration in terms of making the design
> Please refer to the preferences screen attachment again.
> Since it now contains only a "Choice of robot" setting which is applicable only
> when the opponent is selected as "Robot", we should have the preferences button
> totally absent/hidden in-case the choice of opponent is made something else but
> OTOH, to me hiding/making invisible a preferences button doesn't seem like an
> ideal way to make design work. Any other option than hiding? Views?
Ok, I can think of the following ways out when opponent is not robot:
If no AI is found (which will mostly be first time after installation)-
Letting the preferences button and window stay visible (even when opponent is not robot) and allowing user to install AIs of choice using gnome-packagekit.
When one is present, only then the "Robot" choice of opponent will be available.
If some AIs are found-
The preferences button shall still stay sensitive but user won't be able to click on the "Done" button. "Done" will be sensitive only when opponent is "Robot".
There was a similar issue and suggestion for cabal-install(http://hackage.haskell.org/trac/hackage/ticket/578) and reading thoughts of developers there which were against employing any "platform-specific machinery" and privilege elevations, I have started to think it's not very useful to deploy packagekit. I do not see it used much in other projects too. Suggestions would help. I don't see packagekit yet offering a functionality to check whether a particular package is provided by a distribution or not also (which would be a perfect requirement) so maybe we can leave this out for later.
I instead displayed a list of supported UIs which the user might want to install in afced1b6c0343a1f1f1eea22c1aa0afe820f2eb6.
WIP : https://gitorious.org/glassrose-gnome/gnome-games/commits/glchess-new-game-screen-664972
> I instead displayed a list of supported UIs which the user might want to
> install in afced1b6c0343a1f1f1eea22c1aa0afe820f2eb6.
typo: supported AIs, I mean.
Is this planned to get this merged for 3.7?
Nope! At most Monday! This works perfectly.
Reassessing whether we really want new game screens for all of our games....
We definitely want a new game screen (or new game sidebar) for Chess, since we do not want to use the app menu for choosing between human and computer opponents.
Chandni, I guess you haven't had any progress on this?
Branch https://git.gnome.org/browse/gnome-chess/log/?h=chess-telepathy-networking-support-664946-communicate takes care of the chess-screen too in the initial few commits. Its a bit old though!
The remote contacts button there is integrated to telepathy networking (which may be factored out for the purpose of isolating and fixing this feature).
-- GitLab Migration Automatic Message --
This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-chess/issues/10.