gbUnSnarl is an addictive game, where the object is to move circles
until all connecting lines are blue, meaning there are no overlapping lines!
The rules are quite simple but you'll find that playing the game can require some thought to win! Three levels of difficulty - Easy, Medium and Hard - are available.
To put gbUnSnarl on your PC, just download the file above and unzip it into a folder of your choice.
I'd like to give special thanks to Rod Stephens
and Rodney Hicks for their suggestions and help in testing gbUnSnarl. Additionally, the function used by gbUnSnarl to detect line segment overlaps is based on code from Rod's VB-Helper website.
Here's an image of a Graph and its solution:
Here are some of the most useful gbUnSnarl features. See the context menu
section below for a full listing of features and settings.
- 3 Levels of Play
- Onscreen information game statistics
- Record best performances (time to complete)
- Save games to play later
- Online Help (this page)
If you play the game and have suggestions for new features, please let me know!
When gbUnSnarl starts, a new game is automatically generated at the current difficulty
settings. Play consists of moving the circles by dragging them with a mouse until all
connecting lines are blue (no overlaps). That is called "solving" the game.
gbUnSnarl will acknowledge when a game is solved.
To start a new game, press the "New Game", "Easy", "Medium" or "Hard" context menu
gbUnSnarl has just one window where the circles and connecting lines are dispalyed.
All settings and available actions can be seen by right-clicking on the application to
display the context menu.
The gbUnSnarl window can be set to show or hide a variety of content - information
to help the user better solve and enjoy the game.
- Circle, line and overlap counts
- Circle and line numbers
- List of overlapping lines
- Click counts and elapsed time
- Temporary messages
All features of gbUnSnarl are accessed through the context menu. Just right-click on
gbUnSnarl to see the context menu.
Here's an image of gbUnSnarl displaying all optional content:
During play, gbUnSnarl may display temporary messages in the lower left hand corner
of the window.
gbUnSnarl Context Menu
Right-click on gbUnSnarl to display the context menu, from which all settings
and actions may be accessed.
Here's a description of what each context menu item does:
- New Game - start a new game at the current difficulty level
- Easy - set difficulty to Easy
- Medium - set difficulty to Medium
- Hard - set difficulty to Hard
- Solve - gbUnSnarl will solve the Graph for you (animation)
- Show Stats - display the circle, line and overlap counts (upper-left)
- Show Time - display the elapsed time and number of clicks (lower-right)
- Show Circle Numbers - display numbers in the circles
- Show Line Numbers - display numbers adjacent to the lines
- Show Crossover List - display list of crossling lines (left side)
- Small Font - Use smaller font for displayed text
- Celebrate - Congratulate you for solving a Graph
- Quick Solve - Speed up the animated Graph solving
- Hide Circles - Hide the circles, but show the lines
- AutoSave Game - Save each new game automatically
- Pre-Scramble Pause - Show the Graph before it is scrambled for play
- Save Game - Save the current game.
- Restore Game - Load the saved game.
- Show Records - Display current elapsed time records (lower-left)
- Reset Records - Assign an high value to the Easy/Medium/Hard elapsed time records
- Help - Open this Help page in the user's default browser
- Exit - close gbUnSnarl
Startup: When gbUnSnarl starts, it creates a new game at the current level of play.
Levels: The Easy, Medium and Hard levels of play contain different numbers of circles
AutoSolve: gbUnSnarl will solve the Graph if you wish. It animates the circles, moving them
to positions that solve the Graph. Because of the way in which the Graph is solved,
it is possible that the animation will pass through other Graph solutions before
settling on a final solution.
Quick Solve:By default, the Solve feature moves each circle to the solved position, one circle at
a time. In order to speed up the animation (for impatient users) the Quick Solve feature moves all circles at the same time.
Stats: The "CrossOvers" statistic changes real-time as you drag circles to new locations.
CrossOver List: The optional CrossOver list consists of pairs of numbers, corresponding to the numbers
assigned to line segments.
Small Font: The small font option is provided to ensure that the CrossOver list can be viewed
in its entirety during Hard levels of difficulty.
Celebration: When the user solves the graph, the gbUnSnarl celebration consists of a clarion sound
and a voice congratulating the user.
Hide Circles: The Hide Circle feature is provide simply to allow users to see points of line segment
overlaps that might otherwise be hidded by the size of the circles.
AutoSave: AutoSave is provided as a debug option for users. If a user experience a problem during
a game, enable AutoSave will ensure that a set of game files are saved before the
problem occurs and shared with the gbUnSnarl author if appropriate.
Pre-Scramble Pause: To create a game, gbUnSnarl first creates a solved Graph, then scrambles it for play.
The Pre-Scramble Pause allows you to see the solved Graph before it is scrambled.
Save Game: Only 1 saved game is allowed. Saving a game writes over the previously saved game. When a game is saved, the click count and elapsed time are also saved.
The following key combinations are available to the user to access gbUnSnarl features:
- F1 - Help
- Ctrl-N - New Game
- Ctrl-H - Hide Circles
- Ctrl-L - Display Crossings List
- Ctrl-S - Solve
Background - Planar Graphs
There's an entire branch of mathematics that covers Graphs, which for our purposes
consist of circles and connecting line segments.
A planar Graph is one in which no line segments overlap.
There are algorithms which can be used to determine if a Graph is planar. Those are
generally considered quite difficult to implement and are not used by gbUnSnarl. Instead
gbUnSnarl takes a non-algorithmic, brute force approach to creating Graphs to solve.
For each new game, gbUnSnarl creates a planar graph by first placing a random number
of circles on the Graph. It then adds lines between randomly selected circle pairs. If
a newly added line overlaps an existing line, the new line is removed and the process
repeats. gbUnSnarl may go through thousands of new line additions/removals in order
to reach the assigned level of difficulty.
Once the planar graph is completed, the Graph is saved in memory and used as the basis for the Solve feature. The circles of the planar graph are then randomly re-positioned
to create the Graph (with over-lapping line segments) that is displayed to the user.
Miscellaneous information is provided in this section.
gbUnSnarl application settings are saved in an INI file, kept in the same folder as the application itself.
To uninstall gbUnSnarl, just delete the folder in which the files were installed.
Comments and suggestions are welcome!