“Summoning” A Game For Ludum Dare 55

Promotional art for the hit game of the year

Here I am back again for my biyearly post. This past weekend I participated in another 72 hour game jam. I had a great time participating as a solo developer and while I produced a pretty simple and basic game, I think it stayed pretty close to the original on paper vision.

Before you read this, consider trying out my game first at this link before reading this article! It’s a short play and you can play it on any Windows machine in most compatible browsers! It supports keyboards and controllers! This article avoids spoiling a lot of the discovery and surprises it holds, but still can ruin a bit of the magic.

Last October, I competed in my first ever game jam with Ludum Dare 54. The theme for that one was “limited space” and if you want a little more detail on what it’s like to do your first game jam you can read about it in this blog post from last year. This time around I’m going to talk a bit more about the process and less about the concepts of what a game jam is, so if you’re confused on what this is even about, that might be the better post to read.

The number one goal from this jam was to force myself to learn a new engine – Godot 4.2. All of my previous game creation experience has been starting with a small attempt at learning GameMaker Studio followed by a longer stint with Unity. After Unity’s previous PR disasters and the feeling that it could become a sinking ship at any time, I made the decision to switch over to the open source alternative that seems to be gaining a lot of market share. My experience with Godot here was mostly positive. I went in to this jam only prepping for about a week and a half versus the last jam where I had six weeks prep and had some prior experience. Godot has it’s small quirks about it, but it seems to be headed in a very positive direction.

The other goal was to get experience with pixel art. I had never really done much with drawing at such a small scale and I ended up using the popular sprite creator program Aseprite for over 20 hours in this 72 hour period. If there is one spot that I may have underestimated, it would be the sheer amount of work it would take for an idea like this. I’ll get in to more of that a little later.

The idea for the game was created keeping my own inexperience in mind. I decided that I had to make the smallest concept I could come up with. It’s easier to scope for something small so you then have extra time where you can polish and expand instead of cutting things left and right and making a messy experience. My game idea was to make a singular mini-game, loosely something that resembled a game you would play in the WarioWare franchise.

The lore of the titular Party Wizard is that you are in the backroom of a house party filling peoples requests by summoning in the items they ask for. The guest asks for a specific item, you are given a timer and four options, and you must choose the right one to fill the request before time runs out. As the game progresses, the items tend to have higher odds of being goofier. You may start a game by giving someone a cookie and end by failing to deliver someone the katana they requested. Three wrong attempts, and you’re done. Each round the timer gets shorter and the game speeds up inevitably becoming too fast to handle.

What Went Right

The first thing I made for this project was the random generation of items. Each item was given a rarity value falling in to one of four categories (Common, Uncommon, Rare, Ultra Rare) to determine how often each item was chosen. The scripting for this was a quick write and just kind of worked immediately. It allowed me to change percentages in the editor and change them dynamically in the code. It helped make testing productivity much higher. Is the code efficient? Probably not. But it works to that’s a win for me.

Basic animation of the gameplay loop

One of the biggest issues with the last jam was I barely left any time for audio. This time it didn’t come together until the last day, but when it did it came together way quicker than I ever expected. I made some basic sound effects using the free Bosca Ceoil midi creation software and two versions of a thirty second track that was purposely made to be loud and abrasive. This allowed me to make two versions of the same song – one loud for the title screen and one muted and distorted to play in the background during gameplay. The faint muted bass made it feel like you were in a different room adjacent to a party and I think the effect came off pretty decent.

Keeping the project small was a big help. I ended up having a pretty decent prototype by the end of the first two days which left me the last twenty-four hours to polish which I believe make it much more cohesive. It gave me time to add extra animations, audio, more items for variety. It gave me time to add in systems to make the rarer items appear more often as the game progresses since I assumed as a jam game it would only be played for five minutes or less allowing people to see more of the content I made for it. It also let me add in some rare character spawns which are still fairly difficult to find. I only saw them twice in all of my testing.

My only goal in terms of rating was to make a game that was funnier than the one I made last jam. When the scores come in I just want a higher humor score. It’s all I really care about since I know it’s not the greatest game in the world. Only time will tell on that, but I think in all aspects, not just humor, it’s a better game than my previous jam.

What Went Wrong

An important part of learning from game jams is being able to distinguish what went wrong so you can learn and grow from it. The first mistake was trying to make the game in such a small resolution. The game ended up being roughly double the size of the NES resolution and I quickly learned that not making a game in 16:9 comes with a lot of difficulties. I’m not saying this is a full on regret and I might explore the idea again down the road, but I would have had an easier time exporting on a short time frame if I had just picked something different for a game jam environment.

Sprite sheet of the explosion effect that is just a bunch of random pixels spray painted on to a canvas

Having this be my first time working with creating sprites, my art style ended up being inconsistent and the styles didn’t all mesh. I thought some of them actually turned out looking fairly decent, but others had odd shadows and incorrect perspective. Some had dark borders, others had gray or no borders. I should have come up with one style at the beginning and set some basic rules. I did an alright job at sticking to one color palette (with a few exceptions) but if I started over this project I would set up a standard from the first thing I drew. It is clear that I am not an artist at heart. This is very much programmer art.

Another sprite sheet animation that plays when you lose a life

One thing I still haven’t figured out with game jams is how to pace a game properly. My games tend to be too easy at the start with a difficulty curve that escalates too quickly. The number one complaint from others and from myself on this game is that it starts off too slow. There’s not much incentive to play it more than once because of how slow the early game is. Making the game increase speed as it progressed helped tremendously, but ultimately it felt like a bandage on a bigger problem.

Finally, the most obvious weakness just came from unfamiliarity with all the software I was using. I made a pretty late decision to even join this jam after a four month break from programming. I was learning new software, a new programming language, reacclimating myself with coding, and teaching myself new art styles all at once. The jam helped force me to learn these skills in a rapid timeframe, but it definitely highlighted a lot of my weaknesses. The good part of all of this is I’ve become a master of referencing documentation.

The Scrapped

A tough thing about game jams is you always have more ideas than time. Now I get to highlight a few things that were planned for this game that got cut due to time constraint or priorities.

I wanted to play with the concept of a secret item in this game. Something that was the rarest of rare that most players would never even encounter and by choosing it would ultimately end the game. The rough idea was that someone would request the soul of the party wizard and if fulfilled would unlock a secret ending. Hopefully down the road I can use this in some form because I just think it’s really funny.

Part of the difficulty scaling was that I was going to have a mechanic where after a few rounds more people would fill the room having full on conversations. These conversations would also be in speech bubbles and overlap the characters dialogue making it harder to read the items being requested. Since this never even made it to a testing phase, I’m not sure if it would have worked but I think it would have made for a better game. While the implementation of it wouldn’t have taken too long, it would have required more art assets and more written dialogue that I just didn’t want to make the time for.

The last thing was I didn’t have time to decorate the room. It’s boring. That’s all. I just ran out of time on that one. Even like some cracks on the wall or something would have helped. The table looked nice at least.

So where do I go from here? Right now, I have to continue playing my peers games and submitting ratings so I can get a final placement in the jam. Seeing other peoples end results in jams like this always give me a mixture of emotions. It makes it too easy to make unfair comparisons sizing yourself up to games made by teams of professionals. It can also be incredibly inspiring seeing others creative visions come to life. It’s the examination of a vast quality of end products ranging from the broken prototypes to the impressive well designed games that will eventually become commercial release. It’s incredible how large these events are and how many people go through it. They should all be proud just for attempting. I’m hoping to just get a better score than my previous attempt. If not, it’s ok. I learned a lot and this was another positive experience.

I think before I jump in to another game jam, I want to make something a little larger in scale. I’m going to continue learning Godot and advancing my skillset. I want to get good enough at coding that maybe I can eventually feel worth enough to join a collaborative group on a jam. This is hard to do until I believe in my abilities and I have a long road ahead of me for that. I need to stop taking long breaks from programming and design because it feels like starting over each time I do one of these. As of right now, I feel fresh and rejuvenated more than burnt out which is always a good sign.

If you made it this far, thanks for reading a little about my journey. I like writing these as they help put a little bow on each project I do and hopefully you’ll see more in the future!

If you want to check out my previous work, you can check it out on my itch page.

Until next time!