Last December Chris tried peer pressuring me into doing this Global Game Jam nonsense.
“Come on Bryson, you wanna be cool don’t you?” -Christopher J. Rock
While I always feel obligated to elevate my coolness, I resisted. At the time I wasn’t interested because I felt that I needed to give love to my elusive Donut project. As January 29th approached I realized that the Game Jam is something I needed to do. After attending the Game Developer’s Conference and Indicade it’s become ever-so apparent to me that connecting with others within the same community builds deep bonds. And it dawned on me.
Independent game developers need a spot where we can kick it. A spot where we belong. Where we don’t have to get all dressed up and be Hollywood.
Something similar to a Thugz Mansion, but for game developers. Global Game Jam is our Thugz Mansion.
Global Game Jam is an event that took place at over 130 locations around the world where people got together and made a game in 48-hours. From Friday night to Sunday night. Each location is independently run. Some locations had competitions, but not the one we went to.
Chris and I attended the Game Jam organized by MEGAusc located at the University of Southern California in Los Angeles. I left after work so I got there a couple hours late. By the time I arrived, Chris had assembled an army.
We worked in a dorm lounge. Our home for 48 hours. (I went home to sleep though, haha)
We had Troy, a computer science student at USC that learned Flash in his “spare” time, and Gabriel, a local artist that had never made an all out Flash game before. Also we had Noe, Cameron, and Andy who intro game development students that had drove an hour or two to the event for some extra credit points. They hadn’t learned any development skills yet so they helped us out with ideas, taking photos and collecting text for game.
The theme for the Game Jam was “Deception.” By the time I sat down, the team had a solid idea. The game was to be about propaganda sneaking through the brain and dissuading its thoughts and beliefs.
Here’s the background I drew. Gabriel made some tweaks and made the bullet-man.
So I sat down with my MacBook and hit the ground running. I started a Photoshop sketch of an environment based on the ideas that were being passed around, this became the second stage — “The Reptillian Brain.” By this time, I knew it was a platformer within the brain. I imagined you were an invader in an eerie land, a neural forest of trees. Meanwhile, Gabriel began drawing out the “Eye” stage and character designs. After seeing my sketch, he went off and did all of the art for the rest of the stages.
At this time Chris and Troy were going over how they were going to separate and integrate their programming tasks. Chris was tasked to do the gameplay, he wrote a platformer engine from scratch. And Troy created the game shell, which included a menu system, in additon to creating a camera system for the game.
The focus for the first night was to define our idea and what tasks each of us will take on to make that happen. We had decided on a screen resolution of 640×480, the gameplay elements, visual style and the story.
The second day I started by cleaning up my background, exporting every element as PNGs and prepping everything as Flash assets. After that, I scrapped together a parallax engine for the foreground and background elements. Quick and dirty. I didn’t want to worry too much about integrating it with their code so I just told them to give me a camera position and I’ll be able to do the math to offset the tree positions. I got stuck and wasted some time trying to do my code smarter, extending classes and whatnot, but I ended up copy & pasting because some timing problems were popping up.
After defining an art pipeline I worked with Gabriel to clean up his art so we can import it into the game. While he was focusing on drawing the character animation for the game — I took his backgrounds, exported them and brought them into flash.
The programmer guys, I didn’t know what they were working on. But I knew I didn’t want to be a part of it. Their SVN was screwing up so they had to resort to passing files with a Flash drive and trying not to break each others work. They lost a lot of time over that.
About midway through Saturday we grouped up and organized a schedule for the tasks that we had remaining. Scheduling is similar to a 4-letter word in my book, but I can’t deny how important it is to meeting any kind of deadline. Even though we were all in the same room, we were so busy looking at our own screens that we didn’t really know exactly what point each of us was at. The estimates gave us a good idea of whether we had enough time to implement all of the stuff we wanted.
Sunday was a mad scramble to get everything in the game. Gabriel stayed up all night working on the animations and making an intro movie. Troy and Chris were working to merge their code. I gathered together all of the game assets and started laying out stages. Troy had a homie in New York, Giancarlo, whip up some music for the game and it worked well.
The project went together frickin smoothly. Since Chris and I have been making Flash games for years and have worked together on projects before, we already had a style for building a platform game like this. It only took a little discussion to decide how I needed to prepare the art assets for the engine. When all of our pieces were together, they worked almost flawlessly. Unfortunately there wasn’t enough time to polish everything once it was all in place, as that 48-hours came to an end quite soon.
I enjoyed this project. I got to meet some random people that I’d be down to work with again. I love the exhilarating feeling of concepting on the fly and running with it, not having to deal with lengthy meetings and approvals. I appreciated everyone sticking with it for the long haul, 48-hours is a long time. It was an uncomfortable, inconvenient situation that forced us to cooperate and resolve differences which in the end resulted in a deep bond. Kinda like camping, haha.
I’m looking forward to Game Jamming next year!