Upstairs Downstairs

Hi! It’s been a while, but I’m back with a new game. Although things have been quiet here on the site for a long time, I have been working on something. It’s certainly the biggest and most ambitious game I’ve ever tried to make, but it’s still a long way from being complete, so I thought I’d do something smaller in the meantime. It’s a little different, but here it is: Upstairs Downstairs is my thirty-first game, and it’s… yeah, it’s another Sokoban game.

I have a good excuse, though! You see, my previous three Sokoban-style games were at least partially inspired by Puzzlescript – the Sokoban scripting language and associated game collection by the incredibly prolific Stephen Lavelle. I wanted to make a Puzzlescript game, but all the ideas I came up with were ill-suited to Puzzlescript’s relatively simple engine. Joiner would simply not be possible in Puzzlescript for a number of reasons. The Pearl might actually be possible, but I didn’t want to try it, and I just don’t see how Pushbot & Minibot could work in Puzzlescript. I finally came up with an idea that would be relatively easy to implement in Puzzlescript, so I started working on it. You can check the code by “hacking” the game (or by just clicking here) and see that it wasn’t as easy as I thought it would be – I wound up with 75 rules in an engine which can produce typical Sokoban behavior with only a single rule.

I’m hoping the game is self-explanatory, but let me explain a few of the limitations that make it unlike my other Sokoban games. Puzzlescript has undo, but no redo. So that’s a little different from my usual. The main thing is that Puzzlescript is limited to 5×5 pixel sprites for the art. So it will not look like any of my other games; hopefully this is not a problem. Oh, one more thing: there is no level select. You can’t go back and replay old levels without deleting your save and starting over. So that made me want to trim it down to as few levels as possible. And I cut quite a lot from the game as a result – but I still wound up with twenty levels. So the difficulty curve can get a bit brutal because I had to cut most of the easy ones. Sorry about that. Enjoy Upstairs Downstairs – if you dare!

6 thoughts on “Upstairs Downstairs”

  1. Haven’t been to your site in a while, so I hadn’t seen this one yet. It will please you to know that, in the second level, I accidentally pushed the stairs and had a sudden curtain of dread fall over me as I realized what I was in for. I assume that is your goal when making these.

    1. Nonsense. The dread is just a happy accident. Do let me know how you fare with level 16, though. Player feedback so far has led me to believe that I went too far with that one. But hey, maybe you’ll be the first one to beat it! Anyway, I hope you enjoy the game!

    1. Indeed it is, but it’s one of those unpleasant types of puzzles that requires you to do something counterintuitive at the beginning. I would’ve liked to make it an optional bonus level, but Puzzlescript has a very linear level structure that I wasn’t able to avoid. I probably should’ve cut it entirely, but the solution is still kinda neat.
      I will give a hint: At the start, you are standing next to two blocks. In order to win, you must find a way to avoid pushing one of those blocks.

Leave a Reply

All fields are optional. Your email address will not be published.