The Tennis for Two Simulator (TeTS)

Tennis for Two
The Tennis for Two Simulator (TeTS) has two modes: player vs. CPU and player vs. player. You can alternate between them with the switch on the righthand controller.

First, click on one of the two silver buttons to make the ball to appear.

If playing CPU mode, click on the dial on the lefthand controller. This dial controls the angle of the ball when hit. Once clicked, the dial can be rotated by moving the mouse to the left and right. When you're ready, press the s key on the keyboard to serve the ball over the net. You can hit the ball again as soon as it crosses over to your side of the net, continuing to use the mouse to aim and s key to hit. Note that if you click the mouse while the dial is active, you will have to click the dial again to reactivate angle control.

2P mode is controlled differently, and just uses the keyboard. The left player hits the ball with the s key and can adjust the angle incrementally left/right using the x/z keys. The right player uses the ";", ".", and "/" keys, respectively.

The game will not keep score for you, but the outcome of a point determines who serves the next point. If you hit on the opponent's side of the court and they fail to return it, you get the serve. If you hit the net or hit the ball out of bounds before it hits your opponent's court, your opponent gets the serve.


Tennis for Two was originally run on a vacuum tube analog computer in 1958, where it was demoed as part of an exhibition at the Brookhaven National Laboratory. William Higinbotham designed it based on a bouncing ball program, likely similar to the Whirlwind Bouncing Ball. His intention was to demonstrate to the public the computer's "relevance to society".

At the time, Higinbotham thought that the game didn't warrant special attention beyond the exhibition, but history has come to view it quite differently. Many people now consider it the first video game. For more on the game's history, see the Brookhaven National Laboratory website.

The TeTS components

There are number of resources I used in writing the Tennis for Two simulator. Higinbotham's notes describe the gameplay and development in general terms, while his court deposition gets into the technical details. In addition, there is video of a recreation of the game being played.

Ball motion

The model for the ball's motion is a combination of gravity, wind resistance, and a damping factor for the bounce. The wind resistance model in TeTS assumes that the ball slows in proportion to the square of the speed - a standard scaling that has been used since the 19th century. I don't know if this is the exact scaling produced by Higinbotham's setup, but even if it isn't, the amount of wind resistance was small (as is apparent in both the video and in Higinbotham's notes) so the gameplay would not be greatly altered with a different scaling.

The speed of the ball when hit is kept at a constant value. Higinbotham said that the player did not have control over the speed, but that it could still be adjusted, presumably by the operator. In TeTS, I fix the hit speed to a constant value for both players.

The display

The playing field of TeTS refreshes at a rate of 36 Hz, consistent with the original game. Persistence effects were substantial in early vector displays, so TeTS overlays the last 300 positions of the ball, each with diminishing brightness. To simulate saturation of the beam, each position has two different images overlaid. The "saturated" beam image is large, but fades quickly with time (~75 ms), while the tail is represented by a much smaller image that fades slowly (~350 ms).

Footage of a recreation of the game


One of six different sound clips plays when the ball is hit by either player. All were extracted from the gameplay footage.

CPU mode

The CPU mode in TeTS was not part of the original Tennis for Two, but I wanted people to be able to try the game even if they didn't have a second player handy. The CPU player is a combination of random and deterministic behaviors, and there are a range of strategies you can use to defeat it. I suggest experimenting.

Subsequent games

Tennis for Two is often compared to Atari's Pong, which was released 14 years later and basically started the video game industry. However, the two games are quite different; the only real similarity is that a ball is passed back-and-forth between players.

In his notes, Higinbotham refers to Pong as being "quite inferior". I wonder if Higinbotham fully appreciated the nuances in Allan Alcorn's design, but even so, it's hard to deny that the physical model in Tennis for Two is more sophisticated.

For whatever reason, the coin-op companies that pumped out paddle games in the '70s didn't make any serious attempts to reproduce Higinbotham's game. Perhaps Atari's Rebound (1974) comes the closest, though it still has substantial differences.
We'll never know if the Tennis for Two design would have been popular in '70s arcades, but at least those of us in the 21st century can give it a go.

What do you think? Is it better than Pong?