Monthly Archives: December 2012

Ping Pong – Case Study

This is a case study in game development exercise.
First I am going to divide the development process into categories (disciplines) with few of their subcategories.

  1. Design (Level Design, Story/Narrative)
  2. Art (Environment, Characters, UI, Visual FX)
  3. Animation (Keyframed, Mocap, Simulation)
  4. Audio (Soundtrack, Voice over, Sound FX)
  5. Engineering (Engine, Gameplay, Online)

Now let’s outline intentions in each of them. These intentions can be considered as elements which once implemented & combined together in meaningful manner should provide the target gameplay/emotional experience.


Ping pong is essentially tennis on smaller scale (literally). Its between 2 players (one of which could be AI). Each player uses a bat to hit the ball across the net. The goal is to make the opponent miss the ball, upon which you get a point. First player to reach a predefined no. of points wins the set. And the player with maximum won sets wins the game.

Level Design

Design of actual ping pong table is very simple in reality. Even then, (in first Pong game) it was simplified it to most core level for simplicity. Setting view angle from top not only made it possible to be a 2D game but allowed to remove the net in between (no height). Most of physics is retained for the ball, which can be tuned to match the difficulty level. And the bat only has 1 dimensional acceleration.


For the 1st top-down version, we don’t need any stored art. All the elements can be generated on the fly at every frame. In its simplest form (above), everything is made of rectangles (even point counters can be made by combining them).


Everything is either physics, AI or player driven. However, we could do some confetti for game finale 🙂


3 sound effects. Ball hitting the bat. Ball hitting vertical edges. And missed ball hitting horizontal edges.

And now the next/final part is Engineering, which will be implementation by coding.