
What is this?
A Murder of Crows was created for a Game Jam hosted by my college. I gathered a team of two artist and we made a Survivors-like game inspired by the game 20 Minutes Till Dawn.
We decided to use Godot 4.5 as our engine because I was familar with it and it was friendlier to my artists than other engines like Unreal.

GDN Design Challenge
The Game Development Network (GDN) club at SCAD hosted a longer form Game Jam.
The winner got their game displayed on the Game Design building's TVs that showed off SCADs best work.
The prompt for this Jam was, “What is your favorite fun fact?” For this we chose the fun fact that a flock of crows is called a murder. We also brainstormed using more with the different names for flocks of other birds too, but that had to be cut later on.


Game Jam
Inspiration/Reference




20 Minutes Till Dawn was the main inspiration for this game. It has the right balance of player control and gameplay variety that I wanted to capture in this project.
20 Minutes Until Dawn
I know Vampire Survivors popularized the "Survivor-like" genre, but I had never played the game before starting A Murder of Crows. However, half way through development I realized we should check out this game to see what inspirations 20 Minutes Till Dawn pulled from it as well.
Vampire Survivors




Design Breakdown
Early Game Art
Countdown Timer
20 Minutes Till Dawn creates dynamic gameplay through a countdown timer. At specific periods of time more or different enemies will spawn to change up the gameplay and add challenge for the player.




These are the elements I felt was most important from 20 Minutes Till Dawn to be added to A Murder of Crows.
20 Minutes Till Dawn wants you do dodge enemies as much as you can. So, health is hit based as opposed to damage tick over time like in Vampire Survivors. I like this element because I feel like its emphasis’s skill more.
Health




Both 20 Minutes Till Dawn and Vampire Survivors use exp orbs dropped from enemies to increase the players level to make them more powerful. I felt it was very satisfying to rapidly pick up the orbs after killing a huge wave of enemies and I wanted to keep that aspect.
Exp Orbs


Upgrades
Creating an upgrade system was the most interesting thing I wanted to add to the game. I wanted to understand how to effectively add upgrades that feel good and can react to other upgrades to create synergies.
Prototype 1
I got the core gameplay loop working with, enemies spawning, countdown timer affecting enemy spawns, player can shoot, collect exp, level up, and gain upgrades.
I was worried intially about the upgrades because I haven't made a system like this before but it ended up being easier than I thought. Most of the upgades came naturally from variables already set in the game, like player speed and fire rate. There were a couple I created, such as the bullet fan for a shotgun, and penetration.
What was learned
Even though the upgrades were figured out, at this point every time the player leveled up, a random upgrade was chosen. The same upgrade could stack multiple times but you never knew what you got until unless the effect was obvious in game.
When playtesting with people it was obvious that the upgrades needed to do more. This would be one of my main design goals for the next prototype, letting the player pick their upgrades and also having each upgrade feel impactful immediately.



Prototype 2
This was the next stage of A Murder of Crows development. With prototype 2 I fixed a lot of the problems with game feel and added missing some of the missing features I want in the game like meaningful upgrades.
At this point, the MVP gameplay wise was completed and we could focus on polish. Also, we created the first build of the game which is now posted on itch.io as A Murder of Crows V0.1.
https://jokera249.itch.io/a-murder-of-crows

When thinking about Upgrade design, I really like systems feel impactful with every upgrade, as opposed to upgrades systems that just give a small stat boost that you barely notice. 20 Minutes Till Dawn has some of this, but the game that really inspired me about this was Hunt: Showdown 1889. They have a perk system and each one feels significant when they are applied.
In 20 Minutes Till Dawn, they have mini upgrade trees that follow a specific effect family and I wanted to try something similar. Here I made upgrades trees based off of the upgrades I made for prototype 1.
I play tested more with the upgrades and I realized that some upgrades were always better than others and there was no reason to take them, like knockback verses damage. I decided that upgrades need a secondary stat that way there were more reasons to take that upgrade.
Upgrades




Experiment Phase
We started testing more things with story and art. We wanted to add a whole story about a murder of crows, so I started experimenting on a town you can see in the video but we ended up cutting this.
Another area of experimenting was with how to add art in a infinite world. To start i studied out 20 Minutes Till Dawn and Vampire Survivors did it, and they used tiles.


Art in an Infinite World
I wanted to add subtle grass and luckily Godot has a built-in tile manager, the issue is that you usually hand place tiles for your game. We needed these to be generate procedurally, but the world infinite. My solution was to generate a grid around the player a specific radius and loop through those tiles to check if that tile has been filled. As the player moves, they will expose unfilled tiles that will be filled when detected during the check.
There is an example of the system going slightly wrong. I had text images with numbers so I could see what was spawning and it ended up making something cool.
Visualizing the Game
At this point it was hard to visualize what the game was supposed to be art wise. We looked at reference to different games like Vampire Survivors and another game called Kill the Crows for design inspiration. Something I noticed in these games was that there were points of interest in the world that make you wonder if there is more.
I got my lead artist to draw a fake screenshoot of the game, to help us visualize what the game could look like and give us a guiding star. This ended up being incredibly helpful to someting to try to match art style wise and produrally placed objects.


Fake Screenshot
Real Screenshot


For the objects in game, I had an array of objects that were constantly checked. When an object tried to spawn it would check to see if there were any objects nearby in an array. If there was enough distance it would spawn. To keep objects from getting out of hand I checked whether an object is too far from the player and I would despawn them.
In the end I feel like I was able to get close, but we were under a time crunch to get it perfect.
Implementing Art
Final Crunch
The last day, we crunched hard to get everything polished and ready to go. We added menus, title art, a brief tutorial, upgrade screen, and an ending screen.
The final thing completed was a trailer, done in the last hour or so of the Game Jam.


Title Screen
Story Screen
Upgrade Screen




Ending Screen
Post Mortem
Unfortunately, we didn't win the Game Jam, but it was extremely close. This was an incredible learning opportunity, and I’d grown a lot as a game developer overall.
There are definitely things I'd change about the game now if I were to restart the project. One thing would be Object Pooling, with so many entities in the world at a time and killing them so fast. Object pooling just makes more sense for performance.
For art, I'd like to make some of the objects spawn in clusters to make it feel more natural.

