Tennis for Two
Tennis for Two
Tennis for Two is considered to be the very first video game, developed for a Donner 30 analog computer in 1958 and displayed on an oscilloscope. Recently game designer Ben and NYC Resistor member Adelle Lin worked on a project for the NYHS SiliconCity exhibit to develop a recreation that ran in Unity and displayed on a 4K display. Their version is really inspiring -- a large reproduction "Dumont cathode ray oscillograph" (the same model as I used with Space Rocks) with 3D printed dials and aluminum project box cases for the controllers.
Since I've been working with vector displays and had a variety of oscilloscopes and XY monitors like the Vectrex, I thought I'd port it to Processing. The code is in
github.com/osresearch/vst/tennis and displays on the v.st DAC boards. It isn't quite an accurate reproduction -- I added a "serve" indicator to let the players who which side is serving and the approximate angle of the launch.
There is no "original code" since it ran in an analog computer. The historical schematic is known to be wrong; the builders made corrections to the circuit along the way and didn't record all of their fixes. So my version is a re-implementation, just like Ben and Adelle's high-resolution raster version or EVMSL AVR version (which uses an 8-bit r2r DAC).
There are lots of tunable parameters in the code. I guessed at the range of serves, the decay factor and rough gravity constants to make the bounces feel "reasonable". Feel free to hack it up if you want to change the way it plays.