BFGoodrich Race Game Microsite

Agency:
The Martin Agency

My Responsibilities:
Technical Lead, technical Project Manager and Programmer

Project Description:
A innovative microsite was developed to support BFGoodrich's online advertising campaign. This game is a 1-on-1 drag racing style third-person perspective game. Users can choose to compete using either their keyboard, or if they have a microphone they can choose to make car noises in order to increase their car's speed. The user must win a qualifying race in order to get to the finals, where they would race the current champion. If the user wins the final race, they become the current champion and enter their 3 character ID and possibly their email address if they want to be notified of being beaten.

My Contribution:
Developed the sites functional and technical requirements. Developed the server side code to support the on-demand image creation system.

Involvement:


Project Highlights


Image Generation System

Project required an application to build images on the fly that contained unique dynamic content. The application would need to be able to scale to handle a great deal of load and great emphasis was placed on the stability and availability of the system. To accomplish this, a clustered server environment was designed. To aid with system reliability and stability, a queuing system was developed to manage incoming requests. Every part of the system was designed with efficiency in mind.

System Design

Dynamic Image Generation

The dynamic image is constructed, via GD, by creating a canvas based on the provided width and height. Pixels and then plotted on the canvas one at a time. The script takes the pixel array generated by the size check and starts to iterate through each one of its values. The first iteration is based on the overall width of the image. Within each width iteration, there is a nested loop that iterates over the images height.

Pixel Generation