Push-pull output: the genius of PuzzleScript

Why Stephen Lavelle’s open-source engine might be the most accessible game creator around

Alan Hazelden knows a fair bit about puzzle games. The Coventry-based game developer is the man responsible for brilliant chemistry-themed PC puzzler Sokobond and narrative-driven mobile mind-bender These Robotic Hearts of Mine, as well as several smaller and more experimental titles. So his insistence that PuzzleScript was “the most important thing to happen to the accessibility of game development in the last year” piqued our interest. We had to know more.

“It’s pretty easy to pick up even for those who've never made a game before.”

PuzzleScript, it turns out, is an open-source game engine written by Hazelden’s friend, prolific indie developer Stephen Lavelle, best known as ‘increpare’. It’s been designed to offer its users a quick and easy way to build tile-based puzzle games like puzzle classic Sokoban. It does this using a bespoke scripting language based on simple commands, designed so that anyone – not just experienced coders - can easily parse it.

The first version was released last October, and Hazelden has been using it almost from the start, creating a Hallowe’en-themed game as his first PuzzleScript experiment. “I know Stephen pretty well, so when he was talking about a tool for making puzzle games, I was obviously interested,” he says.

“PuzzleScript lets me make interesting games that only take about a week to create.”

So how does it differ from other development tools he’s used in the past? “I'm normally very code-focused,” Hazelden adds. “I've never used GameMaker or anything like that. PuzzleScript doesn't have coding in the same sense - making a game in it doesn't feel like programming, it's more like you're building up a set of mechanical interactions. So you might [add a condition] saying, ‘if the player tries to walk into a box, push the box along’. Or ‘if a box is on a switch, open all doors in the level’. Or ‘if the monster is in line-of-sight with the player, move the monster towards the player’. And you're defining these interactions in a simple format that's pretty easy to pick up even for those who've never made a game before.”

For developers like Hazelden, the appeal is simple – it’s easy and quick to make games with. It's also particularly well suited to the kinds of games he wants to make. “When it first came out, I'd just released a game that had taken a year and a half and I was kind of burnt out on coding,” he admits. “And then PuzzleScript comes along and lets me make interesting games, that only take about a week to create, and that don't feel like a hard slog like programming for another big project would.”

In the 10 months PuzzleScript has been available, Hazelden has made seven games. Sticky Candy Puzzle Saga is a devious variant on classic Sokoban, where the sweets you’re pushing will instantly adhere to any others they come into contact with. You’re Pulleying My Leg, meanwhile, is a deceptively tricky single-screen conundrum involving a series of angled mirrors and sun stones that disappear when light is reflected onto them, the object being to remove all the obstacles to reach the bottom of a cave. He’s also engineered a smart demake of Michael Brough’s celebrated iOS puzzler 868-HACK. Hazelden believes they’re every bit as good as games he might have made with more complex engines. “They just look slightly more low-res and took a fraction of the time it would have taken with another tool.”

A growing gallery of games is currently available, with several made by experienced designers, including Terry Cavanagh, though many others have been made by complete novices. “You definitely don't need a coding background,” says Hazelden. “You probably need a certain amount of patience and willingness to experiment and see what happens, but that is pretty much true of any approach to game development.”

Hazelden believes that the skills beginners learn in PuzzleScript could easily be applied to other game creation tools, and he envisages budding game-makers being inspired to try more advanced languages. “There are two parts here,” he explains. “One is the technical side of things: what tools you use. And in that sense, PuzzleScript is different, but not so different that it can't prepare you for using something else. Teaching yourself to use a tool, no matter what it is, will help you teach yourself to use other tools later. And the thought processes involved in debugging why certain interactions aren't behaving the way you'd expect them to are basically the same as debugging in any normal programming language.”

A game’s visual objects are defined in the same editor as its sounds, rules and win conditions, with each element using a 5x5 grid.

“The second part is just that games are games, no matter what language or tools you're using to make them,” Hazelden continues. “The best way to improve at game development is to make games, and it doesn't really matter what you're using. There are so many transferrable skills involved just in making something, releasing it, seeing how people react and taking that into consideration for whatever you do next.”

Indeed, Hazelden is currently working on a project he originally prototyped using PuzzleScript. A Good Snowman Is Hard To Build will be getting a commercial release, though Hazelden insists he’s mostly happy sticking to making small free games. He recently set up a page on crowdfunding platform Patreon so those who enjoy his work can support him. “Even before the Patreon, I was making mostly free games,” he says, “just because that's the best creative balance for me personally. Big projects are really draining, and it's nice to be able to work on something and release it, without it hanging over you for months.”

Users can ‘hack’ existing games, retooling the source code for their own ends or simply using it to learn from.

Little wonder Hazelden is such an evangelist, and why it’s already attracted some of the best and brightest independent developers. Creatively fulfilling, accessible and surprisingly flexible, PuzzleScript might not be widely known outside the indie sphere at the moment, but it’s certainly more than capable of inspiring a new generation of wannabe game designers.