Pittsburgh, Nova Place, 5.30 pm.
Standing beside the registration kiosk with my team, I am nervous and twice as excited about the whole thing. I have never been comfortable with the unfamiliar, but man is this exciting.
Having gone through Building Virtual Worlds at the Entertainment Technology Center, we are no strangers to creating games quickly in two weeks, but this is a different ball game — a mere two days.
“Will our game idea be cool enough? Can it be done? What’s a game jam like?”
Grabbing my “Jammer” pass, I muse over my thoughts and look around. At a glance, I spot about twenty to thirty people scattered around the venue. Honestly, I expected a lot more participants, but I feel strangely relieved. Fewer participants — less pressure.
Turns out, we were just early to the party.
“Will our game idea be cool enough?”
We choose a location away from the central area as our den of operations; a comfortable, carpeted box-like space partially separated from the outside by wooden beams that stack horizontally on top of one another. After receiving the theme for this year’s jam at the central area, we waste no time getting back to our pod, stopping only to grab a plate of tomato pasta along the way.
It is time to brainstorm about the possibilities of “Waves“. Taking turns, we describe the ideas we have in our heads and scribble them on the whiteboard:
- Bat in a cave.
You control a bat and travel through a dark cave, using sound waves that echo back (echolocation) to figure out the location of obstacles and dodge them.
- Rubber ducky in a bathtub.
Control the water level and wave formation to dodge obstacles.
- Drummer beats.
As a drummer, control the crowd wave and juggle the lead singer on top of them.
- Fighting beats.
Pressing buttons in different orders according to sound beats causes your character to perform different attacks. Two-player game.
- Meteor strike.
Perform actions that accelerate the meteor towards planet Earth and measure the destruction caused by sea waves as points.
Attempting to improve on them, we distilled the core principles behind each idea and infused them into one another; This created “Fighting Beats Ver.2”, incorporating the waves mechanic from “Rubber ducky in a bathtub”, the dangerous obstacle from “Meteor Strike” and the juggling mechanic from “Drummer beats” as the fighting mechanic. Finalizing our decision, “Fighting Beats Ver. 2” won most of our votes, followed closely by “Meteor Strike”.
It is always useful to find the essence of the game and see if it applies to others.
Okay, I’ll be honest. “Fighting Beats Ver. 2” is not the name of the idea. I named it so because it sounds better than saying: “a two player fighting game with waves and balls”. In retrospect, I suppose concepts are like that in theory as well — an amalgamation of ideas.
The next step is to solidify our concept and incorporate a plausible basis for the game: two bears attempt to bounce a dangerous beehive towards the other by pounding on a constantly waving platform.
“Can it be done?”
Each member of the team has his own predefined roles: Aaron is the game designer, Sunil is the sound designer, Kuk is the artist and I am the programmer. We are, however, not bound by our designated roles.
Prototype fast. That is what I learned from Building Virtual Worlds. I went straight ahead to program the mechanics, using simple cubes and spheres to simulate our discussed mechanics. This is the result:
The red and white bars represent the platform; the white ball is the hive. The platforms move up and down depending on the button pressed, and the goal is to bounce the white ball to the other side.
Testing it out, many things felt wrong. The ball sticks to the platforms and refuses to bounce; the platforms jerk up and down in a weird fashion. It may seem like a disaster, but the prototype shows us a glimmer of its potential to be something enjoyable. To us, that is gold. We now have a tangible starting point that grounds and guides our discussion.
Improving on the flaws of its predecessor, it is time for our second prototype:
This looks way better. We add flippers on top of each platform and use Unity’s physics to rotate them so that force is applied to the ball instead of just moving up. We try letting the flippers fly up mid-rotation but shortly removed it as it looks creepy. Below the flippers, the platforms now move in increasing frequency from left to right, generating an unintended charming effect. We are ecstatic about the dancing waves! We think it’s cool. Ah, the power of prototyping and happy accidents.
Yearning for a true jamming experience, I decide to stay overnight at the jam site in my snug sleeping bag. Kuk and Aaron chose to do the same. As I fall into deep slumber, the thought of people forsaking the comfort of their homes to create games is both slightly amusing and inspirational. Amusing because we are sacrificing our weekend to work, inspirational because we are willing to do so for our passion.
The next day, I wake up feeling energized. My sleep was surprisingly wonderful. After taking a quick breakfast of donuts and a much-needed shower at a nearby gym, I was ready for day two.
After showing prototype two to Sunil, he said, “This is awesome! Hey, I’ve got an idea. Let’s make it so that the platform moves according to sound beats as well.”
I turned to face him, “Like a visualizer?”
“Like a visualizer,” he said.
Whenever we have a new idea, we always try to prototype it first to see how it feels. No one says it’s not viable until we feel it’s not. And so we did the visualizer:
The effect is cool and it adds variation to the movement of the platforms. However, we aren’t too sure if it adds to the gameplay, so we decide to leave it there and see if it feels better later on. Sitting at a white rectangular table with our laptops beneath our fingers, we continue jamming.
“The left bar doesn’t move as much as the right bar,” Aaron said, looking at his computer screen. “See? This might not be good for game balance.” He is right. Since the bears are situated at the opposite ends of the screen, an asymmetric movement of the platforms will induce an unfairly divergent experience between each player. A discussion for a new wave mechanic ensued. After trying out several concepts, we decide on — a pulse wave:
“Wait a minute, where did the bears come from?” As we complete the implementation of the pulse wave, Aaron has already integrated Kuk’s 3D assets into the game, along with several UI updates. Playing our current prototype, we are pleased with the new mechanic and how the game is starting to look. It feels right. More importantly, it feels fun.
We proceed to playtest the game with a few friends. From the feedback, we improve the wave’s physics interaction with the hive. We playtest it again and make even more changes. Playtesters adored the cute bears, so we enlarge them. We also move the beats mechanic to a purely visual one as we feel that it interferes with the gameplay. We then playtest again, reducing the cooldown of the wave this time. We playtest again, and again, tweaking the game repeatedly based on invaluable feedback. Somewhere along the way, we gave the bears accessories that include shades and jackets to reflect the musical feel of the game. They look weirdly cool.
Sleep isn’t so good this time, but I am nevertheless excited about the final version of our game. After a morning of debugging, integrating and slight tweaking, we are proud to present: Bee Ball, winner of the best theming award at the Pittsburgh Global Game Jam.
This game exceeded my expectations on all fronts. I am thankful for my teammates: Aaron Albert, Sunil Nayak and Kuk Kim, for giving me a wonderful and memorable game jam experience.
What’s a game jam like?
A lot of hard work and passion with equal amounts of fun and satisfaction. It was gratifying to watch people enjoy your game. During the showcase, I distinctly remember seeing two boys have so much fun that they came back to play it a second time. It made me smile. I will never forget that.
image credits: http://weknowmemes.com/2013/10/28-of-the-funniest-pokemon-fusions/