Staying up for 48 hours working in Unity
Global game jam happened last weekend, and of course I joined in! Been volunteering there the last couple years, and it's always so much fun.
For any who don't know, the Global game jam is an anual event where people all over the world spend a weekend to make a game from scratch. Every year has a theme announced at the start of the jam, as well as a local theme you can use instead. At the end of the jam, every group at the jam site presents their game to the other groups. It's just so fun.
This year's global theme was "Make me laugh", and the local theme was "Shift". Now, I'd argue most game jam games make people laugh, but I suppose this week we were guaranteed that.
As my bloodshot eye might suggest, we didn't get much sleep this weekend. Especially Saturday night/sunday morning when that last minute crunch time started hitting. BUT we had a ton of fun, and we were all pretty happy with the result.
Our game was a roguelike dungeon crawler where you play as Mr. Skeltal, a skeleton who has lost his body in a recent battle against a hero, and he's pretty bummed out about it. To get his revenge, you help Mr. Skeltal run (or roll) around the dungeon and build him a new body out of whatever items you may find lying around. If you find anything better than what you currently have, SHIFT it out for something else! (See what I did there?)
My main focus, as the only programmer, was to make the bodypart swapping mechanic work as best I could. I opted to create a "AttachableObject" script and maintain logic by having Get and Set functions between each limb (sort of like a nervous system). All actions were handled in the player controller, which was of course the head. So if the player wants to attack, the "brain" sends a signal down its' neck, through the torso, into the arm and then the attack happens! It took some time to set up, but this way it was very simple to create new limbs and add them into the game. Now only needing a connecting slot where the limb would attach to the body, a box collider and a spherical trigger to function as the pickup range.
To not have to deal with the changing body size and parts for animations and such, the whole game just functions through physics objects. So the player just literally attaches physics objects with animated joints onto themselves. This results in the wonky animation you see above, as I set the animation to use "walking" if the player character had velocity. And when the legs are always moving with their own colliders, the body really never stops moving. But we loved the end result, so we just kept it as it is.
As a part of our overly tired night on saturday we also made some custom music using Beepbox. I think it turned out pretty good and it fit the feel of the game.
All in all, it was a super fun time, and it felt good to work on something else than schoolwork for a while. If you want to check the game out, I'll link the official Global Game Jam page with the download link below.
I'm pretty new to this blogging business, but think it might be fun to just write some smaller entries about projects that don't necessarily need their own portfolio pages. We'll see how well I keep this up!
Thanks for reading!