Bombing of Darwin Interactive
This was a multi-user interactive table which consisted of four touch screens placed around a top down projection. Each touch screen as well as the projector where connected to separate computers and connected to each other via Ethernet.
The four touch screens each showed an identical interface which allows the user to select one of 15 characters and view a video about that character. Each character was a person who was in or nearby Darwin during the bombing. When a character was selected, the user was presented with a video telling that characters story and their perspective of the day.
The table view was projected down from above and was a dynamically animated map of Darwin that would respond to user actions. The map would highlight the location of up to four selected characters on the map and zooming in or out to fit the selected characters. The map projection also included a dynamically generated simulation/animation of the various bombing waves that occurred.
For this interactive, I used a combination of .NET and Flash. The touch screen UI and dynamically animated map where both built using Flash, written in ActionScript, and hosted in .NET application. The projector pc application with the map view also made use of a WCF self-hosted service with an HTTP service endpoint that responded to HTTP get calls placed by Flash application running on the touch screens.
When a user selected a character on a touch screen, a HTTP get call, which included the selected character ID, was made to the map view application running on the projector pc. This call would be routed to the flash component of the application on the projector pc, which would respond by fluidly updating the map. The map would automatically zoom in and out to fit up to four selected character locations. I am particularly proud of the quality and smoothness of the zooming animation that I achieved as well as the use of path finding agents to create waves of planes for the bombing animation.
Every frame pass, the application would use bit bliting to draw up to 50 planes and countless explosions on to a 6000 x 6000 pixel bitmap of the map of Darwin. Graphic overlays for up to four selected characters would be then drawn. The application would then calculate a bounding box for the selected character locations on the map. This bounding box would then be used to create a matrix transformation that was used to resize and draw a portion of the 6000 x 6000 pixel bitmap of the map of Darwin to the screen.
On the museum hardware, the map animation maintains a steady 50 fps at resolution of 1920 x 1200. The application has been now been running 8 hours a day for over a year with zero bugs, crashes, or stability issues.