Shifting Winds

     This was my first ever game jam! And hoo boy was I definitely not prepared for it. I had a lot of "Firsts" during my first jam. It was my first time modeling with Magica Voxel, my first time making an editor script for Unity, and my first time using a few other Unity tools. 

     The theme of the Ludum Dare 35 was "Shape Shifting". I had just recently finished my game Gib Parkour and that was my first time using the Unity animation window. When I learned of the theme I instantly knew I wanted to make a character model that used the animation pane to transition its own shape. Said character model ended up being a set of birds.

     Once I had my birds shifting back and forth correctly, I started working on movement. I took a lot of queues for my flight control from Warthunder, specifically the Mouse and Keyboard Arcade controls. I gave each bird its own strengths and weaknesses, the stork verticality, the falcon speed, and the humming bird control. Once the flight was all set and done, it was time for some art!

     I had a lot of fun modeling the trees for this game. Magica Voxel is an amazing tool for Game Jams, as it lets you put out models at an extremely fast rate. The islands presented a bit of a problem, as the size I wanted for them was larger than Magica Voxel would allow, so I ended up modeling them in 8 sections, 4 for the rocks on the bottom, and 4 for the top grass. 

    It was at this point, with the Islands set up and the flying working, that I ran into a major issue. For some reason, all collisions in my game stopped working. I have no Idea what caused this, and I probably will never know, but at the time I didn't have time to figure it out, as at the point this bug was discovered, I only had 7 hours left in the Jam and I still hadn't programmed any sort of goal. So I had to start thinking creatively.

     I was running out of time and everything I tried wasn't fixing the collision, so I needed another way to tell if the player was inside another object. I ended up with one of the most inefficient, bodged, and creative solution I've ever used. 

     I came to the conclusion that the only thing I knew was working correctly involving the bounds of my objects were that they were properly rendered, which means even though the collision system wasn't working, my camera was. So I knew cameras would work. 

     I ended up placing a camera behind the player, looking forward that couldn't see the player. On the other side of the player, I placed an unlit, white cube. I'll spare you the details, but the Idea is, if the camera sees something other than white, it means there's something in our player. And somehow, it worked. After copying the system to cover all 6 sides of the player, I had my collision back.

    With only 3 hours left in the Jam, I still had no gameplay. I knew I wanted it to be something involving the 3 different movement systems, and I quickly landed on making it a Ring Race. I pulled this mostly from Spyro the Dragon, although many people equated it to the gameplay of Superman 64. It didn't take me too long to create the rings, timer, and counter, however I realized I needed a way to direct the player in the right directions, so I worked on creating a line that guides the player, and only appears when you come near it. 

     In the end, I finished with minutes to spare, but I got it submitted. The controls are a little clunky and hard to get used to them, and it is horribly intensive. Low frame rates render the game unplayable. However, despite all its flaws, I enjoyed the journey, and I was proud of what I had made. I also learned the importance of sleep during Game Jams.

More Media