Andy Sigler

Screen Racer

Screen Racer is a multi-screen, iPhone-controlled, HTML5 game, using only an internet connection to combine any number of screens into one landscape.

http://www.youtube.com/watch?v=5XElaDq7oA4

Classes
Dynamic Web Development


Screen Racer focuses on the potential for real-time web, multiple user/screen web applications. First, it uses any number of screens for it's display, spreading the game's landscape across all the computers. Secondly, it uses the iPhone browser's orientation data to control the helicopter, bringing the experience even closer to the user. And lastly, Screen Racer is built completely within the browser and with HTML5, allowing for anyone with an internet connection to play without having to download anything.

Background
Check out the Helicopter Game. It's a very simple game, using only up/down controls, but you have to play strict attention to avoid obstacles. This project does the same, but instead of one screen, it's multiple, all in an inward facing circle. This forces the players to spin while they play. The helicopter will then slowly increase in speed, making the game harder, and the player more dizzy. Eventually, they will crash into an obstacle because of the speed, and will have spun in multiple circles by then! (the server creates a line, only allowing one user to play at a time)

Audience
Anyone with an iPhone and a willingness to play a game. There is no physical or age requirements, because if you can't spin fast, you simply won't be able to advance very far in the game.

User Scenario
The screens start off all black, or perhaps playing a simple sequenced animation to draw people in. The user will then take their own iPhone (or one I provide) and load my URL. Once there, their iPhones are added as controllers, and they can click a button to start their game. When started, the helicopter will start off slow with minimal obstacles, but slowly the speed picks up, and the obstacles become more dense, until they crash. The iPhone will then disconnect them from the game, and they will be given a score based on the time of their game.

Implementation
All the code is Javascript, with the server written in Node.js. It uses basic websockets for all communications, and the HTML5 element to draw the animations. I have finished the messaging and networking, making sure that it is strong and fast, and it works across multiple computers in a network. Now I must added the obstacles, and do user tests to further design the game. This project is my final for Dynamic Web, and is due May 10th.

Conclusion
I love real-time web stuff! Connecting things is too much fun.