Post-game celebration
Now you can see what happens to the players after a game.

Looks like the losers got bit by a crab.
Now you can see what happens to the players after a game.

Looks like the losers got bit by a crab.

When we decided to add pictures of our characters doing things other than playing sports, our customisable characters gave us a problem. How could we draw the winners of the match when we didn’t know what the winners were going to look like?
We couldn’t just draw someone eating ice cream, we needed a way to show anyone eating ice cream. We could use our in-game art, but then everyone would have be drawn from top down.
We needed something less restrictive, that would still let every picture work with every character.
Our solution was to create a second view of our character’s faces, that works with every possible face, that can be dropped into other drawings. We call it the ‘arthead’.

-Nico
I recently watched Itay Keren’s GDC talk about camera design for 2D games. It’s really good, you should watch it too if you like that sort of thing. In the talk, Itay takes a comprehensive look at different camera techniques, explains what they are good for, and shows how they work with animated screenshots. Watching it inspired me to share how the PMPY camera works.
During the first few months of development, the camera was something we didn’t think about at all. We originally had a fixed camera that showed the whole court. You could see everything at all times, and we assumed we were finished. We had made a perfectly fine camera first try, and that was that.

PMPY one month in - I guess we were only targeting square screens.
As time went on we started getting frustrated that our characters looked so small, and that large parts of the screen were completely empty. In hindsight, it’s obvious that our camera was to blame, but the solution wasn’t obvious to us at all. In desperation we actually tried making our court very small, just to zoom everything in. It took us a long time to realise that a dynamic camera might help.
Once we decided to create a dynamic camera, I made a few goals to guide us
Our eventual system

First I make a list of everything that I would like to keep on screen. For PMPY this is every part of the player’s bodies, the ball, and the center point of the court (so players know where they are).
These points provide a bounding box (shown in green), which is the smallest rectangle that contains them all. I then add a fixed width margin to the bounding box, to keep the important action away from the edges of the screen (shown in red).
I then make a ‘target camera’. The center of the target camera is the center of the red/green boxes, and the zoom level is either the tightest zoom that will still show the whole box, or a preset maximum zoom level if that is too close. Capping the zoom helps avoids the camera feeling too swoopy when players come close together. It’s a bit hard to see in the image above, but the target camera’s position is shown by the red dot in the image below.

The target camera can be a bit jerky, so I take an extra step to smooth it out. Once I have the target camera, I add it to a ring buffer that stores the last ten target cameras from previous frames. The buffer cameras are shown by the black dots.
The final camera position is the average position and zoom level of the 10 target cameras, shown in blue. Because the blue dot is used as the actual camera position, it is always in the very center of the image.
Once we had it all working, the game felt way better. Suddenly everything on screen was contributing to the feeling motion, and the character’s actions were much larger. It was as though we had made the game faster and more energetic, and it was much nicer to play.
-Nico
So Freeplay just finished up here in Melbourne, and we won some nice awards!

(Nice in that it was nice to win the awards. As you can see though, the awards themselves are extremely nice.)
PMPY took home the Best Design Award, as well as the overall Freeplay award, so we’re feeling very blessed/lucky/flattered.
If you missed out on any Freeplay stuff you can watch clips here. I would highly recommend it, everything I’ve seen so far has been really impressive.
Thanks so much again to everyone who helped put it together!
-Stuart
Unlike other local-multiplayer games that create gameplay variation with an array of settings that tweak minor gameplay variables, PMPY will feature a number of distinct variant modes. These variants overhaul the tightly-refined “core” game mode, presenting mechanical twists that feel like whole other sports. Here’s our first variant:

Each team has their own ball to defend.

Push your opponents’ ball out of the ring first to score a point.
The variant doesn’t have a real name yet - so far we’ve been calling it “two-ball mode”, but that’s probably going to change soon.
Games of two-ball have a very different pace to our standard sport. Each point starts in an equilibrium with both teams in a defensive stance, and things slowly unravel from there. Having two focus points also allows a natural way for players to split up, one playing offense and the other defense.
We took two-ball along when we showed PMPY as part of the Indie MEGABOOTH at GDC this year, and showed it off for the first time. We were really pleased with how it went. People got it straight away, and had some really competitive games. Some people who played two-ball on their first game assumed it was our main game-mode, and didn’t seem phased by it at all.
We noticed some good tactics and formations after watching people play.

This stance lets players control a second ball while keeping their own wrapped up tight.

Players can shrink down and hope to rush their opponents’ ball out, ignoring their own ball all together. This is very much an “all or nothing” strategy.

This position is a bit dangerous. While the pink team has almost all the power, it will be very hard for them to control which ball crosses the line first.
We’ll be adding more variants in the next few months, and will post about them as we do.
-Nico

We have tried to use a different face depending on what your character is doing, so when you look closely you can understand how they are feeling.

Photo by Davis Cox
Push Me Pull You is a game for you and three friends, or at least it is most of the time. But there are other ways to play too.
PMPY
Number of players: 4
Required controllers: 2-4
The standard way to play is with four players, each player controlling a single head of one of the two sports-monsters.
People typically play with four gamepads, one for each player. But the controls are designed so teammates can share a gamepad too. This is called ‘hugsies’ mode, and is recommended if you wish to improve your teamwork.
True PMPY (AKA Australian PMPY)
Number of players: 2
Required controllers: 2
Named after the two-player variant of Hokra - True PMPY is where each player controls both heads of their sports-monster. Playing True PMPY requires serious multitasking skills - it’s a bit like trying to simultaneously pat your head, rub your stomach, and play PMPY.
A tip for learners is to try and focus on just one head, keeping the other in your periphery. It can help you keep track of which is which.
False PMPY
Number of players: 2
Required controllers: 1-2
False PMPY is played by controlling just one head of the sports-monster, letting the other end drag behind you. False PMPY isn’t as tricky as True PMPY to learn, but is just as deep to play.
Having only one active head requires you to use your opponent’s strength in order to carry the ball, so False PMPY favours sneaky players who can lure their opponent into traps.
Competitive players might want to add a rule that only one hand is allowed to touch the controller, as to prevent cheating.
Hybrid PMPY
Number of players: 3
Required controllers: 2-3
With three players, it can be fun to have two players play as a standard team, and have the third player play “true”. Is the player controlling two characters at an advantage or disadvantage? I’m not sure.
-Nico

Nico, Jake and Michael will be in LA this weekend for Indiecade. At the festival, PMPY is part of the eSports Showcase, which features games that “combine a high skill ceiling, experimental forms of conflict and teamwork”. It promises to be the best place to play high-level competitive PMPY, so come down and put your friendship to the test - if you dare!

Then, back in Melbourne on October 18, we are showing PMPY as part of the Freeplay festival’s Parallels showcase. Parallels will be hosted at ACMI in Federation Square, and features a free Playday from 11am, and then presentations from creators in the evening. You can get tickets to the evening session here. Warning: this will be our first time talking publicly about the game in our home city, so we might get a bit emotional.

While Nico, Jake and Michael are busy at Fantastic Arcade in Austin next week, Stu is flying to Tokyo to exhibit Push Me Pull You at the Tokyo Game Show, where we’ve been invited to present as a featured game in Sense of Wonder Night.
We’ll have a booth in the Indie Game Area set up throughout TGS from September 18th - 21st. If you’re in Tokyo, come say hi! Here’s an extremely arcane map to help you find us:


We are super pleased to announce that Push Me Pull You is a spotlight game in this year’s Fantastic Arcade!
As a spotlight game, PMPY will be playable in a custom arcade cabinet(!!!), and there will be an official tournament to find out who are the very best friends in Austin. Fantastic Arcade runs September 18-22 in Austin, Texas. Jake, Nico and Michael will be there in person, so if you are coming to the Arcade, make sure you come and say hi to us.