Further thoughts on provable properties of the game - I think that if my thesis above (that the aim is to click on all the crosspoints but the order doesn't matter) is true
I think it is. The moves are based on addition and subtraction only, so I believe they are "commutative" in the mathematical sense, i.e. the order doesn't matter.
it also should hold true that it is impossible to make an incorrect move (that is permissible by the empty-square-lock rule) and still win the game. I certainly can't think of a scenario in which one could make a set of other moves to "correct" an incorrect one.
My gut feel is that this is also true, but I'm not sure I can prove it. However, I'm pretty sure that each move is unique (i.e. there's no way of achieving the same effect by any combination of other moves), and since moves are not reversible, there's no way to fix things once you've gone wrong. Maybe the game should allow a few"undo" moves, with the exact number based on the size of the grid and the difficulty?
Thought on game design - it would be nice if the game told you when no more moves were possible and you've "lost". I mean it should be obvious, but I'm not sure it always will be with more complex puzzles.
It's "obvious" in the sense that every row and column will contain at least one empty cell, but I agree it might take a while to spot this in a larger grid.
Hm. Need some mathematicians on this, I'm just a mere historian!
Paging Othko, paging Othko. Will Othko please come to the Kudosu thread?
@Glaurung I haven't actually considered or implemented a validator, and off the top of my head I can't think of an algorithm for solving the puzzles other than to brute force them, which I suppose is a nice property if it holds!
If you always generate puzzles by "reverse solving", then you don't need a validator - puzzles created this way will always be valid. You only need a validator if you create grids in other ways and then want to see if they are valid kudosu puzzles.
My minimal criterion for validity is that the total of all the cells in the grid has to be a multiple of (number of rows + number of columns - 1) - e.g. for a 3x2 grid, the total of the cells has to be a multiple of 4 (3 + 2 - 1). But I think this is not sufficient: if you take a valid grid and swap two cells with unequal numbers, the total for the grid will still be the same, but the grid will almost certainly not be valid any longer.
My suspicion is that there is an algorithm for determining the solution, and it probably gets expressed as a set of simultaneous linear equations (much like sudoku). But solving them might well require the same effort as a "brute force" solution.