To be completely honest, it has been a long time since I have worked on this game, but I think I can muster up the details using the very nice organization structure Brian has presented.

The Story:
A few years ago I decided to have my brother over for the weekend to play video games and hang out. That same weekend, Brian’s friend Evan came over to join in on the video game playing. I remember Smash Bros. Melee being played, but not much else.

During one of the gaming breaks, I was showing Steve, the brother, some of my latest Macromedia Flash development that I had been toying around with and he was telling me that he would be happy to help offload some of the artistic work that I needed since he was the far better artist. We decided to play some more Smash, but Steve sat out to make up a quick monster to see if I liked his style. A few matches that I am sure I won at later, and he had an animated flaming skull that looked JUST like I wanted it.

It was that this time that Brian said, “Hey, we’ve got two programmers and two artists right here, right now. Let’s do something.” Brian had thought of the concept of Penguin Push before this and told me about it a while before this weekend, so when he suggested implementing that game, I was all for it. And thus Penguin Push was born.

Evan was on the environment art for the most part, in fact he generally did the static stuff while Steve did the only animating part of the environment as well as the Penguin. Brian and I at first sort of watched Steven and Evan since we only had two machines. Once they had some good stuff in place, I took over programming the main game, with Brian’s aid in both suggestions, fixes, and ideas. While I was coding up the game itself, Brian was coding up the level editor. It was only after we finished up the entirety of the game that we actually designed any levels.

The Good:
The Team:
Essentially the same thing that happened with Magnetica happened here. Our team was all in the same room, as well as all very friendly. We were able to joke around a lot and that really helps keep morale up when things go wrong. One of the biggest factors with this team was that we all WANTED to be doing what we were doing.

The Style:
The game was very cute and very simple at its core. I think this does nothing but help the general charm the game has. The art style might not be overly complex and incredibly detailed, but the way it looks is what makes the game. As a side note, the intro voice as well as the voice the Penguin makes when he pushes a block was all Brian.

The Testing:
While one bug we know of managed to slip through the cracks, the game overall was very solid. I think one of the main reasons we tested it so much was because we actually really enjoyed playing it. I know I still play it every know and again. With four people testing the game out we really were able to make sure this game was bug-free.

The Bad:
Level Creation:
I am not saying anything was wrong with Brian’s editor, because there wasn’t. The problem here was the way in which Brian and I developed levels. The game really does have some very deep puzzle aspects when you get down to it, and we really didn’t want to deal with designing levels by creating a goal and then adding confusion. Instead, we just drew pretty pictures with the map editor and saw if they were beatable. While this made for some REALLY hard levels, the last 2 are very difficult, it also led to us spending a lot of time seeing if what we made was actually beatable. The last level took us a combined 4 hours to beat, I don’t know why we didn’t give up, but I am glad we didn’t. I like that level the best.

At any rate, we could’ve spent less time testing the levels for beat-ability and more time making levels had we taken a different approach.

Conclusion:
While I agree with Brian that Magnetica is our best work, Penguin Push will always hold a special place in my heart for its charm and fun. It was also the first game we’ve worked on together, so being able to create a gem like this was really an upper.

“This probably isn’t compiling on the shell because I used a lot of constructors.”