Final Product
Synopsis: A physical arcade machine which can be primarily modified by the each user’s unique online actions.
Technologies and Languages Used: Arduino, C, Python, Django, mySQL, Javascript, HTML5
Start Date: April 16th, 2011
Time for Completion: 2-3 months

Background Synopsis:
The idea originally stemmed from previous work competed on the ARG mobile treasure hunt game. Whereas the ARG demonstrated the use of online and mobile capabilities against the backdrop of the real world, World Grand Prix would include the same concept, but in a more static environment.

Design:
The core principle on the project was ‘inter-connected reality’; wherein one’s actions online would influence events in the real world, and vice-versa. We came across this through the use of the World Grand Prix arcade machine and online game. A user would interact with the project by first coming across one of the WGP machines; an wood and paper-based arcade box, where the monitor screen is replaced by a papercraft model of the Tokyo raceway from Cars 2. Along the sides of the box are QR codes alongside a url address [only accessible via the DIMG intranet]. When scanned via a mobile QR code reader, the app would redirect to a website with a flash-based Cars2 racing game. The user takes control of Lightning McQueen, and must win a two-lap race around the Tokyo track. If won, the user will receive a congratulations in addition to a three digit pin number. When the player punches that number into the number pad on the WGP machine, a simulation of the final race of the online game will play out using matchbox cars, and Lightning (your car) will always win. Once this happens, the diorama resets, a gumball is dispensed, and the counters are updated.

Physical Side:
Box
To build the World Grand Prix machine took up the bulk of the time allocated for this project. Apart from the wood working, sanding, painting, printing and papercrafting, there was a decent level of computing also involved. The physical product was broken up into multiple subsections all of which were controlled by two interconnecting arduinos.

Subsections:
Top Displays: Display User’s Scores
Input NumPad: Allow the user to input their winning pin number.
Diorama Servos: Used for setting and resetting the race platform/cars.
Button Toggle: Switch the light colors of the arcade machine.
Color LEDs: Lit up the arcade machine. Can be controlled by the mobile game.
Horn: Activated by the game. Disabled quickly afterwards to due noise complaints.
Gumball Dispenser: Reward of a gumball after a successful game win.

Online Section:
The online section was slightly easier to program. We used python/Django for the website and mySQL for the back-end database. All basic information was stored within the database, such as ‘number of games won’, ‘gumballs dispensed’, ‘number of page hits’, etc. The actual game was built externally and slightly modified to work with the project’s configuration (displaying win/lose screens, generating pin numbers, updating the database, etc). The page itself was written in html, css, and javascript, and was configured for both desktop and mobile viewing.

Images:

Box after being painted:
box

Workstation:
workstation

Arduino:
arduino

Other Arduino:
arduino

Toying with the machine:
machine

Close up of the display:
display

Videos:

Total Demo of the Arcade Box:

Playing the Cars 2 Game:

Toggling the Lights with Mobile Devices:

Toggling the Lights with the Arcade Button:

Arcade Box – Winning Replay

Arcade Box – Gumball Dispensing