\subsection{Overview}

Gizmoball is a standard implementation of the pinball arcade game with
a few additions --- the most notable, the ability to construct a
user-defined machine layout by placing gizmos on the screen.  A gizmo
game board may also be setup for simulation, rather than for user
interaction, a la Rube Goldberg.  Optionally, we may decide to create
new and exciting gizmos with various important features.

Gizmoball allows XML file loading and provides a graphical user
interface with two modes --- building mode and running mode.  In
building mode, a user creates and edits bumpers, creates and edits
flippers, connects flippers and bumpers to respective triggers, and
saves/loads current game configurations.  In running mode, the game is
either simulated or played.

