PuzzleFAB is a pattern language and Unity player for creating and playing abstract single-player games and puzzles.

Abstract games are those with no theme, no characters, no story, just a play area, rules and a way for players to win or lose. It usually means games of perfect information such as most board and paper-and-pencil games, but it needn’t stop there. It can include games for more players, but in in these games there is only one. It can include games with random elements and with complex ways of moving, but these games are mostly about pushing stuff around. It can include games with simple theming, as Sokoban where a ‘Player’ pushes ‘crates’ onto ‘targets’. It’s hard to be sure where to draw the boundaries.
Perhaps there are none, but for now PuzzleFAB does what is described here.

PuzzleFAB implements a pattern language compatible with PuzzleScript. PuzzleScript is an incredibly ingenious creation of Stephen Lavelle, see puzzlescript.net. Full credit to Stephen, but targeting only the web has both strength and limitations. PuzzleFAB targets Unity, which in turn can be used to create players on almost any platform: Windows desktop, Linux, WebGL, Android, iOS and so on.

The current status is that the PuzzleFAB is released in beta, and it 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. There games to show off new features (like 2048) and there games selected from the PuzzleScript demos, to show the range of what now works.

Here are some screenshots.