Pong

It’s a simple game. You move a paddle vertically in order to return a ball the the other side, and it’s played against an opponent.

We’ve all heard of Pong, and have probably seen video of it being played, although I’m curious how many people have actually played it. I haven’t.

It seems like a game you could build in a couple hours (depending on the tools you use to make games), but there is more to it than I realized.

Take a few minutes to think about how you would write the code for Pong: How will you implement the math behind returning the ball? What about the speed of the paddles? What size is the ball in comparison to the paddles? What aspect ratio will you use for the screen? How will you determine which segment of the paddle was struck, and how will that affect the trajectory of the ball? How will the speed of the ball change over time? And on and on…

Now, what happens when we decide to take a clone of Pong, and make it unique? Oh boy, the possibilities are endless. When you take a moment to consider the details, a simple game becomes more than you realized. And, imagine how different it must have been on the machines of the Pong era.

I’m writing a clone of Pong, and it has been eye-opening. I now have a lot of respect for what it takes to clone an old game for educational purposes. Adding my own twist is going to be even more interesting.

 

Jeremiah

Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.