Multi-Touch Game Table Project Specification

Aditya Mittal, James Wallace, Albert You, Paul Ferrara, Luke Behm

Microsoft, ScientificChess, East Coast Painters, Syracuse University

Syracuse, NY

Date

03/14/2007

Document Version Control Information

Rev. no.

Date Issue

Author(s)

Brief Description of Changes

0.1

Nov. 2, 2006

J. Wallace, A. Mittal, P. Ferrara

1st draft.

0.2

Mar. 14, 2007

A. Mittal

Full Revision.  All content is new and much more detailed and sensible.

 

 

 

 

 


Contents

Purpose of Multi-Touch Game Table Specification. 5

1.1.     Scope of Multi-touch Game Table Specification. 5

2.        Project Overview.. 5

2.1.     Purpose of the Multi-Touch Game Table. 5

2.2.     Users. 5

3.        Project Constraints. 6

3.1.     Mandated Constraints. 6

3.1.1.      Cost Constraints. 6

3.1.2.      Software Constraints. 6

3.1.3.      Time Constraints. 6

3.1.4.      Persons and Skills Constraints. 6

3.1.5.      Accessibility Constraints. 6

3.2.     Standards Compliance. 7

3.3.     Hardware Limitations. 7

3.4.     Relevant Facts and Assumptions. 7

3.5.     Similar Multi-Touch Game Table Information. 7

4.        Functional Requirements. 7

4.1.     Functional Objectives. 7

4.2.     Software Specific Functions. 8

4.2.1.      Multi-touch and Multi-User 8

4.2.2.      Generic Application Interaction. 8

4.2.3.      Hand Gestures. 8

4.3.     Hardware Specific Functions. 8

4.3.1.      Total Internal Reflection. 8

4.3.2.      Reflected Rear-View Projection. 8

4.3.3.      Supports. 9

4.3.4.      Horizontal Screen. 9

4.4.     Interface Requirements. 9

4.4.1.      Graphical User Interface. 9

4.4.2.      Application Programming Interface. 9

4.4.3.      Hardware Interfaces. 9

4.4.4.      Communications Interfaces. 9

5.        Non-Functional Requirements. 9

5.1.     Look and Feel 9

5.2.     Usability. 10

5.3.     Performance. 10

5.4.     Operational 10

5.5.     Maintainability and Portability. 10

5.6.     Security. 10

5.7.     Cultural and Political 10

5.8.     Legal 11

6.        Technical Requirements. 11

6.1.     Software Specific Functions Accomplished. 11

6.1.1.      Multi-touch and Multi-User 11

6.1.2.      Generic Application Interaction. 11

6.1.3.      Hand Gestures. 11

6.2.     Hardware Specific Functions Accomplished. 12

6.2.1.      Total Internal Reflection. 12

6.2.2.      Reflected Rear-View Projection. 12

6.2.3.      Supports. 12

6.2.4.      Horizontal Screen. 12

6.3.     Performance Requirements. 12

7.        Project Issues. 12

7.1.     Open Issues. 12

7.2.     Off-the-Shelf Solutions. 13

7.3.     New Problems. 13

7.4.     Tasks. 13

7.5.     Risks. 14

7.6.     Costs. 14

7.7.     User Documentation and Training. 14

8.        Operational Scenarios. 14

9.        Development Schedule. 15

10.      Preliminary Budget 15

11.      Appendices. 16

11.1.      Definitions, Acronyms, Abbreviations. 16

11.2.      References. 16

11.3.      Acknowledgements. 17

 


Purpose of Multi-Touch Game Table Specification

The purpose of Multi-touch Game Table Specification is to provide technical details of form and function in order to enable the engineering development team to create the Multi-touch Game Table. Multi-touch Game Table Specification will also provide guidelines for the intended use of the Multi-touch Game Table as well.

1.1.        Scope of Multi-touch Game Table Specification

Repair Technicians, Manufacturer, Design Engineers

This version of the document is authored by Aditya Mittal.  Aditya, along with Jim Wallace is the principle software engineer for designing the driver.  Jim Wallace is the primary designer of the table hardware, who also constructed three prototypes, along with Albert You and Luke Behm who helped put together the final table hardware.  Aditya is the principle software engineer for designing the games as well as interfacing them with the driver. Paul Ferrara is the primary hardware electrical engineer. Albert You is the primary digital hardware engineer.  James Wallace now works for Microsoft.  Aditya Mittal, Albert You, and Paul Ferrara are seniors at Syracuse University.  Luke Behm is a graduate of Syracuse University, who runs his own business as East Coast Painters.

2.   Project Overview

The Multi-touch Display Game Table will allow many people to interact with the system at the same time enabling many multiplayer games as well as allow awesome new applications that people can use their fingers as 10 mice instead of regular computer applications that have a single mouse.

2.1.        Purpose of the Multi-Touch Game Table

Computer and television screens, keyboard, and mouse are not the best for our eyes and hands.  They quickly tire us out and strain us as we work long hours on them.  Multi-touch technology is an interactive, self obvious technology which serves as a new means of interaction with the computer.   We extend this technology to create a Multi-Touch Game Table.

2.2.        Users

The Multi-Touch Game Table will give kids and adults a new means of game play beyond that experienced by the current video game systems with mice, keyboards, and hand held controllers.  Users will be in all age ranges and will have a basic familiarity with standard board and card games.  They may also have a basic understanding of video games however this is not a requirement.

3.   Project Constraints

3.1.        Mandated Constraints

3.1.1.   Cost Constraints

There are costs constraints: Up to $300 worth of hardware and parts can be purchased on Syracuse University budget.  For the Multi-Touch Game Table Additional investments have been made by Aditya Mittal, Albert You, and Luke Behm that are documented separately.

3.1.2.   Software Constraints

We are limited by the software available either on the University Computers, our Personal Computers, and free software available on the web.  We do not have access to special video game and graphics software in order to develop more sophisticated applications for our Multi-touch Game Table.

3.1.3.   Time Constraints

We only have about four months of actual time in which we could work on the project within the two semesters, as much of the first semester included presentations and getting started.  Along with the project, we also have all our other classes to attend to.

3.1.4.   Persons and Skills Constraints

Our working team is small, and everyone was at a different level of education and skills.  Jim Wallace, who is no longer with us as he is now working at Microsoft, got the project fired up by creating 3 small prototypes and doing a lot of background research work.  He also began writing a simple driver for the hardware, which is now being completed by Aditya Mittal.  Albert You got the Multi-touch Game Table hardware updated and more functional at the Physics Machine Shop.  Luke Behm is playing a key role in reducing Accessibility Constraints and polishing and developing the aesthetics of the Multi-touch Game Table.  Paul Ferrara is an extremely supportive team member.  Every member of the small team is useful in reducing time constraints and certainly more skilled members could have helped speed up the process and increased our accessibility.

3.1.5.   Accessibility Constraints

Often, in the development of the Multi-touch Game Table new materials need to be bought.  Often permissions have to be sought.  Many stores are closed in the weekends and other times.  Lack of a vehicle can be an accessibility issue.  We had to wait quite a long time in the past to get administrator privileges to the lab computer to install and develop our driver software.  We also had longer waits on being able to get materials until Luke Behm joined the team.

3.2.        Standards Compliance

All the parts of our project were bought in general stores or taken from the Syracuse University Lab, and we expect they all comply with the necessary standards.  We do not believe we have assembled the parts in any way to create a harmful or dangerous whole.  In fact, we believe we have created an improved product that complies with all health and safety standards.  Since, Multi-touch Game Table is a new technology it does not have to comply with previously set standards on dimensions or other protocols.  It does comply with standard communication protocols of the Windows operating system and computer and projector hardware.  The table will comply with standard electrical power rules and regulations as well.

3.3.        Hardware Limitations

Our hardware is limited to the standard materials sold in the market and its assembly.  We are constrained to using acrylic of a certain thickness, infrared LED of certain intensity and power consumption.  Our table uses wood, mirror, wires, power supply, a table, an infrared webcam, and wheels. 

3.4.        Relevant Facts and Assumptions

Computer and projector will be needed separately.  Quality and performance standards will be maintained.  Suggested usage is assumed.  No responsibility for other various uses is taken.

3.5.        Similar Multi-Touch Game Table Information

The Multi-touch Game Table is being built under a small budget, in a limited amount of time, by a small number of people.  The best attempts to comply with all standards and measures of safety while providing the best of entertainment have been taken.  Still, expectations should be limited to what is reasonable.  However, the scope of application and possibilities of improvement are infinite.

4.   Functional Requirements

4.1.        Functional Objectives

The Multi-touch Game Table should allow the user to touch the screen and provide input to applications with his/her fingers or provide input to the screen through a laser beam when at a distance.  The Multi-touch Game Table should also display on the screen the output from the computer.  These input and output functions are discussed more specifically in the following sections.

4.2.        Software Specific Functions

4.2.1.   Multi-touch and Multi-User

The Multi-touch Game Table’s ability to detect multiple interactions at the same time gives rise to applications and games that are more interactive, and feature more sophisticated options for enhanced game play.

This ability also allows multi-user games to be played on this Multi-touch Game Table.  The application software will be able to support this functionality.  The driver software will support the interface as COM objects between the application software and the Multi-touch Game Table.

4.2.2.   Generic Application Interaction

In our version of the Multi-touch Game Table, we not only produce a DLL from which any COM based application can borrow the input and gesture information but also an application built with AutoHotKey®  that takes the COM inputs and creates mouse outputs for being able to run any generic application such as browsing the web.

4.2.3.   Hand Gestures

Multi-touch systems are able to recognize a handful of predefined standard hand gestures allowing a more intuitive game play.  This functionality is to be supported by the software.

4.3.        Hardware Specific Functions

4.3.1.   Total Internal Reflection

The Infrared LED’s provide total internal reflection into the acrylic.  During a touch, the infrared bounces out of the acrylic (commonly known as Plexiglas) and is detected by the infrared detecting webcam. A laser beam can also create detection at the webcam as it can pass right through the acrylic.  The acrylic surrounding wood beams help get rid of the infrared escaping from the top and bottom of the acrylic.

4.3.2.   Reflected Rear-View Projection

Rear-view projection technology allows more comfort for the eyes, and bigger and better screens for cheaper.  Rather than a cathode-ray- monitor that contains millions of tiny red, green, and blue phosphor dots that glow when struck by an electron beam that travels across the screen to create a visible image, a reflected rear-view projected image is created by a regular projector beam shining on a mirror which is then reflected onto a translucent sheet of tracing paper.  This is far better than the metallic screens we have as our monitors.  With this technology we experience much less strain on our eyes and body.

4.3.3.   Supports

Proper wooden structures in the Multi-touch Game Table are to be used for supporting the mirror, webcam, acrylic, and the projector.

4.3.4.   Horizontal Screen

Our screen is horizontal and built into a sturdy table.  This means one can sit comfortably and play it as if playing a regular board game.  Do you prefer to read a book holding it straight up, or setting it down on a comfortable height table?

4.4.        Interface Requirements

The interface consists of two parts, a projected image and a medium like acrylic to detect multiple interacts with those projected images.

4.4.1.   Graphical User Interface

The user interface is application dependent.  Each game on the system will have the interface that is best for its application.

4.4.2.   Application Programming Interface

There are two APIs for this project; the first consists of a driver that reports back information about user interactions.  The second API consists of the standard interfaces required for an application to take advantage of the new input technology.

All applications that support the Component Object Model (COM) technology will be able to borrow the driver parameters such as finger positions at any given time from the supplied DLL.

4.4.3.   Hardware Interfaces

Webcam utilizes USB; System may use light weight network protocol for reporting driver information; the projector will be interfaced from the computer for reflected rear-view projection;

4.4.4.   Communications Interfaces

Lightweight OSC protocol over UDP

5.   Non-Functional Requirements

Specification of other particular non-functional attributes required by the Multi-touch Game Table:

5.1.        Look and Feel

The Multi-touch Game Table is a comfortable interactive game table around which kids and adults can sit and interact with computer applications and have special fun with games, like the old times with board games.

5.2.        Usability

The Multi-touch Game Table can of course be used for gaming.  In addition it can also be used for other computer applications such as painting, or browsing the internet as it can through the touch of the finger provide mouse clicks to the computer applications. 

5.3.        Performance

The Multi-touch Game Table is above and beyond the performance of other I/O devices such as the keyboard, mouse, and monitor.  It is one device that can serve the purpose of all of these devices with far more comfort and we believe it is how everyone will interact with the machine in the future, along with voice command.

5.4.        Operational

The Multi-touch Game Table can be operated in a variety of ways.  The Multi-touch Game Table can be operated not only by hand and finger touches but also from a distance using lasers.  Parental precaution is advised when playing with lasers on the table.

5.5.        Maintainability and Portability

The Multi-touch Game Table has wheels to aid moving it around easily.  The heavy parts such as the mirror and projector are removable and re-adjustable for portability.  The Multi-touch Game Table has an acrylic screen that can easily be cleaned and scratches acquired over time and during game play can be removed with a plastic cleaner and scratch remover such as the Novus® 3 Plastic Heavy-Duty Scratch Remover.

5.6.        Security

The Multi-touch Game Table is created with the highest quality materials to help ensure the safety and security of children and adults playing games on it.  While lasers can be used to interact with the table, it is advised that this be done with precaution.  Lasers should never be pointed towards anyone face as they can permanently damage a person’s eyes.  Special care should be taken when moving the table around, or when removing parts like the mirror for adjustment.

5.7.        Cultural and Political

The Multi-touch Game Table group does not take any cultural or political responsibility.  The particular applications run on the Multi-touch Game Table are at the sole discretion of the users.

5.8.        Legal

The Multi-touch Game Table is suitable for adults and children under adult supervision.  The designers and manufacturers of the Multi-touch Game Table are not responsible for any particular usage of the Multi-touch Game Table.  The designers and manufacturers of the Multi-touch Game Table are also not responsible for the implications and effects of any particular application or computer program that is run on the Multi-touch Game Table.  Any broken or malfunctioning parts should be immediately replaced to avoid physical injury.  The Multi-touch Game Table does not come with a projector or a computer, required for proper usage of the Multi-touch Game Table.  Extra caution should be taken when porting the Multi-touch Game Table.

6.   Technical Requirements

This section of the document describes how the Multi-touch Game Table accomplishes its functional requirements.  First how each specific functional requirement is accomplished is described, and then how performance requirements are accomplished is discussed.

6.1.        Software Specific Functions Accomplished

6.1.1.   Multi-touch and Multi-User

The application software will be able to support this functionality.  The driver software will support the interface as COM objects between the application software and the Multi-touch Game Table.  Initially, Direct Show filters are used to filter the image for infrared spots created by hand and fingers.

6.1.2.   Generic Application Interaction

We not only produce a DLL from which any COM based application can borrow the input and gesture information but also an application built with AutoHotKey®  that takes the COM inputs and creates mouse outputs for being able to run any generic application such as browsing the web.

6.1.3.   Hand Gestures

This functionality is to be supported by the software.  Either we might incorporate certain hand gestures into the driver software itself, but this can only be done for a limited set of hand gestures.  Simple gestures such as a mouse click can certainly be an integrated part of the Multi-touch Game Table driver.  An interpretation of the rectangles and their positions by the application itself can allow for far greater interactivity and a world of possibilities.

6.2.        Hardware Specific Functions Accomplished

6.2.1.   Total Internal Reflection

Infrared LED’s embedded in a wooden frame mounted around a 24in x 36in piece of acrylic will provide this facility.  Additional wooden beams surround the acrylic to help further eliminate the infrared escaping from the top and bottom of the acrylic.

6.2.2.   Reflected Rear-View Projection

A projector connected to the computer will shine the output onto a plane mirror settled at the bottom interior of the table.  The output will then reflect up into the acrylic backed by a sheet of tracing paper, which is translucent, to permit a nice projected image to be created on the acrylic multi-touch screen.

6.2.3.   Supports

Proper wooden structures in the Multi-touch Game Table are to be used for supporting the mirror, webcam, acrylic, and the projector.

6.2.4.   Horizontal Screen

Our screen is made out of acrylic and framed in a wooden frame fitted with a set of infrared LED strips and is horizontal and built into a sturdy table.  This means one can sit comfortably and play it as if playing a regular board game. 

6.3.        Performance Requirements

The Multi-touch Game Table is required to perform as a good input and output device on which people can sit comfortably around and play a desired computer game.  People should be able to touch the screen with their fingers and play games.  The Multi-touch Game Table demo applications should demonstrate that it can be used with multiple inputs and properly project an output onto the comfortable acrylic screen.

7.   Project Issues

This section describes any design or implementation issues involved in satisfying this requirement.  As we build the project we encounter many issues from time to time in both software and hardware.  While an extensive discussion of the issues would be time consuming and wasteful, some of the more important issues are discussed here.

7.1.        Open Issues

The Lighting issue – the table functions a lot better in the dark, tube light and lamp light are much better than daylight.  Bright daylight seems to interfere with the webcam’s ability to detect bright spots well.

The mounting of the projector – how can we mount the projector in such a way that we create a frame into which any household projector can be fitted and angled for proper projection?

Mirror mounting – how can we mount the mirror in a fashion in which we can easily adjust its angle and position for a proper rear-view projection?

Driver Software and Demo Applications – the driver and applications are still in writing so there are numerous open issues in terms of what gestures will eventually be supported intrinsically by the driver, how well the whole thing will function in various circumstances

Testing and Verification – the procedures and aspects that need to be tested are still an open issue

7.2.        Off-the-Shelf Solutions

Some of our off-the-Shelf solutions include the motion detection algorithm which helps us track the bright spots on webcam output.  Another off-the-shelf solution is the idea of using infrared LED total internal reflection and then reading it using an infrared camera from a published paper from Microsoft research.  Other solutions such as using tracing paper and mirror for reflected rear view projection are our own solutions to the Multi-touch Game Table.

7.3.        New Problems

Currently, we have thought up solutions to all our problems and are working on implementing the solutions.

7.4.        Tasks

Painting and aesthetics – Luke Behm has done a few nice coats of maroon spray paint on our table, however, more coats and some uncovered parts need to be coated and covered.  Also, all the sides of the table need to be covered up.

Wood mounting – mount the mirror and projector and also to cover up open parts.

Driver Software – finish writing the driver software.

Demo Applications – create some demo applications to demonstrate the multi-touch principles.

Game Interfacing – try to interface the system with previously built applications like the web and games like Age of Empires.

7.5.        Risks

As always this requirement might not be satisfied due to unwanted natural causes or acts of god.  Additionally, we might not be able to fulfill our requirement in the event of an unwanted and unforeseen technical difficulty or if we shall not be able to finish the development on schedule.  There are no major safety hazards involved other than general precaution.  We make sound plans and keep our overall objectives in mind as we work through this project to reduce the probability of any preventable occurrence.

7.6.        Costs

Up to $300 worth of hardware and parts can be purchased on Syracuse University budget.  For the Multi-Touch Game Table Additional investments have been made by Aditya Mittal, Albert You, and Luke Behm that are documented separately.

Additionally, we spend countless hours of the week in lab dealing with everyday issues with hardware as well as software development, verification, and testing.  We also bear the costs of going and getting the materials.  Additionally, we bring to the project our expensive knowledge and training that we have paid for all these years of our college life.

7.7.        User Documentation and Training

The user will have access to a complete set of documentation that will help the user setup the device, test its functionality, and operate the device with ease.  The users will also be able to refer back to the documentation for repair help and aid if and when they get stuck trying to understand our project.

The users will also be able to contact the manufacturer for additional help and aid with the product, provide us feedback, purchase or receive software updates, detect and repair minor hardware problems, or get information about the development of the product.

8.   Operational Scenarios

Two seventh graders are sitting at home one night playing chess against each other using the Multi-touch Game Table.

An artist is using the Multi-touch Game Table to paint new effects and visuals using his fingers.

An old man is browsing the stock prices online on the Multi-touch Game Table.

An Age of Empires® fan is playing the game using the Multi-touch Game Table rather than the old fashioned computer mouse and keyboard. 

A DJ is using Multi-touch Game Table to run a turntables software with his hands to produce cool musical effects through his vibrant speakers.

A puzzle fan is assembling his new puzzle on the Multi-touch Game Table.

9.   Development Schedule

The project development consists of five stages.  First, the project was thought of and proposed.  This step was accomplished early last semester, as Aditya Mittal came up with the idea of an electronic board game, and James Wallace, who was at the time building a video game, approved and did some research and developed this idea into a multi-touch game table.

Second, James Wallace built three small (3in x 4in) prototypes starting with a flimsy first one and a smoothly operational third one.  By the end of the first semester we had the third prototype that worked decently well.  James Wallace had also begun writing a device driver, and ordered the physics shop to build the full size Multi-Touch Game Table.

Third, Albert You, Aditya Mittal, and Paul Ferrara returned from winter break.  James Wallace was gone for working at Microsoft® and found the full size Multi-Touch Game Table built.  However, the full size table needed much more refinement, and also the driver needed to be written.  Aditya Mittal and Albert You got together as Aditya Mittal began working on the software and Albert You began working on cutting, soldering, and assembling the infrared LED strips into the table.  Albert You also took the full size Multi-Touch Game Table to the physics machine shop and had improvements made to the wooden structure and had wheels added for portability.  Aditya thought of the idea of using tracing paper for rear-view projection and Albert went out and brought drafting paper first, then tracing paper.  Together Aditya and Albert also brought a mirror that broke.

Fourth, Aditya Mittal brought in his old friend Luke, a graduate of Syracuse University, to help get materials, do woodworking, and painting of the table to give it refined looks.  Aditya Mittal continued to work on the software and Albert You and Aditya Mittal both continued to work on the presentations and documentation for class.

Five, the whole team shall test the Multi-touch game table to ensure its functionality, performance, and aesthetics.  Finally, the table will be ready for competitions (April 20th for Syracuse University and May 5th for Rochester Institute of Technology) with other teams and for future manufacturing.

10.         Preliminary Budget

$12,000 for 300 man hours. $400 for consumable material such as webcam, mirror, wood, table, power supplies. $4000 for computer, projector, and software for development, and hardware tools.  $1000 for party.  $15 and a pack of gum for testing. $200 miscellaneous expenses, broken and unused parts.  $1,500,000 for manufacturing.

11.         Appendices

Other relevant documents include the User Guide, Project Timeline, Design Methodology, Concept Presentation, Project Demonstration Presentation, Technical Requirements Presentation, User Presentation, Technical Description, Multi-touch Game Table Specification (this), System Test Script, and User Test Script.  We might add a business proposal and plan for manufacturing as time permits.

11.1.   Definitions, Acronyms, Abbreviations

Multi-Touch Game Table – The name of the product

LED – Light Emitting Diode (infrared in our case)

COM – Component Object Model

DLL – Dynamic Link Library

AutoHotKey® - A macro program that generates WIN32 events so that our driver can interface with any other application

SpriteCraft® - A simple game engine used to develop the demo applications

OSC protocol - OpenSound Control ("OSC") is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology

UDP - Universal Datagram Protocol used for sending data on networked computers

DirectShow – Microsoft’s filter pack which is part of DirectX and is used for filtering audio and video data from the webcam

Acrylic – commonly known as Plexiglas

11.2.   References

Multi-touch Game Table Specification has been written in full by Aditya Mittal for the Multi-touch team using the document template provided by our Writing 407 professor Michael J Frasciello.  Working experience is the only reference.

11.3.   Acknowledgements

We would like to acknowledge all of our Senior Design professors starting with the main instructor of the course Dr. Frederick W Phelps for his motivating guidance and great stories to all our projects, Dr. Duane L Marcy for his technical guidance and keeping us on track, our technical writing instructor Michael J Frasciello for helping us create documentation like this, and instructional lab supervisor William Choate Tetley for helping us get to the materials we needed to begin and also for being very interested in our work and helping us out as needed.  We would like to thank all of our professors for being greatly motivating and promoting our projects to success.

We would also like to thank Dr. Carlos R P Hartmann and Dr. Shiu-Kai Chin for inviting the executive vice president of Lockheed Martin Corp, Robert B. Coutts who is responsible for Lockheed Martin’s $9 billion Systems Integration business area.  We thank Robert B. Coutts for coming and talking with us.

We would also like to thank Jeff Hahn for starting the revolutionary multi-touch technology.

Additionally, we would like to thank ourselves, the senior design team, Aditya Mittal, James Wallace, Albert You, Paul Ferrara, and the keenest Luke Behm for joining us and helping us greatly.

We would also like to thank all our classmates for the great inputs in the various problems we encountered as we worked in the lab through the months and Syracuse University ECS for supporting such great project work and providing us with such opportunities.