Puzzlang is a pattern language for abstract single-player games and puzzles, with a Unity player. This version targets PC desktop and Web browser, but can be built to play on a phone just as easily. You can play it here or download it here.
The release includes the Puzzlang games engine, Unity player and a selection of games written by others. 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 plus a few extras, and show the range of what now works.
Puzzlang and its player can play most PuzzleScript games with 100% compatibility. The following enhancements are implemented so far.
- Mouse input events Fire1, Fire2, Fire3 and Hover, applied to any object defined as ‘clickable‘.
- Objects can have text sprites, either a single character or a string.
- Setting pause_at_end_level makes the engine wait for an extra input at the end of each level. The player implements this.
- Setting pause_on_again makes the engine wait for an extra input when processing an again loop. The player implements this.
- Object sprites can be any pixel size, not just 5×5. The minimum is 2×2. Support for named images is planned.
- Commands for undo and reset (start over, discarding any checkpoint).
- There is an input for reset, not bound to any key but used in testing.
- The player allows Pause, Reset, Quit, Restart from a chosen level and Select a game from multiple pages including gists.
- Additional input event Reaction, similar to Action but not bound to a key.
- Commands level, status, text, call (see sample programs).
So feel free to try it online, download it, play it, give it away. Let me know about any problems you find.