Archive for February, 2012






Coding Project: Neural Avatar Control

Project: Neural Avatar Control in a 3D Virtual Environment
Languages Used: Lua, NIA, c++
Programs Used: NIA (Headset Control), Luster (3D Environment), Fraps (Video Recording)
Time Spent: 3 months
Completion Date: September 2nd, 2010

Abstract: This project focused on the development of techniques to improve realism within the field of three-dimensional avatar control. This was accomplished by replacing a traditional hand-based peripheral controller with a Neural Impulse Actuator headset, a device which read and reported a user’s brainwaves in real-time. The avatar’s Virtual Environment was designed to make use of the headset’s output features. A series of headset-based trigger events were implemented, each of these allowing the user to alter the environment based upon a series of preconditions. These requirements were most often met via control of the Neural Impulse Actuator device (NIA). The project’s success rate was based upon how well a new user was able to interact within the environment, with regards to adapting to the system, influencing the virtual world, and performing faster with neural-based commands than with keyboard-based commands.

Powerpoint Presentation: PowerPoint Presentation

Final Report PDF: Virtual Avatar Control – Final Report


Coding Project: Carduino

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