Open Pinball is a pinball simulator. The program is divided into two processes. The main process takes care of interpreting the .table description files and controls the ball's movements according to physical laws. It communicates the ball's coordinates to another process (renderer) which renders the table (taken from the same .table file) and the ball as it moves around. The main process must also communicate status for objects it hits so that renderer can produce sounds and count scoring. The rendering process is currently a 2D renderer.