'Gallivanting Gophers' is a Gopher themed digital interpretation of a board game known as "Ricochet Robots". The game focuses on problem solving, route visualization, and cognitive spacial memory. The core concept is simple...given the current board's position determine the fewest number of moves possible to get the Gopher from it's location to the destination. Pieces can move in any direction but may only stop upon hitting a wall or another gopher. Only once stopped can they change direction. By utilizing the combination of moving all pieces, the complexity can grow to find the best solution. Once a player states the fewest number of moves they feel possible, a timer starts providing a duration for others to "best" the claimed number of moves. The person with the solution having the fewest moves wins the round.

The game has been very popular in my workplace amongst engineers, but we found in it's simplicity an annoying flaw which is easily solved with the help of computers. It is difficult to enforce a certain level of difficulty with the board game which causes many games to end too quickly or have solutions which are too simple (where as others can be too hard for certain players). By utilizing randomly generated boards which can be computationally tested via computer we can enforce deeply complex solutions as the minimum viable moves required to win (or in turn, easy to solve positions). In time I could adapt the game to allow alternative board layouts and sizes which could bring an added twist.

For the Gopher Gala I wanted to focus primarily on the back-end engine which behaves like a service provider for game clients. Unfortunately to verify that my engine was working properly I was forced to develop more UI early on than I had hoped thus, I could not create all of the service based features. With that said, I plan to continue working on this project after the Gala to have an improved version -- Primarily a greatly improved visualization, it is currently painfully underdeveloped but it's not written in Go so I decided to hold off on that until after the Gala.

I've provided 6 images which play out an "easy" puzzle. The goal in this example is to get the red gopher to the mushroom. It starts out by moving the yellow gopher into position before moving the red gopher to allow him to bounce into place. This takes 5 moves. There is a better solution that only requires 4 moves..for fun you can see if you can spot it :) A "hard" or "expert" puzzle would have minimum move solutions in the 40-50+ range. Hope this is clear enough without a video, this was played out with the client provided in the repo.

Share this project:

Updates