LOOP: A Tranquil Puzzle Game

LOOP is an elegant puzzle game based on paths through a hex grid. You start with a scrambled grid, swap pairs of hexes and when you finish all the loops link up in perfect harmony (see image).

No tutorial, but 100 individual puzzles introduce the key mechanic and the two special devices. Clicking on a hex highlights its border; clicking on another then gracefully swaps them over. One device is a simple arc inside a circle, which is fixed in location but changes colour when clicked. The other has three arcs inside a circle of arrows and is also fixed in location but rotates when clicked.

The maximum size of grid is a hexagon with four hexes to a side, sometimes a bit moth-eaten (see picture). The earlier puzzles often have a smaller grid, and some have holes in them. There are puzzles wth paths of just one colour, while others may use six or more. Sometimes the paths are tightly packed, using all sides of the hexes, sometimes they are quite sparse.

Finally there is a puzzle generator. The puzzles are less varied than the individual levels, but the supply appears unlimited. It’s a lovely puzzle with hours of enjoyment, and I highly recommend it to any puzzle aficionado. You can get it on Steam or direct from http://loopthegame.com/.

But of course the question I want to address here is: how does that generator work? And could it be even better? We might have to build a clone to do that.

Posted in Arcopoly, General | Leave a comment

More screenshots

More screenshots showing high-res and text sprites, and mouse support.

Posted in PuzzLang | Leave a comment

Update release supports cursor and text objects

Update release 18d17 of Puzzlang is now available on Github. This release fixes a few bugs and implements support for cursor games and text objects. The release is here. See the release notes for more information. Screenshot here:

And you can play it online. Try it here.

Posted in PuzzLang | Leave a comment

Update release now available

Update release 18c30 of Puzzlang is now available on Github. This release fixes a few bugs and implements a few remaining features of Puzzlescript. See the release notes for more information.

Now the real work begins, extending the pattern matching language of PuzzleScript to new game genres. Suggestions are most welcome.

Posted in Language, PuzzLang | Leave a comment

First Puzzlang release on GitHub

The first release of Puzzlang is now available on GitHub!

This release of Puzzlang implements a pattern language compatible with PuzzleScript. The release includes a Puzzlang games engine, a Unity player and a selection of games.

The Puzzlang engine compiles and executes games scripts. It is nearly feature complete with PuzzleScript, and has a few extensions. The Unity player is quite basic, compared to what Unity can achieve, but it can play games and it too has a few enhancements. The games are selected from the PuzzleScript demos, and show the range of what now works.

Here are a few screenshots.

More on the Puzzlang page.

Check it out and let me know what you think.

Posted in PuzzLang | Leave a comment

The Puzzlang Project Begins

PuzzleScript is a fascinating language for writing puzzle games, particular those of the block-pushing variety. It has a strong following, with hundreds of games written in it to various levels of quality. It is particular well-suited to prototyping a game (of a suitable genre) prior to turning it into a commercial quality distributable game. Full credit to Stephen Lavelle, whose many other creations may be found at increpare.

The aim of the Puzzlang project is to implement the PuzzleScript language using modern compiler tools, to put it on a firm footing from which it can be developed further. One reason is to target different platforms, such as Unity or mobile devices. Another is to improve the visual appearance, with higher resolution images and text. And there is the possibility of adding new features such as mouse support and new genres of puzzles based on the same pattern matching ideas.

So we begin.

Posted in PuzzLang | Leave a comment

Polygamo Release with User Games

An update to Polygamo has just been released. The release

  • supports user games
  • supports BMP files for user games
  • supports random players
  • has an improved script picker and shows the readme
  • has settable options for think time
  • macros now expand correctly, including inside strings
  • turn order works, including pass and random start
  • pieces can be defined in any order
  • fixes a number of bugs
  • improves Zillions compatibility.

The release includes 3 internal games and copies of around 30 user-created games, each with a readme.txt.

The release can be found on GitHub here.

Posted in Polygamo | Leave a comment

Polygamo Initial Release

Polygamo is a language compiler and general player for abstract games and puzzles. You can read more about it here.

The aim of Polygamo is to allow a human to play any general games and puzzles as long as there is a Game Description Language to describe them and a device to play them on.

The initial release is a Unity player with an implementation of the ZRF language. The project includes a games library, responsible for parsing the game description and providing the logic to play the game, an AI based on MCTS, a player for Unity, and a few sample games. This is just the first release, to get some feedback and gauge interest. More will follow.

This is open source software and it is free, in both senses. You are free to download it, free to use it or modify it and free to create games with it, at no charge. If you pass Polygamo or your games on to others you have to do so in exactly the same way: open source, free to use, free to modify and at no charge. For more details see Licence.

You can download Polygamo from Github here. You can submit issues there, or contact me through this web site.

Posted in Polygamo | 3 Comments


PySol is an exciting collection of more than 200 solitaire card games. Its features include support for lots of distinct games, very nice look and feel, multiple cardsets and table tiles, sound and background music, unlimited undo & redo, load & save games, player statistics and log files, hint system, demo games, support for user written plug-ins, integrated HTML help browser and lots of documentation.

Among the supported games are classics like Aces Up, Baker’s Game, Canfield, FreeCell, Forty Thieves, Golf, Klondike, Pyramid, Scorpion, Spider, Yukon, and many more…

PySol is copyrighted OpenSource software distributed under the terms of the GNU General Public License. PySol is written in 100% pure Python.

The original PySol project was discontinued in 2004, but PySolFC is a collection of more than 1000 solitaire card games. It is a fork of PySol Solitaire.

There are games that use the 52 card International Pattern deck, games for the 78 card Tarock deck, eight and ten suit Ganjifa games, Hanafuda games, Matrix games, Mahjongg games, and games for an original hexadecimal-based deck.

Its features include modern look and feel (uses Ttk widget set), multiple cardsets and tableau backgrounds, sound, unlimited undo, player statistics, a hint system, demo games, a solitaire wizard, support for user written plug-ins, an integrated HTML help browser, and lots of documentation.

PySolFC is distributed under the terms of the GNU General Public License.


The reason for including it here is as an example of the kind of game or puzzle that Polygamo intends to play, and a collection that might well be ported.

Posted in Collections | Leave a comment

Tatham Puzzles

Simon Tatham is a software engineer who created a collection of portable single-player puzzle games. Simon is better known in some circles as the author of PuTTY, but as a side project this one has been rather successful. With the help of others there are now around 40 puzzles, which run on Windows (desktop and Store), Linux, Mac OS X, Android and the Web. They are well worth a look.

Link: http://www.chiark.greenend.org.uk/~sgtatham/puzzles/

The puzzles are Open Source and written in C. The common code framework is rather low level, which rather limits the ability to implement new games or port existing ones to a games engine like Unity. The relevance to the Polygamo project is as working models: in principle it should be possible to re-implement all these games reasonably easily.

Posted in Collections | Leave a comment