A downloadable game for Windows and macOS

Are you ready for some Sudoku?


Play some randomly generated Sudoku puzzles! You can even customise your playing experience by choosing from a selection of variants, sizes, and difficulties. Or, you can take a shot at over 170 levels across 6 variants. You can also access the editor to construct your own puzzles and test the solver to see if it can find the solution(s) This game was made for a Computer Science project, I hope you enjoy!


Credits to TonoCia0n3 for providing the soundtrack for the game.


FAQ:

Why can’t I play this in browser?

I originally intended the game to be a WebGL build so that it is widely accessible to everyone, but I ran into some issues regarding inconsistent data saving and scenes not loading properly. Apparently these are some WebGL-specific issues unbeknownst to me that I couldn’t resolve in time. I’ll try my best to create a browser-playable version in the future.


How does the game generate a puzzle?

The game showcases two solvers which are used in conjunction to generate a puzzle based on your customisation. The first solver makes use of the Algorithm X via the Dancing Links technique. The idea is that a Sudoku puzzle can be modelled as an exact cover problem, which is akin to a matrix. The rows define a specific digit placement to a specific tile in the board, and the columns define the different constraints that digit placement satisfies. For example, in a 9x9 Classic Sudoku, placing the digit 1 in the cell R2C2 satisfies the following constraints:

  • the cell R2C2 has a value
  • the row 2 has the digit 1
  • the column 2 has the digit 1
  • the box 1 has the digit 1

the solution to this problem involves finding the subset of rows such that every column is covered exactly once, hence the name. The Algorithm X is a recursive, nondeterministic, depth-first, backtracking algorithm that specialises in finding exact covers by prioritising columns that are least constrained and covering/uncovering columns until there are no more columns that are left uncovered. I suggest doing your own research for further information as I cannot do it justice with my explanation, as this is a really powerful algorithm. The second solver implements a variety of Sudoku solving techniques to emulate how a human would logically solve such a puzzle. It includes the following techniques:

  • Naked Singles
  • Hidden Singles
  • Naked Pairs
  • Hidden Pairs
  • Naked Triples
  • Hidden Triples
  • Naked Quads
  • Hidden Quads
  • Pointing Pair / Triple / Quad
  • X-Wing
  • Y-Wing
  • Swordfish

For more information about what these techniques are, take a look here. By using them together, I can generate a filled board via DLX, then remove the digits of cells and asking the logic-based solver to see if the user can logically find the solution. This process is generally the same across the other variants, as all I need to do is to convert their ruleset into additional constraints for the incidence matrix. But of course, there are some other stuff that happens within the generation logic (like generating regions for Jigsaw, cages for Killer).


Why does it take so long to generate a puzzle?

This usually happens if the selected board size is large and the chosen variant has a quite complex ruleset that makes it easy for the algorithm to run into a dead end (like Killer Sudoku or Anti-knight).

Download

Download
Sudoku Plus (Windows 64-bit) (1920x1080).zip 39 MB
Download
Sudoku Plus (Windows 32-bit) (1920x1080).zip 35 MB
Download
Sudoku Plus (Windows 64-bit) (1366x768).zip 39 MB
Download
Sudoku Plus (Windows 32-bit) (1366x768).zip 35 MB
Download
Sudoku Plus (Mac) (1920x1080).zip 36 MB
Download
Sudoku Plus (Mac) (1366x768).zip 36 MB

Leave a comment

Log in with itch.io to leave a comment.