Hi, it’s me, Nico. I’m programming PMPY.
When we started development, I had been teaching myself programming for a year and a half, and my only other game was a puzzle game. The ins and outs of a real-time physics game were a mystery to me.
The good thing about making games is you don’t have to know how to make a game, just how to start one. So my first job was to find the very simplest version of PMPY possible, and just work my way up from there. Like everything, game development is about finding the next step and taking it. So here’s a look at how we made Push Me Pull You, step by step.
I started by making a version of the shared body you would play with. At this point it’s just a little physics simulation.
The body is made up of lots of circles that try to stay a set distance away from each other, with the end ones controlled by the players.
It looks like an earthworm!
The next step was to give the earthworm some collision, so it can push it’s own body around. Each of the physics points collides with the others, with exceptions for neighboring points to allow for crinkling at the corners.
I also added a restriction for how much you can stretch the body. Once the total length is too long, the end points just go back to being regular physics circles rather than special player controlled ones.
It turns out this was enough to make the body feel quite physical. The core of PMPY has been the same ever since.
Here I added a second worm, a ball and a goal line, and suddenly we had a videogame. We knew we were onto something when we played this prototype - it was already lots of fun (and gross).
The second verb we added to the game after movement was the ability to extend and contract the length of your body. In the coming months we tried many others to see what they would be like, but this was the only one that felt right. Sometimes your first ideas are your best ones.
You can also see that I tried to distinguish the different ends of the body to help players remember which one they are.
Ugh! Gross. This was my first attempt at coding some arms into the game, and I completely misjudged how long they should be. It’s a good game development day when a poorly chosen value ends up creating horrid spider monsters.
Okay this is more like it. This is still my silly programmer art, but making them look a little bit more like people helped us realize that the bodies needed to be much thicker. The sports-monsters are looking a little less like earthworms.
That covers the first week or so of PMPY development. And looking back, it seems to be the week that things changed the fastest.