Simon Tatham's Portable Puzzle Collection is a great website to play simple games that you can play for 5 minutes at work or for serveral hours at a time. Theres a wide variety of games so there's something here for everyone, but not all of them are for me. This page will review all of them.

4/10 The rules are pretty confusing when you first start, but once you get it, its almost impossible to lose. You click the squares on the outer grid to give clues on where the hidden balls are in the grid. Metaphorically, clicking the clues sends a beam of light straight out of the square, into the grid, and is either bounced back (denoted with an "R" clue), hits a ball head-on (denoted with an "H" clue), or hits an edge of the board (denoted with a number on the clicked square and the same number on the other clue square it hit). When a ball is located on a square diagonal to the beam of light, the light turns in the direction opposite the ball. The general strategy is to click the squares until you get a pair of numbers on adjacent sides, and then you can place a ball one square diagonally from their intersection. If a pair of numbers are on opposite sides, don't place a ball in that row, and if the pair are on the same side, leave it to the end. The H clues usually come naturally. The R clues can be hard to follow, but it rarely matters if you are playing on easy mode and know the exact ball count. Playing on harder modes gives you a range of potentially ball counts, so sometimes the H and R clues must also be considered, and not just the numbers.

6/10 Pretty simple, pretty fun. You connect the circles with 0, 1 or 2 connections to its nearest neighbors to each side. The number on each circle is the number of connections it must have total, so the goal is to balnce the bridges so every circle's condition is satisfied. The logic can get tricky in the harder modes and sometimes I have to use guess and check to finish. Good points to start are circles that only have one neighbor, or circles that have numbers greater than 2 times the number of neighbors minus 1 (ex. for a circle with 3 neighbors, if its a 5, it must have at least 1 bridge to each neighbor, and if its a 6, it must have 2 bridges to every neighbor).

1/10 This is impossible. You have to direct the cube to paint each side blue. When a face of the cube is touching the board, the board and cube color swap. I have never won.

10/10 Very addicting. The theming is fun and helps to explain the rules. The lines in the grid represent double sided mirrors. The numbers outside the grid represent how many monsters can be seen from each square. Zombies can be seen all the time. Vampires can't be seen if they are after a mirror. Ghosts can only be seen after a mirror. Because of this, squares that techincally have the same path, can have different number depending on the mirrors and the order of the monsters. Paths that see 0 monsters are usually the easiest place to start. Inexplicitly, if a path crosses the same monster twice, that monster will be counted both times, even though its only one monster.There are easy, normal, and tricky modes for each board size and the difference in difficulty is noticable.

5/10 Fill the grid with numbers 1 to /grid size/ in each row and column, while ensuring all inequalities are true. Theres also a mode called "Adjacent" which has different rules that are explained no where on the page. The grid still has to be filled so each row and column have all the digits, but there are no inequalities. Instead numbers seperated by a line must be consecutive numbers. Since there is no explanation of this mode, I thought for a while that adjacent squares cannot be consecutive numbers except if they are seperated by a line. You can win following these rules but its a lot harder and doesn't always work. This mode is a 6/10

8/10 Color the grid black and white so that there are never 3 of one color in a row. I usually have to guess, but its fun to click the squares.

7/10 Years of detangling yarn finally is useful

To learn more HTML/CSS, check out these tutorials!