Brian Crick

Postmortem: Global Game Jam 2017

Yay, another game jam is done! If you want, you can download my game for Windows (and the source) over at the Global Game Jam website.

Before I get into my postmortem here I just wanna say thanks to the Cleveland Game Developers organizers for putting on such a wonderful event. I’m so grateful this group exists and that I found it.

So this was — I think — my eighth jam. And I hate to say it, but in none of the previous seven jams did I produce something I thought was interesting enough to continue working on or even continue really thinking about after the jam was over.

I’m very happy to say that, with this jam, I’ve finally made something I want to explore more, despite it being very unfinished and representing only 11 hours of work (more on that later).

So, on to the analysis!

the plan

My plan, before the jam started, was to force myself to work in a well-defined genre, probably a platformer or shooter. That way, I could relaxe and make a game that had more of an emphasis on fun and less of an emphasis on high concepts that always ended up being more interesting in concept than execution.

scraps

I’d been playing a lot of Alien: Isolation, so stealth and creepy environments were on my mind. My initial plan was to make a ghost story stealth game. Set in an abandoned, deliciously decrepit Art Nouveau train station, you would play a ghost who would simultaneously see the train station in both its decayed state and in its original, pristine form. It would be a melancholy meditation on nostalgia and the acceptance of loss.

There would be various objects of personal significance scattered throughout the station, each of which emitted spherical ‘pulses’; wherever the edge of a pulse-sphere was, you would see–and be able to interact with–the original, shiny version of the station.

There would be other, malevolent ghosts in the old, decrepit version of the station. But if you stood in an area where the original station was visible, you were hidden from the bad guys. You would have to strategically place the emitters in such a way that you could follow the waves they generated past obstacles and whatnot.

Since the old and new versions of the station would be lit differently and contain different objects blocking your path, this involved modeling everything twice, writing some custom shaders and image effects, and filming the scene with no less than three cameras-one for the old station, one for the new, and one for a pulsating mask that would be used to blend the old and new.

From a visual standpoint, this was all mostly working a mere three hours into development. You could see the two scenes blending together, and there was the start of mechanic involving moving around other pulse emitters that would react to the position of the first.

Saturday afternoon, I took a late lunch and tried to list out all the things I needed to do to complete the project.

It was a very long list. I needed to reduce the frequency of pulses. There was a ton of modeling to do. Art Nouveau isn’t exactly my strong suit. I had a lot of questions about how exactly the game mechanics and physics would react to the pulsating, changing reality around you.

And stealth isn’t really a game genre I understand. I haven’t played many stealth games.

The project was completely out of my reach. So at 2:30 on Saturday, I scrapped it and started something completely new, a relatively simple concept i thought of on the drive back from lunch. There would still be spherical pulse emitters, but they would do nothing more than hide simple, discrete tiles in a simple platformer game. You would have to jump over the voids created by the emitter waves.

Scrapping the ghost story project was probably the best decision I ever made at a game jam. I didn’t fail early, in an absolute sense — but I realized I was in a failure state well before Sunday, which for me is early.

take two

From a purely technical standpoint, the basic mechanics for the new game came together pretty quickly. The pulses were working, temporarily erasing tiles in their path, and the platforming was working too.

Despite being a 3d game, the platforms behaved like platforms in a 2d one — you could jump up through a platform above you and land on it, and you could jump down to a platform below you. It felt really fun and unique.

By early Saturday evening, the basics were there.

And then I had to re-do all of it.

My custom character controller didn’t react well to collisions, the tiles looked terrible when there were multiple levels in the scene, and any change to the way tiles disappeared made it impossible to jump through platforms — the two systems were too highly coupled together.

By Sunday morning, it was all working again. I used a stock Unity character controller, simplified the tile disappearing logic, and completely rewrote the platform pass-through stuff.

And then — as usually happens, I realized there was no game. There was no conflict. There was no goal.

So I decided to add in shooter elements.

There would be bad guys firing projectiles at you, which you had to jump over. You could shoot back at the bad guys, but wherever your shot landed, it would cause one of those tile-destroying shockwaves. So you had to be careful to aim precisely and fire from a long range so you had time to react to the resulting wave.

It felt really good. It was fun, it was unique, it was pretty, it had simple gameplay based on existing game genres, but with a twist. It was starting to hit my goal of making a fun game in an existing genre.

By 1 p.m. on Saturday — an hour before the jam deadline — I had started on level design.

levels

Needless to say, there isn’t much level. What I have here doesn’t do a good job at all of showcasing my mechanics. There’s no reason to jump up through platforms, or keep an eye out for platforms below you that you could jump down to. There’s only one instance of each of two opponent types. There’s just a lot of missed opportunities here.

The last two game jams, I had my wife with me doing level design while I was working on graphics and mechanics. Sadly, she couldn’t make it this year, and I really missed having her help.

But in many ways, this was a good problem to have. I want to work on this more. I want to explore these mechanics more. I think these mechanics are worth exploring.

This way my eighth game jam, and this is new to me.

complications

For the most part, what slowed me down was the basics. Writing custom shaders for water and scene blending and seeing platforms clearly displayed through other platforms was easy for me. Despite having to do it twice, writing the logic for the shockwaves and 3d platforming went quickly. What I got tripped up on was the basics: character controllers, shooting projectiles, being hit by projectiles, remembering how to use Unity’s physics components.

A few days before the jam I started doing super basic Unity tutorials, and I need to continue doing that.

I also need to remember that modeling and texturing takes time. Yes, I’ve gotten more efficient there in the last couple of years, but ‘fast’ still means a couple hours per model for something I’d find merely adequate.

conclusion

Despite having another unfinished game, I don’t think I’ve ever been happier with a game jam. I set myself one goal — to make something with fun mechanics worth playing with — and I think I hit that goal. The mechanics were there, even if my level design didn’t showcase them at all well.

Now, I just want to make a level that does. And see where that takes me.

Copyright © 2017 Brian Crick.