Re: Sudoku Game and GSoC



On Thu, Mar 29, 2012 at 9:55 AM, Chris Baines <cbaines8 gmail com> wrote:
> If you are referring to the Vala port then things to work on are:
> 1. Making it match the existing Python version.  You just need to be
> able to run both side by side and check all the features from the old
> version work in the new one
> 2. Working on the tasks listed in
> https://live.gnome.org/GnomeGames/Modernisation - the GtkApplication
> task may be a good one to start with.

I think I am getting on well with the GtkApplication modernization.
However I am not really up to date on how Gnome app's are meant to be
built, for instance, for the menu, I have noticed when looking a
gnomine for example, that the menu and the toolbar have similar
options? Could you clarify this for me.

I also have written the following list of features/changes that I
thought might be good in the game, I am not sure if this will make
sense to anyone, but here go's. I am not planning to implement all of
this as part of GSoC, but I would like to. Feedback on what features
would be considered essential would help me when trying to improve my
schedule if possible.
   Interface
       Use GTKMenu and GTKApplication
           https://bugzilla.gnome.org/show_bug.cgi?id=664963
           https://bugzilla.gnome.org/show_bug.cgi?id=664970
       Game Interface
           Number Picker Popup
               Hide the number picker popup dialogs such that only
one is visible at a time
               Allow the resizing (maintaining the aspect ratio) of
the picker as you would any window
               Better sized text, and dynamically resizing with the
above scaling (as the text is a bit small at the moment)
           Top and bottom text entry
               Make the text entry box not overflow
                   https://bugzilla.gnome.org/show_bug.cgi?id=665235
           The Grid
               The selection method works alright at the moment,
probably be nice to allow the user to not select anything though.
                   https://bugzilla.gnome.org/show_bug.cgi?id=461096
               The colouring needs to be implemented
           Puzzle Hints and Help
               Replace Settings -> Show Possible Numbers with
Settings -> Auto-Complete Possible Numbers
               This will also disable editing the possible numbers
               Add Find Solutions
                   This will complete the sudoku if a single solution
is available, I am user what the behavior should be if more than one
solution is found...


Note: the game does not generate puzzles with multiple solutions. There used to be the ability for users to input a custom game, but I don't think this option even exists, so you shouldn't have to deal with the "multiple solution" scenario.
 
                       This will probably use a recursive algorithm...
                       It could also be based on human reasoning,
allowing it to walk the user through the solution, there do exist some
quite complicated techniques...
                       http://www.sudokusolver.com/play/techniques/advanced/


I've been meaning to document the algorithms better for some time, but please note that the puzzle generation, puzzle rating and hint providing is all based on a simple solving algorithm already. The game does *not* store solution grids, so it never "knows" what the answer is (though it can solve the puzzle of course to find out).
 

               The Hint button will be implemented as before
               Highlighter
                   Different default colour for the Highlighter (its
a bit hard to see at the moment)
                   Also make it configurable
           Add a pause option on the toolbar and in the menu, as well
as adding a timer as in gnomine
       New Game Screen
           Consistent background colour (white box on grey background
at the moment)
           Better management of saved games
               Delete option
               Scrollbar to see them all
           Add custom option (for empty Sudoku)
               https://bugzilla.gnome.org/show_bug.cgi?id=559298
               https://bugzilla.gnome.org/show_bug.cgi?id=602655

Ah yes, so this was eliminated. I haven't been very involved with development since this became part of gnome-games, but this feature was there in the version I wrote long ago fwiw. I guess that's to say that this feature was removed at some point in an effort to "simplify" things. I'm all for putting it back, but it does seem worth at least thinking about since at some point someone thought it was worth taking out (if I were less lazy I could look back through the changelog and see when this happened)
 

               Custom sudoku is for perhaps doing one found elsewhere
in the program
       End of a game
           Implement the colours
               Decide what to do considering this bug, definately add
a configuration option to disable them
https://bugzilla.gnome.org/show_bug.cgi?id=661450

I thought the colors were kind of fun. We used to just have a "You won" dialog pop up or something. If we really think this could cause a seizure (really? are they sure?), I suppose we could disable it. It seems silly to create a configuration option -- either it's a real problem (then we remove it) or it's not (we keep it), but creating an extra preference seems (to me anyway) to go against the gnome spirit of things.
 

           When finishing a puzzle, the user should be given the
option for an easier, same dificulty, or harder puzzle
               https://bugzilla.gnome.org/show_bug.cgi?id=541723

Note: the game stores difficulty scores which are much more granular (whether they're accurate I don't know -- that depends how good my "difficulty" algorithm is at predicting what human's perceive as difficulty). I intentionally simplified the game to remove these scores from the interface. Currently, the *shading* of the color actually indicates the more subtle degrees of difficulty.

I would be for coming up with an elegant interface that showed you where your last game was in relation to the new options being offered. I would not be for going back to the old interface which shows precise difficulty numbers, as I think it's overkill.

 

       Multiplayer
           https://bugzilla.gnome.org/show_bug.cgi?id=625960
       HiScore Support
           https://bugzilla.gnome.org/show_bug.cgi?id=664948

Does it make sense to have sudoku "scores"? Doesn't seem to fit the nature of the game, imo.
 

   Printing
       Add advanced printing options
           Booklet printing
               https://bugzilla.gnome.org/show_bug.cgi?id=663930
       Generation of puzzle’s might need consideration when  printing
large amounts, perhaps using a dialog with a progress bar
           https://bugzilla.gnome.org/show_bug.cgi?id=580055
       Print Puzzles of multiple difficulty levels
           https://bugzilla.gnome.org/show_bug.cgi?id=616365
   Puzzle Generation
       Multi-threaded
           https://bugzilla.gnome.org/show_bug.cgi?id=580056

Multi-threading would be nice, but a lot more could be done to improve generation of difficult puzzles. IIRC, the current algorithm just makes *random* puzzles and then scores them. I long intended (but haven't had time) to make an algorithm that would actively *try* to create hard puzzles. I imagine enormous efficiency gains could be made if you did some coding in this direction that would probably outpace the gains of multiple CPUs.
 
Hope this is helpful. Sorry I haven't been more available to actually do coding, but it turns out job+3-kids+free-software-hacking is much harder to keep up than just job+free-software-hacking was.

Tom



_______________________________________________
games-list mailing list
games-list gnome org
http://mail.gnome.org/mailman/listinfo/games-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]