ScreenPlay consists of 100 pressure sensitive sensors (essentially on/off buttons) arranged in a 10x10 grid. The sensors are connected to a custom designed circuit board that is powered by an Arduino. The Arduino is connected to a Mac mini on which the visualization software runs. What Do I Need To Create a Visualization For ScreenPlay? An idea. Ability to create all digital graphics animations required for your idea. Ability to program your graphics and animations in any development environment, such as Processing, openframeworks, or Cinder, however you are not limited to these tools. As long as you can create an application that will run on Mac OS X, you are free to use whatever tools you are comfortable with. Recommended Development Environment Since the ScreenPlay visualizations are run on a Mac mini, it is recommended to develop on an Apple computer running Mac OS X. Existing visualizations and the sample visualization have been developed in Processing (http://processing.org/). Processing is a free and open source programming language intended to bridge the gap between visual artists and programmers. Software to write and compile Processing code is available on the Processing website, and tutorials to learn Processing can be found easily online. Since developing on a Mac using Processing is our recommended development environment, this guide will provide more details for this scenario. Other Development Options If you do not have access to a Mac for development purposes, the previous version of Processing (1.5.1) supported cross-compilation (this feature has been removed from newer versions of Processing). With Processing 1.5.1, you can develop software on a PC (or Linux or Mac) and compile for Mac (or Linux or PC). Alternatively, you do not have to use Processing to develop your visualization software. You can develop your software in any environment, as long as it meets the technical requirements listed below. Since we can t go into details for all possible development environments, if you are unsure if you ll be able to develop a visualization, please free to contact us (designpossible@hollandbloorview.ca) for help. Hardware Specifications The Mac mini that will run the visualization software has the following specifications: Operating system installed is OS X 10.7.2
Has a 2.7GHz dual-core Intel Core i7, with 8 GB of 1333 MHz DDR3 memory and an AMD Radeon HD 6630M graphics processor with 256MB of GDDR5 memory Display resolution is 1024 x 768. Your visualization should be the same resolution as well The Mac mini has no access to the internet Environment Specifications ScreenPlay is installed on the second floor of Holland Bloorview Kids Rehabilitation Hospital, in the outpatient clinic waiting space. To give you a better idea of the physical environment that ScreenPlay operates in, several pictures of the surrounding area are shown below.
Getting Started Developing Your Visualization This section will guide you through the process of installing Processing, the OSC library (required for communicating with the floor sensors) and running the Sample Visualization. It will also show you how you can use the Mapper application to simulate the ScreenPlay floor when developing your visualization. 1. Download the latest version of Processing from http://www.processing.org/download/ 2. Save the application to a convenient location. 3. Download the OSC plugin from http://www.sojamo.de/libraries/oscp5/download/oscp5-0.9.8.zip 4. Copy the OSC plugin to your Processing sketchbook. To find out where your sketchbook is, run Processing. Once Processing has loaded, click Processing->Preferences. The window that pops up will indicate the location of the sketchbook. The default location is /Users/YOUR_USERNAME/Documents/Processing.
Close the Preferences dialog. Close Processing by clicking on Processing->Quit Processing. 5. Open a Finder window and browse to your sketchbook location. If a libraries folder does not exist, create one. Copy the contents of the zip file from Step 3 to the libraries folder. Your sketchbook folder should now look similar to the folder structure shown here: 6. The sample visualization and Mapper software can be obtained by contacting us (designpossible@hollandbloorview.ca). Save the contents of the zip files to a convenient location. 7. Run the Mapper application. A window with 100 red numbered squares should pop up. This application allows you to simulate the ScreenPlay floor. Each square in the application represents the corresponding tile on the ScreenPlay floor. You can simulate a tile being stepped on by clicking the desired square. A square that is being stepped on will change colour to green.
8. Run Processing again. From the sample visualization, open the SampleVisualization sketch. You can browse through the code and comments to get a general idea of how to get sensor data from the ScreenPlay floor. For now, let s run the sketch by clicking the play button. 9. A screen with 100 grey squares will pop up. In this simple visualization, when a carpet tile is stepped on, the corresponding tile on screen will change colour to that of the carpet tile being stepped on. Use the Mapper application to click on squares to simulate stepping on the corresponding square. As you click on squares in the Mapper application, you should see the corresponding square in the visualization change colour. You re now set up to create your own visualization for ScreenPlay. Feel free to use the sample visualization code to get you started with reading sensor data from the ScreenPlay floor and the Mapper application to test out your visualization. Have fun!
Software Specifications The Mapper application monitors the ScreenPlay floor sensors for any change in state and reports them using Open Sound Control (OSC, http://opensoundcontrol.org) messages. OSC libraries have been developed for various platforms, including Processing. The OSC library for Processing can be downloaded here: http://www.sojamo.de/libraries/oscp5/. If you are developing your visualization software in a different environment, then you will have to find a suitable library for your platform. If you re having trouble finding a suitable library for your environment, please contact us (designpossible@hollandbloorview.ca) for help. An OSC message is sent to the loopback address (127.0.0.1) on port 5000 for every sensor state change. Each OSC message will have an OSC Address Pattern of /1/pushXXX, where XXX represents the sensor number this message is for, from 1-100. Following the address pattern will be the OSC Type Tag String,f indicating a floating point argument will follow. One floating point argument will follow, either 1.0 to indicate the sensor is being stepped on, or 0.0 to indicate the sensor is no longer being stepped on. The location of each sensor is shown below with relation to the location of the screen. Please refer to the Sample Visualization code for an example on how to receive and process the OSC messages to determine which sensors are being stepped on.