There are three different tile sets: hex, square, and triangle. There are also infinite versions of each. Hex are the easiest, triangles are the hardest. Infinite repeating planes make some things much more complicated.
The 5 region and the 3 region can't be resolved directly, but you can say:
* the 4 cells within the 5 region must either be a 3 region or a 4 region
* the 2 cells in both regions must either be a 1 region or a 2 region
* the 2 cells in the 3 region must either be a 1 region or a 2 region
So you would create those as rules.
Later, you get to use variables (they get tricky to think about)
A region with X+ (e.g. 3+ which says that this region has 3 or more mines) that overlaps a region that has one more than the number of mines in the X+ (e.g. if the X+ was 3+ then the second region would be 4) and there is no part of the X+ region that does not overlap the X +1 region... and I don't care about the actual values designated by the '?'
The intersection of the two regions is either X or X+1 (3 or 4).
But that rule can be applied for a 1+ and 2 region, or a 2+ and 3... and so on.
The X+Y region that does not overlap the X region has Y mines in it. So a region of 8 that overlaps a region of 5 (and all the 5 is in the 8) has 3 mines in the non-overlapping area.
Bombe embeds a copy of the Z3 SMT theorem prover to validate that the rules you create are sound, enabling it to show counterexamples for logical inconsistencies.
People mention the UI being bad-- I think it's more that the fundamental gameplay loop is confusing, and it's sometimes hard to understand the logic behind the rules you need to make.
Well that's awesome. Do you know, is the theory decidable? My guess would be yes, due to quantification over only bounded integers, but I'm not sure what the full complexity of the rule language is.
The rules you create are in the form of venn diagrams of up to 4 overlapping regions (see shagie's top-level comment), where you can specify rules for each region to match and the sizes of the different overlaps, and then the output is a decision-- marking specific regions as clear/bomb, creating new regions (!), or even changing region visibility-- marking them as hidden or removing them from further rule evaluations.
Those rules can include terms like "5", "x", "x+2", and "x+y+3", so you can express most variants in a signle rule.
The closest to "undecidable" under this rule system is that you can hide a region and prevent further deductions from it, making some board states impossible to resolve. Other than that, all the rules are decidable.
I like this! It reminds me of Zachtronics, specifically Exapunks. I will make sure to grab a copy. Gameplay is important to me, so I hope that it plays well. I'm curious is there is a solve state. We will see.
Confusing and visually unpleasing (assuming that's what you meant by "pixel vomit") are two very distinct things. And it looka nothing like anything from 1993 or something you would describe using the word "pixel".
“Robots will use all the CPUs in your computer to solve levels in the background. Not only does it cut down the time to re-test all levels, it makes your room nice and warm.”
And hexes are only one of the tile sets. They're the easiest. Squares are a bit more difficult. Triangles can get crazy. Infinite triangles can get most confusing.
There's so many games like this that seem completely capable of playing in the browser. Why haven't we seen a platform like Steam for in-browser games?
There are benefits to not having to worry about browser restrictions though (storage, state clearing, working on the latest browser or version, dances for various permissions (both invisible and visible) as well as something to be said for getting your game in the same marketplace as non-web games. This makes it less attractive for many games, even if it's possible.
The UI feels unpolished (why can't I select multiple patterns in one movement? Why is the bomb/free selection so small?) but the game loop itself is quite satisfying. I remember playing Minesweeper as a child, explaining the deductions I made to imaginary friends, and having to think through why a certain rule works the way it does scratches the same itch.
There are three different tile sets: hex, square, and triangle. There are also infinite versions of each. Hex are the easiest, triangles are the hardest. Infinite repeating planes make some things much more complicated.
You start out with simple constant based rules.
The 5 region and the 3 region can't be resolved directly, but you can say: So you would create those as rules.Later, you get to use variables (they get tricky to think about)
A region with X+ (e.g. 3+ which says that this region has 3 or more mines) that overlaps a region that has one more than the number of mines in the X+ (e.g. if the X+ was 3+ then the second region would be 4) and there is no part of the X+ region that does not overlap the X +1 region... and I don't care about the actual values designated by the '?'The intersection of the two regions is either X or X+1 (3 or 4).
But that rule can be applied for a 1+ and 2 region, or a 2+ and 3... and so on.
And then you get more variables that you can use.
The X+Y region that does not overlap the X region has Y mines in it. So a region of 8 that overlaps a region of 5 (and all the 5 is in the 8) has 3 mines in the non-overlapping area.