I didn’t actually remember it at the beginning, but we were actually at the same site as the first jam I attended years ago. It came back to me when I saw the escalator leading to the auditorium with chandeliers. Classy. I was prepared this time to have the whole weekend there. Clothes weighed down my backpack a lot. Along with my keyboard and mouse, since both my Shift keys are broken on the laptop. A weird problem I haven’t resolved for months.
We got there without a hitch, sat at our table and waited for the keynote. Before that were a few talks from local devs. Great stuff to build the community. One of them was from Tobie, our Senior Game Designer from the same studio. He talked about expanding our gaming libraries to include board games and games not in our immediate interests.
As the theme was announced, I was very pleased. Waves. It aligned with what I had been thinking off when I looked at the possible diversifiers I could implement. More on that on the actual game’s post-mortem. The jam proper started with the brainstorming sessions. Tobie even sat down with our table for some ideas. I bounced back some even if I was intending to go solo.
Compared to the last jam I had, we had a lot more people and even twice the larger room. The sharing session was kind of all over the place. There were still some crazier ideas that stood out, though.
After dinner it was time to get coding. Or was it? The actual first priority: Get some snacks that’ll last 2 days. I didn’t expect a very long walk, but it was. And I was the only one to bring back a bag of groceries. A bag of sweets that even I have up until today, one week after.
I got a big chunk of the game done in the first few hours. My plan and scope was very simple: To get the basics of swarm or flocking movement down quickly. Then it all went downhill from there. The room was freezing. It was very noisy. And the lights from those chandeliers were too darn bright. I got a splitting headache and I couldn’t stare at my screen anymore. It was at that point that we had some funny conversations at the table. “We’re getting too old for this.” “We’re like twenty-five!” “They were right, it is like doing work… and not getting paid.” “Why are we doing this again?”. I tried to sleep through it all. Mostly only getting minutes of shut-eye at a time. I borrowed a sleeping bag at around 3AM had a decent nap until about 5AM. It wasn’t even breakfast when I decided I wasn’t going to take anymore of it… And I left the site. No sleep. Carrying my backpack, laptop, keyboard, and a bunch of groceries all the way on the bus home. The hour long ride home. I got to my bed and had some proper sleep until about noon. And it was great.
I told myself I would go back on Sunday if I had a game. If, not when. After lunch, I decided to give it another shot. First order of business: fix the flocking formulas. I notice some bugs with the offsets incrementing in huge values when the camera moved around the world space. I fixed it by normalizing all calculations against the camera position. That fixed it. Another bug I had to fix was interpolating the angles. Google searches pointed me in the right direction of using Quaternions. A lot of trial and error went on to find good looking values to control the swarms in dogfights. Magic numbers, am I right? Next was actual controls. Shooting was a bit trivial. Movement controls weren’t. How am I supposed to have cool fights with just one button? Some stuff I tried was increasing the ship’s speed. Increasing turn-rates and other swarm variables. In the end, I settled with decreasing the speed and increasing the angle of attack.
ryan (@rogueSleipnir) January 21, 2017
When I was happy with how the flight paths looked like, I listed down the minimum art assets I needed for the player and the enemies. One of the first ones I decided on was the booster trail. It was a cool Unity feature I wanted to try. I had fun designing the particle explosions. Most of it is reused with different variations of motion. The rest of the day continued until 3AM. Alternating between adding new enemies and new art for them. It was very productive, I get almost everything I had in mind into completion. I planned out half of Sunday to polish out the game. To add some more UI elements and even sounds for the remaining time. BFXR is a very handy tool for chiptunes, just hit randomize. The last image I drew was of the logo, did some reference images of cartoon brains. As a bonus fact, the ship images were actually the first thing I drew up Friday night. I never got around to designing new ones.
ryan (@rogueSleipnir) January 21, 2017
Lunch time was upload time. Even with the hiccups on the game jam site, I managed to upload early. Packed up just my laptop this time and prepared for the long bus ride to the venue. The next post will be about the showcase on the last day of the jam.
Sleep was very essential to the completion of the game. A comfortable programming environment is what I can highly recommend. On the next jam, I would do the same things I ended up doing this year. I’d pack light and only go to the venue for the keynote and the last day for show. I will do almost all my coding at home where I wouldn’t freeze my brain off.