Wave Bot – Global Game Jam 2017

By | February 5, 2017

This year, PG and I were participating in Global Game Jam at Seattle Indies Workshop in SODO. On Friday night, I came to the event with the intent of creating something weird and fun. During the social, before the theme was announced, I tried to talk to as many people as possible and figure out what kind of skills were available in the room. I met a few old faces, but majority of the people were new.

Before the social ended, I saw Livio came in with HTC Vive and desktop. I chatted with him for a bit and found out he was teaming up with Sean to make VR experience with two commercial controllers paired with two dev-kit controllers. I knew Sean has been meaning to try it for a long time, and decided to join the team. PG saw us started brainstorming of different type of mechanics using four controllers, and also decided to join. A few other people came to chat with us and shared ideas. A couple of them were John and Rob.  They seemed interested in our constraints, but still roaming the room to learn more about other people.

As the event started and the theme of “wave” was announced, we rack our brain to figure out what kind of experience to make. The theme was a broad idea, that span from wave-length like music, color, wave pattern, actual wave motion, wave shape, etc. When I met Livio at last year’s Seattle VR Hackaton, we talked about creating giant robot VR experience. So somehow, we decided to do so, having a giant robot experience where users can hit things with their hands and kick/stomp things with their legs. To fit the theme, we wanted this robot to have noodle arms and legs, to create wavy motion. The enemies can come in waves, and maybe whenever player hit or stomp enemies, there would be shock wave effect. After hearing our pitch, Rob and John decided to join us. So we have a team of two programmers (Livio & PG), four 3D artist (me, Sean, Rob & John), and one media person, Staishy.

For the rest of Friday night, we spent the time designing. We couldn’t use the VR device right away, due to not having the right splitter for the display. And everyone agree that we should have good night sleep at the end of the day. No crunching! Oh, there was also the issue of shooting at UW around the time of Milo something something speech.

On Saturday morning, a couple people in the team were participating in Women’s March across Seattle. We came in early enough to get breakfast at the Workshop. Then I started the day by doing level design, to create the arena for player in VR. Unfortunately, we didn’t have access to the VR yet to test out the level, so I had to guess at this point. I used a reference of player around 1.8m height. Then I started working on a system of breakable objects. Player would want to do something in VR, like touching, grabbing, and moving around. I wanted to make sure that there was at least something to do in there for a start.

When we were finally able to test the basic level in VR, the scale was not too far off. The world was a bit small at first, but with quick scaling, we figured out the proper size.  Rob made some models for the robot limbs, claws and feet. John made a nice model of the robot’s head. Livio then figured out the IK for these models, and able to use all 4 controllers and one HMD. Unfortunately, it was hard to test the leg part at this point, since we didn’t have a way to strap the controllers to the leg.

On Sunday, Sean came in with a bunch of tools, a pair of old boots, and plastic CD containers. I brought some scrap clothes and velcro from my crafting stash as well. We made a controller housing-hard box that could be strapped to the legs. After that, we were able to test using all four controllers, and it worked great.

However, time moved really fast on Sunday, and we had more assets than enough time to implement everything. Around lunch time, the only interaction we had was breakable building. I figured I need to help more at this point with integration, so I did what I could based on my past knowledge. PG created a few behavior scripts for the enemies, and I helped creating the navmesh and AI system for the enemies. We didn’t have enough time to put the actual enemy wave mechanics.

Some people came over to test our VR experience, that we named Wave-bot. They seemed to really enjoy being able to use all four controllers. We had one person who managed to kick hard enough until one dev-kit controller flew away from its housing. Thankfully it only happened once. Sean created tank model that could be picked up on the ground. John actually made a mirror-reflection system in game that let player took a look at themselves, but it dropped the game frame-rate by a lot so we didn’t keep it in the demo. Rob managed to create two different enemies. Unfortunately with the time restriction, we only able to put one in as flying enemies.

You can find more information about this project at Global Game Jam site and download the files. Overall, we had a fun project, and I learned more about scripting and animation by watching the people in the team. I also felt much better this year since I could contribute with scripting and integration.