Oxyjet (Nordic Game Jam 2016 version)
April 10, 2016
2 vs 2 action survival game, where players navigate their spaceships by making holes in the hulls and repairing them; stay the longest in the center circle in order to win. Developed at the Nordic Game Jam 2016
Download game: https://andosha.itch.io/spacebeef
Project took 48 hours to develop.
Before this blog post gets too far, The amazing Oxyjet is being made into a finished product.
So please check it out. You can follow the development at upstairsdigital.com and on facebook and on twitter.
Now back to Oxyjet the Nordic Game Jam 2016 version
How to play and Controls:
4 Xbox controllers are recommended to play.
Use the left analog stick to move and the A-button to perform an action (depending on your role).
- Red-guy: Poke a hole in the hull.
- Blue-guy: Seal a hole in the hull.
Alternative keyboard controls on PC:
W A S D Space
T F G H R
I J K L U
↑ ← ↓ → NumpadEnter
Last I was at Nordic Game Jam, it was 2014, and it was my first game jam (So I, unfortunately missed 2015). Since then, I had become hooked and started to participate in a lot of game jams. I had also gained a lot of confidence in my abilities (mostly because I could actually code properly now) and I had just finished my ComSci Academy Profession degree as well as an internship at Blackbird Interactive (where I got to work on Homeworld Deserts of Kharak!). This all meant that I was on a creative high from my previous successes, but also that I wasn’t really doing anything, so it was the perfect time for a Game Jam!
As had become the norm since the 2014 Game Jam; I did not have any team beforehand, nor an idea of what I was going to make, but I was psyched to be there again. I went to very good talk about optimizations of Static Sky by framebunker, which made me aware of some good coding practices. Blizzard and Ojiro Fumoto (no video of Ojiro’s talk tho :/ ) also did some inspirational talks that I really liked.
The Group forming
After the keynote, the group forming started. And as per usual, I start feeling the regret, that I did not come with a team, it doesn’t take long before I get scared, that I will be the only one left (in a crowd of 900+ people) that does not find a team. Even after the success of Are We There Yet? where I was the last person left, and yet I found a team, and all went well in the end. I still get scared of the group forming phase. At Nordic Game Jam 2016 they had specific rooms for group forming; specified by the type of game that one might come up with. The theme was Leaks and my idea at the time was to make a Mario Kart meets NASCAR meets Mad Max, where the cars had to go around in a simple track, but the cars were breaking, thereby leaking oil, thereby making the track really slippery, thereby making the game chaotic fun. But no one seemed interested in the idea. Even some told me that they have had bad experiences making racing games at Game Jams. And so I walked from room to room trying to find people that were missing a programmer or had an interesting idea.
Eventually, I stumbled into a larger group, that seemed to almost fully formed. I cannot remember if we had an idea or we just figured out that if we worked together we would have the skills it requires to create a game. What I do remember was that we were more than 6 people and that’s usually a lot for game jam project. However some of the would-be-team-members said that the had to briefly talk to somebody before they were ready, but they never came back.
The Beginnings of ‘Oxyjet’
So we were off to the races, started to generate ideas and share contact information. At the time I felt we were spending too much time on coming up with game concepts, and discussing them (I believe what would become Oxyjet was the first or the second idea we came up with, but then again, we wouldn’t have known the idea was good at that point). I have yet to have a Game Jam experience where I think: “I wish we spent more time figuring out what we were going to make”, but I have heard from others that have.
After a few hours, we settled on curling with spaceships* in an obstacle course. You played a little guy on the ship who could either make holes in the hull of the ship, which would push the ship, due to the oxygen that was firing out of the ship or fix holes in the ship, which would stabilize it. The round would end when the ship ran out of oxygen, but until that point, you could make as many holes as you liked/needed to get to the house (curling term for the goal target). But at some point the next day, someone threw in another ship into the game and moved the ring closer. With no turns, the game turned into a brawl, where the ships would fly into each other, and predict the other guys’ next move. And it was at that point we knew, we had a hit on our hands.
Death by misadventure
During all that I was neglecting the advice that almost everyone gives to game jammers: “Do not do online multiplayer”. In the original design, we thought about using the Chrome Cast as part of the game, to participate in Google’s themed price. So to use the Chrome Cast, we would need to have the game work on multiplayer and have the game working on a smart device. This (unsurprisingly even at that time) is no small feat, so we tried to get it out of the way as soon as possible so that we could scrap it if it didn’t pan out. I managed to get it working on a phone over the network using Unity’s networking API at around 4 am (i.e. I had been working on it for 5 hours). Then came, what turned out to actually be the hard part, which was getting that to work with the Chrome Cast API. Being unfamiliar with the (not small) API, and with the device itself, made the entire thing very difficult. I even got some help from some of the Google Devs that were there to present the Chrome Cast, but after 4 hours of hacking away on it, I surrendered (So now we are at 8 am). I went back to my group (which had all gone home to sleep, except for Fie the artist), and integrated the new art assets before taking a quick nap on the keyboard.
After a few hours, the well-rested part of the team returned, I arose from my slumber, and the Oxyjet, as it is today, began taking shape.
Playtesting – Predicting Rain Doesn’t Count. Building Arks Does
A thing that went really well, was the constant playtesting of the game. We had two non-technical (as in not artist, not audio, not programming) team members, who were constantly playing, testing and designing the game. There were a handful games at Nordic Game Jam 2016 that were similar to Oxyjet (like; they had the same mechanic of punch a hole in the hull, to move the ship), but I think ours out-shined the others by having such carefully tweaked gameplay values and such a well-tested product. Which I might have been the reason our game made it to the finals.
It was also a real morale boost, that people would come by and play our game, both the surrounding groups, but also people wandering around the jam site. They gave us critique that we could use (especially Kevin Martens & Jesse MacCree from Blizzard) but they mostly gave us a lot of confidence in our game.
Game trailer made during the NGJ16
Awards – The end is just the beginning
When we were nominated in the local multiplayer category, I was over the moon. I thought that Schrodinger’s Shark would win for sure (I even voted on that) because I loved the concept so much. But they loved Oxyjet (as do I.. but still), we tried to get as many people to play the game before the finals because we were unsure that just seeing the game would do it justice.
And then the unexpected happened. We won a jury prize! A prize for best Game Feel, signed by a Rami Ismail from Vlambeer. (It was recorded, if you find the live stream, there should be loud scream coming from me, when I heard we won). We were in the midst of celebrating and congratulating each other, when suddenly; WE WON ANOTHER ONE!. Oxyjet; Best Multiplayer signed Ed Valentine of Nintendo. At that point, I stopped caring that we did not win the main prize. As aforementioned, I attend game jams with a goal in mind: To meet people and find great ideas. I never plan to compete/design to win, and I do not expect to**.
Epilogue – Nordic Game Conference 2016
Given the success that Oxyjet was, we decided that this project was too good not to become a full release. Hence the introduction to this post. So we started talking about creating a company and signing contracts. But we needed to be sure that it wasn’t just us that were excited about the project. And those other people didn’t just like it because it was a good game for a game jam. Since we had some tickets and a booth at Nordic Game Conference 2016 we would use this opportunity to test if we should dedicate more time to Oxyjet. And as it turned out, people were stoked about Oxyjet, they really loved it, and some didn’t even think that the game was a game jam. We had our presumptions confirmed, and so the real work begins.
Tags: Arcade, Co-op, Game Jam, Multiplayer, Party, Unity