Out of Stock Postmortem

The tl;dr:

  • Use the Godot game engine
  • Be aware of your limits and deadlines

What Happened

When the theme for the Out of Stock Jam was revealed, I thought about this photo nonstop for 24 hours:


Since one of the other themes was remaking an existing game, I tried to picture what this photo reminded me of. I kept coming back to Dr. Robotnik from the Sonic series and the box art for the original System Shock. I couldn't think of anything else, and I couldn't decide between either option.

The original System Shock was in 3D, but with 2D graphics - seemingly a perfect fit for slapping in stock photos. But it was also one of the first immersive sims, a genre not particularly suited for a two-week deadline. A side-scroller like Sonic would be a piece of cake, comparatively. But I didn't feel like I could highlight stock photos as well with a platformer. So I decided on both: Sonic System Shock.

"This is a terrible idea," I thought at the time, "but if I can pull it off, it'll be fucking amazing."

Needless to say, I did not pull it off. But I think I did far better than I could've done, given the circumstances. The game you can now play is far from the vision I had in my mind a couple weeks ago, but at the same time it is a complete game you can play from start to finish with several areas, enemies, special stages, items, and endings. And that's pretty cool.

What Went Right

1. Using Godot

I've never made a 3D game before, but I have experience with 2D in both Unity and Godot. I dabbled in 3D a little bit in both before this project, but this is my first full 3D game. I can't imagine making a game like this in two weeks with Unity. I just don't think it'd be possible for me. Godot makes so many things so easy, that the few things it doesn't get right are easily overlooked. I can't see myself ever going back to Unity, and every project I work on in Godot makes me even more sure of that decision.

2. Planning Ahead of Time

I had my complete plan for the game a couple days into the Game Jam. All the game mechanics I wanted in, all of the levels I wanted, how things should progress, and so on. Was the plan overly ambitious? Extremely. But sticking to it, cutting things when needed, and not falling into feature creep or thinking "oh I know this wasn't in my original plan, but it'd be cool if I added it" helped things stay on track.

3. Having Fun, Learning and Growing

This was a two week long game jam where the goal was to use stock photos for game art. It's silly. It's funny. I had fun. Until the final days of crunch, I kept things casual and had fun with development. I learned as I went, so whatever 3D project I make next will benefit greatly from this experience.

4. Prioritizing Accessibility from the Start*

It can be hard when your deadline is approaching and you think "okay time to stop and make sure everything is accessible in this game." If you, at the very beginning, think about what your game is and what accommodations people might need to experience it, it'll be significantly easier than going back and trying to accessify a bunch of inaccessible systems. People need remappable controls. People need "hold down the any key to crouch" inputs to be changed to "press the any key to toggle crouching." People need to adjust mouse sensitivity. Can you make a game that literally every human can play? Probably not, but that doesn't mean you shouldn't try to make your game as accessible as possible and make sure that's a priority early on, instead of late in the process.

This was a game jam game with a tight deadline, so I couldn't do as much as I liked on this front, but thanks to using the Godot Accessibility Suite** from the start, I was able to do a lot more than I'd have been able to otherwise.

* The hard-to-read font being the notable exception.

** I made the Godot Accessibility Suite. If you're a programmer who uses Godot, you should try using it, building upon it, and helping us build a tool set for developers everywhere to make better games for more people!

What Went Wrong

1. Don't Make an Immersive Sim for a Game Jam

The scope was too much. Hacking, swimming, heavy weapons, stealth, platforming... By the time I got the first level to a satisfying state, I only had a few days left to make the entire rest of the game. My original goal included at least one area in each level where you could solve a problem with multiple strategies. The final goal ended up being exactly one area in one level where you could do that. Making a game that lets players go wild with whatever play-style they want takes time and very careful thinking. But, hey, if you want to get to the special stage in the Medical Bay, you can hack, swim, spin dash, or shoot a door open with a grenade launcher!

2. Don't Make a 3D Game for a Game Jam if You've Never Made a 3D Game Before

Unless you want to learn, that is. I learned a lot. But if your primary goal is "make and complete a game in the specified time frame" then maybe consider learning 3D separately or just sticking to something 2D.

3. Don't Make a 3D Platforming Immersive Sim for a Game Jam

Just reiterating here: the biggest mistake was trying to make a big elaborate game in two weeks. Don't try to do that, unless you're okay with not fully succeeding at that.

4. That Font

It's ugly and blocky and hard to read and I apologize to everyone but I didn't get a chance to finding a suitable replacement in time.

5. I Didn't Get to Add My Favorite Stock Photo Guy

I limited myself to free stock photos from sites like Pixabay and such because I very much did not want to spend money on actual stock photos and also wanted to avoid what is technically considered copyright infringement (I'm just taking all of the free photo download sites I used at their word that they actually have legal permission to give away their images, too, of course), but I wanted to add one guy to the game so badly but could not, as he had no free photos available.

Yes, you. Someday I'll give you the respect you deserve.

What's Next

I could fill an entire game with all of the things I planned for this but had to omit due to the tight schedule. It is entirely possible that at some point I will fill an entire game with all of the things I planned for this but had to omit due to the tight schedule.  At the very least, all of the knowledge I gained from this project will live on in whatever I do next. For the immediate future, though, I'm going to play all the other games submitted to this game jam, and you should, too!


Get Sonic Shock

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.