The Whirlwind Bouncing Ball Simulator

MIT Whirlwind's Bouncing Ball

Bouncing Ball

To play the Whirlwind Bouncing Ball Simulator (WhiBBS), press the red switch in the upper left corner of the control panel. After pressing the switch, a spot will move in a straight line across the bottom of the window showing the floor that the ball is going to bounce on. If you look carefully, you'll see a hole in the floor in the lower right corner. The goal of the game is to get the ball to fall through the hole by adjusting the speed, bounce, and/or gravity.

You can make adjustments to the bouncing ball using the black knobs on the panel. If you click/press the right half of the knob, it will make positive adjustments (clockwise), and if you click/press on the left side of it, it will make negative adjustments (counter-clockwise). You can also have the edges of the hole displayed by pressing the silver button in the upper right corner of the panel while the simulation is active.

History of the Original Game

Bouncing Ball started its life as a demo on MIT's Whirlwind I computer sometime in 1951-1953. The Whirldwind computer was originally developed to be a flight simulator which would assist the US Navy with training flight crews, but programmers at MIT also applied it to a range of general mathematical and physical problems. The problem of computing the trajectory of a bouncing ball was used as a classroom demonstration of how a computer could solve differential equations. The initial versions of the program were just a simulation, but sometime in subsequent versions, a hole was added to floor as an objective. At this point, Bouncing Ball went from simulation to game.

In fact, Bouncing Ball is considered by some to be the very first video game, though opinions differ on what constitutes a video game and whether Bouncing Ball fits all of the criteria. However, one thing the Bouncing Ball clearly had over its predecessors was a video display.

Authorship of the original bouncing ball game is uncertain, though likely contributors include Charles Adams, Oliver Aberth, and Jack Gilmore. See The History of How We Play for a detailed discussion the game's origins and possible authorship.

The Mathematics of the Bouncing Ball

While there remains some uncertainty about how Bouncing Ball was originally played, the simulation of the ball's movements is not a difficult or ambiguous problem. The Programmer's Manual for Whirlwind I lays out how the programmers wrote the simulation, using the Backward Euler method to solve a set of differential equations. The equations use a constant acceleration to simulate gravity and the "bounce" is modelled with a constant coefficient of restitution.

The coefficient of restitution is like a damping factor for the bounce. After the ball strikes the floor at some speed, in the next step it will "bounce" upwards at a slightly slower speed. How much slower depends upon the coefficient of restitution.

The Bouncing Ball Display

Bouncing Ball was originally displayed on a cathode ray tube oscilloscope and fortunately we have footage of it being played. The most apparent difference between the CRT oscilloscope and what you would see on a modern display is the persistence effects -- the screen cannot be cleared after plotting a point on the ball's trajectory, so the ball has a "tail" made up of the residual light from previous points. I simulate this effect in the WhiBBS by rendering each point with a size and opacity that decrease with time.
Zoom in on the path of the ball from original Bouncing Ball game, showing the distinct steps in the computer's calculation.
Note also how the display shows the "floor" on which the ball bounces. Before each iteration of the bouncing ball simulation, the oscilloscope beam moves horizontally across the bottom of the screen, indicating both the vertical location of the floor and, importantly, the location of the hole. Without this visual cue, the game would be little more than guesswork. Indeed, even with the beam showing the floor, tuning the ball to fall into a hole still feels very much like guesswork, so I have given players the option of marking the hole continuously on the screen.
Zoom in on the floor of the original Bouncing Ball game.

The Control Panel

Unfortunately, I wasn't able to locate any detailed information about how the bouncing ball was controlled. One source refers to a version where players turned "frequency knobs" to change the parameters of the simulations, while other versions were probably controlled by reprogramming the game.

The WhiBBS uses the more video-game-like approach of having the player adjust physical controls. You can change the horizontal speed, coefficient of restitution ("Bounce"), and acceleration due to gravity. This is not the only possible set of controls, of course. It could have been designed to allow users to adjust other things, like the starting point of the ball, the location of the floor, the location of the hole, etc. If more details emerge about the configuration of the game version of the Bouncing Ball, then I may revisit the control scheme.

Another question is the range over which the player could adjust the parameters. Again, I don't know how the original was set up, so the WhiBBS gives you access to wide range in parameter space. It's just more fun that way. However, this also means that if you make the speed low enough or the bounce weak enough, the ball will be rolling by the time it reaches the hole, and will fall through easily. As such, rather than merely trying to get the ball in the hole, try achieving it with a fixed number of bounces. It is possible to get it in with just one bounce.

Subsequent Games

I don't know if the bouncing ball influenced any subsequent games, though its use of a video display was certainly noteworthy. You'll also find that its mechanics are similar to other titles from the early days of gaming.

Tuning the simulation

Many of the earliest video games were developed by scientists and engineers whose primary interest in computers was developing simulations of physical systems. Turning these simulations into games was often just a matter of setting a particular outcome as a goal and then asking the player to tune the simulation to achieve that goal. Popular examples include Lunar Lander games, where players would adjust the state of a spacecraft (e.g., thrust, angle) to land safely on the moon, and artillery games, where the players would adjust the aim of a gun emplacement to hit a distant target.
Gameplay from 1982 game Artillery Duel, for the Astrocade console.

Other Bouncing Balls

The bouncing ball was a popular gamepiece in the '50-'70s. Another game that is sometimes credited as being the "first video game", called Tennis for Two, was developed in 1958 and features a ball being knocked back and forth across a net. Tennis for Two gives the players paddles and a button to control the action directly.
Clip of original Tennis for Two game.
Of course, there is also the most famous (and most profitable) bouncing ball in the history of video games, Pong. Its ball only moves in straight lines between bounces, however, and it wouldn't be until Atari's fourth ball and paddle game, called Rebound, that gravity would make an appearance.


  1. This game is cool! I love your other games too, like the Cathode Ray Tube Amusement Device. I love your games and you should make more, like SpaceWar! or Bertie The Brain, Or OXO/Noughts and Crosses, And even the original Nim, from 1940! Also, please give me some feedback of how and what inspired you, and how you made these games. Thank you and keep on creating amazing games! Happy coding!

  2. My name is Rowan Will Jeppesen! Thank you for your efforts of creating these games!


Post a Comment