I often joke that pushing boxes is my all time favourite thing to do in video games. In fact, I made a whole game about pushing boxes. It’s called Machinata and it’s on Google Play. I don’t know how true it is that is my all time favourite, but there is a point to the statement. Pushing boxes around like this gets right down to the flavour of spatial puzzle-solving that I really like. So it was never a question of whether there would be pushable boxes in this Elephant Game.
You’d be surprised how many different ways you can handle boxpushing in games though. Zelda often uses a button to grab the box, and then lets you push or drag it. That was the solution I used in the now cancelled Project Caesar. In a game jam from a while ago, called Thieves Beneath the Face, I had a more Pokemon-like approach, where you would simple push your sprite against the box and make it move. The problem I had with that was that the effort was too small. You could basically just look at a box, and it would immediately bend to your will and start moving.
To fix that, I have now added a sort of fake inertia. Now you have to push yourself against the box for a short time before it even starts moving, which is very satisfying. For a while I played around with a system, where once you had the box moving, you could keep pushing it for as long as you like. But that led to a lot of issues, where boxes would get stuck on edges, or go halfway where they needed to be and so on. So now I have instead made it so that a box will move exactly one grid space each time you push it. This is great for precision pushing, but might be tedious if you have to push it a longer distance.
That wont be much of a problem though, since I plan to make puzzle really streamlined and snug.