After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 729250 - Colored numbers
Colored numbers
Status: RESOLVED FIXED
Product: gnome-mines
Classification: Applications
Component: general
git master
Other Linux
: Normal enhancement
: ---
Assigned To: gnome-mines-maint
gnome-mines-maint
Depends on:
Blocks:
 
 
Reported: 2014-04-30 09:36 UTC by Robert Roth
Modified: 2015-01-13 13:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screenshot with background colors (20.32 KB, image/png)
2014-06-01 19:47 UTC, Robert Roth
  Details
Random Mockup (9.44 KB, image/png)
2014-08-24 07:24 UTC, Diogo Campos
  Details
Colored numbers (bgo #729250) (1.69 KB, patch)
2014-10-21 01:21 UTC, Robert Roth
accepted-commit_now Details | Review
Mines palette to tweak (317 bytes, text/plain)
2014-10-21 01:26 UTC, Robert Roth
  Details
Mines Dice-Like Mockup (37.82 KB, image/png)
2014-10-23 19:54 UTC, Mika Pflüger
  Details
Mines with iconography (36.00 KB, image/png)
2014-10-24 14:50 UTC, Mario Wenzel
  Details
Screenshot with coloring (almost) as in the old version (49.76 KB, image/png)
2015-01-03 17:07 UTC, Sebastian Poehn
  Details
Color selection for all counts (11.78 KB, image/png)
2015-01-03 17:08 UTC, Sebastian Poehn
  Details
Patch for counter svg images (11.14 KB, patch)
2015-01-03 17:09 UTC, Sebastian Poehn
none Details | Review

Description Robert Roth 2014-04-30 09:36:06 UTC
Initial community feedback to the new design is that it's an improvement indeed, however all the comments have mentioned that they miss the colors for the numbers, maybe that is something we should do.
Comment 1 Michael Catanzaro 2014-04-30 14:19:20 UTC
Colored numbers was something that I (and I think also Mario) requested when looking at the designs as well.

After actually playing with the new version, I'm no longer sure -- the lack of colors doesn't seem to slow me down at all, and I don't really miss them. Also, Allan says he doesn't think colors can be made to look good.
Comment 2 Mario Wenzel 2014-04-30 20:46:30 UTC
I was hoping that Allan could try a symbolic design with pips instead of colors. Or we have it (daft looking colors) as an option (not cool).
Comment 3 Allan Day 2014-05-12 11:09:05 UTC
I know we've discussed this before, but I'm not sure what the resolution was. To me it isn't clear what benefit the colours have - the number already communicates how many adjacent mines there are. What other information is needed?
Comment 4 Yanko Kaneti 2014-05-12 11:50:41 UTC
The issue is that the current design communicates with less clues that the previous one. I'd speculate that the color differences were probably the primary clue for the majority of players of Minesweeper. 
The numbers were there just that your brain could initially logically connect them to the colors.
Comment 5 Robert Roth 2014-05-12 11:52:39 UTC
For me the colours used to show the level of danger visually. That somehow
seemed to reduce the attention needed without having th really read/understand
the numbers.
Comment 6 Mario Wenzel 2014-05-12 16:06:40 UTC
I thought that a field of similarily shaped and coloured numbers would be not so nice to play.

That's why we looked into keeping the colour. And as an alternative I thought iconography could be nice.

Just to help distinguish the shapes.
Comment 7 Allan Day 2014-05-13 10:44:54 UTC
Honestly, I don't think that the colours are really necessary. The numbers are the key piece of information, and are pretty easy to pick out without additional visual guidance.

The other issue is doing it nicely. Adding other visual elements to the grid cells is difficult to do effectively, particularly when the cells get small. Changing the text colour isn't a great idea if you want to maintain legibility.

The one thing you could try is to subtly change the background colour of the cells depending on the number, but this would need input from a visual designer (not me!) (Again, I'm not sure how necessary this is.)
Comment 8 Robert Roth 2014-05-13 11:26:22 UTC
(In reply to comment #7)
> The one thing you could try is to subtly change the background colour of the
> cells depending on the number, but this would need input from a visual designer
> (not me!) (Again, I'm not sure how necessary this is.)

A subtle background colour change would indeed solve this, I absolutely support it. Yes, the colours should not be very vivid, but "pale" colours, and that would help indeed. I will experiment with some colours and post screenshots, and if they're ok on the idea level, we'll need the input of the visual designer.
Comment 9 Robert Roth 2014-06-01 19:47:53 UTC
Created attachment 277700 [details]
Screenshot with background colors

Here's a screenshot with some experiments for some colorful backgrounds for the numbers. The colors surely could use some fine-tuning from a visual designer, but I still think this could be useful. Maybe we could have colorful/monochrome as an option in the app menu.
Comment 10 Mario Wenzel 2014-06-01 19:54:28 UTC
I think this looks fine and I would think that there is not much harm in having colors as an (non-default?) option.
Comment 11 Robert Roth 2014-07-01 23:27:33 UTC
@Allan Day: any objections against adding an option (in the appmenu) (off by default) for colored backgrounds like in the screenshot from comment 9?  If you have no objections, we would need some visual designer input on better colors for that.
Comment 12 Michael Catanzaro 2014-07-02 01:49:51 UTC
Could you post a patch?  The colors look good to me from the screenshot (and I'm sure Jakub will tweak them if he likes; he's already CCed to this bug) but it'd be nice to try them out.
Comment 13 Diogo Campos 2014-08-24 07:24:53 UTC
Created attachment 284329 [details]
Random Mockup

Just a random suggestion: see attachment.

Explanation:

- Not clicked square --> light gray (unknown danger).

- Clicked square
    - Without number --> invisible (no danger).
    - With number
        - 1 --> "go green" (little danger).
        - 2 --> green + bit of yellow (little danger).
        - 3 --> yellow + bit of green (medium danger).
        - 4 --> "caution yellow" (medium danger).
        - 5 --> yellow + bit of orange (medium danger).
        - 6 --> red + bit of orange (high danger).
        - 7 --> "stop red" (high danger).
        - 8 --> "blood red" (deadly danger).

- Number --> same color as the background of the window.

Optional: color transitions. Everywhere.

First note: I have no opinion on whether colors should be used or not.

Last note: the colors in my mockup MUST be fine-tuned, of course.
Comment 14 Michael Catanzaro 2014-10-20 23:50:50 UTC
Here are some more requests for colored numbers (or backgrounds): http://blogs.gnome.org/mcatanzaro/2014/10/18/3-14-games-updates/#comments

Personally, I still stand by my comment #1.
Comment 15 Robert Roth 2014-10-21 01:21:56 UTC
Created attachment 288997 [details] [review]
Colored numbers (bgo #729250)
Comment 16 Robert Roth 2014-10-21 01:26:15 UTC
Created attachment 288998 [details]
Mines palette to tweak

Attaching the Inkscape/GIMP color palette I have used in my previous patchfor further tweaking and previewing.
Comment 17 Michael Catanzaro 2014-10-21 02:50:43 UTC
Review of attachment 288997 [details] [review]:

I like the color scheme.
Comment 18 Victor Zamanian 2014-10-23 00:15:28 UTC
Mines is actually a lot harder to play at a higher level without the aid of colors. When I play Mines, I play really fast and try to beat my own high score, and I use the colors to play using knee-jerk reaction type decisions instead of thinking about the numbers. Not having colors really makes it that much more difficult and I think that's a step backward in usability. Colors might not help beginners, but it surely wouldn't harm. But colors *really* help me in my playing. It is also a step backward in accessibility for players who have problems reading numbers.

So, even though the game might not look as minimalistic with colors, it can still look good with them, and it helps greatly with gameplay. I basically don't play with numbers, I play with the colors as an aid to decide where to click.

Please reconsider this design; thank you dearly.
Comment 19 Mario Wenzel 2014-10-23 08:09:02 UTC
I would, again, mention the idea of (optionally) having same-color iconography for the amount of surrounding mines instead of numbers that are inherently similarily-shaped.

That way we might get the best of all the worlds. Also, we make it universal in that it doesn't depend on arabic numerals.
Comment 20 Mika Pflüger 2014-10-23 19:54:12 UTC
Created attachment 289228 [details]
Mines Dice-Like Mockup
Comment 21 Mika Pflüger 2014-10-23 19:58:35 UTC
Hi,

I liked the idea of same-color iconography and gimped a dice-like mockup. I'm not sure the idea of using dice-like dots is gonna fly. But maybe there's another idea for same-color iconography which is better.

The background-colour mockup of Robert does provide good visual cues, but it is definitely not as slick as the current design. Maybe shades of gray would work better?

Cheers,

Mika
Comment 22 Mario Wenzel 2014-10-23 20:59:57 UTC
They'd need to form circles instead of being taken from dice in order to be visually separated, I'd think.
I'll try creating a mockup in the next day or so.
Comment 23 Mario Wenzel 2014-10-24 14:50:44 UTC
Created attachment 289279 [details]
Mines with iconography

I thought small and subtle and evenly spaced around an imaginary center-circle.
Comment 24 Michael Catanzaro 2014-10-24 14:56:03 UTC
I like the digits...
Comment 25 Yanko Kaneti 2014-10-24 15:02:48 UTC
I think I got it! ;)
How about a number surrounded by (1/8 * number) full circle of yet to be determined width
Comment 26 Yanko Kaneti 2014-10-24 15:25:15 UTC
and maybe to add to the symbolic value, make the circle line thickness relative to (number). the squishing effect of the circle might be emphasized by drawing the number itself smaller and smaller.
I'll probably never code any of it so please take this as you may :)
Comment 27 Daniel Preston 2014-11-02 20:57:30 UTC
I think Robert Roth's pale colors from comment #9 look good and make the game more lively. White text on colorful BG from comment #13 also looks nice.
Comment 28 Sebastian Poehn 2015-01-03 17:07:42 UTC
Created attachment 293647 [details]
Screenshot with coloring (almost) as in the old version
Comment 29 Sebastian Poehn 2015-01-03 17:08:46 UTC
Created attachment 293648 [details]
Color selection for all counts
Comment 30 Sebastian Poehn 2015-01-03 17:09:34 UTC
Created attachment 293649 [details] [review]
Patch for counter svg images
Comment 31 Sebastian Poehn 2015-01-03 17:20:44 UTC
First of all I think the new design is good and fits well to the rest of gnome. However I also agree with a lot of others here that colors is the thing experienced players look for.

There are some really innovative proposals. But why change something which worked out for decades? Also if you look for other platform - the great majority of them uses the traditional colors (one - blue, two - green, three - red, ...). So I think we should also use them.

I took the colors from the gnome 32-color palette for my own interpretation of the 'traditional style'. (Took eight - white instead of gray for better readability and seven - yellow because I was not sure if it's really dark magenta).
Comment 32 Robert Roth 2015-01-03 17:34:11 UTC
@Sebastian Poehn: thanks for taking the time to work on this. Unfortunately, as you can see from the history on the bug, we already have several patches, mockups, and options on how to represent danger in various visual ways, and I feel we won't have a consensus (users, designers, developers, minesweeper-junkies, a.s.o. ) on which option to choose.
Based on this I'm leaning towards implementing theme support in minesweeper, just like some other gnome games have options to customize appearance. That way any user will be able to change the theme if he's not completely happy with the default one, which seems to be the case for a significant part of our users.

So my plan is to implement theming support:
* for theming grid colors, borders, etc in the grid, by including a CSS file in the theme
* for theming images used (that will give a possibility to create numbers colored as you wish, or implementing dots, or countless other possiblities)
* no more than 5 themes will be included in the default package, but anyone will be able to copy his/her own theme into a given directory. I consider this is required to avoid having too many options/themes, just like the other gnome games have a limited number of appearance options/themes (e.g. quadrapassel has 3 themes, five-or-more has 4 themes, swell-foop has 2 themes)
* two theme slots are already reserved: one for the current default, and another one for the classic theme using the images created by Sebastian Poehn, which are pretty close to the old look. The next three will be the result of user contributions and experiments.
Comment 33 Sebastian Poehn 2015-01-03 18:08:15 UTC
Sounds great! Do you already have release plans on this?
Comment 34 Robert Roth 2015-01-03 20:36:51 UTC
@Sebastian Poehn: no, I don't have a concrete release plan on this. I have already started implementing this, will work on a new branch called "theming-support", and looking at the code, it should be fairly simple to get it working, but if you want, you can also help. As this is simple, I might have a chance to get it in the next unstable release, with tarballs due on 19th of January.
Comment 35 Robert Roth 2015-01-07 20:43:14 UTC
For anyone interested: the theme selector is implemented (with a classic and a default theme) on the wip/theming-support branch. I'm interested in any kind of feedback. After compiling it, you can find Preferences in the AppMenu, which brings up the theme selector with a live preview (a playable board).

Ideas, suggestions are welcome, new themes are also welcome (along with the SVG images and theme.css - see the existing ones, tried to comment them well enough - if possible).
Comment 36 Michael Catanzaro 2015-01-07 22:08:11 UTC
It crashes when I click one of the arrows:

Program received signal SIGSEGV, Segmentation fault.
minefield_view_refresh (self=0x8c3150)
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/minefield-view.vala:595
595	        for (int i = 0; i < _minefield.width; i++)
(gdb) bt full
  • #0 minefield_view_refresh
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/minefield-view.vala line 595
  • #1 mines_set_game_theme
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 151
  • #2 __lambda21_
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 189
  • #3 ___lambda21__g_settings_changed
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 189
  • #4 g_cclosure_marshal_VOID__STRINGv
  • #5 _g_closure_invoke_va
    at gclosure.c line 831
  • #6 g_signal_emit_valist
    at gsignal.c line 3201
  • #7 g_signal_emit
    at gsignal.c line 3348
  • #8 g_settings_real_change_event
    at gsettings.c line 289
  • #9 ffi_call_unix64
    at ../src/x86/unix64.S line 76
  • #10 ffi_call
    at ../src/x86/ffi64.c line 525
  • #11 g_cclosure_marshal_generic_va
    at gclosure.c line 1541
  • #12 g_type_class_meta_marshalv
    at gclosure.c line 988
  • #13 _g_closure_invoke_va
    at gclosure.c line 831
  • #14 g_signal_emit_valist
    at gsignal.c line 3201
  • #15 g_signal_emit
    at gsignal.c line 3348
  • #16 settings_backend_changed
    at gsettings.c line 375
  • #17 g_settings_backend_invoke_closure
    at gsettingsbackend.c line 267
  • #18 g_main_context_invoke_full
    at gmain.c line 5573
  • #19 g_main_context_invoke
    at gmain.c line 5534
  • #20 g_settings_backend_dispatch_signal
    at gsettingsbackend.c line 322
  • #21 g_settings_backend_changed
    at gsettingsbackend.c line 371
  • #22 delayed_backend_changed
    at gdelayedsettingsbackend.c line 301
  • #23 g_settings_backend_invoke_closure
    at gsettingsbackend.c line 267
  • #24 g_settings_backend_dispatch_signal
    at gsettingsbackend.c line 326
  • #25 g_settings_backend_changed
    at gsettingsbackend.c line 371
  • #26 dconf_engine_change_notify
  • #27 dconf_engine_emit_changes
    at dconf-engine.c line 935
  • #28 dconf_engine_change_fast
    at dconf-engine.c line 1150
  • #29 dconf_settings_backend_write_tree
    at dconfsettingsbackend.c line 119
  • #30 g_settings_backend_write_tree
    at gsettingsbackend.c line 818
  • #31 g_delayed_settings_backend_apply
    at gdelayedsettingsbackend.c line 259
  • #32 g_settings_apply
    at gsettings.c line 2097
  • #33 theme_selector_dialog_switch_theme_preview
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/theme-selector-dialog.vala line 128
  • #34 __lambda19_
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/theme-selector-dialog.vala line 107
  • #35 ___lambda19__gtk_button_clicked
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/theme-selector-dialog.vala line 106
  • #36 g_cclosure_marshal_VOID__VOIDv
    at gmarshal.c line 115
  • #37 _g_closure_invoke_va
    at gclosure.c line 831
  • #38 g_signal_emit_valist
    at gsignal.c line 3201
  • #39 g_signal_emit
    at gsignal.c line 3348
  • #40 gtk_button_clicked
    at gtkbutton.c line 1477
  • #41 gtk_button_do_release
    at gtkbutton.c line 1888
  • #42 gtk_real_button_released
    at gtkbutton.c line 2006
  • #43 g_cclosure_marshal_VOID__VOIDv
    at gmarshal.c line 115
  • #44 g_type_class_meta_marshalv
    at gclosure.c line 988
  • #45 _g_closure_invoke_va
    at gclosure.c line 831
  • #46 g_signal_emit_valist
    at gsignal.c line 3201
  • #47 g_signal_emit
    at gsignal.c line 3348
  • #48 multipress_released_cb
    at gtkbutton.c line 611
  • #49 ffi_call_unix64
    at ../src/x86/unix64.S line 76
  • #50 ffi_call
    at ../src/x86/ffi64.c line 525
  • #51 g_cclosure_marshal_generic_va
    at gclosure.c line 1541
  • #52 _g_closure_invoke_va
  • #53 g_signal_emit_valist
    at gsignal.c line 3201
  • #54 g_signal_emit
    at gsignal.c line 3348
  • #55 gtk_gesture_multi_press_end
    at gtkgesturemultipress.c line 273
  • #56 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #57 g_type_class_meta_marshalv
    at gclosure.c line 988
  • #58 _g_closure_invoke_va
    at gclosure.c line 831
  • #59 g_signal_emit_valist
    at gsignal.c line 3201
  • #60 g_signal_emit
    at gsignal.c line 3348
  • #61 _gtk_gesture_set_recognized
    at gtkgesture.c line 275
  • #62 _gtk_gesture_check_recognized
    at gtkgesture.c line 315
  • #63 gtk_gesture_handle_event
    at gtkgesture.c line 624
  • #64 gtk_gesture_single_handle_event
    at gtkgesturesingle.c line 218
  • #65 gtk_event_controller_handle_event
    at gtkeventcontroller.c line 214
  • #66 _gtk_widget_run_controllers
    at gtkwidget.c line 7442
  • #67 gtk_widget_real_button_event
    at gtkwidget.c line 7220
  • #68 _gtk_marshal_BOOLEAN__BOXEDv
  • #69 g_type_class_meta_marshalv
    at gclosure.c line 988
  • #70 _g_closure_invoke_va
  • #71 g_signal_emit_valist
    at gsignal.c line 3201
  • #72 g_signal_emit
    at gsignal.c line 3348
  • #73 gtk_widget_event_internal
  • #74 gtk_widget_event
    at gtkwidget.c line 7380
  • #75 propagate_event_up
    at gtkmain.c line 2409
  • #76 propagate_event
    at gtkmain.c line 2511
  • #77 gtk_propagate_event
    at gtkmain.c line 2546
  • #78 gtk_main_do_event
    at gtkmain.c line 1743
  • #79 _gdk_event_emit
    at gdkevents.c line 69
  • #80 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #81 g_main_dispatch
    at gmain.c line 3122
  • #82 g_main_context_dispatch
    at gmain.c line 3737
  • #83 g_main_context_iterate
    at gmain.c line 3808
  • #84 g_main_loop_run
    at gmain.c line 4002
  • #85 gtk_dialog_run
    at gtkdialog.c line 1391
  • #86 mines_show_theme_selector
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 499
  • #87 mines_preferences_cb
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 524
  • #88 _mines_preferences_cb_gsimple_action_activate_callback
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 91
  • #89 g_cclosure_marshal_VOID__VARIANT
    at gmarshal.c line 1350
  • #90 g_closure_invoke
    at gclosure.c line 768
  • #91 signal_emit_unlocked_R
  • #92 g_signal_emit_valist
    at gsignal.c line 3292
  • #93 g_signal_emit
    at gsignal.c line 3348
  • #94 g_simple_action_activate
    at gsimpleaction.c line 211
  • #95 g_action_activate
    at gaction.c line 390
  • #96 g_simple_action_group_activate
    at gsimpleactiongroup.c line 138
  • #97 g_action_group_activate_action
  • #98 g_application_exported_actions_activate_action_full
    at gapplication.c line 315
  • #99 g_remote_action_group_activate_action_full
    at gremoteactiongroup.c line 104
  • #100 org_gtk_Actions_method_call
    at gactiongroupexporter.c line 427
  • #101 call_in_idle_cb
    at gdbusconnection.c line 4884
  • #102 g_idle_dispatch
    at gmain.c line 5392
  • #103 g_main_dispatch
    at gmain.c line 3122
  • #104 g_main_context_dispatch
    at gmain.c line 3737
  • #105 g_main_context_iterate
    at gmain.c line 3808
  • #106 g_main_context_iteration
    at gmain.c line 3869
  • #107 g_application_run
  • #108 mines_main
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 904
  • #109 main
    at /home/mcatanzaro/jhbuild/checkout/gnome-mines/src/gnome-mines.vala line 896

Comment 37 Robert Roth 2015-01-07 22:32:06 UTC
Crash should be fixed , thanks for the heads-up. I have always started a game by selecting a game size and opened preferences only afterwards, so I didn't see this so far.
Comment 38 Robert Roth 2015-01-13 13:03:19 UTC
Merged theme selection branch into master. Default theme didn't change at all.
Classic theme has been added, along with the default icons+colored backgrounds theme.

Feel free to suggest improvements to the themes or the theme selection dialog in separate bugs, and I am marking this as fixed.

This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.