Abridge Demake in Puzzlescript

We have a new rule: I am not allowed to interfere with Simon’s coding projects (ask him to record a work in progress vid) while he is busy with them as that seems to be disrupting his flow. He says he experiences my attempts to register his process as demotivating. On the other hand, he is very often juggling several projects simultaneously and very few (if any) of them get finished. I think it is perfectly fine he doesn’t finish many projects as it’s all part of his self-organized learning, but I do want to record at least some of them for his portfolio. The moment he loses interest in a project it is usually very difficult to get him to talk about it, he is on to the next thing. This was the reason I used to try to record his work in progress most of the time, at the height of his enthusiasm. We have now reached an agreement that I’m not going to disrupt his flow anymore, but that we will archive the bigger projects once they are finished or , for the ones he doesn’t intend to finish, as soon as he stops working on them.

Over the past month, Simon has worked on several projects (typing with one hand!), but the one big project I’m allowed to archive today is a “demake” (Simon insists we call it that way) of the puzzle game Abridge that Simon reverse engineered in Pattern:Script (version of Puzzlescript).

I don’t even know if Puzzlescript is Turing complete. Probably. If I’m able to make something this complex with it, it’s probably Turing complete.


Simon doesn’t want to publish his demake or even reveal his code, because it’s a paid game and he doesn’t want to infringe anyone’s copyright, he has been very adamant about this. Below is a screen recording of Simon showing some of the levels. In total, the project is over 1500 lines of code.

I do want to say that of those 1500 lines, only around 500 were actually lines of code that I have written. The remaining 1000 are just the puzzles, and those were made in the level editor built into puzzlescript and then automatically encoded into text format. Also, of the 500 “actual” lines of code, about 400 are just sprites (there are no image files, so you have to put the sprites directly into the code as ascii art). So actually, only about 100 of the 1500 lines of code are actually rules for the game. That’s still a lot though.

Screen recording of Simon showing his demake

The hardest part was implementing the mechanics, I saw Simon nearly banging his head against the wall trying to make those work. Once he had the rights mechanics, actually reverse-engineering the levels was easy. He built the first few levels watching play-throughs on YouTube, but when there were no more play-throughs to be found, we actually bought the game and encountered great difficulty to open it on Simon’s M1 MacMini (I think it took Simon a whole day to finally figure out how to open it, glad he didn’t give up).

The demake is almost complete, there are only two levels that Simon didn’t make – they involved a lot of tedious work that didn’t see any value in anymore.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s