Behind the Scenes of Party Pack 10: Game Engineering Edition!
Blog
Behind the Scenes of Party Pack 10: Game Engineering Edition!

Behind the Scenes of Party Pack 10: Game Engineering Edition!

I know it may seem like our party packs are held together with Laffy Taffy jokes and spit, but in actuality, they’re held together with original jokes and spit. Also a whole lot of coding from a team of talented engineers who make sure the vision from the game designers is playable for the audience.

We have been making Party Packs once a year for the past decade so it should be pretty easy to engineer a new one, right? WRONG! How dare you even ask this question! These are YOUR WORDS and they are HURTFUL! Although we’ve been making games for over a decade, Party Pack 10 came with a slew of new challenges for our engineers to tackle, like allowing the players to see what everyone is typing as they type it FixyText, or syncing multiple instruments across multiple devices without everything sounding like a total cacophony in Dodo Re Mi.

Engineering at Jackbox is often the unsung backbone of our games. Without it, they literally would not function. We spoke to our talented engineers on what went into making Party Pack 10.

What was your role on Party Pack 10?

April Dizon: At Jackbox overall, I work as a gameplay engineer. For Party Pack 10 I was the engineering lead for FixyText. I also was a supporting engineer for Timejinx towards the end of production.

image (1).png

An alternative version of the final score screen for FixyText by Bruno Rodríguez.

Michael Siciliano: My overall title I believe is Software Engineer III. I think of myself as a technical designer in most contexts. 

For Dodo Re Mi, my credits were Assistant Director, Lead Gameplay Engineer, Designer, Beatmap Designer, Additional Music, and Musician. I was on the design team and programmed all the code for the game. I also lead the authoring of what are called "beatmaps", which are the notes you tap in order to play the songs in the game. Creating the beatmaps was truly a team effort, with people from a variety of disciplines coming together.

Farhan: I’m a Software Engineer at Jackbox and the Lead Gameplay Engineer for Tee K.O. 2. [Author’s note: Farhan also helped with some engineering on Hypnotorious.]

Katie Moulton: I was the Lead Gameplay Engineer on Hypnotorious. I believe my [official] job title is Software Engineer but we generally call ourselves Gameplay Engineers.

Mira Swor: On Party Pack 10, I was the Lead Engineer on Timejinx.

What does it mean to work as an engineer on a video game?

April Dizon: It depends on the game and the studio! As a gameplay engineer at Jackbox, I work directly on the game. I get game designs from the game directors, art assets from the artists, and content from our writers and make sure they all get programmed in the game at a timely matter. When [Quality Assurance] reports a bug or issue with one of these features, I am also the first one to deal with it.

Michael Siciliano: An engineer is someone who takes the ideas and intent in people's heads and translates them into the binary rules of computer code. Engineers act as a translator for machines. It's your job as an engineer to talk through designs, edge cases, and technological limits with your team such that all the cool ideas in people's heads or the art and music people make actually appear to the player as intended. This means being an excellent communicator and being able to speak "composer" and "animator" as well as knowing how to code.

Farhan Noormohammed: Being an engineer on a video game is a lot like a combination of being a mediator and a translator. People come to us with materials (designs, art, sound, etc.) and the machine has certain restrictions on how/what it can do. It’s our job to understand what the people are trying to convey then translate that into instructions that the machine can effectively understand. One of the biggest things I have learned while engineering games is that most of the job is about communicating and understanding what people want rather than being the best programmer.

roundBumper_concept2.1.png

A concept for the Final Round bumper for Tee K.O. 2 by Hector Padilla.

Katie Moulton: I code most of the mechanics in the game, as well as help implement art and audio. I also help contribute design ideas during team meetings.

Mira Swor: If the artists are the skin, the audio designers are the voice, and the writers are the brain, then the gameplay engineers are the central nervous system. Everything connects through that. I do write a lot of code, but other than the director, I’m sort of a central pillar of communication for the whole team.

How much is engineering on a video game creative work and how much is purely technical?

April Dizon: This also depends on the game and the studio! At Jackbox, engineering is both creative and technical. Of course, my day-to-day work is technical because I'm programming the game. There are many cases where a feature can't go or shouldn't go into the game because of some technical limitation. When this happens, I do have to start working creatively - whether that be by finding a funky workaround to program the feature or even collaborate with my game director to come up with a new feature entirely.

Michael Siciliano: I would say programming is generally creative work. Ultimately you're typing characters into a computer just like most other forms of writing. There's never only one way to do something, just like there's never only one way to write a bit of dialogue or punch-up a joke. However, instead of tradeoffs with humor or wordiness, you may have tradeoffs with speed or flexibility. That being said, I've seen my fair share of funny code in my day.

playbackMoment_v4.pngplaybackMoment_v2.png

Early Dodo Re Mi playback visual concepts by Kyle Fleischer.

Farhan Noormohammed: The type of engineering work is really dependent on the phase of the project. During the beginning phases of the game, it’s almost all creative. Most of the time is spent figuring out what the designers are envisioning and figuring out how to make that possible in code. There’s a lot of trial and error on what’s possible and it’s rooted in research of technical concepts, but there’s a bigger requirement for creativity of solutions during that time. 

When a project is nearing the end of development, it is almost all technical. Once the designs are set, and all of the art is in, that’s when the ol’ computer science degree gets dusted off. Since there are a lot of machines each with a different set of hardware specifications, it starts becoming a problem of efficiency and optimization. In order to make things more efficient, you have to have a deep technical understanding of what the machine is doing and whether or not there is a better way.

Katie Moulton: As a Lead Gameplay Engineer, most of my job is technical, since I do most of the coding for the game. However, I still participate in the team design meetings and playtests, so I  still contributed design ideas for the game! One of my favorite parts of my job is brainstorming and collaborating on game mechanics with the rest of my team. We have so many smart and creative people who work here.

What were some of the biggest challenges that you faced when working on Party Pack 10?

April Dizon: Pack 10 used a lot of new tech, which was the biggest challenge. Every year, we usually take our current tech and iterate on and improve it. But FixyText and Dodo Re Mi needed something entirely new because we've never made a game based on collaboratively edited text or rhythm. 

For FixyText in particular, our infrastructure engineers built a new CRDT (conflict free replicated data type) for our servers to use, called the text map. Many of us engineers, gameplay and infrastructure alike, were not familiar with how it worked and spent many months trying to understand it.

Michael Siciliano: Dodo Re Mi is Jackbox's first rhythm game. One of the most fundamental technical requirements for a rhythm game is the ability to synchronize animations you see to the music you hear. This system had to be built from the ground up. Luckily, just as development was kicking off, I was able to attend the Game Developers Conference (GDC) and go to Nick Cooper's talk "Hitting the Right Notes: Tying Gameplay to Music in 'Soundfall'". Many of the fundamental bits of architecture for the music synchronization system are pulled directly from Nick's slides in this talk.

BirdColors_patrickDeBardelaben.png

Dodo Re Mi color test by Patrick deBardelaben.

While the task of synchronizing the music and animations was initially daunting, it was actually fairly easily tackled by following the advice in that talk and working with Kyle Fleischer (the lead artist on Dodo Re Mi) to come up with a standard for creating animations we knew were going to be synchronized to audio.

The largest technical challenge actually came from the player "count in" moment at the start of each song, where we get each player to tap their device at the moment they hear the song starting. This allows the players to be tapping along to the song as they would expect, regardless of how much latency there is between their device and the game. This even works for the extreme delays you might expect from streaming the game over Twitch, YouTube, or Discord.

On its own, this system isn't too hard to implement, but there are two situations that provide a lot of complexity:

1. What happens if the player pauses the game while a song is playing?

2. What happens if the game loses internet connection while a song is playing?

Our solution, a "re-count in", had a lot of edge cases to be worked through and accounted for. So if either of the above scenarios occurs, the song is paused and all player must count in again. Once they've all counted in, we resume the song.

The final challenge was a bit of polish [that] I'm proud we got in. Due to the latency between the game and players' devices, it is common for the game to need to wait additional time after a song has finished playing for the players to finish playing the song. 

Farhan Noormohammed: Some of the biggest challenges will always be specific console bugs. Since each console has its own special hardware and commands, tracking down the root of some of these bugs can be a nightmare. For example, I had a bug on Party Pack 10 [with Tee K.O. 2] that had half the drawing show up on some consoles half of the time (yup, just as confusing as it sounds). After spending an absurd amount of time finding the cause, it turned out that it had to do with how certain consoles render objects and that for some reason this console was deleting the drawing from the shirt on Tee K.O. 2.

Katie Moulton: Making 5 games in a year is very ambitious! We need to always be moving to get everything done on time.

What was your proudest accomplishment working on Party Pack 10?

April Dizon: Working on FixyText as an engineering lead was definitely my proudest accomplishment. It was one of the hardest games I've worked on so far at Jackbox! I'm happy my team really tried something new!

Michael Siciliano: For Party Pack 10 I was most proud of the drumline music I arranged for 1812 Overture:

The Dodo Re Mi 1812 Overture, with the drumline arranged by Michael Siciliano.

I worked with Dodo Re Mi's audio lead, Nate Sandberg, to write a marching band version of the piece. To say I have an extensive marching band background is an understatement, so I was thrilled to be able to put that expertise to use.

Farhan Noormohammed: My proudest accomplishment is probably one of the first things I worked on. I love our subtitle code. I think it enhances our games so much and the implementation and design was really sleek and easy to use.

Katie Moulton: I'm proud of how many great ideas the team had! We worked hard together to find a core mechanic that was fun and engaging, and had to do a lot of brainstorming and iterating together.

TimeJinx Rough 01.png

An early TimeJinx gameplay layout sketch by Stef Egan.

Was your work on Party Pack 10 finished once the game was released? What does it look like to update and maintain a game after release?

April Dizon: After a Pack releases, we start working on our patch. We address features, bugs, and polish that we didn't have time for during the production cycle. All of us keep our eyes out for any new bugs that arise as the games are live, and we try to fix those too. After the patch is completed and live, we focus on our next game to work on! We normally only work on an older pack when QA and customer service identifies a critical bug, or the studio wants to release a new feature like localized content. Producers will come to engineers like me to schedule that kind of work. From there, my job is the same - making sure these new features or fixes make it to the game!

Michael Siciliano: Several years ago we built a system where the games download a simple configuration file every time they launch. Most games, especially those that have an online component, do this to allow developers to tweak small values in the games that they only have time to make educated guesses about during development. For Dodo Re Mi, these kinds of values determine things like:

  • How many milliseconds off do we still consider a tap "perfect"?
  • How many points can you earn for a given difficulty beatmap?
  • What percentage of notes do you need to hit at what accuracy to survive?

We have lots of metrics about how players are experiencing Dodo Re Mi, such as how often they survive on songs, what songs they're playing the most, and how many songs they play in a session.

We got a lot of feedback that the game was being too punishing with regards to how often you survived songs, so we adjusted some of the values in the game's configuration file with regards to scoring. After that update went out, we saw the survival rate tick up in our metrics.

image.png

A graph of the changes in the Dodo Re Mi survival rate as a result of tweaking the config value by 5%.

Obviously, bug reports are a huge component of maintaining a game after release as well. Between the game application, the Jackbox.tv controller, and the servers connecting the two, there's a lot of places where fixes can be made.

Farhan Noormohammed: Oh good heavens no! Usually after a game releases, we get feedback on bugs and features that may need adjustment in the following months. After that, we come up with a potential patch to address these things as fast as possible. For games like ours, updating and maintaining extends probably 4 months after release. The caveat is that if there are more bugs that we have to fix, we’ll keep working until it’s a stable game.

Are there any fun stories of memories from making Party Pack 10 that you're particularly fond of? Or anything else you feel should be included?

April Dizon: This is not really a funny story to anyone else besides myself. I still remember the time when our writer, Liz, came up to me and told me to "make game big." I was putting some art into FixyText and truly did not understand. Big? Why? Is it hard to see?? Is it not accessible?? I was really trying to consider Liz's feedback seriously. Then I realized that this was just a joke.

We proceeded to make the avatars thicc. For funsies. [Author’s note: unfortunately, images of these ticc avatars have been lost to the game development ether. Use your imagination!]

Michael Siciliano: As Dodo Re Mi was the first rhythm game we've made, it took a long time for the game to get up on its feet and be playable at all. There was a lot of trust by the team as the weeks went by without anything to outwardly see. But once that work was done, the team performed an all-cannon rendition of 1812 Overture and metaphorically blew the doors off the game.

Farhan Noormohammed: The first time I played Do Do Re Mi I didn’t know that there was a fart noise as one of the instruments. Due to the fact that I’m an adult child, I laughed so hard that I couldn’t see the buttons anymore. Changing the pitch of a fart is art and I won’t let anyone else say otherwise.

Mira Swor: One idea that we had was to do episodes of the game where every question was just on one hyper-specific topic. We spent the entire development cycle joking about the Sinbad episode where every single question is about Sinbad. We didn’t end up having time ot do it in the end, but at the end of development, Steff [Egan], the artist on Timejinx, and Kyra [McJesse], the producer on Timejinx worked together to get these acrylic standees of the host, Jerri, and Sinbad.