Monday, February 6, 2023

Global Game Jam 2023: Stormclouds Over Spudville

Last weekend was Global Game Jam 2023. I recently discovered that my GGJ profile page includes links to all the games I've made at the jam, allowing me to determine that this was my ninth GGJ. Wow. As you can see from my university's GGJ 2023 location page, we had six games completed during the event. It was a fun weekend, and I enjoyed spending time with folks who were inspired to work hard to make something new.

My team made Stormclouds Over Spudville, a game in the Worms genre. Our spin on the classic formula is that the potatoes bury themselves when it is not their turn. My idea was that this would force players to try to get accurate arc shots. An alternative strategy is to take the high ground and then ploop out a low-power explosive onto an enemy's head, but this does run the risk of catching yourself in the blast as well.

My two older sons and I were the core of the team, and we also recruited Robin Walma (a.k.a. Harmonic Legion) to compose as a thrilling original game theme. Seriously, it's a perfect fit for the gameplay. It's a march in the style of John Philip Sousa.

When the theme of "Roots" was announced, I was the only one in the room who understood the LeVar Burton reference that I made. Some of us wanted to go in a rather literal direction, and you can see that also in the games that were created, but I explained to my boys that I really wanted to use the jam to explore a genre I had never worked in before. Worms-like games came up, and so on Friday night, we set out to create a proof-of-concept of destructible terrain. We figured that if we could get that working in two hours, we could make a game out of it, and if we couldn't, then we could pivot. I don't remember exactly how it became about potatoes, but from very early on, it was about potatoes.

We were able to get destructible terrain working with time to spare, thanks in part to the tips from MrElipteach. Saturday then became the day for getting the core gameplay in place. We were limited to a two-player game due to the fact that my USB Hub had disappeared from a storage closet at work, but maybe that was for the best. For a while, each player only controlled one potato. I was concerned about how we would both design and then implement the damage system: if the potato is hidden in the ground, and someone blows away a hole, what exactly happens? The potato becomes a rigid body then falls then becomes a kinematic body when the player gets control again? We ended up taking the wise design strategy of circumventing this problem by simply making one shot kill a potato. By the end of the day on Saturday, we had a completely playable game and came home for a late supper.

Sunday, we only had a few hours to work on the game, but we were in a good position to focus only on polish. Robin rendered the final version of the soundtrack, and we put that into place. It sounds great, and purely by chance, the entrance of the piccolo syncs up almost perfectly with the introduction of the potatoes on the main menu. The best thing that I worked on was having the eyes track nearby projectiles. I do believe I squealed with delight the first time I saw it on screen: it was just what we needed. My older son added "potato angels" upon death, which is another great touch. Not too long before the deadline, he really wanted to add randomized terrain... and he did! I tried understanding the implementation this morning and couldn't quite sort it out, so I think I need to talk to him a little about the value of comments and not using magic numbers in the implementation. Still, I'm proud: he was an efficient and accurate programmer all weekend.

The game was a big hit during the end-of-jam celebration. I pointed out to one of the other jammers that there was a sense in which we cheated: a game like this draws a lot of its fun from the fact that you're up against another human player who is sitting next to you. Whereas a single-player game has to live or die by its own merits, a two-player game pushes part of the experience into the social space. It is not really "cheating" of course: it's clever use of constraints. After we came home, we played for another 45 minutes or so with the rest of the family. I'm glad the game was well received: it's good feeling to work hard on a creative endeavor and have the result be that you've made someone else's life a bit more joyful.

I just uploaded Linux and Windows builds as GitHub releases, so please feel free to grab those and check out the game. 

No comments:

Post a Comment