May 20, 2016

The Perforce JamBox

Community

Last Fall, Perforce took to the road by sponsoring a series of Game Development MeetUps in San Francisco, Austin, and Seattle. Our goal was to give back to the game dev community, and share our experiences surrounding what we've learned over the years from supporting the growing industry. We were able to do that, but we also came away with something much more valuable: a new understanding of the challenges faced by small game studios. Why is this important? Because it's the small studios that ultimately feed the pipeline for the success of the larger AAA studios, and we wanted to be sure to provide tools to help along the way.

First of all, game devs (coders, artists, producers) are insanely creative, collaborative, entrepreneurial, and friendly folks. Spending an evening at these MeetUps listening to and chatting with these people (as well as enjoying large quantities of craft beer and pizza) was nothing short of mind-blowing. It's this type of energy (or chemical imbalance) that sparks and ignites small studios, and in our case, ideas on how to make these small studios more effective.

During the Austin MeetUp, industry veterans and evangelists asked us to work with them to come up with simpler ways to help introduce rookie game devs to the less sexy side of the industry, meaning digital asset management and version control. More specifically, they wanted to streamline the dev process when it came to local and global Game Jams. The challenge they brought to us, as written on a napkin, read:

 

Make it easier for jammers to collaborate during our Game Jams, where time, Internet connectivity, and admin skills are limited.
 

Game on! 

At first, we thought we could simply load up a box with a full Helix installation and ship it out to the jams. But we quickly realized it's hard enough to put together resources, a workflow and a tool chain for collaboration in a highly controlled environment, so how in the world would this work at scale at an event like the Global Game Jam that draws 36,000 caffeine fueled, and sleep-deprived gamers across 93 countries working on almost 6800 games with no guarantee of internet access?

So this is what we did instead...

We stitched together a few in-house initiatives to create the Perforce JamBox. The JamBox is an easy, cheap, and fast way for game developers to safely collaborate and version their assets in an ad hoc environment. And it's so lightweight it can be run on a Raspberry Pi! For Game Jams where the computing power of a Raspberry Pi would not suffice, we also implemented a Dockerized version of the JamBox for easy install on the hardware of choice (as long as Docker is installed).

The package installs a simple web interface and workflow for jammers to sign up, create, populate, and join projects, as well as share and review game assets within their shared projects. Often times, Jams are the place where great games begin, so we made sure that it was also easy to export the game to a more permanent installation for continued development after the Jam.

Not only that but since the JamBox is powered by open source, custom extensions built on top of a self-hosted Helix Swarm and versioning engine, there is integration support for pipeline tools (e.g. game engines, 2D and 3D modeling, audio, continuous build and deployment). 

We had an awesome time networking with our peers at local MeetUps this year, and we couldn’t be happier that the conversations and challenges addressed during these events inspired the idea for our Perforce JamBox, now in Beta. Next, we're thinking of working with other popular game dev vendors to package and ship their tools within the JamBox. This will help create a fully self-contained environment, and ease those sugar-headaches that come with the stress, time limitations, and pizza-overloads at Game Jams.

Have an idea or want to work on the JamBox? Come check it out on the Perforce Workshop (workshop.perforce.com). We can’t wait to see what we can build together.
 

Happy Hacking!