Main Content

Guitar Hero®: Behind the Music

About the Talk

May 5, 2009 12:25 PM

Las Vegas, NV

Las Vegas, NV

The Guitar Hero® community website (http://community.guitarhero.com) is one of the largest production RoR sites on the Internet with 600,000+ registered users. We will cover the process, programming, and infrastructure for the Guitar Hero® community site. You’ll see how we’ve been able to integrate data from three largely different Guitar Hero® titles in a consumable fashion on the web.

Process

Feature-driven development

o Breaking up Guitar Hero® into manageable units of work

o Modified SCRUM process

Guitar Hero® maintenance

o Migration from Rails 1.2.6 to Rails 2.x

o Removal of “skeletons” (aka appable plugins)

o Being too DRY

Programming

Overview of Guitar Hero® architecture

Rails initializers

o Supporting multiple Guitar Hero® title configurations

Dispatching data from game consoles to the web

o XBOX 360 and PS3 data movement and validation

o Wii data movement and validation

o Supporting components that allow the Wii to talk directly to our application servers

Guitar Hero® configurator

o Supporting multiple Guitar Hero® titles with a single application via meta-programming

o Supporting multiple databases for separate Guitar Hero® titles

Testing framework

o Long running tests

o Transactional fixtures across databases

Use of queuing/Sparrow to offload long-running processes

Caching

o Object caching

o Fragment caching

o Page caching

Infrastructure * Capistrano deployment

Management of SVN for production, soft launch, and future-title branches

Environments

o Development, Staging, QA, Production

Supporting components

o Thin vs. Mongrel

o Monit

o HAProxy

o NGINX

o Memcache

Future

Splitting Guitar Hero® into separate applications for backend and frontend deployments

Supporting legacy Guitar Hero® titles

Supporting future Guitar Hero® titles

Ratings and Recommendations

This Talk hasn't been rated yet. Sign In to rate Talks.

comments powered by Disqus