Global Game Jam 2022 : Pistols at Dawn : Postmortem

Pistols At Dawn

Pistols At Dawn Keyart

Pistols At Dawn KeyArt : https://horsehoneygames.itch.io/pistolsatdawn


As many of you know in the gaming community, Global Game Jam 2022 just wrapped up last night! While I’ve been aware of GGJ for some years now, I’ve never actually participated and I’ve never even done a game jam before with a team! So this year was particularly exciting for me to team up with my friends at Horse Honey Games this year!

The Goal:

Corey reached out to me prior to the theme reveal and asked if I would want to be part of their team, as well as sharing the same goal as them, which was to learn a new engine, Construct 3. I’m always excited to delve into a new tool, and I had heard of Construct for quite some time as a famous 2D mobile engine used at companies such as Zynga and King.

The Idea:

Once the theme was announced we only took a couple hours to land on the game idea we wanted to go with, and it all came from the idea of making a pun out of Duality, and turning it into Duel-ity. Both playing off of the two sides in a duel, as well as using the pun literally and making a dueling based game. The most important thing to us was to make sure to keep the scope small! Multiple members of the team have multiple jobs, one has a young child, and game jams are strapped for time as it is!

The Execution:

As I mentioned previously we wanted to use Construct 3, a browser based game engine for our games development. Immediately jumping in, it was incredibly easy to use, allowing simple layouts and screen size controls, simple sprite and animation drop-in, a visual scripting language, built-in behaviours, as well as the option to write in JavaScript. Unfortunately, many useful pieces of functionality are locked behind a paywall, and in the free edition you can only write up to 50 lines of JavaScript! The free edition also limits you to 40 visual scripting events making it almost impossible to make a shipping quality game with the free edition alone. We were really trying to scrape through with only the free edition features until the final day of the jam, we just had too many events and had to upgrade unless I wanted to restructure the code, so we all dished out 16 bucks for a 1-month license.

The payment model aside, the engine worked pretty well for most of what we wanted to do. We were disappointed with the particle systems. The sprite editor was missing a “move selection” tool, you couldn’t copy and paste frames of animations, and there were seemingly no animation capabilities or simple lerp functions to move an object over time. Any time I wanted to move an object over time, I made a start time global variable and boolean, and in the tick function degraded the values and set the position if the boolean was true. Other simple things as well, such as having an event for when any animation finishes on a character, but you can’t get the finished animation’s name leaving it useless to us. All this being said, we were able to add touchscreen, mouse, and controller support all incredibly easily in a couple minutes. We were able to quickly and easily chain together events via checking for finished animations, and the on-screen text was pretty easy to work with as well!

The work was more-or-less divided up into three days. One: Initial conception and engine familiarization/exploration. Two: Getting together and bringing in assets and code to make the initial loop and MVP. Three: Juicing the game, fixing bugs, adding titlescreen, exporting, uploading to GGJ. This process worked really well for us as well all had a clear idea of what to expect and what theming and tone to go for by the end of the first day. Getting the loop in made it so that we would feel comfortable to submit something and had something that was actually playable. And the third day we had enough time to make the loop feel good and figure out all the logistics of creating an executable and uploading to the jam site.

Final Thoughts:

I had a great time at this years jam, I got to learn the basics of a new engine work with some friends I haven’t worked with before, make a small, polished game jam game, and make some new friends as well! Seeing all the other jam games at the showoff event was super fun, and it was a great chance to see what others thought of our little game. I will be participating in Global Game Jam in the future for sure and look forward to seeing what other kinds of games I can create!