Find The Ships (FtS) is a single-player strategy puzzle game where your goal is to locate 10 missing ships using the clues provided, and a bit of educated guesswork. It is a hybrid between the Battleship board game and Minesweeper computer game. It was inspired by a pen and paper game found in Games World Of Puzzles, inspired by, but not exactly the same game.
You play the game by making a series of educated guesses, to wit: whether there's a water tile or a ship tile underneath an empty slate tile. This is done by clicking (or tapping) on one of the slate tiles in the 10x10 grid, turning it into a ? tile. Then submit your guess by clicking (or tapping) one of the guess tiles located in the corners of the grid (above and to the side of the yellow number tiles.) When there are no ? tiles active the guess tiles will contain the FtS animated icon. After you submit your guess the tile beneath will always be revealed to you. If you missed the guess you lose a life, represented by the heart images on the left side of the bottom row. When a life is lost the heart tile is replaced by a skull and crossbones tile. When you run out of lives the game is over and you lose. If you make enough correct guesses you can earn extra lives. I haven't decided exactly how many lives to give you to start with or how many correct guesses will be needed to earn extra lives. I want the game to be difficult enough to be a challenge and yet easy enough to be winnable. Currently, I have it set to start with 1 life and earn an extra life after 85 correct guesses, meaning it's possible to earn 1 extra life, or a total of 2 lives per game. Again, this is fluid and subject to change.
(As of version 2017.11.03, most guesswork has been removed. Most puzzles should be solvable by logic alone until perhaps at the very end when it comes time to find the single-cell patrol boats.) It's not all guesswork, but much of it is just that. Still, even when guessing there are ways to maximize your chances of making a correct guess. For example, if a cell is in a row with 6 ship tiles in it and in a column with 4 tiles in it, then the chances of this tile containing a ship are going to be higher (76% -- independent of any other clues available) than, say, a cell in a row with 2 ship tiles and a column with 1 ship tile (28% chance of being a ship tile). Think of it like this, probability of the first tile (6 in row, 4 in column) *not* being a ship is 40% x 60% = 24%, thus the probability of it *being* a ship would be 100% - 24% = 76%. The other cell (2 in row, 1 in column) has a probability of *not* being a ship of 80% x 90% = 72%, thus 100% - 72% = 28%, representing the probability of it *being* a ship tile. (These calculations assume none of the other cells in either row or column have been uncovered yet.) Moral of the story: make educated guesses when guesses are required.
The battleship requires 4 contiguous cells, and thus is the most difficult ship to hide. You can usually narrow it down to just 2 or 3 possible general areas that ship must be hiding in. Once you find it, then start working on the 2 cruisers (3 tiles each), then the 3 destroyers (2 tiles each), and finally the 4 patrol boats (1 tile each, and the most difficult ships to pin down). Often finding these will require some guesswork, but hopefully you will have earned a few extra lives by this point if you saved these little ships until the end.
The first thing I always do when playing is I look for the 0 rows and column numbers, and then "guess" all of those tiles are open water tiles. I can often gain an extra life without even making any real guesses. Tip: Click the Number tile to quickly mark all the slate tiles in that row or column for guessing. (You can guess multiple tiles at the same time.) But it's not just 0 tiles that can be obvious. Once you uncover a single ship tile in a row or column with only 1 ship in it you then know all the remaining tiles in that row or column must be open water. Always go ahead and clear these out as soon as you can. Another obvious tile that you might overlook is all tiles adjacent to a ship tile must be open water (at least once you figure out which way the ship is oriented, whether horizontal or vertical). All the tiles diagonal to any ship tile will always be open water. (Ships are *never* diagonally oriented and are never in adjacent diagonal tiles.)
Ships *never* go DOWN or LEFT. So, if you uncover a ship tile (non-bow midship piece) you know the tile either to the top of it or to the right of it must be another ship tile (perhaps the bow). In cases where the ship can only be vertically oriented you know the tile above the ship tile must be another ship tile. Similarly, in cases where the ship must be horizontally oriented you know the tile to the right must be another ship tile.
Do you see the blank image?
v2017.10.27 -- Initial release, probably still very buggy.
v2017.10.27 -- Added status bar beneath game grid. It will show the row and column calculations when in guessing mode. For example, you might see "row = 2/4, col = 1/5" or something similar. This is telling you cells on this row have a 2/4 probability of being a ship and cells on this column have a 1/5 probability of being a ship. These calculations are strictly based on remaining uncovered cells divided by initial row or column ship counts less uncovered ship parts.
v2017.11.02 -- Changed hints shown to now be 1 randomly chosen cell in each column.
v2017.11.03 -- Came up with a better way to choose which hints to give. Almost every game *should* be solvable without need to resort to any guesses at all except for some cases where you might get down to the final patrol boats and have to guess, but by then you should have earned an extra guess. Set starting lives to 1 and new earned life at 85 correct guesses.
v2020.08.27 -- Fix a little bug in the function that shows remaining ships at large, was drawing Destroyer #3 twice.
I welcome all comments/suggestions/criticisms. Drop me a line via mwganson at gmail with Find The Ships in the subject line.