Translate

Sunday, January 29, 2017

Widgets

GGJ 2017 Wrap-Up!

The Global Game Jam 2017 was a just as exciting as I hoped it would be!

The theme for this year's Jam was "Waves" and of course the list of diversifiers.

What is the GGJ you ask? Well, check out this year's 2017 theme video with a speech from the Keynote speaker, the Extra Credits team!


We had a really solid team this year and we were ready to rock and roll! The entire Raid+ development team participated and we had a few friends in the area join our team. Everyone on our team helped pitch in with drinks, food, snacks, and even air spray! lol, Game Jams = Stinky Gamers.


So we were really torn about the Waves theme for this year, as we didn't want to spend too much time discussing and designing. In the previous year, we spent nearly 4 hours before our team even agreed on a concept and we did not want to let that happen this year.

So after watching the video and hearing the theme, I immediately thought of "Waves" of enemies, which the team really liked. What it really came down too was trying to create a concept with waves and the diversifiers we wanted to use. So as simple as the "Waves" of enemies concept was, we decided to go with it.

The diversifiers we chose to incorporate into our game were:
  • Chipping In: The game uses only 8-bit style audio, only 8-bit style visuals, or both.
  • Local Lore: Incorporate a local urban legend, myth, lore, or history into your game.
  • Game Legacy: Each playthrough of the game affects the next.
  • Time Lord: Your game offers variations based on the time of day it is played.
Our team was made up of programmers, animators, 2d artists, 3d artists, and a sound designer.

With the "Wave" theme and our diversifiers, we decided to create a game about the Milwaukee Superheroes. They are a neighborhood watch, in Riverwest, WI, that became really popular with the local news because they'd walk around in superhero costumes fighting off crime. So in our game. you play as a Milwaukee Superhero, fighting off waves of criminals and enemies who are invading the sewers of the city. Each time you go into the sewers, it is a different level. Depending on the time of day, the level will also change into scarier nighttime levels. 

The description for our game is "Live the legend and play as a local hero as one of the Milwaukee Superheros! Battle your way through waves of vicious animals that are terrorizing the underground of the city! Kill enough enemies to purchase better weapons to fight your next crime wave and areas! Make sure you are aware of the time of day, things can get a little crazy during the night in the undergrounds of MKE!" 

We used Unity3D, C# to build out the game, and Sourcetree (Bitbucket) for version control. The artists used Spine 2D as our animation tool. We eventually started handing out tasks and getting to working towards our first game loop. I was tasked with object pooling the waves of enemies into the game. Object pooling is a concept I had heard about before but I never had attempted it before. The concept is that instead of instantiating your prefabs or assets and destroying them you will already have all your assets loaded at the start of the game, you just won't see them. Instead of instantiating and destroying, you are just simply enabling and disabling the renderer of that object every time you call it. This causes less stress on the game by not having to instantiate something all the time.

Now this concept was easy with the simple bullet asset when I was testing, but when I tried implementing it with our waves of enemies, I ran into some issues. Enemy prefabs tend to have a lot more of them (scripts, colliders, materials, etc) than just a simple bullet which may just have 1 script on it. For some reason, when I was spawning waves of enemies from my pool, it would run into issues after the 2nd or 3rd wave. I may have just been extremely tired but I eventually came to a point during the 48 hours where I had to decide to continue trying to solve my issues or write an enemy spawner script I knew would work. Well, at the end of the day, I decided to go with just writing out what I knew how to. I did save my code from what I was working on. This concept is something I will want to perfect in the future. After the Game Jam was over and a couple days passed to recover, I went back and tried fixing a couple minor bugs, and build a web build and put it onto itch.io.

All in all, after a long 48 hours of hard work, issues with Sourcetree, lack of sleep, and a really crappy football game (Packers got stomped by the Falcons which we were LIVE streaming), as a team we were extremely happy with what we were able to accomplish in 48 hours! It's always a great learning experience and I look forward to my next opportunity to participate!

You can check out our GGJ page by clicking HERE.

You can check out a short YouTube video I made showing off the game too!




You can actually play our game right on the GGJ site! (*PC Controller Required to Play*)

OR 

You can play it by going over to our itch.io site below:


Check out all these pictures, screenshots, and artwork below from the event!